نیٹ ورک آٹومیشن پر میرے اشتراک کردہ متعلقہ مضامین کے لیے، براہ کرم کیٹلاگ "NetDevOps from Scratch" سے رجوع کریں۔
حالیہ برسوں میں، عالمی کلاؤڈ کمپیوٹنگ فیلڈ کی مسلسل ترقی اور کاروبار کی مسلسل ترقی کے ساتھ، نیٹ ورک ٹیکنالوجی نے بھی ترقی جاری رکھی ہے، اور SDN ٹیکنالوجی ابھری ہے۔ اوپن فلو کی بنیاد پر فارورڈنگ اور کنٹرول کی علیحدگی کے اصل بنیادی خیال سے، لوگ توسیع کرتے رہتے ہیں SDN کی توسیع میں، لوگ فی الحال اس اتفاق رائے تک پہنچ سکتے ہیں کہ اوپن فلو اب ضروری شرط نہیں ہے (لیکن فارورڈنگ اور کنٹرول کی علیحدگی ہے اب بھی ایک بنیادی شرط ہے)، اور نیٹ ورک پروگرامیبلٹی آہستہ آہستہ SDN فن تعمیر کی پیمائش کے لیے ایک اہم معیار بن گیا ہے۔
روایتی نیٹ ورک کے آلات کے قابل پروگرام آپریشنز عام طور پر CLI اور SNMP پروٹوکول پر مبنی ہوتے ہیں۔ چاہے اسکرپٹ ہوں یا نیٹ ورک مینجمنٹ سوفٹ ویئر، وہ سب اس بنیاد پر تیار کیے گئے ہیں تاکہ نیٹ ورک پروگرامیبلٹی کی وسیع رینج کو حاصل کیا جا سکے جس کے بارے میں ہم آج بات کرنے جا رہے ہیں۔ صلاحیتیں، اس طرح بہت سے منظرناموں کے آٹومیشن کو محسوس کرتی ہیں۔ کچھ آلات کچھ ویب انٹرفیس کی ترتیب اور xML کے ذریعے مجموعی ترتیب کو تبدیل کرنے میں معاونت کرتے ہیں۔ یہ بہت نایاب ہیں اور اس مضمون میں تفصیل سے بیان نہیں کیا جائے گا۔
سی ایل آئی
CLI (کمانڈ لائن انٹرفیس) کمانڈ لائن کے ذریعے انسانی کمپیوٹر کے تعامل کو محسوس کرتا ہے۔ نیٹ ورک ورکرز کے لیے یہ ایک ضروری ہنر ہے۔ لوگ ہر روز ڈیوائس پر سافٹ ویئر SSH یا Telnet کھولتے ہیں، پھر ایک کنفیگریشن پیسٹ کرتے ہیں، اسے محفوظ کرتے ہیں اور اثر انداز ہوتے ہیں۔ ایک دن، لوگ اس قسم کی تکرار سے تھک گئے، اور خود کار طریقے سے کنفیگریشن اسکرپٹ تیار کرنے، بیچوں میں ڈیوائس میں لاگ ان کرنے، اور آٹومیشن کا احساس کرتے ہوئے، اثر انداز ہونے کے لیے کنفیگریشن جاری کرنے کے لیے ایک پروگرام استعمال کیا۔ یہ نیٹ ورک قابل پروگرام طریقہ ہے۔ آئیے ان فوائد کے بارے میں بات کرتے ہیں، جو لوگوں کی سوچ، نظریات اور موجودہ تکنیکی نظام سے بہت مطابقت رکھتے ہیں۔ لیکن بالآخر، یہ نقطہ نظر نیٹ ورک ڈیوائسز پر لوگوں کی حمایت کرتا ہے۔ اس کے درج ذیل نقصانات ہیں:
مینوفیکچررز کے درمیان کمانڈ سیٹ میں بہت بڑا فرق ہے۔ نہ صرف مینوفیکچررز، بلکہ ایک ہی ماڈل کے مختلف سافٹ ویئر ورژن میں بہت مختلف فرق ہو سکتے ہیں۔
ڈویلپرز کو کمانڈ سیٹ اور اسے استعمال کرنے کے طریقے سے واقف ہونا چاہیے۔ ترتیب کی سطح پر حفاظتی خطرات ہیں۔ مثال کے طور پر، ہاتھ کے ایک جھٹکے سے، میں جس بندرگاہ کو کھولنا چاہتا تھا وہ بندرگاہ کو بند کرنے میں بدل گیا…
- ٹرانسمیشن پروٹوکول (SSH اور Telnet) کے لیے کوئی لازمی تقاضے نہیں ہیں، اور پیداواری حفاظتی خطرات ہیں۔
-تجزیہ کرنے اور کنفیگریشن بنانے کا عمل انتہائی پیچیدہ ہے۔ بہت سے معاملات میں، لکھے گئے باقاعدہ قواعد صرف "سچائی" کے لامحدود قریب ہوسکتے ہیں، لیکن پوری "سچائی" کے نہیں۔
-کوئی لین دین نہیں ہے، اور ایک ترتیب جزوی طور پر اثر انداز ہو سکتی ہے اور کچھ اثر نہیں رکھتی۔
-کوئی خودکار معائنہ کا طریقہ کار نہیں ہے اور یہ مکمل طور پر لوگوں پر منحصر ہے۔ مثال کے طور پر، میں یہ جانچنا چاہتا ہوں کہ آیا تیار کردہ اسکرپٹ درست ہے۔ ایک طریقہ ہے، لیکن اسے آسانی سے نافذ کرنا بہت مشکل اور اکثر مشکل ہوتا ہے۔
-ڈیٹا ماڈلنگ کا کوئی خیال نہیں۔
CLI ہمیشہ انسانی کمپیوٹر کے تعامل کا ایک طریقہ ہے۔ یہ پروگراموں کے ذریعے نیٹ ورک کو پروگرام کرنے کی کچھ صلاحیتیں دے سکتا ہے، لیکن آخر کار، یہ ایسا طریقہ نہیں ہے جو فطری طور پر نیٹ ورک قابل پروگرام ہو۔ کلاؤڈ کمپیوٹنگ اور SDN کی موجودہ لہر کے تحت، یہ نیٹ ورک میں بڑے پیمانے پر خودکار تعیناتی کے لیے موزوں نہیں ہے، اور اس کی پروگرامیبلٹی محدود ہے۔ باہر والوں کے لیے ترقی کی مشکل کو سمجھنا مشکل ہے۔
ایس این ایم پی
SNMP (SNMP، سادہ نیٹ ورک مینجمنٹ پروٹوکول)، یہ پروٹوکول نیٹ ورک مینجمنٹ سسٹم کی مدد کر سکتا ہے تاکہ نگرانی کی جا سکے کہ آیا نیٹ ورک سے منسلک آلات میں کوئی ایسی صورت حال ہے جس کی وجہ سے انتظامی توجہ کا باعث بنے۔ یہ نیٹ ورک مینجمنٹ کے معیارات کے ایک سیٹ پر مشتمل ہوتا ہے، بشمول ایپلیکیشن لیئر پروٹوکول، ڈیٹا بیس اسکیما، اور ڈیٹا آبجیکٹ کا ایک سیٹ۔
ویکیپیڈیا میں مواد کے ایک ٹکڑے کے لیے، ہم نیٹ ورک کے انتظام، نگرانی، اور ڈیٹا اشیاء کو نمایاں کرتے ہیں۔ یہ نیٹ ورک کو منظم کرنے کے لئے استعمال کیا جاتا ہے، ترتیب اور جمع کیا جا سکتا ہے، اور بنیادی طور پر نگرانی کے لئے استعمال کیا جاتا ہے. اس میں کچھ ماڈیولز، خصوصیات، اور نیٹ ورک کے آلات کے اسٹیٹس ڈیٹا کی ساخت کے لیے ڈیٹا ماڈلنگ ہے۔ یہ بنیادی طور پر نیٹ ورک مینجمنٹ سسٹم (زیادہ تر نگرانی) کے لیے استعمال ہوتا ہے۔ پھر اس کی خامیوں پر بات کرتے ہیں:
- ناقص پڑھنے کی اہلیت۔ یہ انسانی مشین میں "مشین" کو ترجیح دیتا ہے۔ استعمال ہونے پر یہ پڑھنے کے قابل نہیں ہے، اور ماڈلنگ ڈیٹا بھی پڑھنے کے قابل نہیں ہے۔ یہ ASN.1 کا ایک سپر سیٹ استعمال کرتا ہے۔
-سیکیورٹی محدود ہے۔ تین ورژن ہیں: v1، v2c اور v3، اور سیکورٹی کو ترتیب سے بہتر بنایا گیا ہے۔ تاہم، سب سے زیادہ عام v2c ہے، جس کی سیکیورٹی محدود ہے۔ v3 ورژن ڈیزائن کے لحاظ سے بہت محفوظ ہے، لیکن یہ عالمگیر نہیں ہے۔ . .
-کوئی بیک اپ، ریکوری یا رول بیک میکانزم نہیں ہے۔ ہمارے پاس کمانڈ لائن کا بیک اپ لینے کے لیے رن اور دیگر طریقے بھی ہیں، لیکن snmp۔ . .
- بہت کم لکھتے ہیں۔ بہت پڑھیں، کم لکھیں، زیادہ تر نگرانی کے لیے استعمال ہوتے ہیں۔
-وہ ڈیٹا آئٹمز جو جمع کیے جا سکتے ہیں محدود ہیں، اور پورے آلے کی ترتیب حاصل نہیں کی جا سکتی۔ کئی بار ہمیں معلوم ہوتا ہے کہ ہم اسے جمع کرنے کے لیے cli استعمال کر سکتے ہیں، لیکن ہم اسے جمع کرنے کے لیے snmp استعمال نہیں کر سکتے۔
- کارکردگی میں رکاوٹ ہے۔ جمع کیے گئے ڈیٹا کی بالائی حد 64K ہے، اور جمع کرنے کا گرانولریٹی بہت بڑا ہے۔ بڑے اور پیچیدہ نیٹ ورکس میں، اس میں منٹ یا زیادہ وقت لگ سکتا ہے۔ یہ بھی اہم نکتہ کو اجاگر کرتا ہے۔ گرینولریٹی کے لیے ہمارے تقاضے بھی بہت سخت ہیں۔ کئی بار ہم ہر چند سیکنڈ میں پورٹ ٹریفک جمع کرنے کی امید کرتے ہیں۔ بڑے نیٹ ورکس میں، میرے خیال میں روایتی نیٹ ورک مینجمنٹ سوفٹ ویئر ہے… ایک اور جملے کو وسعت دینے کے لیے، موجودہ طریقہ ٹیلی میٹری (جیسے جی آر پی سی) ہے جو مائیکرو سیکنڈ لیول حاصل کرسکتا ہے، اور کچھ کو سافٹ ویئر اور ہارڈ ویئر کے امتزاج کی ضرورت ہوتی ہے۔ یہ ابھی تک مقبول نہیں ہے، لیکن مستقبل میں یہ ایک رجحان ہونا چاہئے. جہاں تک یہ مستقبل میں کب آئے گا…
اس کی پیدائش کے بعد سے، SNMP نیٹ ورک کی نگرانی کے میدان میں نگرانی کے لیے ڈیٹا حاصل کرنے کے لیے بہت زیادہ استعمال ہوتا رہا ہے۔ کنفیگریشن کی صلاحیتوں کی کمی اور پیچیدگی نے نیٹ ورک کنفیگریشن میں اس کا بہت کم استعمال کیا ہے۔ صرف پڑھنے کے قابل نیٹ ورک قابل پروگرام۔
Netconf پروٹوکول اور یانگ ماڈل
نیٹ ورکس کی اگلی نسل کا سامنا کرتے ہوئے، ہمیں نیٹ ورک پروگرام کی صلاحیت کو بہتر طور پر محسوس کرنے اور آٹومیشن کی سطح کو بہتر بنانے کے لیے کس قسم کے نیٹ ورک مینجمنٹ پروٹوکول کی ضرورت ہے؟
IETF نے 2002 میں RFC3535 میں درج ذیل آئیڈیاز تجویز کیے (دراصل ان میں سے 33 ہیں۔ آن لائن معلومات اور مصنف کے علم کی بنیاد پر، میں نے درج ذیل آئیڈیاز لکھے):
1. نیٹ ورک کنفیگریشن کے لیے ایک قابل پروگرام انٹرفیس ہے۔
2. اسی ترتیب کو مینوفیکچررز اور ماڈلز میں استعمال کیا جا سکتا ہے۔
3. اچھی پڑھنے کی اہلیت کے ساتھ ماڈلنگ زبان کو یکجا کرنے کی ضرورت ہے۔
4. غلطی کی جانچ اور بازیافت کے افعال کو مکمل کریں۔
5. لین دین
اگر آپ کے پاس کوئی آئیڈیا ہے تو صرف اس پر عمل کریں۔ 2006 میں، IETF نے Netconf پروٹوکول کی تجویز پیش کی، جس نے RFC3535 کی طرف سے اٹھائے گئے مسائل کو حل کیا۔ ابتدائی Netconf نے صرف پروٹوکول کے بنیادی فریم ورک اور آپریشنز کا تعین کیا ہے، اور ایسے حل کی وضاحت کی ہے جو RFC3535 کے کچھ مسائل کو مدنظر رکھتے ہیں۔ اس نے ایک متحد ماڈلنگ زبان کا تعین نہیں کیا۔ اس لیے، کچھ ابتدائی مینوفیکچررز کے آلات صرف Netconf کے کچھ بنیادی کاموں کی حمایت کرتے تھے، اور ایک متحد نیچے کی تہہ کا استعمال نہیں کرتے تھے۔ ڈیٹا ماڈلنگ کی زبان۔
RFC6020 کو 2010 میں جاری کیا گیا تھا، جس میں YANG ماڈل ماڈلنگ کی زبان اور اسے NETCONF کے ساتھ ملانے کا طریقہ تجویز کیا گیا تھا۔ ایک تعریف ڈیٹا ماڈلنگ کی زبان ہے جو مینوفیکچررز کے درمیان بنیادی وسائل کی منطق کو یکجا کرتی ہے، اور دوسری تعریف کنفیگریشن ڈیٹا اور اسٹیٹس ڈیٹا پر ہر مینوفیکچرر کے آپریشنز کے لیے ایک متحد کمانڈ سیٹ ہے۔ YANG ماڈل کے ذریعہ تخلیق کردہ ڈیٹا مثالوں کو Netconf پروٹوکول میں لپیٹ دیا گیا ہے۔ ٹرانسمیشن، دونوں کو ایک دوسرے کے ساتھ ملا کر نئے دور کے لیے یونیورسل نیٹ ورک قابل پروگرام انٹرفیسز کا ایک نیا سیٹ بنایا گیا ہے جو YANG ماڈل پر مبنی ہے اور Netconf پروٹوکول کے ذریعے چلایا جاتا ہے۔
2016 کے بعد، Netconf پروٹوکول YANG ماڈل کے ساتھ قریب سے مربوط ہو گیا اور مقبول ہو گیا۔ اب تک، جب ہم کچھ SDN آرکیٹیکچر سافٹ ویئر کے پہلوؤں کو دیکھتے ہیں، تو ہم نے یہ دونوں اصطلاحات کم و بیش سنی ہیں۔
YANG اور Netconf، ایک جامد ہے اور دوسرا متحرک ہے، بالکل ین اور یانگ کی طرح۔ دونوں نے اگلے دور کی نیٹ ورک قابل پروگرام دنیا اخذ کی ہے۔ (جب ہم گیتھب پر یانگ گودام کو دیکھیں گے، تو ہمیں یہ بھی معلوم ہوگا کہ اس کا آئیکن تائی چی ہے، اور اس کے نام اور "یانگ" کے درمیان تعلق کسی حد تک اصل ڈیزائنر کے ڈیزائن کے خیالات کو ظاہر کرتا ہے)۔
اگلا، ہم مختصر طور پر یانگ ماڈل اور نیٹ کانف پروٹوکول کے بارے میں بات کریں گے۔ آئیے پہلے ڈیٹا ماڈلنگ لینگویج یانگ کے بارے میں بات کرتے ہیں کہ یہ اس نیٹ ورک کی دنیا کے ڈیجیٹل جڑواں کو کس طرح بیان کرتی ہے۔
یانگ ماڈل
RFC6020 دستاویز میں، ابتدائی باب واضح طور پر بیان کرتا ہے، یانگ، نیٹ ورک کنفیگریشن پروٹوکول کے لیے ڈیٹا ماڈلنگ لینگویج۔ یہ ایک اور نیکسٹ جنریشن (یانگ) ڈیٹا ماڈلنگ لینگویج کا مخفف ہے۔ یہ ایک ماڈلنگ زبان ہے جو نیٹ ورک کے تصورات کو بیان کرنے کے لیے استعمال ہوتی ہے۔
فہرستوں، لغات، اور اس سے بھی زیادہ پیچیدہ ڈیٹا ڈھانچے کی تعریف کی حمایت کرتا ہے، رکاوٹوں، شماریات، حوالہ درآمدات، ورژن مینجمنٹ، اور نام کی جگہوں کی حمایت کرتا ہے۔ جگہ کی وجہ سے، ہم ایک مختصر وضاحت دیں گے. تفصیلی معلومات کے لیے، آپ حوالہ دے سکتے ہیں:
یہ اس نیٹ ورک ڈیوائس کو ایک ساختی زبان میں بہت آسانی سے بیان کر سکتا ہے۔ مثال کے طور پر، بندرگاہ کی تعریف کے لیے:
ایک پیشہ ور آپریشن اور دیکھ بھال کے عملے کے طور پر، نیٹ ورک کی تھوڑی سی بنیادی باتیں اور تھوڑی سی پروگرامنگ کی بنیادی باتوں کے ساتھ، آپ بندرگاہ کی تعریف کو نسبتاً واضح طور پر سمجھ سکتے ہیں۔ یہ ایک فہرست کا ڈھانچہ ہے، اور متعدد ہو سکتے ہیں۔ اس کے اوصاف میں سے ایک انٹرفیس نام (ایک کلید بھی) ہے۔ , منفرد، ناقابل تکرار) کے ساتھ ساتھ رفتار وصف اور ڈوپلیکس انتساب، دونوں ہی تار ہیں۔
نیٹ ورک ڈیوائس کے بہت سے اوصاف کو YANG ماڈل کے ذریعے بیان کیا گیا ہے، بشمول کنفیگریشن سٹیٹس اور آپریٹنگ سٹیٹس۔
اس طرح، یانگ ماڈل ساختی زبان کا استعمال کرتے ہوئے آن لائن دنیا کو بیان کرتا ہے۔ اگر آپ دلچسپی رکھتے ہیں، تو آپ مندرجہ بالا انٹرنیٹ بلاگ پوسٹ پڑھ سکتے ہیں، جس میں بہت گہرائی سے تفصیل ہے۔
اسے XML ڈیٹا میں بہت اچھی طرح سے تبدیل کیا جا سکتا ہے اور ٹرانسمیشن کے لیے Netconf پروٹوکول میں لپیٹا جا سکتا ہے (ہم بعد میں اس کی وضاحت کریں گے):
ایک ہی وقت میں، دکانداروں کے درمیان فرق کو برابر کرنے کے لیے، Google کی قیادت میں Openconfig نے ڈیٹا ماڈل کو معیاری بنایا ہے۔ سرکاری ویب سائٹ سے، ہم نعرہ دیکھتے ہیں "وینڈر-غیر جانبدار، ماڈل پر مبنی نیٹ ورک مینجمنٹ جو صارفین کے ذریعے ڈیزائن کیا گیا ہے"، جسے صارفین اور کراس پلیٹ فارم کے ذریعے ڈیزائن کیا گیا ہے۔ وینڈر-عام، ماڈل پر مبنی نیٹ ورک پروگرامنگ (آئیے پہلے اس کا اس طرح ترجمہ کریں)۔ سادہ الفاظ میں، یہ مختلف مینوفیکچررز کے درمیان ماڈلنگ کو ایک جیسا بنانا ہے، تاکہ جب آپ کچھ ڈیٹا کنفیگر کرتے ہیں، تو آپ کو ہر مینوفیکچرر کے نجی یانگ ماڈل کو ایک ایک کرکے دیکھنے کی ضرورت نہیں ہوتی ہے۔ لیکن انٹرنیٹ کے پاس ہمیشہ پرائیویٹ پروٹوکول ہوتے ہیں، اور مختلف مینوفیکچررز ہمیشہ "بہتر صارف کے تجربے" اور "بہتر کاروباری حکمت عملی" کے لیے نئے اور بہتر نجی پروٹوکول بنائیں گے (یہ واقعی نیٹ ورک مینوفیکچررز کا اصل گناہ ہے)۔ تصویر میں عام طور پر استعمال ہونے والے کچھ اوپن کنفگ یانگ ماڈل کے نفاذ کو دکھایا گیا ہے۔
تصویر سے اندازہ لگاتے ہوئے، مجھے لگتا ہے کہ ان میں سے بہت سارے ہیں، اور عام طور پر استعمال ہونے والی ترتیبیں نسبتاً مکمل ہیں۔ لیکن عملی طور پر، یہ اس بات پر منحصر ہے کہ آیا کارخانہ دار بھی ان یانگ ماڈلز کی حمایت کرتا ہے۔ کسی خاص مضمون کے کچھ اعلی ورژن والے آلات بنیادی طور پر معاون ہوتے ہیں۔ میں نے ابھی تک گھریلو چیزوں کو قریب سے نہیں دیکھا۔
نیٹ ورک بالکل ایک جیسے نہیں ہو سکتے۔ ایک انجینئر کے لیے جو نیٹ ورک کے آپریشن اور دیکھ بھال کی ترقی میں مصروف ہے، اسی مقصد کو حاصل کرنے کے قابل ہونا ایک نعمت ہے!
openconfig https://github.com/openconfig/public/tree/master/release/models میں پایا جا سکتا ہے
آپ کو مختلف سرکاری ویب سائٹس پر پرائیویٹ یانگ ماڈل مل سکتے ہیں۔
Netconf پروٹوکول
یانگ ماڈل کے بارے میں بات کرنے کے بعد، آئیے Netconf پروٹوکول کے بارے میں بات کرتے ہیں۔ یانگ ماڈل نیٹ ورک کی دنیا کی ڈیجیٹل وضاحت کی وضاحت کرتا ہے، اور Netconf ڈیٹا کے حصول (حاصل) اور ایڈجسٹمنٹ (config) کی وضاحت کرتا ہے۔
Netconf نیٹ ورک کی دنیا کے انتظام کو سمجھنے کے لیے یانگ ماڈل کے ذریعے بیان کردہ دنیا کے ڈیٹا کو سمیٹتا ہے۔
یانگ ڈیٹا کو xml میں سمیٹ لیا جاتا ہے اور پھر Netconf پروٹوکول کے ذریعے منظم کیا جاتا ہے۔ یہ ایک پروٹوکول ہے جس میں ایک عظیم تہہ دار خیال ہے، جس میں پروٹوکول کی کچھ تفصیلات کو درجہ بندی کے انداز میں بیان کیا گیا ہے۔ آئیے اوپر کی تصویر کو دیکھتے ہیں۔
-ٹرانسمیشن: Netconf SSH پروٹوکول کے ذریعے منتقل کیا جاتا ہے، کنکشن پر مبنی ہے، اور اس میں حفاظتی ضمانتیں ہیں۔
-پیغام: RPC کے ذریعے نیٹ ورک ڈیوائس پر ریموٹ کال کریں، نیٹ ورک مینیجر rpc کی درخواست جاری کرتا ہے، اور نیٹ ورک ڈیوائس rpc-جواب کو دوبارہ شروع کرتا ہے۔
-آپریشن: یہ Netconf کی روح ہے۔ یہ گیٹ (کنفیگریشن اور رننگ ڈیٹا)، گیٹ کنفیگریشن (کنفیگریشن ڈیٹا حاصل کرنا، اور ایک ڈیوائس میں ایک سے زیادہ کنفیگریشن ڈیٹا، ایک چل رہا ہے، ایک اسٹارٹ اپ، ایک سے زیادہ امیدوار امیدوار)، ایڈٹ -config (نیٹ ورک ڈیوائس کے پیرامیٹرز کو ترتیب دینا، اضافی کو سپورٹ کرنے) کی حمایت کرتا ہے۔ حذف اور ترمیم)، ڈیلیٹ کنفیگریشن، کاپی کنفیگریشن (منزل پر کنفیگریشن کاپی کریں، منزل ایف ٹی پی، فائل یا چل رہی کنفیگریشن ہو سکتی ہے، وغیرہ)، لاک\انلاک (کنفیگریشن کے تنازعات یا ناکامیوں کو روکنے کے لیے کنفیگریشن کو لاک کریں۔ ملٹی پروسیس آپریشنز) وغیرہ۔
-ڈیٹا: ڈیٹا یانگ ڈیٹا ہے جو xml میں لپٹا ہوا ہے۔ جیسا کہ ہم نے اوپر بیان کیا ہے، سٹرکچرڈ ڈیٹا پروگرام کرنا آسان ہے۔ کنفیگر کیے جانے یا حذف کیے جانے یا حاصل کیے جانے والے ڈیٹا کو بیان کرنے کے لیے استعمال کیا جاتا ہے۔
یہ Netconf کی چار پرتیں ہیں۔ کنٹرول اینڈ اور نیٹ ورک ڈیوائس Netconf کے ذریعے بات چیت کرتے ہیں، روایتی ssh پروٹوکول کے ذریعے، Netconf سب سسٹم کا استعمال کرتے ہوئے، اور ڈیفالٹ پورٹ 830 ہے۔ جیسا کہ ذیل میں دکھایا گیا ہے:
یہ اعداد و شمار raw ssh کا استعمال کرتے ہوئے تعامل کو ظاہر کرتا ہے، لیکن درحقیقت ہم اس عمل کو پروگرامنگ کے ذریعے نافذ کرتے ہیں۔ میں بعد میں آپ کو پروگرامنگ کے نفاذ کا طریقہ دکھاؤں گا۔
Netconf نیٹ ورک ڈیوائسز کو ترتیب دیتا ہے۔ تعامل کا عمل تقریباً اس طرح ہے:
یہ تصویر بہت کم ہے، آپ یہ بھی دیکھ سکتے ہیں کہ یہ میری طرف سے کھینچی گئی ہے… Netconf کے بارے میں میری سمجھ اوپر کی طرح ہے۔ میرے خیال میں انٹرنیٹ پر بہت سی ایسی تصاویر ہیں جو درست نہیں ہیں اور سرور ایجنٹ کے بہت سے رویے درست نہیں ہیں۔ جب میں ڈیوائس میں لاگ اِن ہوتا ہوں تو یہ وہی ہوتا ہے جو میں بدیہی طور پر محسوس کرتا ہوں، اور یقیناً یہ سرکاری دستاویزات کے ساتھ ایک دوسرے سے مطابقت رکھتا ہے۔
ہم Netconf کی کچھ مثالیں دیکھ سکتے ہیں:
ہیلو، ایک لنک بنائیں۔
ہم نے کئی کلیدی الفاظ، Netconf ورژن، سپورٹڈ YANG ماڈل، سیشن آئی ڈی دیکھے۔ اسی وقت، ہیلو اشارہ کرتا ہے کہ ہم کس نام کی جگہ پر کام کر رہے ہیں۔ اس صورت میں، یہ Netconf کا متعلقہ ورژن ہے۔
ترتیب حاصل کریں۔
get-cofig کا ایک پیرامیٹر سورس ہے، جہاں سے کنفیگریشن ڈیٹا حاصل کیا جاتا ہے (رننگ، اسٹارٹ اپ یا دیگر)۔ ایک اور پیرامیٹر فلٹر ہے، یعنی کون سا ڈیٹا ڈیٹا ماڈل سے حاصل کیا جاتا ہے جس کے ذریعہ یانگ ماڈل بیان کیا گیا ہے۔ یہ نیٹ ورک ڈیوائس کی طرف سے اصل میں بھیجی گئی صلاحیت سے مساوی ہے۔ اگر کامیاب ہو جاتا ہے تو، متعلقہ کنفیگریشن ڈیٹا واپس کر دیا جائے گا۔
کنفیگریشن یا چل رہا ڈیٹا حاصل کریں۔
get-config کی طرح، لیکن جو حاصل کیا جاتا ہے وہ چل رہا ہے کنفیگریشن (ذاتی سمجھ) یا ڈیٹا چلانا۔ فلٹر کی وضاحت کی جا سکتی ہے۔
کنفیگریشن کاپی کریں۔
کاپی آپریشن کے دو پیرامیٹرز ہیں، ذریعہ اور منزل۔ کامیاب جواب اوکے ٹیگ کے ساتھ ہے۔
ترتیب میں ترمیم کریں۔
کنفیگریشن میں ترمیم کرتے وقت، ڈیٹا آئٹم کی وضاحت کریں جس میں ترمیم کی جانی ہے، صلاحیت کی نام کی جگہ اور متعلقہ لیبل۔ مثال کے طور پر، یہ dhcp کو ترتیب دینے کے لیے ہے، جسے یانگ ماڈل http://tail-f.com/ns/example/dhcp نے بیان کیا ہے۔
سیشن کو احسن طریقے سے بند کریں۔
یہ اس قسم کا پیغام ہے جو ssh میں آگے پیچھے منتقل ہوتا ہے۔ ہم پیغام کا صرف ایک حصہ نکالتے ہیں تاکہ ہر کسی کی سمجھ میں آسانی ہو۔
پھر صرف حوالہ کے لیے کچھ مواد شامل کریں۔
-Netconf سیشن پر مبنی ہے، اور ہر کامیابی کی ایک سیشن آئی ڈی ہوگی۔
-ہر درخواست کی ایک میسج آئی ڈی ہوتی ہے، جب تک کہ یہ بتدریج بڑا ہو جائے۔
-ڈیٹا کنفیگریشن کو لاک، خصوصی اور لاک کے ذریعے چلایا جا سکتا ہے۔
-Netconf ٹرانزیکشنل ہے، اور آپریشنز یا تو سبھی لاگو ہوتے ہیں یا کوئی نہیں۔ ایک ہی وقت میں، سرکاری ویب سائٹ کے دستاویزات کے مطابق، یہ لین دین N نیٹ ورک ڈیوائسز کی ترتیب کے لیے ہے، یعنی ایک بار کی ترتیب والی پولیمورفزم لین دین کی حمایت کر سکتی ہے۔ لیکن میں نے ابھی تک یہ نہیں کیا…
-Netconf رکنیت کی حمایت کرتا ہے۔ ڈیوائس کی کارکردگی کے لحاظ سے، ترتیب کی شدت تقریباً 5 سیشنز ہے۔ میں کسی مخصوص ڈیٹا آئٹم کو سبسکرائب کر سکتا ہوں اور جب یہ تبدیل ہوتا ہے تو آلہ مجھے مطلع کرے گا۔
صلاحیت، میں اسے اس طرح سمجھتا ہوں۔ نیٹ ورک ڈیوائس Netconf اور YANG ماڈل کا ورژن بھیجتا ہے، اور کنٹرول ٹرمینل Netconf کا ورژن بھیجتا ہے۔ صرف اس صورت میں جب Netconf ورژن دونوں سے میل کھاتا ہے ہم جاری رکھ سکتے ہیں۔ یہ میرا بدیہی احساس ہے۔ کوئی بھی مشورہ خوش آئند ہے۔
-گیٹ ایڈٹ جیسے آپریشنز تبدیل کیے جانے والے ڈیٹا کی وضاحت کریں گے، جسے فلٹر کے ذریعے فلٹر کیا جا سکتا ہے۔
-copy-config کنفیگریشن کے مکمل سیٹ کو کہیں سے کہیں کاپی کرنے کی حمایت کرتا ہے۔ کہیں بھی ایک FTP فائل ہو سکتی ہے، چل رہا ہے، اسٹارٹ اپ، اور ڈیوائس پر امیدوار کنفیگریشنز۔
-Netconf توثیق آپریشن کا استعمال کرتے ہوئے، کنفیگریشن کی تصدیق کی بھی حمایت کرتا ہے۔
یہ مضمون اب بھی سائنس کو مقبول بنانے کی امید رکھتا ہے، اور میں تفصیلات میں نہیں جاؤں گا۔ آپ آر ایف سی کے متعلقہ پروٹوکول پڑھ سکتے ہیں، جو کہ اصل میں زیادہ لمبا نہیں ہے۔
عملی طور پر، کچھ اوپن سورس سافٹ ویئر کی بنیاد پر، جیسے کہ python's ncclient، ہم آسانی سے نیٹ ورک ڈیوائسز کو خود بخود کنفیگر کر سکتے ہیں اور نیٹ ورک پروگرامیبلٹی حاصل کر سکتے ہیں۔ یہ Netconf اور YANG ماڈل کا مشن ہے۔
نیٹ ورک کے اہلکار اچھی طرح سے فارمیٹ شدہ YANG ماڈل کی تعریفیں پڑھتے ہیں اور Netconf کے بیان کردہ آپریشنز کی بنیاد پر نیٹ ورک ڈیوائسز پر قابل پروگرام آپریشنز انجام دینے کے لیے متعلقہ پروگرامنگ زبانوں کا استعمال کرتے ہیں۔ اس طرح، نیٹ ورک پروگرامیبلٹی کا راستہ جعلی ہے۔
آئیے پھیلائیں اور تصور کریں کہ YANG ماڈل نے نیٹ ورک ڈیوائس کے ڈیٹا ڈھانچے کی وضاحت کی ہے۔ ہم اسے Netconf کے ذریعے چلا سکتے ہیں۔ کیا اسے دوسرے پروٹوکول کے ذریعے بھی چلایا جا سکتا ہے؟
جواب ہاں میں ہے۔ درحقیقت، بہت سے دوسرے پروٹوکول Netconf سے اخذ کیے گئے ہیں، جیسے RESTConf۔ جیسا کہ نیچے دکھایا گیا ہے،
یانگ ماڈل (عوامی اور مقامی) ڈیٹا کے ڈھانچے کی وضاحت کرتا ہے، جس کے اوپر نئے نیٹ ورک مینجمنٹ پروٹوکول، Netconf، RESTCon، gRPC، وغیرہ ہیں۔ SSH کی بنیاد پر Netconf کے ذریعے آلات، یا ہم HTTP2 کی بنیاد پر gRPC کے ذریعے نیٹ ورک ڈیوائسز چلا سکتے ہیں۔{1}}۔ وہ سب اچھے ڈیٹا سٹرکچر کے ساتھ یانگ پر مبنی ہیں۔ ماڈل، متعلقہ ڈیٹا لکھیں، اسے xml یا json میں پروگرام نیٹ ورک ڈیوائسز میں سمیٹیں۔ یہ نیٹ ورک پروگرامیبلٹی کا مستقبل ہے۔ درست ہونے کے لیے، یہ ماڈل پر مبنی پروگرام ہے، ماڈل پر مبنی نیٹ ورک پروگرامیبلٹی۔ نیٹ ورک انجینئر آہستہ آہستہ کمانڈ سیٹ کے بجائے ڈیوائس کے پیرامیٹرز پر توجہ مرکوز کرتے ہیں، اور متعلقہ ڈیٹا ماڈل کو پڑھ کر نیٹ ورک کے پیرامیٹرز کو ترتیب دیتے ہیں۔
آخر میں لکھتا ہوں کہ میں یہ پبلک اکاؤنٹ کیوں کھولوں؟ میں نے کمپیوٹر سائنس اور ٹیکنالوجی کا مطالعہ اس وقت کیا جب میں اسکول میں تھا۔ کام کی جگہ میں داخل ہونے کے بعد، میں نیٹ ورک کے آپریشن اور دیکھ بھال کے کام میں مصروف تھا۔ اس کے بارے میں سوچتے ہوئے، مجھے ٹیموں میں تقسیم کرنے کی وجہ یہ ہو سکتی ہے کہ میں نیٹ ورک ٹیکنالوجی ریسرچ انسٹی ٹیوٹ (دستی مضحکہ خیز) میں گریجویٹ طالب علم تھا۔ شروع ہی سے، میں نیٹ ورک آپریشنز میں شامل تھا۔ آپریشن اور دیکھ بھال کے بعد کے مرحلے میں، ٹولز کام کو آسان بنانے اور CLI کی بنیاد پر کارکردگی کو بہتر بنانے کے لیے استعمال کیے گئے۔ بعد میں، ٹولز کو بتدریج BS ساختہ ویب ایپلیکیشنز میں تیار کیا گیا۔ وہ مسلسل نئی ٹکنالوجیوں کے سامنے آئے اور نئے افعال کو تقویت بخشتے رہے۔
خوش قسمتی سے، انہوں نے اوپن سورس ٹیکنالوجی اور SDN کی ترقی کو پکڑ لیا، اور آہستہ آہستہ میں NetDevOps کے کام میں تبدیل ہو گیا اور اپنی پروگرامنگ کی مہارتوں کو ٹیم کے آپریشن اور دیکھ بھال کی صلاحیتوں کو بہتر بنانے کے لیے استعمال کیا۔ مجھے کوڈ کی اس لائن کو لکھنے میں بھی لطف آیا۔ جیسے جیسے تحریر آگے بڑھتی ہے، یہ آہستہ آہستہ دریافت ہوتا ہے کہ NetDevOps ایک ایسی مہارت ہونی چاہیے جو ہر نیٹ ورک انجینئر کے پاس مستقبل میں ہونی چاہیے (ہر کوئی آگ میں ایندھن ڈالتا ہے)، تاکہ وہ اعلیٰ سطحی منصوبہ بندی اور تیزی سے عمل درآمد دونوں حاصل کر سکیں۔ انٹرنیٹ پر کچھ معلومات پر نظر ڈالیں، سچ پوچھیں تو، چین میں بہت کم ہے، اور گھریلو ماحول بہت مضبوط نہیں ہے. بہت سے گھریلو سافٹ ویئر پرانے CLI اور snmp پر مبنی ہیں، اور ہر کوئی اب بھی کام کے لیے ٹیکسٹ ٹولز اور SSH ٹولز استعمال کرتا ہے۔ تو مجھے امید ہے کہ میںدوسروں کو مچھلی پکڑنے کا طریقہ سکھا سکتا ہوں، اپنے تجربے (گڑھے) اور مہارت کو مزید نیٹ ورک آپریشن اور مینٹیننس انجینئرز کے ساتھ بانٹ سکتا ہوں۔، اور اپنی پوری کوشش کرو۔ Xiao Chu نے کہا کہ آپ اپنے کام کے بوجھ کو کم کرنے کے لیے کچھ سیکھ سکتے ہیں، اور مستقبل بعید پر توجہ مرکوز کر کے، گھریلو نیٹ ورک کے آپریشن اور دیکھ بھال کو حقیقی معنوں میں آٹومیشن کی طرف بڑھایا جا سکتا ہے۔
مستقبل میں، میں کچھ ویڈیوز ریکارڈ کروں گا اور کچھ مضامین لکھوں گا۔ ایک دستاویز لکھنا واقعی سخت محسوس ہوتا ہے۔ آپ کو سبسکرائب کرنے، جمع کرنے، پسند کرنے اور دیکھنے کے لیے خوش آمدید کہتے ہیں۔
ضمیمہ: Netconf کامن آپریشنز
DWDM OTN حل ڈیزائن اور لاگت کوٹیشن، براہ کرم میرے ساتھ لنک کریں، ٹیلر ہوانگ