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.
ip nat inside/outsideyoxdur və ya qaydada VRF səhvdir: translyasiya yoxdur.- Upstream-də pula marşrut yoxdur: SYN gedir, cavab qayıtmır.
- Host üzrə qeyd limiti aşağı salınıb: adi brauzer işində bir abonent bloklanır.
- Pul tükənib (14 ünvan x 63 blok): yeni sessiyalar rədd edilir.
- Loglama aktiv deyil: müdaxilə tələbi pozulur.
- MTU: PPPoE 1492 üstəgəl DS-Lite tuneli daha da azdır, MSS clamping lazımdır.
Memarlıq sxemi və topologiya
+----------------------+ 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
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 rejimi | Port ayırma mexanizmi | Üstünlüklər | Loglama (Syslog/IPFIX) |
|---|---|---|---|
| Dynamic NAT44 (pool) | Hər sessiya üçün ümumi pool-dan port | Abunəç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 verilir | Müştəri üçün proqnozlaşdırılan limit, pool-u bir torrent müştərisindən qoruyur | Yalnı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ır | Dinamik 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)
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