فرنتیک چیست؟

فرنتیک چیست؟

فرنتیک چیست؟

سلام صبحتون بخیییییییییر…. اگه تا حالا در مورد فرنتیک چیزی نشنیدین توصیه می‌کنم حتما این متن رو کامل بخونید.

فرنتیک (به انگلیسی: Frentic) یک پلتفرم کنترلر متن باز برای شبکه‌های SDN است که هدف آن سادگی و ماژولار نمودن پیاده‌سازی SDN می‌باشد.

زبان‌هایی که امروزه در برنامه‌نویسی شبکه استفاده می‌شن از عدم وجود فیچرهای مدرن رنج می‌برند. برنامه‌نویسی به وسیله چنین زبان‌هایی بسیار پیچیده و عیب‌یابی آن‌ها زمان‌بره. فرنتیک یک زبان برنامه‌نویسی شبکه با ویژگی‌های زیر می‌باشد:

  • انتزاع‌های سطح بالا که برنامه نویسان را قادر به کنترل مستقیم کل شبکه می‌کند و آن‌ها را قادر به مشخص نمود فانکشنالیتی‌های شبکه بدون نگرانی خاصی در مورد نحوه پیاده‌سازی آن‌ها می‌نماید.
  • ساختار ماژولار
  • پرتابل بودن، قابلیت استفاده از یک برنامه که برای یک پلتفرم نوشته شده در دیوایس‌های مختلف
  • پایه معنایی دقیق

شما می‌تونید برنامه‌های مبتنی بر فرنتیک را با استفاده از موارد زیر بنویسید:

  • Python
  • OCaml
  • REST و JSON (= یعنی هر زبان برنامه نویسی!)

مراحل نصب

  1. نصب ویرچوآل باکس از آدرس https://www.virtualbox.org/wiki/Downloads با توجه به نسخه سیستم عاملتان.
  2. دانلود آخرین ورژن VM فرنتیک از آدرس http://download.frenetic-lang.org/uservm/frenetic-uservm-current. حجم این فایل حدود ۱/۵ گیگابایت است و دانلود آن حدود ۱۰ دقیقه زمان می‌برد ( البته برای کاربران ایرانی کسی تونست به این رکورد برسه کامنت بزاره 🙂 )
  3. آنزیپ کردن فایل و ایمپورت فایل ova. به ویرچوآل باکس. حدود دو دقیقه زمان می‌برد.

سلام دنیای SDN

  1. همانطور که می‌بینید با روشن نمودن ماشین مجازی فرنتیک یک لینوکس باز می‌شود. شما می‌توانید ترمینال را باز کنید (alt+ctrl+t)
  2. یک توپولوژی مینی نت با یک سوئیچ و دو هاست ایجاد کنید:
    $ sudo mn --topo=single,2 --controller=remote
  3. برای ping تلاش کنید (ولی نتیجه نداره 🙂 شما تلاش کنید…)
    mininet> h1 ping h2
  4. یک ترمینال دیگر باز کنید (مجددا با alt+ctrl+t) و فرنتیک را اجرا کنید:
    $ frenetic http-controller --verbosity debug
  5. ترمینال سوم رو هم باز کنید (بخدا این آخریشه! ). در این ترمینال یک اپلیکیشن ریپیتر باز کنید:
    $ python -m frenetic.examples.repeater
  6. دیگه کار تموم شده. پینگ دارید. یعنی کنترلر داره کار میکنه:
    mininet> h1 ping h2
  7. تبریک… وارد دنیای SDN شدین…

منبع:

 https://github.com/frenetic-lang/frenetic

پاسخ دهید

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