پث‌وایز

اینترنت چطور کار می‌کنه (How the Internet Works) · درس ۵ از ۱۲ · ۱۲ دقیقه

روترها: یه راه پیدا می‌کنن، بعد یه راه دیگه

یه روتر فقط همسایه‌های خودش رو می‌شناسه، نه کل اینترنت رو، ولی بازم بسته‌های تو کل دنیا رو رد می‌کنن و دور یه خط خراب می‌چرخن. می‌بینی هاپ یعنی چی، چرا هیچ نقشه‌ی کاملی از اینترنت وجود نداره، و چرا یه سایتِ ته کوچه‌ی خودت هم می‌تونه از یه راه دور بره.

تنها کاری که بلده

یه روتر فقط همسایه‌های خودش رو می‌شناسه

روتر یه نابغه با نقشه‌ی کامل اینترنت نیست. فقط همون چندتا دستگاهی که مستقیم بهش وصلن رو می‌شناسه، و برای هر مقصدی که ازش شنیده، کدوم‌یکی از اون همسایه‌ها قدم بعدیِ بهتری به نظر می‌رسه. وقتی یه بسته می‌رسه، روتر کل مسیر رو حساب نمی‌کنه؛ فقط بسته رو می‌ده به همون یه همسایه و می‌ذاره روتر بعدی تصمیم کوچیک خودش رو بگیره.

بیشتر شبیه یه دونده‌ی امدادیه تا یه خلبان با مسیر از قبل مشخص: چوب رو بگیر، بده به نفر بعدی که سمت درسته، تمام.

خودت رو امتحان کن

امید فکر می‌کنه یه روتر از قبل کل مسیر دقیق هر بسته رو، از اول تا آخر، حفظ کرده. مشکل این تصویر چیه؟

  1. هیچی، دقیقاً کار روتر همینه
  2. روتر فقط همسایه‌های خودش رو می‌شناسه و بسته رو می‌ده به اونی که به مقصد نزدیک‌تر به نظر میاد
  3. روتر فقط وقتی کار می‌کنه که یه آدم از قبل کل مسیر رو بهش گفته باشه
  4. روتر اصلاً هیچ تصمیمی نمی‌گیره؛ فقط هر بسته رو برای همه‌ی دستگاه‌هایی که می‌شناسه کپی می‌کنه تا خودشون ببینن مال کیه
جواب رو ببین

روتر فقط همسایه‌های خودش رو می‌شناسه و بسته رو می‌ده به اونی که به مقصد نزدیک‌تر به نظر میاد

درسته. هیچ روتری کل مسیر رو نگه نداشته. فقط همسایه‌های خودش رو می‌شناسه و هر بار یه قدم، هر کدوم که بهتر به نظر برسه رو انتخاب می‌کنه.

بدون صاحب، بدون نقشه

هر روتری که بسته‌ت ازش رد می‌شه یه هاپه

هر روتر توی مسیر یه هاپ حساب می‌شه. یه بسته که داره توی شهر یا اقیانوس رو رد می‌کنه ممکنه از چند تا هاپ تا چند ده‌تا هاپ طول بکشه، و معمولاً چند زنجیره‌ی هاپ مختلف هست که می‌تونن بسته رو به مقصد برسونن. هیچ شرکت یا سروری کل نقشه رو نداره؛ اینترنت از هزاران شبکه تشکیل شده که هر کدوم واقعاً فقط مسئول تیکه‌ی کوچیک خودش و اتصال‌هاش به همسایه‌هاشه.

برای همینه که خراب شدن یه دستگاه به‌ندرت کل اینترنت رو می‌خوابونه: بسته‌ی تو زنجیره‌های هاپ دیگه‌ای هم برای امتحان کردن داره.

خودت رو امتحان کن

یه جایی یه سرور هست که نقشه‌ی کامل و به‌روز همه‌ی روترها و خط‌های اینترنت رو نگه می‌داره، و هر روتر قبل از فرستادن یه بسته باهاش چک می‌کنه.

جواب رو ببین

نادرست

غلطه، و کل نکته‌ی ماجرا همینه: همچین سروری وجود نداره. هر روتر فقط همون چیزی رو می‌دونه که همسایه‌هاش بهش گفتن، و یه بسته از هزاران تصمیم کوچیک و محلی راهش رو پیدا می‌کنه، نه از یه برنامه‌ی مرکزی.

قدم‌به‌قدم ببین

  1. یه شبکه از روترها، هنوز هیچ مسیری انتخاب نشده

    بین گوشیت و سرور پنج‌تا روتر نشستن که با چند تا خط به هم وصلن. هیچ‌کدوم از این خط‌ها روشن نیستن، چون هنوز مسیری انتخاب نشده: تا وقتی یه بسته واقعاً نیاز به حرکت نداره، هیچی مسیر رو مشخص نمی‌کنه.

  2. یه مسیر روشن می‌شه، هاپ‌به‌هاپ

    یه مسیر با رنگ آبی روشن می‌شه: از گوشیت تا یه روتر اول (هاپ ۱)، بعد یه روتر دوم (هاپ ۲)، و بعد سرور (هاپ ۳). نقطه‌های نارنجی که روی خط حرکت می‌کنن همون بسته‌هان که دارن این مسیر رو، هاپ‌به‌هاپ نه یه‌راست، طی می‌کنن.

  3. خط بین هاپ ۱ و هاپ ۲ قطع می‌شه

    یه X نارنجی الان روی خط بین روتر اول و دوم نشسته: این خط قطع شده. بسته‌هایی که به روتر اول می‌رسن دیگه راهی برای ادامه‌ی مسیر قدیمی ندارن، پس همون‌جا می‌مونن و به سرور نمی‌رسن.

  4. یه مسیر جدید دور خرابی شکل می‌گیره

    روترهای اطراف خرابی یه راه دیگه پیدا می‌کنن: یه مسیر بنفش حالا از گوشیت، از روتر اول، به یه روتر دیگه توی وسط، بعد یه روتر سوم، و بالاخره سرور می‌ره؛ روی‌هم چهار هاپ. بسته‌ها دوباره دارن حرکت می‌کنن، فقط یه هاپ بیشتر از قبل.

خودت رو امتحان کن

توی فریم‌هایی که تازه دیدی، درست بعد از قطع شدن خط بین روتر اول و دوم چه اتفاقی افتاد؟

  1. کل ترافیک به سمت سرور برای همیشه قطع شد
  2. بسته‌ها توی روتر اول موندن تا همون خط دوباره وصل بشه
  3. روترهای اطراف خرابی یه مسیر دیگه پیدا کردن، با یه هاپ بیشتر از قبل
  4. خود سرور، قبل از این‌که بسته‌ها از گوشی بیرون بیان، مسیرشون رو عوض کرد
جواب رو ببین

روترهای اطراف خرابی یه مسیر دیگه پیدا کردن، با یه هاپ بیشتر از قبل

درسته. هیچی گیر نکرد: روترهای اطراف خرابی یه راه دیگه پیدا کردن، حتی اگه یه هاپ بیشتر هزینه داشت.

سرپا موندن

روترها خرابی رو متوجه می‌شن و خبرش رو پخش می‌کنن

روترها مرتب به همسایه‌هاشون می‌گن به کدوم مقصدها می‌تونن برسن. وقتی خط بین دوتاشون قطع بشه، روترهای دو طرف ظرف چند لحظه متوجه می‌شن و چیزی که به بقیه می‌گن رو به‌روز می‌کنن: این مسیر دیگه نیست، از این یکی برو. هیچ‌کدومشون هم برای این تصمیم منتظر اجازه از یه مرجع مرکزی نموندن؛ هزاران به‌روزرسانی کوچیک و محلی که دائم دارن اتفاق می‌افتن.

بخشی از دلیل این‌که اینترنت به‌عنوان یه کل خیلی سخت از کار می‌افته همینه: هیچ‌وقت دور یه خط که همه‌چیز بهش وابسته باشه ساخته نشده، فقط دور روترهایی که هر کدوم حاضرن یه همسایه‌ی دیگه رو امتحان کنن.

خودت رو امتحان کن

هر جمله رو بذار توی گروه درستش، درباره‌ی کاری که روتر واقعاً می‌کنه

  • بسته رو سمت هر همسایه‌ای که به مقصد نزدیک‌تره می‌فرسته
  • نقشه‌ی کامل و به‌روزِ همه‌ی روترهای اینترنت رو نگه می‌داره
  • متوجه می‌شه وقتی یه خطی که مستقیم بهش وصله قطع می‌شه
  • مسیر رو بر اساس کیلومتر فاصله‌ی فیزیکی انتخاب می‌کنه
  • به همسایه‌هاش می‌گه الان به کدوم مقصدها می‌تونه برسه
  • تضمین می‌ده مسیر یه بسته بعد از انتخاب هیچ‌وقت عوض نمی‌شه
جواب رو ببین

کاری که روتر می‌کنه: بسته رو سمت هر همسایه‌ای که به مقصد نزدیک‌تره می‌فرسته, متوجه می‌شه وقتی یه خطی که مستقیم بهش وصله قطع می‌شه, به همسایه‌هاش می‌گه الان به کدوم مقصدها می‌تونه برسه

کاری که روتر نمی‌کنه: نقشه‌ی کامل و به‌روزِ همه‌ی روترهای اینترنت رو نگه می‌داره, مسیر رو بر اساس کیلومتر فاصله‌ی فیزیکی انتخاب می‌کنه, تضمین می‌ده مسیر یه بسته بعد از انتخاب هیچ‌وقت عوض نمی‌شه

خودت رو امتحان کن

  1. به یه دوست که توی همون خیابونِ خودت زندگی می‌کنه پیام می‌دی، با همون شرکت اینترنتی خودت. جوابش فقط از دو سه‌تا هاپ رد می‌شه.
  2. به یه مغازه که دو کوچه اون‌ورتره پیام می‌دی، ولی اون یه شرکت اینترنتی کاملاً متفاوت داره. جوابش از چند تا روتر رد می‌شه، با این‌که مغازه از نظر فاصله‌ی فیزیکی به تو نزدیک‌تره.

بهترین توضیح برای تفاوت این دو مورد چیه؟

  1. پیام به مغازه حجمش بزرگ‌تر بوده
  2. فاصله‌ی فیزیکی به‌تنهایی تعداد هاپ‌ها رو تعیین می‌کنه
  3. مسیری که یه بسته طی می‌کنه به این بستگی داره کدوم شبکه‌ها و روترها واقعاً دو طرف رو به هم وصل کردن، نه چقدر روی نقشه بهم نزدیکن
  4. سرور مغازه فقط کندتر جواب می‌ده
جواب رو ببین

مسیری که یه بسته طی می‌کنه به این بستگی داره کدوم شبکه‌ها و روترها واقعاً دو طرف رو به هم وصل کردن، نه چقدر روی نقشه بهم نزدیکن

دقیقاً. دوستت، چون شرکت اینترنتیش با خودته یکیه، احتمالاً از قبل یکی دو تا روتر رو با تو شریکه. مغازه، چون شرکت اینترنتیش فرق داره، فقط از هر زنجیره‌ی هاپی که دو شبکه رو به هم وصل می‌کنه قابل‌دسترسیه، هر چقدرم دور بزنه.

مرور درس

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

فقط نخونش، نگهش دار

پث‌وایز هر ایده رو درست قبل از اینکه فراموشش کنی با یه سؤال کوتاه برمی‌گردونه. رایگان روی اندروید و وب، به فارسی و انگلیسی.

Cafe Bazaar Myket باز کردن نسخه‌ی وب

همه‌ی درس‌های این دوره

  1. وقتی یه سایت رو باز می‌کنی چه اتفاقی می‌افته
  2. آدرس‌ها: یه دستگاه چطوری پیدا می‌شه
  3. بسته‌ها: پیام رو تیکه‌تیکه کردن
  4. DNS: دفترچه تلفن اینترنت
  5. روترها: یه راه پیدا می‌کنن، بعد یه راه دیگه
  6. TCP: مطمئن شدن از رسیدن همه‌چی
  7. HTTP: چطور یه صفحه رو می‌خوای و جواب می‌گیری
  8. HTTPS: قفل کنار آدرس دقیقاً چی رو محافظت می‌کنه
  9. کش و CDN: چرا بار دومی که یه سایت رو باز می‌کنی سریع‌تره
  10. وایفای، کابل و کف دریا
  11. چرا کند حس می‌شه: تأخیر و پهنای باند
  12. امن موندن: سایت‌های شبیه‌سازی‌شده و قدم دوم