Hej Habr. Mi daŭrigas la serion de artikoloj pri teknologio VxLAN EVPN, kiu estis skribitaj specife por la lanĉo de la kurso
En la lasta parto, ni atingis unu elsendan domajnon konstruitan sur reto-ŝtofo sur Nexus 9000v. Tamen, ĉi tio ne estas la tuta gamo de taskoj, kiuj devas esti solvitaj en la kadro de la datumcentra reto. Kaj hodiaŭ ni konsideros la sekvan taskon - vojigo inter retoj aŭ inter VNIoj.
Mi memorigu vin, ke la Spine-Folia topologio estas uzata:
Komence, ni analizos kiel okazas vojigo kaj kiajn funkciojn ĝi havas.
Por kompreno, ni simpligu la logikan diagramon kaj aldonu alian VNI 20000 por Host-2. La rezulto estas:
Kiel, en ĉi tiu kazo, vi povas translokigi trafikon de unu Gastiganto al alia?
Estas du ebloj:
- Konservu informojn pri ĉiuj VNI-oj sur ĉiuj Leaf-ŝaltiloj, tiam ĉiu vojigo okazos sur la unua Folio en la reto;
- Uzu dediĉitan - L3 VNI
La unua maniero estas simpla kaj oportuna. Ĉar vi nur bezonas komenci ĉiujn VNI-ojn ĉe ĉiuj Leaf-ŝaltiloj. Tamen, ruli kelkajn centojn aŭ milojn da VNI-oj sur la tuta Folio ne plu ŝajnas facila tasko. Tial en la verko ĝi estas uzata sufiĉe malofte.
Ni analizos metodon 2, kiel pli interesan kaj iomete pli komplikan, sed donante pli da fleksebleco en starigo de la fabriko.
Ni aldonu "PROD" al la VRF-topologio. Ni aldonu interfacon VLAN 10 al ĝi sur la paro Leaf-11/12 kaj interfacon VLAN 20 sur Leaf-21. VLAN 20 estas rilata al VNI 20000
vrf context PROD
rd auto ! Route Distinguisher не принципиален и можем использовать сформированный автоматически
address-family ipv4 unicast
route-target both auto ! указываем Route-target с которым будут импортироваться и экспортироваться префиксы в/из VRF
vlan 20
vn-segment 20000
interface nve 1
member vni 20000
ingress-replication protocol bgp
interface Vlan10
no shutdown
vrf member PROD
ip address 192.168.20.1/24
fabric forwarding mode anycast-gateway
Por uzi L3VNI, vi devas krei novan VLAN, asocii ĝin kun la nova VNI. La nova VNI devas esti la sama ĉe ĉiuj Folioj interesitaj pri informoj pri VLAN 10 kaj 20.
vlan 99
vn-segment 99000
interface nve1
member vni 99000 associate-vrf ! Создаем L3 VNI
vrf context PROD
vni 99000 ! Привязываем L3 VNI к определенному VRF
Kiel rezulto, la diagramo aspektos jene:
Restas iom fini - aldoni unu plian interfacon - interfaco vlan 99 en VRF PROD
interface Vlan99
no shutdown
vrf member PROD
ip forward ! На интерфейсе не должно быть IP. Используется только для пересылки пакетов между Leaf
Kiel rezulto, la logiko de pasado de la kadro de Host-1 al Host-2 estas kiel sekvas:
- Kadro sendita de Host-1 alvenas sur Folio en VLAN 10, kiu estas rilata al VNI 10000;
- Folio kontrolas kie la celadreso estas kaj trovas ĝin per L3 VNI sur la dua Folio-ŝaltilo;
- Tuj kiam la itinero al la cel-adreso estas trovita, la Folio pakas la kadron en kaplinion kun la necesa L3VNI 99000 - kaj sendas ĝin al la dua Folio;
- La dua Leaf-ŝaltilo ricevas datumojn de L3VNI 99000. Akiras la originan kadron kaj transdonas ĝin al la bezonata L2VNI 20000 kaj poste al VLAN 20.
Kiel rezulto de ĉi tiu laboro, L3VNI forigas la bezonon konservi informojn pri ĉiuj VNIoj kiuj estas en la reto sur ĉiuj Leaf-ŝaltiloj.
Kiel rezulto, kiam ni sendas trafikon de Host-1 al Host-2, la pako estas pakita ene de VxLAN kun la nova VNI - 99000:
Restas vidi kiel precize Leaf-1 ekscias pri la MAC-adreso de alia VNI. Ĉi tio ankaŭ okazas kun la helpo de EVPN-itinero-tipo 2 (MAC / IP).
La sekvanta montras la procezon disvastigi itineron pri prefikso situanta en alia VNI:
Tio estas, adresoj ricevitaj de VNI 20000 havas du RTojn.
Mi memorigu vin, ke la itineroj ricevitaj de Ĝisdatigo falas en la BGP-tabelon kun la Itinero-celo specifita en la VRF-agordoj (la procezo estas iom pli komplika, sed ni ne eniros ĉi tiun artikolon).
La RT mem estas formita per la formulo: AS:VNI (se aŭtomata reĝimo estas uzata).
Ekzemplo de RT-formado en aŭtomataj kaj manaj reĝimoj:
vrf context PROD
address-family ipv4 unicast
route-target import auto - автоматический режим работы
route-target export 65001:20000 - ручной режим формирования RT
Kiel rezulto, vi povas vidi supre, ke prefiksoj de alia VNI havas du RT-valorojn.
Unu el ili 65001:99000 estas plia L3 VNI. Ĉar ĉi tiu VNI estas la sama ĉe ĉiuj Folioj kaj estas sub niaj importaj reguloj en la VRF-agordoj, la prefikso eniras la BGP-tabelon, kiu povas esti vidita de la eligo:
sh bgp l2vpn evpn
<.....>
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.255.1.11:32777 (L2VNI 10000)
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216
10.255.1.10 100 32768 i
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[32]:[192.168.10.10]/272
10.255.1.10 100 32768 i
*>l[3]:[0]:[32]:[10.255.1.10]/88
10.255.1.10 100 32768 i
Route Distinguisher: 10.255.1.21:32787
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.20]/272 ! Префикс полученный из VNI 20000
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 i
Se ni rigardas pli detale la ricevitan ĝisdatigon, ni povas vidi, ke ĉi tiu prefikso havas du RT-ojn:
Leaf11# sh bgp l2vpn evpn 5001.0008.0007
BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.1.21:32787
BGP routing table entry for [2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.20.2
0]/272, version 5164
Paths: (2 available, best #2)
Flags: (0x000202) (high32 00000000) on xmit-list, is not in l2rib/evpn, is not i
n HW
Path type: internal, path is valid, not best reason: Neighbor Address, no labeled nexthop
AS-Path: NONE, path sourced internal to AS
10.255.1.20 (metric 81) from 10.255.1.102 (10.255.1.102)
Origin IGP, MED not set, localpref 100, weight 0
Received label 20000 99000 ! Два label для работы VxLAN
Extcommunity: RT:65001:20000 RT:65001:99000 SOO:10.255.1.20:0 ENCAP:8 ! Два значения Route-target, на основе, которых добавили данный префикс
Router MAC:5001.0005.0007
Originator: 10.255.1.21 Cluster list: 10.255.1.102
<......>
En la vojtabelo sur Folio-1, vi ankaŭ povas vidi la prefikson 192.168.20.20/32:
Leaf11# sh ip route vrf PROD
192.168.10.0/24, ubest/mbest: 1/0, attached
*via 192.168.10.1, Vlan10, [0/0], 01:29:28, direct
192.168.10.1/32, ubest/mbest: 1/0, attached
*via 192.168.10.1, Vlan10, [0/0], 01:29:28, local
192.168.10.10/32, ubest/mbest: 1/0, attached
*via 192.168.10.10, Vlan10, [190/0], 01:27:22, hmm
192.168.20.20/32, ubest/mbest: 1/0 ! Адрес Host-2
*via 10.255.1.20%default, [200/0], 01:20:20, bgp-65001, internal, tag 65001 ! Доступный через Leaf-2
(evpn) segid: 99000 tunnelid: 0xaff0114 encap: VXLAN ! Через VNI 99000
Ĉu vi rimarkas la mankantan ĉefan prefikson 192.168.20.0/24 en la vojtabelo?
Ĝuste, li ne estas tie. Tio estas, foraj Folioj ricevas informojn nur pri la gastigantoj kiuj estas en via reto. Kaj ĉi tio estas la ĝusta konduto. Supre, en ĉiuj ĝisdatigoj, vi povas vidi, ke informoj venas kun la enhavo de MAC / IP. Ne estas prefiksoj por paroli.
Ĉi tio estas la protokolo de Host Mobility Manager (HMM), kiu plenigas la ARP-tabelon de kiu la BGP-tabelo estas plue plenigita (ni preterlasos ĉi tiun procezon kadre de ĉi tiu artikolo). Surbaze de la informoj ricevitaj de la HMM, itineraj 2 EVPN-oj estas formitaj (senditaj per MAC / IP).
Tamen, kio se estas bezono transdoni informojn pri prefikso?
Por ĉi tiu speco de informoj, ekzistas EVPN-itinero-tipo 5 - ĝi ebligas al vi sendi prefiksojn per adreso-familio l2vpn evpn (ĉi tiu speco de itinero en la momento de ĉi tiu skribado estas nur en la malneta versio.
Por transdoni prefiksojn, necesas aldoni prefiksojn en la BGP-procezo por VRF, kiu estos reklamita:
router bgp 65001
vrf PROD
address-family ipv4 unicast
redistribute direct route-map VNI20000 ! В данном случае анонсируем префиксы подключение непосредственно к Leaf в VNI 20000
route-map VNI20000 permit 10
match ip address prefix-list VNI20000_OUT ! Указываем какой использовать prefix-list
ip prefix-list VNI20000_OUT seq 5 permit 192.168.20.0/24 ! Указываем какие сети будут попадать в EVPN route-type 5
Kiel rezulto, Ĝisdatigo estos:
Ni rigardu la BGP-tabelon. Krom EVPN-itinero-tipo 2,3, aperis tipo 5-vojoj, kiuj enhavas informojn pri la retnumero:
<......>
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.255.1.11:3
* i[5]:[0]:[0]:[24]:[192.168.10.0]/224
10.255.1.10 0 100 0 ?
*>i 10.255.1.10 0 100 0 ?
Route Distinguisher: 10.255.1.11:32777
* i[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
* i[2]:[0]:[0]:[48]:[5001.0007.0007]:[32]:[192.168.10.10]/272
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
* i[3]:[0]:[32]:[10.255.1.10]/88
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
Route Distinguisher: 10.255.1.12:3
*>i[5]:[0]:[0]:[24]:[192.168.10.0]/224 ! EVPN route-type 5 с номером префикса
10.255.1.10 0 100 0 ?
* i
<.......>
La prefikso ankaŭ aperis en la vojtabelo:
Leaf21# sh ip ro vrf PROD
192.168.10.0/24, ubest/mbest: 1/0
*via 10.255.1.10%default, [200/0], 00:14:32, bgp-65001, internal, tag 65001 ! Удаленный префикс, доступный через Leaf1/2(адрес Next-hop = virtual IP между парой VPC)
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN ! Префикс доступен через L3VNI 99000
192.168.10.10/32, ubest/mbest: 1/0
*via 10.255.1.10%default, [200/0], 02:33:40, bgp-65001, internal, tag 65001
(evpn) segid: 99000 tunnelid: 0xaff010a encap: VXLAN
192.168.20.0/24, ubest/mbest: 1/0, attached
*via 192.168.20.1, Vlan20, [0/0], 02:39:44, direct
192.168.20.1/32, ubest/mbest: 1/0, attached
*via 192.168.20.1, Vlan20, [0/0], 02:39:44, local
192.168.20.20/32, ubest/mbest: 1/0, attached
*via 192.168.20.20, Vlan20, [190/0], 02:35:46, hmm
Ĉi tio finas la duan parton de serio de artikoloj pri VxLAN EVPN. En la sekva parto, ni konsideros diversajn eblojn por vojigo inter VRF-oj.
fonto: www.habr.com