Nəzəri əsaslar və memarlıq

Rabitə operatorunun nüvə dizaynı sərt və dəqiq IP ünvanlama planı tələb edir. Bütün PE və P routerləri /32 maskalı Loopback0 interfeysinə malik olmalıdır. Bu Loopback ünvanı üç əsas rolu icra edir: IGP (OSPF/IS-IS) üçün unikal Router-ID, LDP/SR üçün LSR-ID və MP-BGP (VPNv4/EVPN) sessiyaları üçün Next-Hop sonluğu. Nüvə daxili fiziki linklər /30 və ya /31 (RFC 3021) maskaları ilə ünvanlanır. Əsas qayda: müştəri şəbəkələri (VRF LAN) HEÇ VAXT nüvə IGP-sinə daxil edilməməlidir! Nüvə IGP-si yalnız router loopback-ləri və tranzit linklər üçün nəzərdə tutulub. Əgər fiziki link qırılarsa, IGP trafiki ehtiyat linkə yönləndirir; iBGP/MP-BGP sessiyaları sabit Loopback-ə bağlı olduğu üçün qırılmır (yalnız yol dəyişir). Qırılmış linkdəki qonşu ilə LDP sessiyası öz adjacency-si ilə birlikdə bağlanır, LSP-lər isə qalan sessiyalar üzərindən yenidən qurulur.

Bir /32-nin üç rolu

SP nüvəsində Loopback0 "sadəcə bir interfeys" deyil, düyünün şəxsiyyətidir. Eyni 10.255.0.1/32 ünvanı eyni zamanda bunlara xidmət edir: (1) IGP router-id (OSPF router-id və IS-IS System-ID-nin əsası); (2) LDP üçün LSR-ID və transport ünvanı (LDP sessiyası transport ünvanları arasında TCP/646 ilə açılır, Hello-lar isə UDP/646 ilə 224.0.0.2-yə göndərilir); (3) iBGP/MP-BGP sessiyalarının mənbəyi və hədəfi (update-source Loopback0) və VPN marşrutları üçün next hop. /32-yə ən azı bir sağ yol varsa, konkret fiziki link qırılsa belə sessiyalar və LSP-lər qırılmır. Sessiya link ünvanına bağlansa, həmin linkin qırılması BGP-ni və VPN-ləri söndürür, halbuki ehtiyat yol mövcuddur.

/32 maskası iki səbəbə görə məcburidir. Birincisi, LDP default olaraq FEC-ləri RIB prefikslərindən qurur və dəqiq uyğunluq gözləyir: PE2-yə LSP yalnız cədvəldə məhz 10.255.0.2/32 olduqda mövcuddur. İkincisi, zona sərhədində (ABR, L1/L2) loopback-ların summarizasiyası dəqiq uyğunluğu pozur və LSP Untagged/No Label vəziyyətinə düşür. Nüvəni domenlərə bölmək lazımdırsa, IGP summarizasiyası əvəzinə Seamless MPLS (BGP-LU, RFC 8277) və ya açıq etiket filtrləri istifadə olunur.

IGP məhz nəyi elan edir

OSPF loopback-ı Router-LSA-da (Type 1) stub link kimi elan edir. Cisco-da loopback konfiqurasiya olunmuş maskadan asılı olmayaraq həmişə /32 host marşrutu kimi elan olunur; digər platformalarda və IS-IS-də (TLV 135 Extended IP Reachability) prefiks interfeysdə verilmiş maska ilə göndərilir, buna görə Huawei və Junos-da /32-ni açıq göstərin. Router-LSA-da loopback metrikası Cisco-da 1, Huawei-də 0, passive lo0 üçün Junos-da 0-dır. Buna görə "eyni düyünə metrika" platformalar arasında fərqlənir - yollar bir istehsalçı daxilində müqayisə olunduqca bu normaldır. IS-IS-də loopback TLV 135-də interfeys metrikasını alır.

IGP-də yalnız iki kateqoriya prefiks yaşayır: düyünlərin loopback-ları və nüvənin tranzit linkləri. Müştəri şəbəkələri, VRF prefiksləri və PE-CE link ünvanları ora düşməməlidir: onlar MP-BGP ilə daşınır. Bu qaydanın pozulması LSDB-ni şişirdir, SPF-i uzadır və (Cisco-da) hər IGP prefiksi üçün LDP etiketlərinin ayrılmasına gətirib çıxarır, çünki etiketlər default olaraq RIB-dəki bütün marşrutlar üçün yaradılır. Junos default olaraq etiketləri yalnız /32 loopback-lar üçün elan edir (egress-policy), Huawei isə yalnız host marşrutları üçün (lsp-trigger host default). Cisco-da məhdudiyyət mpls ldp label allocate global prefix-list və ya mpls ldp advertise-labels for ilə edilir.

Ünvan planı

Yüzlərlə düyünə qədər miqyaslanan işlək sxem:

BlokTəyinatQeyd
10.255.0.0/24Düyünlərin Loopback0-ı.1-.10 PE, .11-.20 P, .100-.109 RR; hər düyün üçün bir /32
10.0.0.0/16Nüvənin P2P linklərihər link üçün bir /31 (RFC 3021)
172.16.0.0/16PE-CE linkləri (VRF-lərdə)nüvə IGP-sinə elan olunmur
2001:db8:ffff::/64IPv6 loopback-larhər düyün üçün bir /128 (sənədləşmə blokundan nümunə)

IPv6 linkləri üçün /127 istifadə edin (RFC 6164): nöqtə-nöqtə linkdə /64 qonşu keşinə hücumlar (ND exhaustion) üçün imkan buraxır. /31 hər linkdə iki ünvana qənaət edir və Network/Broadcast-ı aradan qaldırır; /31 olan Ethernet linkini yenə də point-to-point rejiminə keçirmək lazımdır, əks halda OSPF iki düyün arasında DR/BDR seçkisi aparacaq.

Loopback-dan Router-ID və NET

OSPF router-id IPv4 formasında 32-bit ədəddir və domendə unikal olmalıdır; təkrarlanan router-id iki düyünün LSA-nı daim yenidən yaratmasına və SPF fırtınalarına səbəb olur (Cisco jurnala %OSPF-4-DUP_RTRID_NBR yazır). Router-id açıq göstərilməyibsə, Cisco ən yüksək loopback IP-ni, o yoxdursa aktiv interfeyslər arasında ən yüksəyini seçir, bu ünvanın dəyişməsi isə düyünün şəxsiyyətini səssizcə dəyişir - buna görə router-id həmişə əllə verilir. IS-IS System-ID 6 baytdır; ümumi təcrübə loopback-ın hər oktetini üç onluq rəqəmlə yazıb 4 rəqəmlik qruplara bölməkdir: 10.255.0.1 -> 010.255.000.001 -> 0102.5500.0001, NET = 49.0001.0102.5500.0001.00 (AFI 49 - şəxsi ünvan fəzasıdır, 0001 - area, 00 - NSEL). Onda show isis hostname və jurnallarda System-ID-dən dərhal hansı düyünün nəzərdə tutulduğu görünür.

Praktikada nə pozulur

LDP router-id loopback-a bağlanmayıbsa, Cisco onu OSPF kimi seçir (ən yüksək loopback, yoxdursa ən yüksək interfeys), transport ünvanı isə link ünvanı ola bilər: Hello-lar bir ünvandan gəlir, TCP başqasına açılır, sessiya qalxmır və ya titrəyir. mpls ldp router-id Loopback0 force bunu düzəldir. İkinci tipik xəta IGP-yə "ehtiyat üçün" redistribute connected-dir: PE-CE şəbəkələri nüvəyə sızır, əlavə prefikslər etiket alır, müştərilərin üst-üstə düşən ünvanları isə qlobal cədvəllə toqquşur. Üçüncüsü - /32-siz və ya passive-siz loopback: loopback-da Hello-lar görünür, Junos-da və IS-IS-də isə prefiks yanlış maska ilə çıxır və FEC uyğun gəlmir. Dördüncüsü - IGP-də unudulmuş 10.0.1.0/31 link şəbəkəsi: loopback-lar əlçatandır, lakin link next hop-u yoxdur və traceroute mpls hop ünvanlarını qeyri-dəqiq göstərir.