[گانے کی الٹی گنتی: 7، 6، 5، 4، 3، 2، 1] انٹرنیٹ: پیکٹس، روٹنگ، اور قابل اعتماد ہیلو، میرا نام لین ہے۔ میں یہاں سپوٹیفائی میں ایک سافٹ ویئر انجینئر ہوں اور میں یہ تسلیم کرنے والی پہلی فرد ہوں گی کہ میں اکثر انٹرنیٹ کے قابل اعتماد پن کو حقیقی سمجھ لیتی ہوں۔ انٹرنیٹ میں اردگرد سفر کرنے والی بڑی مقدار میں معلومات حیران کن ہے۔ لیکن یہ کیسے ممکن ہے کہ آپ کو ڈیٹا کا ہر حصہ قابل اعتماد طریقے سے پہنچایا جائے؟ کہیں کہ آپ اسپاٹیفائی سے کوئی گانا چلوانا چاہتے ہیں۔ ایسا لگتا ہے کہ آپ کا کمپیوٹر براہ راست اسپاٹیفائی سرورز سے منسلک ہو جاتا ہے اور اسپاٹیفائی آپ کو براہ راست، وقف شدہ لائن پر ایک گانا بھیجتا ہے۔ لیکن درحقیقت، انٹرنیٹ ایسے کام نہیں کرتا ہے۔ اگر انٹرنیٹ براہ راست، وقف شدہ کنکشنز سے بنا ہوتا تو لاکھوں صارفین کے شامل ہونے سے چیزوں کا کام کرتے رہنا ناممکن ہوگا۔ خاص کر جبکہ اس بات کی کوئی گارنٹی نہیں ہے کہ ہر تار اور کمپیوٹر ہر وقت کام کر رہا ہے۔ اس کے بجائے، ڈیٹا انٹرنیٹ پر بہت کم براہ راست فیشن میں سفر کرتا ہے۔ کئی سالوں پہلے، 1970 کے دہائی کے اوائل میں، میرے ساتھی بوب کاہن اور میں نے اس ڈیزائن پر کام کرنا شروع کیا تھا جسے ہم اب انٹرنیٹ کہتے ہیں۔ ہیں۔ باب اور مجھے یہ ذمہ داری اور موقع دیا گیا کہ انٹرنیٹ کے پروٹوکولز اور اس کے فن تعمیر کو ڈیزائن کریں۔ لہذا ہم اس وقت تمام وقت سے اور حال سمیت تک انٹرنیٹ کی نشوونما اور ارتقاء میں حصہ لیتے رہے۔ ایک کمپیوٹر سے دوسرے کمپیوٹر میں معلومات کو منتقل کرنے کا طریقہ بہت دلچسپ ہے۔ اسے مقررہ راستے پر چلنے کی ضرورت نہیں ہے، درحقیقت، آپ کا راستہ کمپیوٹر سے کمپیوٹر گفتگو کے دوران بدل سکتا ہے۔ انٹرنیٹ پر معلومات ایک کمپیوٹر سے دوسرے کمپیوٹر میں جاتی ہے جس میں ہم معلومات کا پیکٹ کہتے ہیں اور ایک پیکٹ انٹرنیٹ پر ایک جگہ سے دوسری جگہ سفر کرتا ہے بالکل ایسے ہی جیسے آپ کار میں ایک جگہ سے دوسری جگہ پہنچ سکتے ہیں۔ ٹریفک کی بھیڑ یا سڑک کے حالات پر منحصر، جب بھی آپ سفر کرتے ہیں تو آپ اسی جگہ پر پہنچنے کے لئے مختلف راستے کا انتخاب کر سکتے ہیں یا کرنے پر مجبور ہو سکتے ہیں۔ اور جس طرح آپ کار کے اندر ہر طرح کی چیزیں لے جا سکتے ہیں، اسی طرح IP پیکٹس کے ساتھ کئی طرح کی ڈیجیٹل معلومات بھیجی جا سکتی ہے لیکن اس میں کچھ حدود ہیں۔ کیا ہوگا اگر مثال کے طور پر آپ اسپیس شٹل کو جہاں اسے بنایا گیا تھا وہاں سے اس جگہ منتقل کرنے کی ضرورت ہے جہاں جہاں اسے لانچ کیا جائے گا۔ شٹل ایک ٹرک میں پوری نہیں آتی ہے لہذا اسے حصوں میں تقسیم کرنے کی، ٹرکوں کے بیڑے کے ذریعہ منتقل کرنے کی ضرورت ہے۔ وہ سب مختلف راستے اختیار کر سکتے ہیں اور مختلف اوقات میں منزل تک پہنچ سکتے ہیں۔ لیکن جب تمام حصے وہاں پہنچ جائیں، تو آپ حصوں کو دوبارہ جوڑ کر شٹل مکمل کر سکتے ہیں اور یہ لانچ کے لئے تیار ہو جائے گا۔ انٹرنیٹ پر بھی تفصیلات اسی طرح کام کرتی ہیں۔ اگر آپ کے پاس بہت بڑی شبیہہ ہے جو آپ اپنے دوست کو بھیجنا چاہتے ہیں یا کسی ویب سائٹ پر اپ لوڈ کرنا چاہتے ہیں، تو یہ تصویر 1 اور 0 کے لاکھوں بٹس کے 10 سے مل کر بنے ہو سکتے ہیں، ایک پیکٹ میں بھیجنے کے لئے بہت زیادہ تعداد ہے۔ چونکہ یہ کمپیوٹر پر موجود ڈیٹا ہے، لہذا تصویر بھیجنے والا کمپیوٹر اسے تیزی سے سینکڑوں یا ہزاروں چھوٹے چھوٹے حصوں میں تقسیم کر سکتا ہے جسے پیکٹس کہتے ہیں۔ کاروں یا ٹرکوں کے برعکس ان پیکٹس میں ڈرائیور نہیں ہوتے ہیں اور وہ اپنا راستہ منتخب نہیں کرتے ہیں۔ ہر پیکٹ میں انٹرنیٹ پتہ ہوتا ہے کہ یہ کہاں سے آیا ہے اور کہاں جا رہا ہے۔ انٹرنیٹ پر روٹرز کہلانے والے خصوصی کمپیوٹرز ٹریفک کے منتظمین کی حیثیت سے کام کرتے ہیں تاکہ پیکٹس کو نیٹ ورک کے ذریعے روانگی سے چلتا رہنے دیا جائے۔ اگر کسی ایک راستہ میں بھیڑ ہو، تو انفرادی پیکٹ انٹرنیٹ کے ذریعے مختلف راستوں کا سفر کر سکتے ہیں اور وہ منزل پر قدرے مختلف وقت میں یا پھر ترتیب سے ہٹ کر پہنچ سکتے ہیں۔ آئیں اس کے بارے میں بات کرتے ہیں کہ یہ کیسے کام کرتا ہے۔ انٹرنیٹ پروٹوکول کے ایک حصے کے طور پر، ہر روٹر پیکٹس بھیجنے کے لئے متعدد راستوں کا سراغ رکھتا ہے، اور یہ پیکٹ کے لئے منزل مقصود IP پتہ کی بنیاد پر ڈیٹا کے ہر حصے کے لئے سستا ترین راستہ چنتا ہے۔ اس بات میں سب سے سستے کا مطوب لاگت نہیں ہے، بلکہ وقت اور غیر تکنیکی عوامل جیسے کمپنیوں کے مابین سیاست اور تعلقات ہیں۔ اکثر ڈیٹا کے سفر کرنے کے لئے بہترین راستہ ضروری نہیں کہ سب سے زیادہ براہ راست ہو۔ راستوں کے اختیارات کا ہونا نیٹ ورک کی نقص کی برداشت بناتا ہے۔ جس کا مطلب ہے کہ نیٹ ورک پیکٹ بھیجنا جاری رکھ سکتا ہے یہاں تک کہ اگر کچھ انتہائی غلط ہو جائے۔ یہ انٹرنیٹ کے کلیدی اصول کی بنیاد ہے۔ انٹرنیٹ: قابل اعتماد پن۔ اب یہ کہ، اگر آپ کچھ ڈیٹا کی درخواست کرنا چاہتے ہیں اور سب کچھ فراہم نہیں کیا گیا ہے تو؟ کہیں کہ آپ کوئی گانا سننا چاہتے ہیں۔ آپ کس طرح 100% یقین کر سکتے ہیں کہ تمام ڈیٹا منتقل کیا جائے گا تاکہ گانا بالکل ٹھیک طریقے سے چلے؟ اپنے نئے بہترین دوست کو TCP (ٹرانسمیشن کنٹرول پروٹوکول) سے متعارف کرانا۔ TCP آپ کے تمام ڈیٹا کو بطور پیکٹس بھیجنے اور وصول کرنے کو منظم کرتا ہے۔ اس کسی ضمانت شدہ ڈاک سروس کے طور پر سوچیں۔ جب آپ اپنے آلے پر گانے کی درخواست کرتے ہیں، تو اسپاٹیفائی بہت سے پیکٹس میں تقسیم شدہ ایک گانا بھیجتا ہے۔ جب آپ کے پیکٹس آتے ہیں، تو TCP ایک مکمل فہرست سازی کرتا ہے اور موصول ہوئے ہر پیکٹ کی قبولیتیں واپس بھیجتا ہے۔ اگر سارے پیکٹس موجود ہیں، تو TCP آپ کی فراہمی کے لئے اشارہ بھجتا ہے اور آپ کا کام مکمل ہو جاتا ہے۔ (گانا چل رہا ہے) اگر TCP کو پتہ چلتا ہے کہ کچھ پیکٹس غائب ہیں، تو وہ اشارہ نہیں بھیجے گا، ورنہ آپ کے گانے کی آواز ٹھیک نہیں ہوگی یا گانا کا کچھ حصہ غائب ہو سکتا ہے۔ ہر گمشدہ یا نامکمل پیکٹ کے لئے، اسپاٹیفائی انہیں دوبارہ بھیجے گا۔ جب TCP نے اس گانے کی درخواست کے لئے کی پیکٹوں کی فراہمی کی تصدیق کر دیتا ہے تو آپ کا گانا چلنا شروع ہو جائے گا۔ TCP اور روٹر سسٹم کے بارے میں زبردست بات یہ ہے کہ وہ قابل توسیع ہیں۔ وہ 8 یا 8 بلین آلات کے ساتھ بھی کام کر سکتے ہیں۔ درحقیقت، نقص برداشت اور فالتو پن کے ان اصولوں کی وجہ سے، ہم جتنے زیادہ راؤٹروں کا اضافہ کریں گے انٹرنیٹ اتنا ہی زیادہ قابل اعتماد بنے گا۔ یہ بھی زبردست بات ہے کہ ہم سروس کو استعمال کرنے والے کسی بھی شخص کے لئے سروس میں رکاوٹ پیدا کیے بغیر انٹرنیٹ کو پھیلا اور توسیع کر سکتے ہیں۔ انٹرنیٹ فزیکل طور پر منسلک لاکھوں نیٹورکس اور اربوں کمپیوٹر اور آلات سے مل کر بنا ہوا ہے۔ یہ مختلف سسٹمز جو انٹرنیٹ سے ایک دوسرے کے منسلک ہونے، ایک دوسرے کے ساتھ مواصلت کرنے، اور انٹرنیٹ پر ڈیٹا بھیجنے کے طریقہ کار کے لئے متفقہ معیارات کی وجہ سے مل کر کام کرنے کا سبب بنتے ہیں۔ انٹرنیٹ کے ساتھ کمپیوٹنگ آلات، یا راؤٹرز، تمام پیکٹس کو اپنی منزل تک پہنچنے میں مدد کرتے ہیں جہاں انہیں، اگر ضروری ہو تو ترتیب میں، دوبارہ یکجا کیا جاتا ہے۔ ایسا دن میں اربوں بار ہوتا ہے، چاہے آپ اور دوسرے لوگ ای میل بھیج رہے ہوں، کسی ویب پیج کا دورہ کر رہے ہوں، ویڈیو چیٹ کر رہے ہوں، موبائل ایپ استعمال کر رہے ہوں، یا جب انٹرنیٹ پر سنسرز یا آلات آپس میں بات کر رہے ہوتے ہیں۔