UIP (software)
یو آئی پی ٹی سی پی/آئی پی نیٹ ورک پروٹوکول اسٹیک کا ایک اوپن سورس نفاذ ہے جس کا مقصد چھوٹے 8 اور 16 بٹ مائکرو کنکولر کے ساتھ استعمال کرنا ہے۔ اسے ابتدائی طور پر سویڈش انسٹی ٹیوٹ آف کمپیوٹر سائنس میں نیٹ ورکڈ ایمبیڈڈ سسٹمز گروپ کے ایڈم ڈنکلز نے تیار کیا تھا، جو بی ایس ڈی اسٹائل لائسنس کے تحت لائسنس یافتہ تھا، اور ڈویلپرز کے ایک وسیع گروپ نے اسے مزید تیار کیا۔ یو آئی پی سرایت شدہ نظاموں میں بہت مفید ہو سکتا ہے کیونکہ اس کے لیے بہت کم مقدار میں کوڈ اور رام کی ضرورت ہوتی ہے۔ اسے ڈی ایس پی پلیٹ فارمز سمیت کئی پلیٹ فارمز پر پورٹ کیا گیا ہے۔ اکتوبر 2008 میں سسکو، ایٹمل، اور ایس آئی سی ایس نے یو آئی پی کے لیے مکمل طور پر مطابقت رکھنے والی آئی پی وی 6 توسیع کا اعلان کیا، جسے یو آئی پی وی 6 کہا جاتا ہے۔ نفاذ یو آئی پی بہت سے غیر معمولی ڈیزائن کے انتخاب کرتا ہے تاکہ اس کے لیے درکار وسائل کو کم کیا جا سکے۔ یو آئی پی کا مقامی سافٹ ویئر انٹرفیس چھوٹے کمپیوٹر سسٹمز کے لیے ڈیزائن کیا گیا ہے جس میں کوئی آپریٹنگ سسٹم نہیں ہے۔ اسے ٹائمڈ لوپ میں کال کیا جا سکتا ہے، اور کال تمام دوبارہ کوششوں اور نیٹ ورک کے دیگر طرز عمل کا انتظام کرتی ہے۔ ہارڈ ویئر ڈرائیور کو یو آئی پی کال کرنے کے بعد بلایا جاتا ہے۔ یو آئی پی پیکٹ بناتا ہے، اور پھر ڈرائیور اسے بھیجتا ہے، اور اختیاری طور پر جواب وصول کرتا ہے۔ آئی پی پروٹوکول اسٹیک سافٹ ویئر کے لیے یہ معمول ہے کہ وہ مختلف آئی پی پیکٹوں کی بہت سی کاپیاں، ٹرانسمیشن، استقبالیہ کے لیے اور اگر انہیں ناراض ہونے کی ضرورت ہو تو کاپیاں رکھے۔ یو آئی پی میموری کے استعمال میں کفایتی ہے کیونکہ یہ صرف ایک پیکٹ بفر استعمال کرتا ہے۔ سب سے پہلے، یہ پیکٹ بفر کو ہاف ڈوپلیکس طریقے سے استعمال کرتا ہے، اسے ٹرانسمیشن اور استقبالیہ کے لیے استعمال کرتا ہے۔ نیز، جب یو آئی پی کو کسی پیکٹ کو دوبارہ منتقل کرنے کی ضرورت ہوتی ہے، تو یہ ایپلیکیشن کوڈ کو اس طرح سے کال کرتا ہے جو پچھلے ڈیٹا کو دوبارہ پیش کرنے کی درخواست کرتا ہے۔ ایک اور عجیب بات یہ ہے کہ یو آئی پی کنکشن کا انتظام کیسے کرتا ہے۔ زیادہ تر آئی پی کے نفاذ میں فی کنکشن ایک کام ہوتا ہے، اور یہ کام کنکشن کے دوسرے سرے پر دور کمپیوٹر میں کسی کام کے ساتھ بات چیت کرتا ہے۔ یو آئی پی میں، کوئی ملٹی ٹاسکنگ آپریٹنگ سسٹم نہیں سمجھا جاتا ہے۔ کنکشن ایک صف میں منعقد ہوتے ہیں۔ ہر کال پر، یو آئی پی ایک کنکشن پیش کرنے کی کوشش کرتا ہے، ایپلیکیشن کوڈ پر ایک سبروٹین کال کرتا ہے جو جواب دیتا ہے، یا ڈیٹا بھیجتا ہے۔ کنکشن سرنی کا سائز ایک ایسا نمبر ہے جسے یو آئی پی کے دوبارہ مرتب ہونے پر ایڈجسٹ کیا جا سکتا ہے۔ یو آئی پی آر ایف سی کے ساتھ مکمل طور پر مطابقت رکھتا ہے جو ٹی سی پی، یو ڈی پی اور آئی پی کی وضاحت کرتا ہے۔ یہ لازمی مینٹیننس پروٹوکول آئی سی ایم پی کو بھی نافذ کرتا ہے۔ ورژن یو آئی پی 0.1 وہ ورژن ہے جس کا آپریٹنگ سسٹم پر سب سے کم انحصار ہے، وسائل کا سب سے چھوٹا استعمال، اور واحد ورژن جو خالص ایونٹ لوپ اے پی آئی پیش کرتا ہے، لیکن اس کی اصل شکل میں آئی پی ورژن 6 کی حمایت نہیں کرتا ہے، صرف پرانے، زیادہ عام آئی پی وی 4۔ اسے بہت کم وسائل والے سرایت شدہ نظاموں میں استعمال کیا جا سکتا ہے۔ یہ اعلی سطح کے پروٹوکول کی مثالوں کے ایک سیٹ کے ساتھ فراہم کیا گیا تھا جو ایونٹ لوپ سسٹم پر بھی چلتا ہے، بشمول ایچ ٹی ٹی پی (ایک سادہ ویب سرور)، ایس ایم ٹی پی (سادہ میل ٹرانسمیشن پروٹوکول)، ایف ٹی پی (فائل ٹرانسفر پروٹوکول)، ٹیل نیٹ (ٹرمینل ایمولیشن)، اور دیگر۔ مثالوں اور اس کے چھوٹے سائز کے باوجود، یو آئی پی 0.0 کا اطلاق کرنا مشکل ہو سکتا ہے کیونکہ یہ ساکٹ اے پی آئی کی کسی بھی شکل کا استعمال نہیں کرتا ہے۔ یو آئی پی معروف کمزوریوں کے ساتھ بڑے پیمانے پر استعمال ہونے والا کوڈ ہے۔ ڈیزائن 32 بٹ ریاضی کو کم سے کم اور الگ کرتا ہے تاکہ اسے 8 اور 16 بٹ سی پی یو کے لیے ایڈجسٹ یا بہتر بنایا جا سکے۔ نیز، 16 بٹ سافٹ ویئر ٹائمر (چھوٹے مائیکرو کنٹرولرز پر عام) زیادہ بہاؤ کا سبب بن سکتے ہیں اور عیب دار آپریشن کا سبب بن سکتے ہیں۔ اسے ایک ٹائمر سسٹم کے ساتھ طے کیا جا سکتا ہے جو زیادہ بہاؤ نہیں کرتا ہے (جیسے۔ ٹائمر گنتے ہیں یا ماڈیولر ریاضی استعمال کرتے ہیں)۔ ایک اور مسئلہ یہ ہے کہ اس کے سنگل پیکٹ بفر میں تھرو پٹ کے کافی مسائل ہو سکتے ہیں کیونکہ پی سی میزبان عام طور پر "اے سی کے" پیکٹ میں تاخیر کرتا ہے، اور مزید پیکٹوں کا انتظار کرتا ہے۔ سست، سیریل پورٹ کے نفاذ میں، ہر پیکٹ کو دو نصف پیکٹ کے ٹکڑوں کے طور پر بھیجنے کے لیے یو آئی پی میں ترمیم کرکے ایک-تھرو پٹ کو درست کیا جا سکتا ہے۔ تیز ایتھرنیٹ یا وائی فائی والے یو آئی پی سسٹم ہر پیکٹ کو دو بار بھیجنے کے لیے ہارڈ ویئر ڈرائیور میں ترمیم کر سکتے ہیں۔ کچھ پی سی مقامی ایتھرنیٹ پر تیز رفتار یو آئی پی سسٹم کا صحیح جواب نہیں دیتے، کیونکہ یو آئی پی سسٹم ایک رسپانسنگ پیکٹ شروع کر سکتا ہے اس سے پہلے کہ پی سی اسے وصول کرنے کے لیے تیار ہو۔ حل یہ ہے کہ مرکزی لوپ میں یو آئی پی سسٹم کو کم کثرت سے کال کیا جائے (ونڈوز پی سی تقریبا 1 ملی سیکنڈ کے رسپانس ٹائم کے لیے بنائے گئے ہیں)۔ یو آئی پی کے عام نفاذ میں ایک مقررہ آئی پی ایڈریس ہوتا ہے، جو انہیں حقیقی نیٹ ورکس میں ناقابل عمل بنا سکتا ہے، حالانکہ کچھ نے ڈی ایچ سی پی کو نافذ کیا ہے۔ یو آئی پی کے بعد کے ورژن، بشمول یو آئی پی وی 6 کا حوالہ ورژن، کونٹیکی کے ساتھ مربوط ہیں، جو ایک آپریٹنگ سسٹم ہے جو کوآپریٹو ملٹی ٹاسکنگ کے لیے کروٹائنز کا استعمال کرتا ہے۔ کونٹیکی یو آئی پی کے استعمال کو آسان بناتے ہوئے ایک آسان ساکٹ اے پی آئی کے لیے درکار ملٹی ٹاسکنگ فراہم کرتا ہے۔ تاہم یہ ورژن 0.9 سے کم مقبول ہو سکتے ہیں۔ سرایت شدہ کوڈ کی بہت سی مثالیں ان کا استعمال نہیں کرتی ہیں۔ ٹی سی پی اور یو ڈی پی پورٹ نمبروں کی انٹرنیٹ انجینئرنگ ٹاسک فورس لسٹ بھی دیکھیں-ایک اور ٹی سی پی/آئی پی اسٹیک پروجیکٹ (جسے ڈنکلز نے بھی بنایا ہے)، لیکن زیادہ مکمل طور پر فیچرڈ اور زیادہ قابل ہارڈ ویئر حوالہ جات کا مقصد بیرونی لنکس اے وی آر مائیکرو کنکولرز کے لیے یو آئی پی سورس یو آئی پی پورٹ یو آئی پی پر مبنی ویب سرور اوپن آر آئی ایس سی-ایمبیڈڈ ایس او سی ایمبیڈڈ سسٹمز کا استعمال کرتے ہوئے بی ایس ڈی لائسنس کا استعمال کرتے ہوئے مفت نیٹ ورک سے متعلق سافٹ ویئر سافٹ ویئر