پث‌وایز

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

بسته‌ها: پیام رو تیکه‌تیکه کردن

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

واحد ماجرا

بسته، و هدرش

هر پیامی که می‌فرستی — یه صفحه، یه عکس، یه چت — به تیکه‌های کوچیکی به اسم بسته (Packet) خرد می‌شه. هر بسته یه هدر (Header) کوچیک همراهش داره: از کجا اومده، کجا می‌ره، و شماره‌ش تو ترتیب پیام. همین هدره که به شبکه اجازه می‌ده مسیریابیش کنه و به گیرنده اجازه می‌ده پیام رو درست دوباره بسازه.

یه عکس ممکنه به صدها بسته تبدیل بشه، هر کدوم شاید چند هزار کاراکتر دیتا با یه هدر ریز چسبیده به اولش.

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

هدر یه بسته واقعاً چی توشه؟

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

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

درسته. هدر عمداً کوچیکه؛ فقط همون قدری که برای مسیریابی بسته و سر جاش گذاشتنش لازمه.

کتابی که صفحه‌صفحه می‌فرستی، نه یه‌جا چسبیده

فرض کن یه کتاب ۳۰۰ صفحه‌ای رو می‌خوای پست کنی؛ به‌جای فرستادن کتاب جلدشده، صفحه‌هاش رو جدا می‌کنی، شماره‌گذاری می‌کنی، و جدا جدا می‌فرستی. هر صفحه ممکنه با یه ون متفاوت بره و به هر ترتیبی برسه؛ خواننده فقط طبق شماره‌ها مرتبشون می‌کنه قبل از خوندن. جایی که این تشبیه جواب نمی‌ده: تو دنیای واقعی کسی لازم نیست بسته‌ها رو مرتب کنه؛ دستگاهت این کارو آنی انجام می‌ده و تو اصلاً این شلوغی رو نمی‌بینی.

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

همه‌ی بسته‌های یه پیام همیشه دقیقاً از یه مسیر فیزیکی می‌رن، پشت سر هم، مثل ماشین‌های یه خط.

جواب رو ببین

نادرست

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

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

  1. یه پیام، هنوز خرد نشده

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

  2. شش بسته‌ی شماره‌دار، آماده‌ی رفتن

    همون نوار تک حالا شش تا بسته‌ی کوچیک و شماره‌دار شده، هر کدوم با نوار هدر رنگیش. بسته‌های هدر آبی (شماره‌های فرد) قراره از مسیر بالا رد بشن؛ نارنجی‌ها (شماره‌های زوج) از مسیر پایین.

  3. به‌ترتیب نمی‌رسن

    بسته‌ها از دو روتر رد شدن، فردها از مسیر بالا و زوج‌ها از مسیر پایین، و حالا سمت راست به همین ترتیب نشستن: 1, 3, 2, 5, 4, 6. چون مسیرهای متفاوت رفتن، زمان یکسانی طول نکشیده، برای همین به‌ترتیب نرسیدن.

  4. دوباره سر جاشون، مرتب

    همون شش بسته حالا تو یه نوار پایین سمت راست نشستن، دوباره به ترتیب ۱ تا ۶. گیرنده از روی شماره‌ی تو هر هدر سر جاشون گذاشته؛ پیام دوباره کامله.

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

نمودار نشون می‌ده بسته‌ها به ترتیب 1, 3, 2, 5, 4, 6 می‌رسن. پیام چطور دوباره درست، به‌ترتیب ۱ تا ۶، سر جاش می‌شینه؟

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

گیرنده هدر هر بسته رو می‌خونه و طبق شماره‌ش سر جاش می‌ذاره

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

چرا اصلاً این‌کارو می‌کنن

تیکه‌های کوچیک بهتر از یه کلوخ بزرگن

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

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

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

هر واقعیت رو به دلیلش وصل کن

  • تماس ویدیویی و دانلودت هم‌زمان از یه اتصال استفاده می‌کنن
  • یه لحظه ضعف Wi-Fi فقط چند بسته رو دوباره می‌فرسته، نه کل فایل رو
  • چند نفر می‌تونن یه خط اینترنت اداره رو شریک بشن بدون این‌که دانلود یکی بقیه رو فریز کنه
  • آپلود یه عکس اگه یه بسته‌ش بیفته، از صفر شروع نمی‌شه
جواب رو ببین

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

چون جبران بسته‌ی گم‌شده ارزونه: یه لحظه ضعف Wi-Fi فقط چند بسته رو دوباره می‌فرسته، نه کل فایل رو, آپلود یه عکس اگه یه بسته‌ش بیفته، از صفر شروع نمی‌شه

این برای تو یعنی چی

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

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

  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. امن موندن: سایت‌های شبیه‌سازی‌شده و قدم دوم