موقف من الحياة اليومية#
بتفتح موقع على الإنترنت، وبيانات طلبك بتعدّي على راوترات كتير: الراوتر اللي في بيتك، وبعده راوترات شركة الإنترنت، وبعدها راوترات تانية في دول تانية، لحد ما توصل لسيرفر الموقع.
وكل راوتر منهم ما يعرفش السكة كلها.
هو بس لازم يقرر حاجة واحدة، وفي جزء صغير جدًا من الثانية: الحزمة دي أبعتها لمين بعدي؟
خلاصة سريعة#
- كل Router · الموجّه (الراوتر)جهاز يربط الشبكات ببعضها ويوجّه حركة البيانات بينها، مثل الراوتر المنزلي الذي يربط شبكة البيت بالإنترنت.عرض في القاموس عنده Routing Table · جدول التوجيهقائمة في الراوتر أو الجهاز، كل سطر فيها شبكة مقصودة وطول بادئتها، والخطوة التالية أو المنفذ الذي تُرسل منه الحزم إليها.عرض في القاموس (جدول التوجيه): كل سطر فيه شبكة، والراوتر اللي بعده في السكة ليها.
- لو أكتر من سطر بينطبق على عنوان الحزمة، الراوتر بيختار الأدق، وده اسمه Longest Prefix Match · أطول تطابققاعدة اختيار المسار عند إرسال الحزمة، فإذا انطبقت عدة مسارات على عنوان الوجهة يُختار الأكثر تحديدًا، أي صاحب أطول بادئة.عرض في القاموس (أطول تطابق).
ولو مفيش ولا سطر، بيستخدم الـ Default Route (0.0.0.0/0) · المسار الافتراضيمسار ينطبق على أي عنوان، ويُستخدم فقط عندما لا يوجد مسار أكثر تحديدًا للوجهة.عرض في القاموس (المسار الافتراضي). - ولو الراوتر عرف نفس الشبكة من أكتر من مصدر، الـ Administrative Distance (AD) · المسافة الإداريةرقم يرتب مدى الثقة في مصادر معلومات التوجيه، فإذا عرف الراوتر الشبكة نفسها من أكثر من مصدر فضّل صاحب الرقم الأقل.عرض في القاموس (المسافة الإدارية) هي اللي بتحدد يصدّق مين، وجوه المصدر الواحد الـ Metric · المقياس (تكلفة المسار)رقم يحسبه بروتوكول التوجيه لكل مسار، ويختار البروتوكول المسار صاحب الرقم الأقل بين مساراته، مثل عدد الراوترات في RIP.عرض في القاموس (تكلفة الطريق) بيختار أقصر طريق.
ببساطة#
فكّر في مكتب بريد، وموظف الفرز قدامه لوحة:
- «أي جواب رايح شارع التحرير، عمارة 5: الدرج 3.»
- «أي جواب رايح شارع التحرير (أي عمارة): الدرج 2.»
- «أي جواب رايح القاهرة: الدرج 1.»
- «أي حاجة تانية: الدرج 0، يروح المكتب الرئيسي.»
جواب رايح «شارع التحرير، عمارة 5»: كل السطور بتنطبق عليه، بس الموظف بيختار الأدق: الدرج 3.
ده الـ Longest Prefix Match.
والسطر الأخير «أي حاجة تانية» ده الـ Default Route.
بالتفصيل#
الـ Routing Table#
كل سطر في الـ Routing Table · جدول التوجيهقائمة في الراوتر أو الجهاز، كل سطر فيها شبكة مقصودة وطول بادئتها، والخطوة التالية أو المنفذ الذي تُرسل منه الحزم إليها.عرض في القاموس فيه:
- الشبكة المقصودة وطول الـ Prefix (البادئة: الجزء من العنوان اللي بيحدد الشبكة)، مثلًا
10.144.2.0/24.
والـ/24معناها إن أول 24 بت من العنوان هم اللي بيحددوا الشبكة. - Next Hop · الخطوة التاليةعنوان الراوتر التالي الذي يرسل إليه الراوتر الحزمة في طريقها إلى وجهتها.عرض في القاموس (الخطوة الجاية): عنوان الراوتر اللي بعده في السكة.
- Interface (المنفذ): الحزمة تطلع من أنهي منفذ في الراوتر.
ولو محتاج تراجع عنوان IP والـ Prefix، شوف مقال عنوان IPv4.
السطور دي بتيجي منين؟
| المصدر | معناه |
|---|---|
| Connected (متوصل مباشرة) | شبكة متوصلة بمنفذ في الراوتر نفسه، فبيعرفها لوحده |
| Static Route · المسار الثابتمسار يضيفه مسؤول الشبكة يدويًا في جدول التوجيه، ولا يتغير تلقائيًا إذا تغيرت الشبكة.عرض في القاموس (مسار ثابت) | مسؤول الشبكة كتبه بإيده |
| Dynamic (ديناميكي) | الراوتر اتعلّمه من راوترات تانية عن طريق Routing Protocol (بروتوكول توجيه) زي OSPF، وليه مقالات لوحده في المجال ده |
Longest Prefix Match: الأدق بيكسب#
لما حزمة توصل، الراوتر بيبص على عنوان الوجهة فيها، ويدوّر في الجدول على كل السطور اللي بتنطبق عليه.
ولو لقى أكتر من سطر، بيختار صاحب أطول Prefix، يعني الأدق.
مثال: حزمة رايحة لـ 10.144.2.5، والجدول فيه:
| الشبكة | بينطبق؟ | طول الـ Prefix |
|---|---|---|
10.0.0.0/8 | ✓ | 8 |
10.144.0.0/16 | ✓ | 16 |
10.144.2.0/24 | ✓ | 24 ← بيكسب |
التلاتة بينطبقوا، لكن /24 هو الأدق، فالحزمة بتمشي في طريقه.
الـ Default Route: لو مفيش حاجة تانية#
السطر 0.0.0.0/0 طول الـ Prefix بتاعه صفر، يعني بينطبق على أي عنوان في الدنيا.
ولأنه أقل سطر دقة، عمره ما بيكسب قدام أي سطر تاني بينطبق.
فبيتستخدم بس لما مفيش سطر أدق.
علشان كده بيتسمّى Default Route (0.0.0.0/0) · المسار الافتراضيمسار ينطبق على أي عنوان، ويُستخدم فقط عندما لا يوجد مسار أكثر تحديدًا للوجهة.عرض في القاموس.
وفي جهازك العادي، الـ Default Route ده رايح لـ Default Gateway · البوابة الافتراضيةعنوان الراوتر الذي يرسل إليه الجهاز كل بيانات موجهة إلى خارج شبكته المحلية.عرض في القاموس (البوابة الافتراضية)، يعني راوتر البيت، اللي جهازك أخد عنوانه من DHCP.
ولو محتاج تراجعه، شوف مقال DHCP.
الـ Administrative Distance: لما مصدرين يختلفوا#
ممكن الراوتر يعرف نفس الشبكة بالظبط (نفس العنوان ونفس طول الـ Prefix) من أكتر من مصدر: مثلًا Static Route، وكمان من بروتوكول OSPF.
يصدّق مين؟
كل مصدر ليه رقم اسمه Administrative Distance (AD) · المسافة الإداريةرقم يرتب مدى الثقة في مصادر معلومات التوجيه، فإذا عرف الراوتر الشبكة نفسها من أكثر من مصدر فضّل صاحب الرقم الأقل.عرض في القاموس (واختصاره AD)، ومعناه «قد إيه أنا مصدر موثوق».
والرقم الأقل بيكسب.
ودي القيم الافتراضية في راوترات Cisco:
| المصدر | Administrative Distance |
|---|---|
| Connected | 0 |
| Static Route | 1 |
| External BGP | 20 |
| Internal EIGRP | 90 |
| OSPF | 110 |
| RIP | 120 |
| Internal BGP | 200 |
| Unknown | 255 (مش بيتحط في الجدول أصلًا) |
الـ Metric: أقصر طريق جوه نفس البروتوكول#
جوه البروتوكول الواحد، لو فيه أكتر من طريق لنفس الشبكة، البروتوكول بيحسب لكل طريق رقم اسمه Metric · المقياس (تكلفة المسار)رقم يحسبه بروتوكول التوجيه لكل مسار، ويختار البروتوكول المسار صاحب الرقم الأقل بين مساراته، مثل عدد الراوترات في RIP.عرض في القاموس (تكلفة الطريق)، والأقل بيكسب.
وكل بروتوكول ليه طريقته في الحساب:
- RIP بيعدّ عدد الراوترات في السكة.
وأقصى رقم عنده 15، والرقم 16 معناه «الشبكة دي مش متاحة». - OSPF بيدّي كل وصلة تكلفة (Cost)، ومقياس الطريق هو مجموع تكاليف الوصلات اللي فيه.
ترتيب القرار: مين قبل مين؟#
ده أهم جزء في المقال، وفيه لخبطة كتير:
- جوه كل بروتوكول: الـ Metric بيختار أحسن طريق.
- بين المصادر المختلفة لنفس الشبكة: الـ Administrative Distance بتحدد مين يدخل الجدول.
- وقت إرسال الحزمة: من السطور اللي دخلت الجدول خلاص، الـ Longest Prefix Match بيختار.
يعني الـ Administrative Distance والـ Metric بيشتغلوا قبل ما المسار يدخل الجدول، والـ Longest Prefix Match بيشتغل بعدين على كل حزمة.
علشان كده الـ Administrative Distance عمرها ما بتغلب الـ Longest Prefix Match: مسار OSPF لـ /24 بيكسب Static Route لـ /16 لو الحزمة بتنطبق على الاتنين، مع إن الـ Administrative Distance بتاعة الـ Static Route أقل.
جرّب بنفسك: شوف الـ Routing Table في جهازك#
جهازك نفسه، مش الراوتر بس، عنده Routing Table صغير.
على Linux:
- افتح الطرفية، واكتب:
ip route- النتيجة المتوقعة: الـ Routing Table، زي كده (بعناوين أمثلة):
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.50 metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.50 metric 100
default via 192.168.1.1: الـ Default Route، رايح للـ Default Gateway (راوتر البيت).
وproto dhcpمعناها إنه جه من DHCP.192.168.1.0/24 ... proto kernel scope link: الشبكة المتوصلة مباشرة بجهازك.metric 100: الـ Metric.
ولو فيه أكتر من مسار لنفس الشبكة، الأقل بيكسب.dev eth0: كارت الشبكة.
واسمه عندك ممكن يختلف.
- اسأل جهازك: هتبعت لعنوان معين منين؟
ip route get 203.0.113.5النتيجة المتوقعة:
203.0.113.5 via 192.168.1.1 dev eth0 src 192.168.1.50 uid 1000
cacheيعني: مفيش سطر أدق للعنوان ده، فجهازك هيستخدم الـ Default Route ويبعته للراوتر 192.168.1.1.
على Windows:
- افتح موجّه الأوامر (Command Prompt)، واكتب:
route print- النتيجة المتوقعة: الـ Routing Table كامل: الشبكات، والـ Gateway لكل شبكة، والـ Interface، والـ Metric.
والسطر اللي شبكته0.0.0.0هو الـ Default Route.
للمتعمقين
الـ Floating Static Route
ممكن تكتب Static Route بـ Administrative Distance أعلى من البروتوكول الأساسي، مثلًا 250.
طول ما البروتوكول شغال، مساره هو اللي في الجدول.
ولو المسار ده وقع، الـ Static Route بيظهر لوحده ويشيل الشغل.
وده اسمه Floating Static Route (مسار ثابت احتياطي)، وليه مقال في المجال ده.
الـ Administrative Distance محلية
الـ Administrative Distance رقم جوه الراوتر نفسه بس، ومش بيتبعت لأي راوتر تاني.
فلو غيّرتها في راوتر، الراوترات التانية ما بتعرفش.
والتغيير العشوائي فيها ممكن يعمل حلقات أو طرق غريبة للبيانات.
قراءة جدول Cisco
في أمر show ip route على راوترات Cisco، كل مسار ديناميكي جنبه رقمين بين قوسين: [Administrative Distance/Metric].
مثلًا [90/130816] معناها Administrative Distance قيمتها 90 (Internal EIGRP)، وMetric قيمته 130816.
المعيار الرسمي
خطوات اختيار المسار في الراوتر، ومنها الـ Longest Prefix Match، مكتوبة في RFC 1812 (متطلبات راوترات IPv4)، وصدر في يونيو 1995، والمثال اللي في المقال (10.144.2.5) من المعيار نفسه.
أخطاء شائعة#
- «الراوتر بيعرف السكة كلها لحد الموقع»: لأ.
كل راوتر بيعرف الـ Next Hop بس، والراوتر اللي بعده يكمّل. - «الـ Administrative Distance الأقل بتكسب دايمًا»: لأ.
الـ Administrative Distance بتفاضل بين مصادر لنفس الشبكة بالظبط.
لكن لو فيه سطرين أطوالهم مختلفة، الـ Longest Prefix Match هو اللي بيكسب. - «الـ Default Route بيتستخدم الأول»: بالعكس.
هو آخر اختيار، لأنه أقل سطر دقة. - «الـ Metric رقم عام بين البروتوكولات»: لأ.
كل بروتوكول بيحسبه بطريقته، فمينفعش تقارن الـ Metric بتاع RIP بالـ Metric بتاع OSPF.
وده سبب وجود الـ Administrative Distance.
المصطلحات#
- جدول التوجيه (Routing Table · جدول التوجيهقائمة في الراوتر أو الجهاز، كل سطر فيها شبكة مقصودة وطول بادئتها، والخطوة التالية أو المنفذ الذي تُرسل منه الحزم إليها.عرض في القاموس): قائمة الشبكات والخطوة التالية لكل منها.
- الخطوة التالية (Next Hop · الخطوة التاليةعنوان الراوتر التالي الذي يرسل إليه الراوتر الحزمة في طريقها إلى وجهتها.عرض في القاموس): الراوتر التالي في طريق الحزمة.
- أطول تطابق (Longest Prefix Match · أطول تطابققاعدة اختيار المسار عند إرسال الحزمة، فإذا انطبقت عدة مسارات على عنوان الوجهة يُختار الأكثر تحديدًا، أي صاحب أطول بادئة.عرض في القاموس): اختيار المسار الأكثر تحديدًا من بين المسارات المنطبقة.
- المسار الافتراضي (Default Route (0.0.0.0/0) · المسار الافتراضيمسار ينطبق على أي عنوان، ويُستخدم فقط عندما لا يوجد مسار أكثر تحديدًا للوجهة.عرض في القاموس): مسار ينطبق على أي عنوان ويُستخدم عند غياب مسار أدق.
- المسافة الإدارية (Administrative Distance (AD) · المسافة الإداريةرقم يرتب مدى الثقة في مصادر معلومات التوجيه، فإذا عرف الراوتر الشبكة نفسها من أكثر من مصدر فضّل صاحب الرقم الأقل.عرض في القاموس): رقم يرتب الثقة في مصادر التوجيه، والأقل يُفضَّل.
- المقياس (Metric · المقياس (تكلفة المسار)رقم يحسبه بروتوكول التوجيه لكل مسار، ويختار البروتوكول المسار صاحب الرقم الأقل بين مساراته، مثل عدد الراوترات في RIP.عرض في القاموس): تكلفة المسار داخل بروتوكول التوجيه الواحد.
- المسار الثابت (Static Route · المسار الثابتمسار يضيفه مسؤول الشبكة يدويًا في جدول التوجيه، ولا يتغير تلقائيًا إذا تغيرت الشبكة.عرض في القاموس): مسار يضيفه مسؤول الشبكة يدويًا.
اختبر نفسك#
الجدول فيه 172.16.0.0/16 و172.16.5.0/24 و0.0.0.0/0. حزمة رايحة لـ 172.16.5.9. هتمشي في أنهي سطر؟
إظهار الإجابة
172.16.5.0/24.
التلاتة بينطبقوا، لكن /24 هو الأدق (Longest Prefix Match).
ونفس الجدول، حزمة رايحة لـ 8.8.8.8. هتمشي في أنهي سطر؟
إظهار الإجابة
0.0.0.0/0 (الـ Default Route)، لأنه الوحيد اللي بينطبق على العنوان ده.
راوتر Cisco عرف الشبكة 10.1.1.0/24 من OSPF ومن RIP. أنهي واحد هيدخل الجدول؟
إظهار الإجابة
مسار OSPF، لأن الـ Administrative Distance بتاعه 110 أقل من RIP (120).
والاتنين لنفس الشبكة ونفس طول الـ Prefix، فالـ Administrative Distance هي اللي بتحكم.