Nəzəri əsaslar və memarlıq
BNG şəbəkələrində iki əsas qoşulma modeli var: PPPoE (RFC 2516) və IPoE (IP over Ethernet: PPP olmadan DHCP əsaslı sessiya; tək RFC ilə deyil, Broadband Forum spesifikasiyaları ilə, məsələn TR-101 və TR-146 ilə təsvir olunur). 1. PPPoE CPE ilə BNG arasında PPP sessiyası qurur və iki mərhələdən ibarətdir: Discovery (PADI - müştərinin broadcast axtarışı, PADO - BNG-nin təklifi, PADR - müştərinin sessiya sorğusu, PADS - Session ID ilə təsdiq, PADT - bağlanma) və PPP Session (LCP - kanal parametrləri və MRU 1492, PAP/CHAP - autentifikasiya, IPCP/IPv6CP - ünvanlama). Üstünlükləri: daxili autentifikasiya, tanış sessiya modeli, borclunun asan bloklanması. Çatışmazlıqları: 8 bayt əlavə başlıq (MSS clamping və ya RFC 4638 tələb olunur), control plane-də PPP avtomatı və keepalive, multicast IPTV üçün narahatlıq; müasir BNG-lər data-nı yenə də aparatda ötürür. 2. IPoE DHCP əsaslı tunelsiz qoşulmadır (DHCPv4 Option 82 / DHCPv6 Option 18/37). Access kommutatoru Circuit-ID (port) və Remote-ID (access qovşağı) əlavə edir, BNG xətti bunlara görə müəyyən edir və RADIUS-dan avtorizasiya istəyir, loqin və parol daxil edilmir. Option 82 yalnız xətti identifikasiya edir, autentifikasiya etmir: ona yalnız öz access kommutatorunuz əlavə edib filtr edirsə etibar etmək olar. MTU 1500 olaraq qalır.
PPPoE: iki mərhələ və çərçivə formatı
PPPoE (RFC 2516) PPP-ni Ethernet daxilində daşıyır. Discovery çərçivələri EtherType 0x8863, sessiya çərçivələri isə 0x8864 ilə gedir. PPPoE başlığı (6 bayt): Version=1 (4 bit), Type=1 (4 bit), Code (1 bayt), Session-ID (2 bayt), Length (2 bayt); ardınca 2 baytlıq PPP Protocol gəlir. Cəmi əlavə yük 8 baytdır: Ethernet MTU-su 1500 olduqda IP paketinin maksimumu 1492-dir, ona görə susmaya görə MRU 1492-dir. RFC 4638 (PPP-Max-Payload teqi) yol boyu MTU ən azı 1508 (baby-jumbo) olduqda 1500 razılaşdırmağa imkan verir, lakin bütün CPE-lər bunu dəstəkləmir.
Discovery dörd paket və TLV formatlı teqlərdir:
- PADI (Code 0x09), broadcast ff:ff:ff:ff:ff:ff, Session-ID 0: müştəri konsentrator axtarır; teqlər Service-Name (0x0101, boş = "istənilən"), Host-Uniq (0x0103).
- PADO (0x07), unicast: BNG özünü təklif edir; teqlər AC-Name (0x0102) və Service-Name, lazım olduqda PADR seli əleyhinə AC-Cookie (0x0104).
- PADR (0x19), unicast: müştəri PADO-lardan birini seçir və sessiya tələb edir.
- PADS (0x65): BNG Session-ID təyin edir (1-65535, müştəri MAC + BNG MAC cütündə unikaldır) və təsdiqləyir.
- PADT (0xA7): hər iki tərəf sessiyanı bağlayır. Müştəri PADI-ni eksponensial fasilə ilə təkrarlayır; boş cavab service-name-in uyğun gəlmədiyini, VLAN-ın səhv olduğunu və ya
sessions per-maclimitinin tükəndiyini bildirir.
PPP: LCP, autentifikasiya, NCP
PADS-dan sonra 0xC021 üzərində PPP (LCP) gəlir: Configure-Request/Ack/Nak/Reject, MRU (1), Authentication-Protocol (3), Magic-Number (5) opsiyaları. Magic-Number dövrəni müəyyən etməyə imkan verir, Echo-Request/Reply isə keepalive-dır (adətən interval 10-30 san, 3-5 itki = qırılma). Autentifikasiya: PAP (0xC023) parolu açıq mətnlə bir dəfə göndərir, müştəri başlayır; CHAP (0xC223, RFC 1994) - BNG təsadüfi challenge göndərir, müştəri MD5(id + secret + challenge) ilə cavab verir, parol xətlə getmir, BNG sessiya zamanı challenge-i təkrarlaya bilər. RADIUS üçün CHAP variantı CHAP-Password və CHAP-Challenge atributları ilə ötürülür, server secret-i açıq və ya geri qaytarıla bilən formada bilməlidir. Sonra NCP: IPCP (0x8021) IP-Address (option 3) və DNS serverləri (129/131, RFC 1877) razılaşdırır; IPv6CP (0x8057) yalnız 64 bitlik Interface-Identifier-i razılaşdırır, prefiks isə PPP-dən kənarda verilir: WAN ünvanı üçün SLAAC (BNG-dən RA), LAN üçün delegasiya olunan prefiks üçün isə DHCPv6 IA_PD (RFC 8415) (adətən /56 və ya /60). IPCP ilə verilən IPv4 /32 point-to-point-dir: BNG sessiyanın virtual interfeysinə /32 marşrut əlavə edir.
IPoE: PPP əvəzinə DHCP
IPoE tunel yaratmır: müştəri DHCPv4 Discover (RFC 2131) paketini birbaşa Ethernet-ə göndərir, BNG isə DHCP serveri və ya relay kimi çıxış edir (giaddr = BNG ünvanı). Sessiya MAC + (S-VLAN, C-VLAN) + option 82 birləşməsidir; BNG onu ayrıca protokolla yox, ilk paketlə (DHCP Discover və ya istənilən təsnif olunmamış IP/MAC paketi) yaradır. Avtorizasiya RADIUS-da gedir: User-Name = MAC və ya option 82-dən Circuit-ID/Remote-ID (sub-option 1 və 2, RFC 3046), ona görə abonent parol daxil etmir və porta bağlıdır. Avtorizasiya olunmamışlar üçün (ilk qoşulma, sıfır balans) BNG walled garden-də "məhdud" sessiya yaradır: DNS və ödəniş portalına HTTP yönləndirmə, məlumat daxil edildikdən sonra billing CoA göndərir və sessiya işçi profilə keçirilir. DHCPv6 IA_NA/IA_PD və option 18/37 (Interface-ID/Remote-ID) istifadə edir. IP sessiyaları üzrə standartlar - Broadband Forum TR-101 və TR-146-dır.
BNG IPoE sessiyasının canlılığını dolayı yolla müəyyən edir: DHCP icarəsi və müştəri ünvanının ARP/ICMP yoxlamaları ilə; cavab olmadıqda sessiya bağlanır və uçot dayanır. Port üzrə ünvan sayı limiti və MAC-IP bağlaması (IP source guard/anti-spoofing) BNG-də DHCP bağlamasına əsaslanaraq icra olunur.
Müqayisə və model seçimi
| Parametr | PPPoE | IPoE |
|---|---|---|
| Identifikasiya | login/parol və ya adda realm | MAC, Circuit-ID/Remote-ID |
| MTU | 1492 (və ya MTU 1508 olduqda RFC 4638 üzrə 1500) | 1500 |
| Vəziyyət | hər abonent üçün PPP Session-ID | DHCP qeydi + IP sessiyası |
| Multicast IPTV | ayrıca VLAN/profil lazımdır, IGMP PPP daxilində getmir | STB-dən yerli IGMP |
| Borclunun söndürülməsi | PADT/CoA Disconnect | CoA Disconnect, walled garden-ə keçirmə |
| Yük | CPE və BNG-də hər çərçivənin PPP inkapsulyasiyası | təmiz IP |
Müasir BNG hər iki trafiki aparatda yönləndirir, ona görə fərq əsasən idarəetmə qatında (PPP avtomatı, CHAP, keepalive) və müştəri avadanlığındadır.
MTU və MSS
PPPoE üzərində IPv4 üçün MSS: 1492 - 20 (IP) - 20 (TCP) = 1452; IPv6 üçün: 1492 - 40 - 20 = 1432. ICMP "fragmentation needed" (type 3 code 4) və ya ICMPv6 Packet Too Big filtrlənərsə, Path MTU Discovery pozulur və böyük cavablı saytlar TCP handshake-dən sonra donur. Çarə BNG-də MSS clamping (ip tcp adjust-mss, tcp-mss/change-tcp-mss) və ICMP-yə icazə verməkdir. IPoE üçün MTU Ethernet ilə eynidir, lakin BNG-yə gedən yolda etiketləri nəzərə alın (hər biri 4 bayt).
VRF-ə bağlama və limitlər
PPPoE sessiyası virtual interfeysdə (Virtual-Access, pp0, dynamic PPP interface) yaradılır, o isə VRF-i şablondan/profildən və ya RADIUS atributundan miras alır. Müştərinin /32 marşrutu redistribute connected/static və ya xüsusi subscriber marşrutları ilə BGP VRF-ə düşür. sessions per-mac və per-vlan limitləri PADI selindən və bütün Session-ID-ləri tutan klonlardan qoruyur.