دوره آموزش شبیه سازی شبکه های بیسیم در NS3
جولای 14, 2019
سرفصل های کلاس آنلاین SDN
جولای 14, 2019

 فلادلایت لینوکس مجازی سازی توابع شبکه مجازی Python SD-WAN SDN

Rate this post

5G floodlight linux Mininet NFV ONOS OpenDaylight OpenFlow Open vSwitch pox Python SD-WAN SDN sdn vs traditional Simulator ubuntu vmware VMware NSX آموزش برنامه نویسی جاوا آموزش جاوا امولاتور sdn اوبونتو اوپن فلو اوپن وی سوئیچ برنامه نویسی برنامه نویسی جاوا جاوا جاوا چیست سوئیچ OpenFlow سوئیچ SDN سیسکو شبکه SDN شبکه نرم افزار محور شبکه نرم افزاری تعریف شده شبیه سازی فلادلایت لینوکس مجازی سازی توابع شبکه مجازی سازی شبکه مقایسه SDN با شبکه سنتی مینی نت پایتون کانتینر کنترلر کنترلر

 

آموزش اسکریپت نویسی

برای ایجاد توپولوژی در مینی نت (Mininet) دو گزینه پیش رو دارید. اول اینکه می‌توانید از توپولوژی‌های موجود آن استفاده نمایید که این توپولوژی‌ها با استفاده از کامند sudo mn --help   قابل مشاهده می‌باشند. به طور مثال چندین توپولوژی از قبیل tree، minimal، single، linear و … را می‌توان با فراخوانی فرمان زیر ایجاد نمود.

 sudo mn --topo <toponame>

توجه: بجای <toponame> باید نام توپولوژی را قرار دهیم. به مثال‌های زیر توجه کنید.

بطور مثال می‌توان با کامند sudo mn –topo single,3 می‌توان توپولوژی زیر را  اجرا کرد:

توپولوژی single,3 در مینی نت

یا اگر بدون هیچ آرگومانی کامند sudo mn  را اجرا کنیم توپولوژی minimal ایجاد می‌شود:

توپولوژی minimal در مینی نت

چه زمانی باید در مینی نت کدنویسی کنیم؟

اما برای ایجاد توپولوژی دلخواه در بستر مینی نت می‌بایست از کتابخانه‌های موجود در آن استفاده نماییم و به زبان پایتون برنامه‌نویسی کنیم. به طور مثال توپولوژی زیر را در نظر بگیرید:

leftHost — leftSwitch — rightSwitch — rightHost

این توپولوژی شامل دو هاست می‌باشد (leftHost و rightHost) که هرکدام از آن‌ها به یک سوئیچ متصل شده است و سوئیچ‌ها نیز به یکدیگر وصل می‌باشند. چنین توپولوژی را نمی‌توان با استفاده از آرگومان –topo در زمان اجرای فرمان mn اجرا نمود.

برای اجرای این توپولوژی در مینی نت می‌توان از کد پایتون زیر استفاده نمود:

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() ) }
Copy

برای سادگی می‌توان این کد پایتون را در Desktop و در یک فایل تحت عنوان topo-2sw-2host.py ذخیره نمود و سپس با استفاده از دستور زیر در ترمینال اوبونتو می‌توانیم این توپولوژی را اجرا نماییم:

$ sudo mn --custom ~/Desktop/topo-2sw-2host.py --topo mytopo --test pingall
Copy

امیدواریم این آموزش برایتان مفید واقع شده باشد، منتظر نظرات شما هستیم…

فرم ثبت سفارش

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *