VxLAN գործարան. Մաս 2

Բարև, Հաբր: Շարունակում եմ VxLAN EVPN տեխնոլոգիայի վերաբերյալ հոդվածների շարքը, որը գրվել են հատուկ դասընթացի մեկնարկի համար «Ցանցային ինժեներ» OTUS-ից. Եվ այսօր մենք կանդրադառնանք առաջադրանքի հետաքրքիր մասին՝ երթուղի: Որքան էլ տրիվիալ հնչի, այնուամենայնիվ, ցանցային գործարանի աշխատանքի շրջանակներում ամեն ինչ կարող է այդքան էլ պարզ չլինել։

VxLAN գործարան. Մաս 2

Ցիկլի 1-ին մաս - L2 կապ սերվերների միջև

Վերջին մասում մենք ձեռք բերեցինք մեկ հեռարձակման տիրույթ, որը կառուցված էր Nexus 9000v-ի վրա ցանցային հյուսվածքի վրա: Այնուամենայնիվ, սա խնդիրների ամբողջ շարքը չէ, որոնք պետք է լուծվեն տվյալների կենտրոնի ցանցում: Եվ այսօր մենք կանդրադառնանք հաջորդ առաջադրանքին՝ երթուղիներ ցանցերի կամ VNI-ների միջև:

Հիշեցնեմ, որ Spine-Leaf տոպոլոգիան օգտագործվում է.

VxLAN գործարան. Մաս 2

Նախ, եկեք տեսնենք, թե ինչպես է երթուղավորումը տեղի ունենում և ինչ առանձնահատկություններ ունի:

Հասկանալու համար եկեք պարզեցնենք տրամաբանական դիագրամը և ավելացնենք ևս մեկ VNI 20000 Host-2-ի համար: Արդյունքը հետևյալն է.

VxLAN գործարան. Մաս 2

Ինչպե՞ս կարող եք այս դեպքում երթևեկությունը փոխանցել մի Հոսթից մյուսին:

Գոյություն ունեն երկու տարբերակ.

  1. Պահպանեք բոլոր VNI-ների մասին տեղեկությունները բոլոր Leaf անջատիչների վրա, այնուհետև բոլոր երթուղումները տեղի կունենան ցանցի առաջին Leaf-ի վրա;
  2. Օգտագործեք հատուկ L3 VNI

Առաջին մեթոդը պարզ և հարմար է. Քանի որ դուք պարզապես պետք է տեղադրել ամբողջ VNI-ն բոլոր Leaf անջատիչների վրա: Այնուամենայնիվ, բոլոր Leafs-ի համար մի քանի հարյուր կամ հազար VNI-ներ տեղադրելն այլևս պարզ խնդիր չէ: Հետեւաբար, այն բավականին հազվադեպ է օգտագործվում աշխատանքի մեջ:

Դիտարկենք 2-րդ մեթոդը, որն ավելի հետաքրքիր է և մի փոքր ավելի բարդ, բայց ավելի մեծ ճկունություն է տալիս գործարանի ստեղծման հարցում:

VRF տոպոլոգիայում ավելացնենք «PROD»: Դրան մենք կավելացնենք ինտերֆեյս vlan 10 Leaf-11/12 զույգի վրա և ինտերֆեյս VLAN 20 Leaf-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-ի հետ: Նոր VNI-ը պետք է լինի նույնը բոլոր Leafs-ում, որոնք հետաքրքրված են VLAN 10 և 20 տեղեկություններով

vlan 99
  vn-segment 99000

interface nve1
  member vni 99000 associate-vrf        ! Создаем L3 VNI

vrf context PROD
  vni 99000                             ! Привязываем L3 VNI к определенному VRF

Արդյունքում դիագրամը կունենա հետևյալ տեսքը.

VxLAN գործարան. Մաս 2

Մնում է մի քիչ անել՝ ավելացնել ևս մեկ ինտերֆեյս՝ ինտերֆեյս vlan 99 VRF PROD-ում

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! На интерфейсе не должно быть IP. Используется только для пересылки пакетов между Leaf

Արդյունքում, Host-1-ից Host-2-ին շրջանակ փոխանցելու տրամաբանությունը հետևյալն է.

  1. Host-1-ի կողմից ուղարկված շրջանակը հասնում է Leaf-ին VLAN 10-ում, որը կապված է VNI 10000-ի հետ;
  2. Leaf-ը ստուգում է, թե որտեղ է գտնվում նպատակակետը և գտնում է այն L3 VNI-ի միջոցով երկրորդ Leaf անջատիչի վրա;
  3. Հենց որ երթուղին գտնվի դեպի նպատակակետ հասցե, Leaf-ը փաթեթավորում է շրջանակը վերնագրի մեջ՝ անհրաժեշտ L3VNI 99000-ով և այն ուղարկում դեպի երկրորդ Leaf;
  4. Երկրորդ Leaf switch-ը տվյալներ է ստանում L3VNI 99000-ից: Այն վերցնում է բնօրինակ շրջանակը և փոխանցում այն ​​պահանջվող L2VNI 20000-ին, այնուհետև VLAN 20-ին:

Այս աշխատանքի արդյունքում L3VNI-ն վերացնում է բոլոր Leaf անջատիչների վրա ցանցում գտնվող բոլոր VNI-ների մասին տեղեկատվությունը պահելու անհրաժեշտությունը:

Արդյունքում, երբ մենք ուղարկում ենք տրաֆիկ Host-1-ից Host-2, փաթեթը փաթեթավորվում է VxLAN-ի ներսում նոր VNI - 99000:

VxLAN գործարան. Մաս 2

Մնում է տեսնել, թե ինչպես է Leaf-1-ը իմանում MAC հասցեի մասին մեկ այլ VNI-ից: Դա տեղի է ունենում նաև EVPN երթուղու 2-րդ տիպի (MAC/IP) միջոցով:

Հետևյալը ցույց է տալիս մեկ այլ VNI-ում տեղադրված նախածանցի մասին երթուղու տարածման գործընթացը.

VxLAN գործարան. Մաս 2

Այսինքն, VNI 20000-ից ստացված հասցեներն ունեն երկու RT:
Հիշեցնեմ, որ Update-ից ստացված երթուղիները հայտնվում են BGP աղյուսակում՝ VRF կարգավորումներում նշված Route-target-ով (գործընթացը մի փոքր ավելի բարդ է, բայց մենք չենք խորանա այս հոդվածում):
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-ը նույնն է բոլոր Leafs-ում և ընկնում է մեր ներմուծման կանոնների ներքո 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
<......>

Leaf-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 հիմնական նախածանցի բացակայությունը:
Ճիշտ է, նա չկա: Այսինքն, հեռավոր Leafs-ը տեղեկատվություն է ստանում միայն ձեր ցանցում գտնվող հոսթների մասին։ Եվ սա ճիշտ վարքագիծ է։ Բոլոր թարմացումների վերևում դուք կարող եք տեսնել, որ տեղեկատվությունը գալիս է MAC/IP բովանդակության հետ: Որևէ նախածանցի մասին խոսք չկա։

Ահա թե ինչպես է աշխատում Host Mobility Manager (HMM) արձանագրությունը, որը լրացնում է ARP աղյուսակը, որից հետո լրացվում է BGP աղյուսակը (այս հոդվածի նպատակների համար մենք բաց կթողնենք այս գործընթացը): ՀՄՄ-ից ստացված տեղեկատվության հիման վրա ձևավորվում է EVPN երթուղի-տիպ 2 (փոխանցվում է MAC/IP-ով):

Այնուամենայնիվ, ի՞նչ անել, եթե անհրաժեշտություն կա նախածանցի մասին տեղեկատվություն փոխանցելու:

Այս տեսակի տեղեկատվության համար կա EVPN երթուղու տիպ 5. այն թույլ է տալիս նախածանցներ փոխանցել l2vpn evpn հասցեի միջոցով (այս տեսակի երթուղիները գրելու պահին միայն նախնական տարբերակում են: RFC, դրա պատճառով այս տեսակի երթուղու վարքագիծը կարող է տարբերվել տարբեր արտադրողների միջև)

Նախածանցներ փոխանցելու համար անհրաժեշտ է ավելացնել նախածանցներ, որոնք գովազդվելու են BGP գործընթացում VRF-ի համար.

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

Արդյունքում, Update-ը կունենա.

VxLAN գործարան. Մաս 2

Եկեք նայենք 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-ների միջև երթուղիների տարբեր տարբերակներ:

IPv6 արձանագրության հիմունքները և դրա տարբերությունները IPv4-ից

Source: www.habr.com

Добавить комментарий