Nəzəri əsaslar və memarlıq
Data mərkəzlərində EVPN data müstəvisi MPLS-dən daha çox VXLAN üzərində qurulur: leaf-spine fabric ECMP ilə IP underlay verir, MPLS label-lərinə ehtiyac yoxdur. RFC 8365 eyni EVPN marşrutlarının (Type 1-5) VXLAN-a necə xidmət etdiyini təsvir edir: xidmət identifikatoru VNI kimi daşınır, tunel uclarına VTEP deyilir, BUM trafiki isə ingress replication və ya underlay multicast ilə çatdırılır. Operator üçün iki dünyanın qovşağı vacibdir: VXLAN-lı data mərkəzi və EVPN-MPLS-li WAN. DCI (Data Center Interconnect) VXLAN-ı WAN üzərindən uzatmaqla və ya bir domeni sonlandırıb marşrutları digərinə yenidən elan edən gateway ilə qurula bilər (RFC 9014). Dərs VXLAN başlığını (RFC 7348), 50 baytlıq əlavə yükü və onun MTU-ya təsirini izah edir, EVPN-VXLAN ilə EVPN-MPLS-i müqayisə edir və data mərkəzinin sərhədində gateway/stitching variantlarını göstərir. Modulun əvvəlki dərslərindən Type 2/3/5, ESI və IRB bilinməsi güman edilir.
Data mərkəzində niyə VXLAN
Leaf-spine fabric marşrutlaşdırılan linkli kommutatorlardan ibarətdir (çox vaxt underlay-də eBGP, RFC 7938), hər leaf bütün spine-lərlə bağlıdır və iki leaf arasında bir neçə bərabər dəyərli yol var. Belə fabric-də MPLS nüvəsi artıqdır: LDP və ya SR və label-lər lazımdır, DC avadanlığı isə çox vaxt onları dəstəkləmir. VXLAN (RFC 7348) Ethernet kadrını UDP/IP-də inkapsulyasiya edir, buna görə underlay üçün ECMP ilə IP marşrutlaşdırma kifayətdir; yolların bərabər yüklənməsini VTEP-in UDP source port-a yazdığı daxili başlıqların hash-i verir.
VXLAN başlığı, VTEP və VNI
Xarici Ethernet, IP və UDP-dən (təyinat portu 4789) sonra 8 baytlıq VXLAN başlığı gəlir: bayraqlar (I biti etibarlı VNI deməkdir), rezerv, 24 bitlik VNI və daha bir rezerv bayt. VNI şəbəkəni 16 milyona qədər seqmentə bölür (VLAN üçün 4094 ilə müqayisədə). VTEP (VXLAN Tunnel Endpoint) kadrları inkapsulyasiya və dekapsulyasiya edən cihazdır; onun IP ünvanı (adətən loopback) mənbə və next hop kimi istifadə olunur. VNI-nin VLAN və lokal portlarla bağlandığı cihaz L2 gateway, VRF ilə bağlandığı cihaz isə L3 gateway-dir (simmetrik IRB üçün L3 VNI).
VXLAN üçün EVPN (RFC 8365)
Sadə VXLAN flood-and-learn istifadə edir: naməlum MAC-lər multicast qrupuna yayılır və MAC-lər trafikdən öyrənilir. EVPN bu mexanizmi aradan qaldırır: Type 2 MAC və IP-ni elan edir, Type 3 VNI üçün VTEP siyahısını qurur, Type 5 prefiksləri daşıyır, Type 1 və Type 4 multihoming-i təmin edir. EVPN-MPLS-dən fərqlər: label sahəsində MPLS label-i əvəzinə VNI (24 bit) daşınır; BGP Encapsulation extended community VXLAN tunel tipini göstərir; next hop VTEP ünvanıdır; RT və RD çox vaxt AS nömrəsi və VNI-dən avtomatik yaradılır (RFC 8365 avtomatik törətməyə icazə verir, davranış platformadan asılıdır). L3 VNI üçün Router's MAC istifadə olunur: VTEP-lər arasındakı paketdə daxili destination MAC qəbul edən VTEP-in MAC-idir.
BUM trafiki
Çatdırılmanın iki üsulu var. Ingress replication (head-end replication): Type 3 tip 6 PMSI Tunnel attribute daşıyır, hər VTEP VNI üçün qonşu siyahısı qurur və N-1 unicast kopya göndərir. Underlay üçün unicast marşrutlaşdırma kifayətdir, lakin yük ingress-ə düşür və VTEP sayı ilə artır. Underlay multicast: VNI qrupa uyğunlaşdırılır, underlay PIM ağacı qurur (Sparse Mode və ya Bidir), təkrarlamanı spine-lər edir. Bu leaf resurslarına qənaət edir, lakin underlay PIM və qrup bölgüsünü dəstəkləməlidir, qrup sayı isə cihaz resursları ilə məhduddur. ARP/ND suppression və unknown unicast-ın məhdudlaşdırılması hər iki variantda BUM həcmini azaldır.
Əlavə yük və MTU
Xarici başlıqlar 14 bayt Ethernet, 20 bayt IPv4, 8 bayt UDP və 8 bayt VXLAN əlavə edir: IPv4 underlay üçün cəmi 50 bayt (IPv6 üçün 70, xarici 802.1Q teqi ilə daha +4). Daxili kadr öz Ethernet başlığını saxlayır, buna görə 1500 baytlıq IP paketi üçün underlay IP MTU ən azı 1550 olmalıdır. VXLAN paketlərini fraqmentasiya etmək olmaz, çünki VTEP adətən DF bitini qoyur və belə paketlər atılır; düzgün həll fabric-in bütün linklərində və gateway-də jumbo kadrlardır (9000-9216). MPLS-də əlavə yük label başına 4 baytdır, adətən 8-12 bayt (nəqliyyat label-i, EVI label-i, bəzən ESI label), buna görə orada MTU problemi daha az kəskindir.
Split horizon: ESI label əvəzinə local bias
EVPN-MPLS-də BUM kadrı ESI label ilə qorunur. VXLAN-da label yoxdur, buna görə local bias tətbiq olunur (RFC 8365, bölmə 8.3.1): ingress VTEP CE-dən gələn BUM kadrını bütün digər VTEP-lərə, o cümlədən eyni ES-in digər VTEP-inə kopyalayır, lakin qəbul edən mənbə IP seqmentin VTEP siyahısındadırsa (Type 4 marşrutlarından), belə kadrı həmin ES-in lokal interfeysinə göndərmir. Buna görə VXLAN-da multihoming üçün düzgün Type 4 və aktual qonşu siyahısı kritikdir.
DCI: VXLAN uzatma və gateway
Birinci variant VXLAN-ı data mərkəzləri arasında WAN-ın IP underlay-i üzərindən uzatmaqdır: vahid VNI və vahid EVPN BGP domeni. Bu sadədir, lakin nasazlıq domeni ortaq olur: bir data mərkəzdəki xəta (məsələn, BUM fırtınası və ya MAC uçqunu) hər ikisinə təsir edir. İkinci variant hər data mərkəzinin sərhədində DCI gateway-dir (RFC 9014): gateway VXLAN-ı sonlandırır və marşrutları WAN-a EVPN-MPLS kimi (və ya fərqli VNI ilə EVPN-VXLAN kimi) yenidən elan edir, label və ya VNI-ni, RT-ni və next hop-u dəyişir. SR və ya LDP üzərində MPLS nüvəli WAN üçün bu təbiidir: gateway eyni anda PE və VTEP rolunu oynayır. Etibarlılıq üçün gateway-lər ES-də birləşdirilir; DF BUM-u domenlər arasında kimin ötürdüyünü müəyyən edir. L3 DCI üçün adətən Type 5 marşrutları və ya sərhəddə IP-VRF-in L3VPN (VPNv4) ilə qovşağı kifayətdir; dəqiq mexanizm platformadan asılıdır.