🤔 اگه چند تا مسیر مختلف به یه IP اشاره کنن، سیستم کدوم رو انتخاب میکنه؟
تا حالا شده توی routing table کلی مسیر مختلف ببینی که انگار با هم تداخل دارن و همگی یه محدوده از IPها رو پوشش میدن؟ اینجاست که بحث Longest Prefix Match مطرح میشه؛ مکانیزمی که kernel ازش استفاده میکنه تا وقتی یه packet میخواد بره به یه مقصد مشخص، دقیقترین مسیر رو بین اون همه گزینه پیدا کنه.
ماجرا از این قراره که وقتی یه packet به دستگاه میرسه، kernel نگاه میکنه ببینه مقصد با کدوم ردیف از routing table مطابقت داره. مشکل اینجاست که ممکنه یه IP همزمان توی چند تا subnet مختلف قرار بگیره؛ مثلاً یه مسیر رو برای یه محدوده بزرگ مثل /16 تعریف کرده باشیم و یه مسیر دیگه هم برای یه محدوده کوچیکتر و دقیقتر مثل /24. kernel برای حل این تداخل، بیتهایی که توی اولِ آدرس IP مقصد با mask اون مسیر مشترک هستن رو میشماره؛ هر مسیری که تعداد بیتهای مشترک بیشتری داشته باشه، یعنی mask طولانیتر یا دقیقتر، برنده میشه و به عنوان next hop انتخاب میشه.
این دقیقاً همون دلیلیه که میتونیم توی شبکه، مسیرهای عمومی مثل default gateway رو با مسیرهای خیلی خاصتر و اختصاصیتر جایگزین کنیم. بدون این قانون، مدیریت routing table توی شبکههای بزرگ که پر از subnetهای مختلف هستن، عملاً غیرممکن میشد چون سیستم نمیتونست بفهمه کدوم مسیر واقعاً به مقصد نزدیکتره.
❓ تا حالا شده یه تنظیم اشتباه توی subnet یا mask باعث بشه traffic از یه مسیر غیرمنتظره رد بشه؟ تجربهتون رو برامون تو کامنتا بنویسین
@things_to_know_channel