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

Laboratoriya işi: BNG-nin MPLS nüvəsinə inteqrasiyası, abunəçilərin VRF-də izolyasiyası və CGNAT tətbiqi (Carrier-Grade NAT: ünvanlar RFC 6598, CGN tələbləri RFC 6888). Publik IPv4 çatışmazlığına görə operator abunəçilərə Shared Address Space 100.64.0.0/10 (RFC 6598; bu RFC 1918 deyil və müştəriyə LAN subneti kimi verilməməlidir) ünvanları verir. PPPoE sessiyaları BNG-də VRF SUBS daxilində sonlandırılır, operatorun xidmət şəbəkəsinə L3VPN vasitəsilə çatılır. VRF-dən İnternet trafiki NAT444-ə (CPE NAT və CGN) yönləndirilir: minlərlə abunəçi kiçik publik pool-a çevrilir, abunəçi başına portların sayı məhduddur (Port Block Allocation, PBA: 512-2048 portluq blok, laboratoriyada 1024). Bu pool-u bir müştərinin tükətməsindən qoruyur, PBA isə hər sessiya əvəzinə yalnız blokun ayrılmasını və azad edilməsini loglayır (IPFIX/syslog); bir çox ölkələrin tələb etdiyi "publik IP:port və vaxt - abunəçi" uyğunluğu bu loga əsaslanır. Publik pool ümumiləşdirilir və upstream-ə qlobal cədvəldə (eBGP) elan edilir, əks halda İnternetdən cavablar qayıtmır.

Laboratoriya nəyi birləşdirir

Laboratoriya modulu tamamlayır: PE1 (10.255.0.1) BNG kimi işləyir, PPPoE abonentlərini VRF SUBS-da (RD 65000:300, RT 65000:300) terminasiya edir, onları RADIUS (10.255.0.50) ilə avtorizasiya edir, CGNAT (NAT444) aparır və trafiki qlobal cədvəl vasitəsilə Internet-ə buraxır (uplink 172.16.40.0/30, upstream 172.16.40.2, AS 64496). Operatorun xidmət şəbəkəsi 10.90.0.0/24 (OSS: DNS, portal, DHCP) eyni VRF SUBS-da PE2 (10.255.0.2) arxasındadır və RR 10.255.0.100 ilə L3VPN vasitəsilə əlçatandır. Beləliklə bir qovşaqda üç qat birləşir: giriş sessiyaları, VPN xidmətləri və açıq Internet.

Ünvanlama və RFC 6598

Abonentlər üçün 100.64.0.0/10 alt şəbəkəsi seçilib (Shared Address Space, RFC 6598): o, nə açıq ünvanlarla, nə də müştərilərdə RFC 1918 ilə kəsişməməlidir, ona görə də onu CPE-yə LAN kimi vermək olmaz. Laboratoriya qiymətləri: VRF SUBS-da Loopback10 100.64.0.1/32 (PPP şablonunun unnumbered ünvanı), sessiya pulu 100.64.1.2-100.64.1.254, açıq NAT pulu 198.51.100.0/28 (ünvanlar .1-.14; real blok əvəzinə RFC 5737 sənədləşdirmə alt şəbəkəsi). Pul alt şəbəkəsi ümumiləşdirilir (Null0 və ya discard) və upstream-ə elan olunur, əks halda Internet-dən cavablar qayıtmaz.

NAT444, EIM və tətbiqlərə təsir

NAT444 ardıcıl iki NAT deməkdir (IPv4 CPE 192.168/16 -> 100.64/10 -> açıq). RFC 6888 (CGN tələbləri) və RFC 4787/5382/5508 (UDP/TCP/ICMP davranışı) tələb edir: endpoint-independent mapping (EIM) - bir daxili ünvan və port təyinatdan asılı olmayaraq bir xarici ünvana və porta uyğun gəlir, bu P2P, oyunlar və WebRTC üçün zəruridir; endpoint-independent filtering (EIF) - operatorun istəyi ilə; hairpinning - abonentin başqa abonentin açıq ünvanına qoşulması, CGN daxilində geri qaytarılır; abonent üzrə port limiti ki, torrentli bir müştəri pulu tükətməsin. CGN-də ALG-lər (FTP, SIP, PPTP) işi çətinləşdirir və çox vaxt söndürülür. UDP timeout-ları (məsələn, UDP üçün 30-120 san, qurulmuş TCP üçün 2 saat 4 dəq, half-open üçün 4 dəq) sessiya cədvəlinin yükünü müəyyən edir.

Tutum və port block allocation

Bir açıq IP-yə təxminən 64 512 yararlı port düşür (1024-65535). Abonent üçün blok 1024 portdursa, bir IP-yə 63 abonent, 14 ünvanlı pula isə təxminən 882 abonent düşür; operatorlar üçün 1:10-1:60 nisbəti tipikdir. Bloksuz dinamik NAT hər sessiya üçün log qeydi yaradır: gündə yüz milyonlarla sətir. Port Block Allocation (PBA) abonentə blok (512-2048 port) verir və yalnız blokun ayrılmasını və azad edilməsini loglayır; Deterministic NAT (RFC 7422) xarici IP-ni və port diapazonunu daxili ünvandan alqoritmlə hesablayır, ona görə loglama mahiyyətcə lazım deyil. Platformalar: MS-MPC ilə Junos MX (secured-port-block-allocation), Cisco IOS-XE-də genişləndirilmiş CGN rejimləri platformadan asılıdır, RouterOS-da (src-nat/masquerade) port blokları yoxdur və ona görə yalnız kiçik miqyas üçün yararlıdır.

Loglama və qanuni müdaxilə

"Açıq IP:port və vaxt - abonent" uyğunluğu bir çox ölkədə hüquqi tələbdir (aylarla saxlama). Mexanizmlər: syslog (hər hadisə üzrə, həcmli), NAT sahələri ilə NetFlow v9/IPFIX (postNATSourceIPv4Address 225, postNAPTSourceTransportPort 227, natEvent 230), PBA/Deterministic üçün isə blokların loglanması və ya logların olmaması. NAS və loggerlərdə vaxt sinxronlaşdırılmalıdır (NTP), əks halda uyğunlaşdırma pozulur. Əlavə olaraq RADIUS Accounting-dən "login - daxili ünvan" bağlaması loglanır.

MPLS-ə çıxış və marşrutlaşdırma

Abonent VRF-i SUBS sessiyaların /32-lərini ixrac edir (redistribute connected) və xidmət şəbəkəsinin marşrutunu idxal edir: OSS 10.90.0.0/24 bütün sessiyalar üçün L3VPN vasitəsilə əlçatandır (etiketlər: LDP/SR-dən nəqliyyat etiketi + VPN etiketi). Internet yolu L3VPN-dən yan keçir: ip route vrf SUBS 0.0.0.0 ... global (Cisco) və ya xidmət interfeysinin next-hop-u (Junos) default-u NAT-a yönəldir, NAT-dan açıq ünvanlı paket qlobal cədvələ çıxır. Açıq ünvanların MPLS nüvəsi ilə tranziti yalnız NAT başqa PE-yə çıxarıldıqda lazımdır (mərkəzləşdirilmiş CGN): onda VRF SUBS PE2-də default ehtiva etməli, pulun qayıdış marşrutu isə geri elan olunmalıdır. NAT-ın BNG-də yerləşdirilməsi tranziti azaldır, lakin NAT tutumunu BNG-yə bağlayır.

CGNAT-ı azaltmaq yolu kimi IPv6

IPv6CP/SLAAC və DHCPv6-PD (RFC 8415) vasitəsilə dual-stack IPv6 trafikini (iri xidmətlər üçün 30-60%) CGNAT-dan yan keçirir. Nüvədə IPv4 lazım deyilsə, DS-Lite (RFC 6333: NAT44 aparılan AFTR-ə IPv4-in-IPv6 tuneli), 464XLAT (RFC 6877: CPE-də CLAT + NAT64-də PLAT) və ya NAT64/DNS64 (RFC 6146/6147) tətbiq olunur. Bu halda BNG IPv6 sessiyasını terminasiya edir, IPv4 qatına isə AFTR/PLAT xidmət göstərir.

Yoxlama ardıcıllığı və nasazlıqlar

Zənciri halqa-halqa yoxlayın: PPPoE qalxıb və RADIUS-dan Accept alınıb, 100.64.1.0/24-dən ünvan VRF SUBS-dadır, default NAT-a aparır, NAT puldan açıq ünvanla translyasiya yaradır, cavab qayıdır (pul upstream-ə elan olunub), port ayırma logları kollektora çatır, xidmət şəbəkəsi 10.90.0.0/24 isə L3VPN vasitəsilə görünür.

  1. ip nat inside/outside yoxdur və ya qaydada VRF səhvdir: translyasiya yoxdur.
  2. Upstream-də pula marşrut yoxdur: SYN gedir, cavab qayıtmır.
  3. Host üzrə qeyd limiti aşağı salınıb: adi brauzer işində bir abonent bloklanır.
  4. Pul tükənib (14 ünvan x 63 blok): yeni sessiyalar rədd edilir.
  5. Loglama aktiv deyil: müdaxilə tələbi pozulur.
  6. MTU: PPPoE 1492 üstəgəl DS-Lite tuneli daha da azdır, MSS clamping lazımdır.

Memarlıq sxemi və topologiya

text
+----------------------+   Shared Space 100.64.0.0/10  +---------------------+
| Subscriber (VRF SUBS)| ============================> |  BNG + CGNAT        |
| IP: 100.64.1.10      |   PBA: 1024-port block        | Pool: 198.51.100.0/28|
| src port: any        | <============================ | (global table)      |
+----------------------+                               +---------------------+

Trafik axını və etiket steki sxemi

text
Carrier-Grade NAT (CGNAT / NAT444) Translation:
1. Subscriber session in VRF SUBS: 100.64.1.10:51234 (RFC 6598 space).
2. Default route in VRF SUBS sends the packet to the CGN function (service
   blade or inline NAT engine).
3. CGN picks a public IP from 198.51.100.0/28 and allocates a port block
   (e.g. 1024 ports) to this subscriber.
4. Source is translated to 198.51.100.x:<port from the block> and the
   packet leaves through the global table toward the upstream.
5. Only the block allocation/release is logged (IPFIX/syslog) to map
   public IP:port and time back to the subscriber.
6. The public pool is summarized and advertised to the upstream, otherwise
   return traffic never comes back.

Vəziyyətlər və parametrlər cədvəli

CGNAT rejimiPort ayırma mexanizmiÜstünlüklərLoglama (Syslog/IPFIX)
Dynamic NAT44 (pool)Hər sessiya üçün ümumi pool-dan portAbunəçilərin maksimal yığılma sıxlığıHər sessiya üçün qeyd: gündə yüz milyonlarla sətir
Port Block Allocation (PBA)Abunəçiyə 512-2048 portluq blok verilirMüştəri üçün proqnozlaşdırılan limit, pool-u bir torrent müştərisindən qoruyurYalnız blokun ayrılması və azad edilməsi loglanır: log həcmi dəfələrlə azalır
Deterministic NAT (RFC 7422)Xarici IP və port diapazonu daxili ünvandan alqoritmlə hesablanırDinamik blok uçotu yoxdur, davranış proqnozlaşdırılandırƏslində lazım deyil: alqoritmi və parametrlərini dəyişiklik tarixləri ilə saxlamaq kifayətdir

Memarlıq modeli və iş prinsipləri

Real operator şəbəkələrində MPLS müxtəlif istehsalçıların avadanlıqlarını birləşdirir. Aşağıda dörd platforma üçün praktiki konfiqurasiya və Data Plane / Control Plane yoxlama nümunələri təqdim olunur: Cisco IOS-XE/XR, Huawei VRP, Juniper Junos və MikroTik RouterOS v7. Sintaksis fərqlərinə və etiket paylama mexanizmlərinə diqqət yetirin.

Praktiki konfiqurasiya (Cisco, Huawei, Juniper, MikroTik)

Cisco (IOS-XE/XR)

text
ip nat pool PUB-POOL 198.51.100.1 198.51.100.14 prefix-length 28
ip access-list standard CGN-ACL
 permit 100.64.0.0 0.63.255.255
ip nat inside source list CGN-ACL pool PUB-POOL vrf SUBS overload
ip nat translation max-entries all-host 2048
ip nat log translations syslog
interface Virtual-Template1
 ip nat inside
interface GigabitEthernet4
 description uplink-to-internet-gw
 ip address 172.16.40.1 255.255.255.252
 ip nat outside
ip route vrf SUBS 0.0.0.0 0.0.0.0 172.16.40.2 global
ip route 198.51.100.0 255.255.255.240 Null0
router bgp 65000
 address-family ipv4
  network 198.51.100.0 mask 255.255.255.240