హే హబ్ర్. నేను VxLAN EVPN టెక్నాలజీపై కథనాల శ్రేణిని కొనసాగిస్తాను కోర్సు ప్రారంభం కోసం ప్రత్యేకంగా వ్రాయబడ్డాయి
చివరి భాగంలో, Nexus 9000vలో నెట్వర్క్ ఫాబ్రిక్ పైన నిర్మించబడిన ఒక ప్రసార డొమైన్ను మేము సాధించాము. అయితే, ఇది డేటా సెంటర్ నెట్వర్క్ ఫ్రేమ్వర్క్లో పరిష్కరించాల్సిన మొత్తం శ్రేణి పనులు కాదు. మరియు ఈ రోజు మనం ఈ క్రింది పనిని పరిశీలిస్తాము - నెట్వర్క్ల మధ్య లేదా VNIల మధ్య రూటింగ్.
స్పైన్-లీఫ్ టోపోలాజీ ఉపయోగించబడిందని నేను మీకు గుర్తు చేస్తాను:
ప్రారంభించడానికి, రౌటింగ్ ఎలా జరుగుతుందో మరియు దానిలో ఏ ఫీచర్లు ఉందో మేము విశ్లేషిస్తాము.
అవగాహన కోసం, లాజిక్ రేఖాచిత్రాన్ని సరళీకృతం చేద్దాం మరియు హోస్ట్-20000 కోసం మరొక VNI 2ని జోడిద్దాం. ఫలితం:
ఈ సందర్భంలో, మీరు ఒక హోస్ట్ నుండి మరొక హోస్ట్కి ట్రాఫిక్ను ఎలా బదిలీ చేయవచ్చు?
రెండు ఎంపికలు ఉన్నాయి:
- అన్ని లీఫ్ స్విచ్లలో అన్ని VNIల గురించి సమాచారాన్ని ఉంచండి, అప్పుడు అన్ని రూటింగ్ నెట్వర్క్లోని మొదటి లీఫ్లో జరుగుతుంది;
- అంకితమైన ఉపయోగించండి - L3 VNI
మొదటి మార్గం సరళమైనది మరియు అనుకూలమైనది. మీరు అన్ని లీఫ్ స్విచ్లలో అన్ని VNIలను మాత్రమే ప్రారంభించాలి కాబట్టి. అయితే, మొత్తం లీఫ్లో కొన్ని వందల లేదా వేల VNIలను అమలు చేయడం అంత తేలికైన పనిలా కనిపించడం లేదు. అందువల్ల, పనిలో ఇది చాలా అరుదుగా ఉపయోగించబడుతుంది.
మేము పద్ధతి 2ని మరింత ఆసక్తికరంగా మరియు కొంచెం క్లిష్టంగా విశ్లేషిస్తాము, అయితే ఫ్యాక్టరీని ఏర్పాటు చేయడంలో మరింత సౌలభ్యాన్ని అందిస్తాము.
VRF టోపోలాజీకి "PROD"ని జోడిద్దాం. లీఫ్-10/11 జతలో ఇంటర్ఫేస్ vlan 12ని మరియు లీఫ్-20లో VLAN 21ని ఇంటర్ఫేస్ చేద్దాం. VLAN 20 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
L3VNIని ఉపయోగించడానికి, మీరు కొత్త VLANని సృష్టించాలి, దాన్ని కొత్త VNIతో అనుబంధించాలి. VLAN 10 మరియు 20 సమాచారంపై ఆసక్తి ఉన్న అన్ని లీఫ్లలో కొత్త VNI తప్పనిసరిగా ఒకే విధంగా ఉండాలి.
vlan 99
vn-segment 99000
interface nve1
member vni 99000 associate-vrf ! Создаем L3 VNI
vrf context PROD
vni 99000 ! Привязываем L3 VNI к определенному VRF
ఫలితంగా, రేఖాచిత్రం ఇలా కనిపిస్తుంది:
ఇది కొంచెం పూర్తి చేయడానికి మిగిలి ఉంది - మరొక ఇంటర్ఫేస్ను జోడించండి - VRF PRODలో ఇంటర్ఫేస్ vlan 99
interface Vlan99
no shutdown
vrf member PROD
ip forward ! На интерфейсе не должно быть IP. Используется только для пересылки пакетов между Leaf
ఫలితంగా, ఫ్రేమ్ను హోస్ట్-1 నుండి హోస్ట్-2కి పంపే తర్కం క్రింది విధంగా ఉంటుంది:
- హోస్ట్-1 పంపిన ఫ్రేమ్ VLAN 10లోని లీఫ్పైకి వస్తుంది, ఇది VNI 10000తో అనుబంధించబడింది;
- లీఫ్ గమ్యస్థాన చిరునామా ఎక్కడ ఉందో తనిఖీ చేస్తుంది మరియు రెండవ లీఫ్ స్విచ్లో L3 VNI ద్వారా దాన్ని కనుగొంటుంది;
- గమ్యస్థాన చిరునామాకు మార్గం కనుగొనబడిన వెంటనే, లీఫ్ ఫ్రేమ్ను అవసరమైన L3VNI 99000తో హెడర్లో ప్యాక్ చేస్తుంది - మరియు దానిని రెండవ లీఫ్ వైపుకు పంపుతుంది;
- రెండవ లీఫ్ స్విచ్ L3VNI 99000 నుండి డేటాను అందుకుంటుంది. అసలు ఫ్రేమ్ని పొందుతుంది మరియు దానిని అవసరమైన L2VNI 20000కి ఆపై VLAN 20కి బదిలీ చేస్తుంది.
ఈ పని ఫలితంగా, అన్ని లీఫ్ స్విచ్లలో నెట్వర్క్లో ఉన్న అన్ని VNIల గురించి సమాచారాన్ని ఉంచాల్సిన అవసరాన్ని L3VNI తొలగిస్తుంది.
ఫలితంగా, మేము హోస్ట్-1 నుండి హోస్ట్-2కి ట్రాఫిక్ను పంపినప్పుడు, ప్యాకెట్ కొత్త VNI - 99000తో VxLAN లోపల ప్యాక్ చేయబడుతుంది:
లీఫ్-1 మరొక VNI నుండి MAC చిరునామా గురించి ఎలా నేర్చుకుంటుందో చూడాలి. ఇది EVPN రూట్-టైప్ 2 (MAC / IP) సహాయంతో కూడా జరుగుతుంది.
కిందిది మరొక VNIలో ఉన్న ఉపసర్గ గురించి మార్గాన్ని ప్రచారం చేసే ప్రక్రియను చూపుతుంది:
అంటే, VNI 20000 నుండి స్వీకరించబడిన చిరునామాలు రెండు RTలను కలిగి ఉంటాయి.
నవీకరణ నుండి అందుకున్న మార్గాలు VRF సెట్టింగ్లలో పేర్కొన్న రూట్-టార్గెట్తో BGP పట్టికలోకి వస్తాయని నేను మీకు గుర్తు చేస్తాను (ప్రక్రియ కొంత క్లిష్టంగా ఉంటుంది, కానీ మేము ఈ కథనంలోకి వెళ్లము).
RT కూడా ఫార్ములా ద్వారా ఏర్పడుతుంది: AS:VNI (ఆటోమేటిక్ మోడ్ ఉపయోగించినట్లయితే).
ఆటోమేటిక్ మరియు మాన్యువల్ మోడ్లలో RT ఏర్పడటానికి ఉదాహరణ:
vrf context PROD
address-family ipv4 unicast
route-target import auto - автоматический режим работы
route-target export 65001:20000 - ручной режим формирования RT
ఫలితంగా, మరొక VNI నుండి ఉపసర్గలు రెండు RT విలువలను కలిగి ఉన్నాయని మీరు పైన చూడవచ్చు.
వాటిలో ఒకటి 65001:99000 అదనపు L3 VNI. ఈ VNI అన్ని లీఫ్లపై ఒకే విధంగా ఉంటుంది మరియు VRF సెట్టింగ్లలోని మా దిగుమతి నియమాల పరిధిలోకి వస్తుంది కాబట్టి, ఉపసర్గ BGP పట్టికలోకి వస్తుంది, ఇది అవుట్పుట్ నుండి చూడవచ్చు:
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
మేము అందుకున్న నవీకరణను మరింత నిశితంగా పరిశీలిస్తే, ఈ ఉపసర్గకు రెండు RTలు ఉన్నాయని మనం చూడవచ్చు:
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
<......>
లీఫ్-1లోని రూటింగ్ పట్టికలో, మీరు 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
రూటింగ్ పట్టికలో 192.168.20.0/24 తప్పిపోయిన ప్రాథమిక ఉపసర్గను గమనించారా?
నిజమే, అతను అక్కడ లేడు. అంటే, రిమోట్ లీఫ్లు మీ నెట్వర్క్లో ఉన్న హోస్ట్ల గురించి మాత్రమే సమాచారాన్ని అందుకుంటాయి. మరియు ఇది సరైన ప్రవర్తన. పైన, అన్ని అప్డేట్లలో, సమాచారం MAC / IP కంటెంట్తో వస్తుందని మీరు చూడవచ్చు. మాట్లాడటానికి ఉపసర్గలు లేవు.
ఇది హోస్ట్ మొబిలిటీ మేనేజర్ (HMM) ప్రోటోకాల్, ఇది ARP పట్టికను నింపుతుంది, దీని నుండి BGP పట్టిక మరింత నింపబడుతుంది (మేము ఈ ప్రక్రియను ఈ కథనం యొక్క ఫ్రేమ్వర్క్లో విస్మరిస్తాము). HMM నుండి స్వీకరించబడిన సమాచారం ఆధారంగా, రూట్-టైప్ 2 EVPNలు ఏర్పడతాయి (MAC / IP ద్వారా ప్రసారం చేయబడతాయి).
అయితే, ఉపసర్గ గురించి సమాచారాన్ని పంపాల్సిన అవసరం ఉంటే ఏమి చేయాలి?
ఈ రకమైన సమాచారం కోసం, EVPN రూట్-టైప్ 5 ఉంది - ఇది అడ్రస్-ఫ్యామిలీ l2vpn evpn ద్వారా ప్రిఫిక్స్లను పంపడానికి మిమ్మల్ని అనుమతిస్తుంది (ఈ వ్రాత సమయంలో ఈ రకమైన రూట్ డ్రాఫ్ట్ వెర్షన్లో మాత్రమే ఉంది
ఉపసర్గలను బదిలీ చేయడానికి, VRF కోసం BGP ప్రక్రియలో ఉపసర్గలను జోడించడం అవసరం, ఇది ప్రచారం చేయబడుతుంది:
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
ఫలితంగా, నవీకరణ ఇలా ఉంటుంది:
BGP పట్టికను చూద్దాం. EVPN రూట్-టైప్ 2,3తో పాటు, నెట్వర్క్ నంబర్ గురించి సమాచారాన్ని కలిగి ఉన్న టైప్ 5 మార్గాలు కనిపించాయి:
<......>
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
<.......>
ఉపసర్గ రూటింగ్ పట్టికలో కూడా కనిపించింది:
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
ఇది VxLAN EVPNలో కథనాల శ్రేణి యొక్క రెండవ భాగాన్ని ముగించింది. తదుపరి భాగంలో, మేము VRFల మధ్య రూటింగ్ కోసం వివిధ ఎంపికలను పరిశీలిస్తాము.
మూలం: www.habr.com