آموزش اسکریبپ نویسی در شبیهساز Mininet (شبیهساز SDN)
برای ایجاد توپولوژی دلخواد در شبیهساز Mininet میبایست از کتابخانههای موجود در آن استفاده نماییم. به طور مثال توپولوژی زیر را در نظر بگیرید:
host --- switch --- switch --- host
این توپولوژی متشکل از دو میزبان که هریک به یک سوئیچ SDN متصل شدهاند میباشد. برای اجرای این بستر در Mininet میتوان از کد پایتون زیر استفاده نمود:
from mininet.topo import Topo
class MyTopo( Topo ):
"Simple topology example."
def __init__( self ):
"Create custom topo."
# Initialize topology
Topo.__init__( self )
# Add hosts and switches
leftHost = self.addHost( 'h1' )
rightHost = self.addHost( 'h2' )
leftSwitch = self.addSwitch( 's3' )
rightSwitch = self.addSwitch( 's4' )
# Add links
self.addLink( leftHost, leftSwitch )
self.addLink( leftSwitch, rightSwitch )
self.addLink( rightSwitch, rightHost )
topos = { 'mytopo': ( lambda: MyTopo() ) }
و با استفاده از دستور زیر در CLI میتوان این توپولوژی را ایجاد نماییم:
sudo mn --custom ~/mininet/custom/topo-2sw-2host.py --topo mytopo --test pingall
لازم به ذکر است که ~/mininet/custom/topo-2sw-2host.py،آدرس توپولوژی در لینوکس بوده و mytopo نیز نام توپولوژی میباشد.که در خط آخر کد پایتون بالا مشخص شده است.
امیدوارم این آموزش براتون مفید واقع شده باشه. خوشحال میشم نظراتتون رو در مورد این آموزش بدونم.
ممنون از اموزش خوبتون.
سوال من اینه که اگر خاستیم رول rule تعیین کنیم که مثلا از هاست یک به هاست دو (زمانی که تعداد سویچ ها زیاد می شود ) از یه مسیر خاص ترافیک ارسال بشه باید چه کار کنم ؟