Nəzəri əsaslar və memarlıq
Virtual Private LAN Service (VPLS, LDP siqnalizasiyası RFC 4762, BGP siqnalizasiyası RFC 4761) müştəri sahələrini vahid şəffaf Ethernet domeninə (multipoint-to-multipoint L2VPN) birləşdirir. PE-lər bir paylanmış kommutator kimi işləyir: kadrlardan MAC ünvanlarını öyrənir (MAC learning), FDB cədvəli saxlayır və BUM trafikini (broadcast, unknown unicast, multicast) pseudowire-lərə yayır. Nüvədə STP olmadan döngülərin qarşısını almaq üçün split horizon qaydası tətbiq olunur: full mesh pseudowire-dən gələn kadr digər full mesh pseudowire-lərə göndərilməməlidir. Full mesh N*(N-1)/2 pseudowire tələb edir, ona görə iyerarxik H-VPLS istifadə olunur: U-PE-lər N-PE-lərə spoke pseudowire-lərlə qoşulur, N-PE-lər isə aralarında full mesh saxlayır. Spoke PW nüvənin split-horizon qrupuna daxil deyil: spoke PW-dən gələn kadr core PW-lərə gedə bilər və əksinə.
VPLS virtual kommutator kimi
VPLS (Virtual Private LAN Service) MPLS nüvəsi üzərindən bir neçə AC-ni vahid yayım L2 domenində birləşdirir: müştəri üçün operator şəbəkəsi tək Ethernet kommutatoru kimi görünür. VPWS naqildirsə, VPLS kommutatordur, yəni PE MAC cədvəli aparır. Standartlar: RFC 4762 (LDP siqnalizasiyası, FEC 128), RFC 4761 (BGP siqnalizasiyası, Kompella) və RFC 6074 (LDP siqnalizasiyası ilə BGP avtokəşfi, FEC 129). Arxitektura: hər PE-də müştəri üçün VSI/VFI (Virtual Forwarding/Switching Instance) yaradılır - MAC cədvəli olan məntiqi körpü. VFI-yə fiziki AC-lər və virtual portlar qoşulur: hər uzaq PE-yə bir pseudowire.
Full mesh və split horizon
Əsas VPLS-də hər PE cütü pseudowire ilə birləşdirilir, yəni N sayda PE üçün N(N-1)/2 PW lazımdır: 3 PE 3 PW verir, 10 PE 45, 50 PE 1225, hər PE-də isə bir VFI üçün N-1 PW və N-1 etiket sessiyası düşür. Nüvədə STP yoxdur, əvəzinə split horizon qaydası işləyir: PW-dən qəbul edilən kadr heç vaxt eyni VFI-nin başqa PW-sinə göndərilmir, yalnız AC-lərə göndərilir. Hər PE cütü birbaşa əlaqəli olduğuna görə istənilən PE kadrı mənbədən bir hop-da alır və dövrə yaranmır. Qayda pozularsa (məsələn, bir VFI-nin iki PW-si müxtəlif split-horizon qruplarında qurularsa), yayım kadrı üç PE arasında sonsuz dövr edərək nüvəni yükləyir.
MAC öyrənmə və yönləndirmə
Hər VFI üçün PE MAC cədvəli aparır: AC-də öyrənilən ünvanlar porta, PW-dən gələn ünvanlar isə konkret PW-yə (peer + etiket) bağlanır. Kadr AC-dən gələndə PE cədvəldə DA-nı axtarır. Məlum unicast yeganə PW-yə və ya AC-yə gedir. Broadcast, multicast və unknown unicast (BUM) hər PW-yə (ingress replication, N-1 surət) və qalan AC-lərə replikasiya olunur, ona görə VPLS-də BUM bahalıdır: nüvəyə kanal N-1 surətə tab gətirməlidir. Aging taymeri susmaya görə 300 s-dir (Cisco, Junos və Huawei yaxındır); topologiya dəyişəndə və ya PW sıradan çıxanda digər PE-lərdəki köhnəlmiş MAC-lər MAC withdraw istifadə edilmirsə yalnız taymerlə yoxa çıxır. RFC 4762-yə görə PE MAC List TLV ilə LDP Address Withdraw göndərir (boş siyahı = bu VFI-nin bütün MAC-lərini sil) ki, uzaq PE-lər cədvəli tez təmizləyib flooding-ə keçsin. Resursların qorunması: VFI/AC üzrə MAC sayına məhdudiyyət (mac limit), əks halda müştəri müxtəlif mənbəli kadrlar göndərərək PE cədvəlini daşıra bilər.
Siqnalizasiya: LDP və ya BGP
LDP-VPLS (FEC 128): peer siyahısı hər PE-də əllə konfiqurasiya olunur, hər VFI üçün bir VPLS ID (o, həm də VC ID-dir) var, hər peer üçün VPWS-dəki kimi targeted LDP sessiyası və etiket mübadiləsi yaradılır. PE əlavə etmək bütün digər PE-lərdə konfiqurasiyanın düzəldilməsini tələb edir: pis miqyaslanır, lakin sadədir. BGP-VPLS (RFC 4761): VE ID və etiket bloku Route Target ilə birlikdə BGP-nin l2vpn address family-sində (AFI 25, SAFI 65) ötürülür; qəbul edən mənbəyə PW üçün etiketi avtomatik hesablayır, yeni PE-ni bir dəfə elan etmək kifayətdir, RR isə NLRI-ni hamıya ötürür. Juniper-də bu, vrf-target və site olan vpls tipli routing-instance-dır; Cisco-da - autodiscovery bgp signaling bgp. LDP siqnalizasiyası ilə BGP-AD (RFC 6074) BGP-dən yalnız kəşf üçün (RT/RD, VPLS-ID) istifadə edir, PW-ləri isə LDP FEC 129 üzrə qurur (AGI = VPLS-ID, SAII/TAII). EVPN (növbəti dərs) hər ikisini əvəz edir.
Hierarchical VPLS (H-VPLS)
Full mesh pis miqyaslanır: N(N-1)/2 PW və replikasiya. H-VPLS şəbəkəni iki səviyyəyə bölür. Nüvədə N-PE-lər (hub) arasında full mesh qalır, onlara U-PE/MTU (spoke) spoke PW vasitəsilə və ya QinQ qoşulması (802.1ad) ilə qoşulur. Spoke-PW N-PE-nin VFI-sinə adi AC kimi qoşulur, ona görə split horizon ona şamil olunmur: spoke-dan gələn kadr bütün hub-PW-lərə, hub-PW-dən gələn kadr isə spoke-a göndərilə bilər. Spoke heç vaxt core-mesh-də iştirak etmir, ona yalnız bir (ehtiyat üçün iki) PW lazımdır. Ehtiyatlama: spoke bir N-PE-yə əsas PW, digərinə ehtiyat (standby) PW qaldırır; əsas sıradan çıxanda ehtiyat aktivləşir, MAC withdraw isə cədvəlləri təmizləyir. Təhlükə: spoke iki N-PE-yə standby olmadan qoşularsa (hər ikisi aktiv), split horizon-un tutmadığı dövrə yaranır.