الـ BFD: اكتشاف العطل في جزء من الثانية
لما فيه switch بين راوترين، العطل في الطرف الثاني ما يطيّح واجهتك، و OSPF ينتظر الـ dead timer، أربعين ثانية افتراضياً. الـ BFD بروتوكول خفيف يرسل hello كل خمسين ملي ثانية، ويبلّغ OSPF أو EIGRP أو BGP بالعطل خلال مية وخمسين ملي ثانية. نشوف الفرق بعيننا في المعمل.
ضمن مسار ENARSI 300-410 — التوجيه المتقدم وخدمات الشبكات
شرح الدرس مكتوبًا
نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.
enable
configure terminal
hostname SW1
endenable
configure terminal
hostname R1
no ip domain-lookup
logging buffered
interface g0/0/0
ip address 10.0.12.1 255.255.255.0
no shutdown
interface g0/0/1
ip address 10.0.13.1 255.255.255.0
no shutdown
interface lo0
ip address 1.1.1.1 255.255.255.255
router ospf 1
router-id 1.1.1.1
network 0.0.0.0 255.255.255.255 area 0
endenable
configure terminal
hostname R2
no ip domain-lookup
logging buffered
interface g0/0/0
ip address 10.0.12.2 255.255.255.0
no shutdown
interface g0/0/1
ip address 10.0.23.2 255.255.255.0
no shutdown
interface lo0
ip address 2.2.2.2 255.255.255.255
router ospf 1
router-id 2.2.2.2
network 0.0.0.0 255.255.255.255 area 0
endenable
configure terminal
hostname R3
no ip domain-lookup
logging buffered
interface g0/0/0
ip address 10.0.13.3 255.255.255.0
no shutdown
interface g0/0/1
ip address 10.0.23.3 255.255.255.0
no shutdown
interface lo0
ip address 3.3.3.3 255.255.255.255
router ospf 1
router-id 3.3.3.3
network 0.0.0.0 255.255.255.255 area 0
endحيّاك الله. لما الكيبل بين راوترين ينقطع مباشرة، الواجهة تطيح، والبروتوكول يعرف على طول. لكن في الواقع، كثير من الروابط يكون بينها switch، أو خط من مزوّد خدمة. والانقطاع في الطرف الثاني ما يطيّح واجهتك. وقتها OSPF ما يعرف إن الجار مات إلا لما يخلص الـ dead timer: أربعين ثانية افتراضياً. وأربعين ثانية في شبكة بنك أو مستشفى، كثير مرّة. المعمل: R1 و R2 متصلين عن طريق SW1، وهذا الطريق الأساسي. وفيه طريق احتياطي عن طريق R3. نشوف كيف R1 يوصل لـ R2.
show ip route 2.2.2.2الطريق الأساسي عن طريق ten dot zero dot twelve dot two، يعني من SW1. الحين بنطفي البورت حق SW1 اللي رايح لـ R2. واجهة R1 تبقى up، فـ R1 ما يحس بشي. وانتبه لشي: المعمل يسرّع مؤقتات البروتوكولات عشر مرات، فالأربعين ثانية هنا تصير أربع ثواني. ركّز على وقت الإطفاء في SW1، ووقت رسالة الجار في R1.
enable
configure terminal
interface g0/2
shutdown
endshow logging | include ADJCHGالبورت انطفى، و R1 ما شال الجار إلا بعد أربع ثواني، والسبب مكتوب: Dead timer expired. يعني في شبكة حقيقية: أربعين ثانية كاملة R1 يرسل الترافيك على طريق مقطوع، وكل هذا ينرمى. نرجّع البورت، ونحل المشكلة.
configure terminal
interface g0/2
no shutdown
endالحل: BFD، يعني bidirectional forwarding detection. بروتوكول خفيف مرّة، شغله الوحيد إنه يتأكد إن الطريق شغّال، ويرسل hello كل خمسين ملي ثانية مثلاً. وإذا فاتت ثلاث رسائل، يبلّغ البروتوكولات اللي مسجلة عنده. والـ BFD لوحده ما يسوي شي. لازم كل بروتوكول يطلبه: ip ospf bfd، أو bfd all-interfaces، أو neighbor fall-over bfd في BGP. نفعّله على الطرفين، على الواجهة g zero slash zero slash zero.
configure terminal
interface g0/0/0
bfd interval 50 min_rx 50 multiplier 3
ip ospf bfd
end
show bfd neighborsconfigure terminal
interface g0/0/0
bfd interval 50 min_rx 50 multiplier 3
ip ospf bfd
endجلسة BFD مع ten dot zero dot twelve dot two، والحالة Up. الحين نعيد نفس التجربة: نطفي البورت في SW1، ونشوف R1 مباشرة.
قارن الأوقات: البورت انطفى، وبعده بـ مِيّة وخمسين ملي ثانية جات رسالة BFD SESSION_DOWN، وفي نفس اللحظة OSPF شال الجار، والسبب مكتوب: BFD down. والمسار انتقل للطريق الاحتياطي عن طريق R3، خلال جزء من الثانية بدل أربعين ثانية. ومؤقتات الـ BFD هنا حقيقية، ما فيها تسريع. وهذا اللي يطلبه الاختبار: BFD ما يغيّر الـ routing، هو بس يعطي البروتوكول خبر الانقطاع بسرعة. الحين دورك. رجّع البورت في SW1، وتأكد إن جلسة BFD رجعت Up، وإن المسار لـ two dot two dot two dot two رجع على الطريق الأساسي. وقّف الفيديو، وجرّب.
تمرين: على SW1: interface g0/2 ثم no shutdown. بعدها على R1: show bfd neighbors و show ip route 2.2.2.2.
الحل.
الجلسة رجعت، والمسار رجع عن طريق ten dot zero dot twelve dot two. الخلاصة: الـ BFD يكتشف الانقطاع خلال ملي ثواني، والبروتوكول لازم يسجل فيه، ويفيد بالذات لما يكون بين الراوترين switch أو مزوّد خدمة. والدرس الجاي نختم المحور الأول بدرس تشخيص كامل.
دروس المسار (74)
- حيّاكم الله: من ENCOR إلى ENARSI
- كيف يختار الراوتر المسار: Longest Match و Administrative Distance
- الـ Prefix List: فلترة بالشبكة وبطول الـ prefix
- الـ Route Map: لغة السياسات في التوجيه
- الـ Distribute List: الفلترة في EIGRP وفي OSPF
- الـ Redistribution: ربط EIGRP مع OSPF
- مشاكل الـ Redistribution في أكثر من نقطة: Tags تمنع الـ Loop
- الـ Summarization: مسار واحد بدل أربعة، و Null0
- منع الـ Loops: Split Horizon و Route Poisoning
- الـ Policy Based Routing: توجيه حسب المصدر
- الـ VRF-Lite: أكثر من Routing Table في راوتر واحد
- الـ BFD: اكتشاف العطل في جزء من الثانية
- تشخيص أعطال التوجيه: طريقة منظمة على شبكة خربانة
- EIGRP: شروط الجيرة وتشخيص الجار اللي ما يطلع
- EIGRP: الـ Metric بالأرقام، وكيف تتحكم في المسار
- EIGRP: الـ DUAL و الـ Feasible Successor
- EIGRP Named Mode: كل الإعدادات في مكان واحد
- EIGRP: الـ Variance و Unequal-Cost Load Balancing
- EIGRP Stub: حماية الشبكة من الـ Queries
- EIGRP: الـ Leak-Map والـ Offset-List
- EIGRP: الـ Authentication بـ MD5 و SHA-256
- EIGRP for IPv6: الـ Classic والـ Named
- تشخيص EIGRP: ثلاث مشاكل في طريق واحد
- OSPF: حالات الجيرة، و Hello، و MTU
- OSPF: أنواع الشبكات و الـ DR و الـ BDR
- OSPF: أنواع الـ LSAs وقراءة الـ Database
- OSPF: ترتيب تفضيل المسارات وقاعدة الـ Backbone
- OSPF: الـ Stub و Totally Stubby Areas
- OSPF: الـ NSSA و LSA النوع سبعة
- OSPF: التلخيص في الـ ABR والـ ASBR
- OSPF: الفلترة الصحيحة بين الـ Areas
- OSPF: الـ Virtual Link لـ Area مفصولة
- OSPF: الـ Cost والـ Reference Bandwidth
- OSPF: الـ Authentication بـ MD5 و SHA
- OSPFv3: الـ OSPF حق IPv6
- تشخيص OSPF: جيران ما يطلعون
- BGP: الجلسات وحالاتها
- BGP: الـ iBGP بين الـ Loopbacks
- BGP: الـ Next Hop في الـ iBGP و next-hop-self
- BGP: الـ Route Reflector بدل الـ Full Mesh
- BGP: خوارزمية اختيار أفضل مسار
- BGP: التحكم في الترافيك الطالع بالـ Weight والـ Local Preference
- BGP: التحكم في الترافيك الداخل بالـ AS Path Prepend والـ MED
- BGP: الفلترة بالـ Prefix List وخطر الـ Transit
- BGP: الـ Regular Expressions و AS Path Filter
- BGP: الـ Communities و no-export
- BGP: حماية الجلسات بالـ Password و TTL Security
- MP-BGP: BGP لـ IPv6 بالـ Address Families
- تشخيص BGP: جلسات واقعة ومسار مو valid
- MPLS و LDP: Core بدون BGP
- MPLS Layer 3 VPN: الـ VRF و RD و RT و VPNv4
- تشخيص MPLS VPN: من الـ Core لفوق
- DMVPN: الـ mGRE و NHRP
- DMVPN: التوجيه فوق النفق و Phase 2
- DMVPN: الـ Phase 3 والحماية بـ IPsec
- AAA: TACACS+ و RADIUS وتشخيص الدخول
- الـ ACLs: الترتيب، والـ Sequence Numbers، والمكان الصح
- الـ Time-Based ACL: صلاحيات حسب الوقت
- الـ ACLs في IPv6 وفخ الـ Neighbor Discovery
- الـ uRPF: الحماية من العناوين المزوّرة
- الـ CoPP: حماية الـ Control Plane
- حماية الـ Management Plane: SSH و Access-Class
- IPv6 First-Hop Security: RA Guard و DHCPv6 Guard و Source Guard
- الدخول على الأجهزة والـ Backup بـ TFTP
- SNMP: من v2c المكشوف إلى SNMPv3
- الـ Syslog: مستويات الخطورة ووين تروح الرسائل
- الـ Debug بشرط: بدون ما تغرق الراوتر
- DHCP و الـ Relay: تشخيص أجهزة ما تاخذ عنوان
- DHCPv6: Stateful و Stateless والـ Relay
- الـ IP SLA و Object Tracking: Failover ذكي بين مزوّدين
- الـ Flexible NetFlow: مين يتكلم مع مين
- Catalyst Center Assurance: التشخيص من لوحة وحدة
- مشروع التشخيص الكامل: الشركة طاحت من الإنترنت
- الخاتمة: الاستعداد لاختبار ENARSI و وش بعده