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

VPWS (Virtual Private Wire Service, RFC 4447) və ya Pseudowire (EoMPLS) MPLS nüvəsi üzərindən nöqtədən-nöqtəyə (Point-to-Point) Layer 2 virtual xətt xidməti təqdim edir. Sərhəd PE routerləri müştərinin Ethernet kadrlarını IP başlığına baxmadan birbaşa MPLS-ə bükür. Müştərilər bu xətt üzərindən istənilən protokolu (IPv4, IPv6, OSPF, IS-IS) işlədə bilər. Paket iki etiketlə ötürülür: 1. Xarici nəqliyyat etiketi: paketi nüvə boyu çıxış PE-yə çatdırır. 2. Daxili pseudowire (VC) etiketi: Targeted LDP (tLDP) və ya BGP ilə razılaşdırılır və çıxış PE-də müştərinin fiziki portunu və ya VLAN-ını müəyyən edir. Xəttin hər iki ucunda eyni VC ID (Virtual Circuit ID) təyin edilməlidir. Əgər interfeys MTU və ya Control Word uyğun gəlməzsə, pseudowire Up vəziyyətinə keçməyəcək.

VPWS protokol səviyyəsində nədir

VPWS (Virtual Private Wire Service) iki Attachment Circuit (AC) arasında vahid naqili emulyasiya edir: PE1-dəki port və ya VLAN PE2-dəki port və ya VLAN ilə birləşdirilir. Arxitektura RFC 3985 (PWE3) sənədində, Ethernet inkapsulyasiyası RFC 4448-də, LDP ilə siqnalizasiya isə RFC 4447-də təsvir olunub. PE müştərinin L3 başlığına baxmır və MAC cədvəli qurmur: AC-də qəbul edilən kadr bütövlükdə (preambula və FCS olmadan) pseudowire-ə qoyulur, çıxışda çıxarılaraq AC-yə verilir. Buna görə müştəri üstündə istənilən protokolu işlədə bilər: IPv4/IPv6, IS-IS, LLDP, STP BPDU.

Yönləndirmə iki etiketdən ibarət stekdən istifadə edir. Xarici etiket (transport/tunnel label) uzaq PE-nin loopback ünvanına gedən LDP və ya RSVP-TE LSP üzrə seçilir və hər P router-də dəyişdirilir. Daxili etiket (PW label, VC label) stekin dibində yerləşir (S biti = 1), P onu görmür; onun qiymətini qəbul edən PE ayırır və göndərənə bildirir. İki istiqamətdəki etiketlər bir-birindən asılı deyil: PE1-də local 24 və remote 21 normaldır, simmetriya yoxdur.

LDP siqnalizasiyası, FEC 128 (RFC 4447)

PE1 və PE2 targeted LDP sessiyası açır (peer ünvanına UDP 646 üzərindən unicast Hello, sonra TCP 646). Bunun üçün yalnız loopback-lər arasında IP əlçatanlığı lazımdır: sessiya PW ilə eyni yolla getməli deyil. Susmaya görə Cisco-da targeted hello 10 s / hold 90 s, keepalive 60 s / hold 180 s, link-hello üçün isə 5/15 s-dir. Peer-ə marşrut sağ olduqca sessiya ayrıca link-adjacency-nin itməsinə davam gətirir.

Sessiya üzərində hər PE 0x80 tipli FEC elementi (PWid FEC, yəni FEC 128) ilə Label Mapping göndərir. Sahələr: C-bit (1 = control word istifadəyə hazırdır), PW Type (15 bit), Group ID (32 bit, kütləvi withdraw üçün PW-lərin məntiqi qrupu), PW ID (32 bit, məhz VC ID budur) və Interface Parameters. Parametrlərdən Interface MTU (sub-TLV 0x01), VCCV capability (0x0C) və Requested VLAN ID vacibdir. PW etiketi Generic Label TLV-də ötürülür. İki PE o zaman PW-ni bağlayır ki, PW ID, PW Type, MTU və (hər ikisində C-bit varsa) control word üst-üstə düşsün. Uyğunsuzluq imtinaya gətirir, CLI-da bunlar MM (mtu mismatch), EM (encapsulation mismatch), CM (control-word mismatch) statuslarıdır.

FEC 129 (AGI/SAII/TAII, RFC 6074) rəqəmsal PW ID əvəzinə Attachment Group Identifier və mənbə/təyinat identifikatorlarından istifadə edir. O, PW-lər əllə deyil, BGP avtokəşfi (BGP-AD) ilə tapıldıqda tətbiq olunur.

PW tipləri və AC rejimləri

PW Type 5 (Ethernet) kadrları raw rejimdə ötürür: AC-də VLAN teqi varsa, o yalnız AC-də əhəmiyyət daşıyır və adətən silinir (rewrite pop). PW Type 4 (Ethernet Tagged Mode) teqi PW-nin içində daşıyır, çıxışda PE onu əvəz edə bilər (service-delimiting tag). Uclarda fərqli tiplər interworking olmadan qalxmaz. Digər tiplər: 0x0006 HDLC, 0x0007 PPP. Port-based AC: PW-yə bütün port, müştərinin bütün VLAN-ları daxil olmaqla, göndərilir; VLAN-based AC: yalnız bir VLAN göndərilir.

Control word və MTU

Control word (RFC 4385) PW etiketi ilə kadr arasında 4 baytdır: 0000 | bayraqlar (4 bit) | FRG (2) | Length (6) | Sequence (16). İlk nibble 0000 ona görə lazımdır ki, ECMP hashing aparan tranzit P-lər Ethernet kadrının ilk baytını IP versiyası (4 və ya 6) ilə səhv salmasın və bir axının paketlərini fərqli yollara səpələyib ardıcıllığı pozmasın. Sequence number susmaya görə istifadə edilmir (0). Control word həmçinin VCCV tip 1 üçün lazımdır.

MTU belə hesablanır: müştərinin L3 MTU 1500 + Ethernet başlığı 14 (teq saxlanılırsa +4) + control word 4 + PW etiketi 4 + transport etiketi 4 = 1526-1530 bayt; TE/FRR və ya iki transport etiketi olduqda daha 4-8 əlavə edin. Nüvə interfeysləri 1600 və daha çoxuna qaldırılır, lakin FEC-dəki Interface MTU məhz AC-nin MTU-sudur (1500). Əgər bir ucda 1500, digərində 1504-dür, PW qalxmaz (Cisco və Huawei ciddi yoxlayır, Junos MM göstərir). Yoxlamanı söndürmək olmaz: böyük kadrlar nüvədə səssizcə itəcək.

PW statusu və OAM

PW Status TLV (RFC 4447, type 0x096A) 32-bitlik maskadır: 0x1 Pseudowire Not Forwarding, 0x2 Local AC Receive Fault, 0x4 Local AC Transmit Fault, 0x8 Local PSN-facing PW Receive Fault, 0x10 Local PSN-facing PW Transmit Fault. Dəstək Label Mapping-də razılaşdırılır. Bunun sayəsində PE2-də AC-nin sıradan çıxması saniyələr ərzində PE1-də əks olunur (PW Remote AC fault statusu ilə Down olur), LDP taymautunu gözləmir. Status TLV olmadan yalnız PW silinəndə göndərilən Label Withdraw qalır.

VCCV (RFC 5085) PW-ni yoxlama kanalıdır. CC tipləri: 1 - ilk nibble-ı 0001 olan control word, 2 - PW etiketinin üstündə Router Alert label, 3 - PW etiketində TTL=1. CV tipləri: ICMP Ping, LSP Ping (RFC 4379), BFD (RFC 5885). Praktikada: ping mpls pseudowire həm PW etiketini, həm də VC ID kontekstini yoxlayır.

LDP və BGP siqnalizasiyası