Pabrika ng VxLAN. Bahagi 2

Hoy Habr. Ipinagpapatuloy ko ang serye ng mga artikulo sa teknolohiya ng VxLAN EVPN, na ay partikular na isinulat para sa paglulunsad ng kurso "Network engineer" ng OTUS. At ngayon ay isasaalang-alang natin ang isang kawili-wiling bahagi ng mga gawain - pagruruta. Gaano man ito kasira, gayunpaman, bilang bahagi ng gawain ng isang network factory, ang lahat ay maaaring hindi gaanong simple.

Pabrika ng VxLAN. Bahagi 2

1 bahagi ng cycle - L2 connectivity sa pagitan ng mga server

Sa huling bahagi, nakamit namin ang isang broadcast domain na binuo sa ibabaw ng isang network fabric sa isang Nexus 9000v. Gayunpaman, hindi ito ang buong hanay ng mga gawain na kailangang lutasin sa loob ng balangkas ng network ng data center. At ngayon ay isasaalang-alang natin ang sumusunod na gawain - pagruruta sa pagitan ng mga network o sa pagitan ng mga VNI.

Hayaan akong ipaalala sa iyo na ang Spine-Leaf topology ay ginagamit:

Pabrika ng VxLAN. Bahagi 2

Upang magsimula, susuriin namin kung paano nangyayari ang pagruruta at kung anong mga tampok ang mayroon ito.

Para sa pag-unawa, pasimplehin natin ang logic diagram at magdagdag ng isa pang VNI 20000 para sa Host-2. Ang resulta ay:

Pabrika ng VxLAN. Bahagi 2

Paano, sa kasong ito, maaari mong ilipat ang trapiko mula sa isang Host patungo sa isa pa?

Mayroong dalawang mga pagpipilian:

  1. Panatilihin ang impormasyon tungkol sa lahat ng VNI sa lahat ng Leaf switch, pagkatapos ang lahat ng pagruruta ay magaganap sa unang Leaf sa network;
  2. Gumamit ng nakatuon - L3 VNI

Ang unang paraan ay simple at maginhawa. Dahil kailangan mo lang simulan ang lahat ng VNI sa lahat ng Leaf switch. Gayunpaman, ang pagpapatakbo ng ilang daan o libu-libong VNI sa buong Leaf ay hindi na mukhang isang madaling gawain. Samakatuwid, sa trabaho ito ay ginagamit medyo bihira.

Susuriin namin ang paraan 2, bilang mas kawili-wili at bahagyang mas kumplikado, ngunit nagbibigay ng higit na kakayahang umangkop sa pag-set up ng pabrika.

Idagdag natin ang "PROD" sa VRF topology. Idagdag natin ang interface vlan 10 dito sa Leaf-11/12 pares at interface VLAN 20 sa Leaf-21. Ang VLAN 20 ay nauugnay sa 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

Upang magamit ang L3VNI, kailangan mong lumikha ng bagong VLAN, iugnay ito sa bagong VNI. Ang bagong VNI ay dapat na pareho sa lahat ng Leaf na interesado sa VLAN 10 at 20 na impormasyon.

vlan 99
  vn-segment 99000

interface nve1
  member vni 99000 associate-vrf        ! Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ L3 VNI

vrf context PROD
  vni 99000                             ! ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅ΠΌ L3 VNI ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ VRF

Bilang resulta, ang diagram ay magiging ganito:

Pabrika ng VxLAN. Bahagi 2

Ito ay nananatiling upang matapos ng kaunti - magdagdag ng isa pang interface - interface vlan 99 sa VRF PROD

interface Vlan99
  no shutdown
  vrf member PROD
  ip forward  ! На интСрфСйсС Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ IP. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для пСрСсылки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Leaf

Bilang resulta, ang lohika ng pagpasa ng frame mula Host-1 hanggang Host-2 ay ang mga sumusunod:

  1. Dumating ang isang frame na ipinadala ng Host-1 sa isang Leaf sa VLAN 10, na nauugnay sa VNI 10000;
  2. Tinitingnan ng Leaf kung saan ang patutunguhang address at hinahanap ito sa pamamagitan ng L3 VNI sa pangalawang switch ng Leaf;
  3. Sa sandaling matagpuan ang ruta patungo sa patutunguhang address, inilalagay ng Leaf ang frame sa isang header na may kinakailangang L3VNI 99000 - at ipinapadala ito patungo sa pangalawang Dahon;
  4. Ang pangalawang Leaf switch ay tumatanggap ng data mula sa L3VNI 99000. Nakukuha ang orihinal na frame at inililipat ito sa kinakailangang L2VNI 20000 at pagkatapos ay sa VLAN 20.

Bilang resulta ng gawaing ito, inalis ng L3VNI ang pangangailangang panatilihin ang impormasyon tungkol sa lahat ng VNI na nasa network sa lahat ng Leaf switch.

Bilang resulta, kapag nagpadala kami ng trapiko mula Host-1 hanggang Host-2, ang packet ay naka-pack sa loob ng VxLAN na may bagong VNI - 99000:

Pabrika ng VxLAN. Bahagi 2

Ito ay nananatiling makikita kung paano eksaktong natututo ang Leaf-1 tungkol sa MAC address mula sa isa pang VNI. Nangyayari din ito sa tulong ng EVPN route-type 2 (MAC / IP).

Ipinapakita ng sumusunod ang proseso ng pagpapalaganap ng ruta tungkol sa prefix na matatagpuan sa isa pang VNI:

Pabrika ng VxLAN. Bahagi 2

Iyon ay, ang mga address na natanggap mula sa VNI 20000 ay may dalawang RT.
Ipaalala ko sa iyo na ang mga ruta na natanggap mula sa Update ay nahuhulog sa talahanayan ng BGP na may target na Ruta na tinukoy sa mga setting ng VRF (ang proseso ay medyo mas kumplikado, ngunit hindi kami pupunta sa artikulong ito).
Ang RT mismo ay nabuo sa pamamagitan ng formula: AS:VNI (kung ginamit ang awtomatikong mode).

Isang halimbawa ng pagbuo ng RT sa awtomatiko at manu-manong mga mode:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - автоматичСский Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹
    route-target export 65001:20000 - Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ формирования RT

Bilang resulta, makikita mo sa itaas na ang mga prefix mula sa isa pang VNI ay may dalawang RT value.
Isa sa mga ito 65001:99000 ay isang karagdagang L3 VNI. Dahil ang VNI na ito ay pareho sa lahat ng Leafs at nasa ilalim ng aming mga panuntunan sa pag-import sa mga setting ng VRF, ang prefix ay napupunta sa BGP table, na makikita mula sa output:

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

Kung titingnan natin nang mas mabuti ang natanggap na update, makikita natin na ang prefix na ito ay may dalawang 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
<......>

Sa routing table sa Leaf-1, makikita mo rin ang prefix na 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

Pansinin ang nawawalang pangunahing prefix na 192.168.20.0/24 sa routing table?
Tama, wala siya. Ibig sabihin, ang mga remote na Leafs ay tumatanggap lamang ng impormasyon tungkol sa mga host na nasa iyong network. At ito ang tamang pag-uugali. Sa itaas, sa lahat ng mga update, makikita mo na ang impormasyon ay kasama ng nilalaman ng MAC / IP. Walang prefix na masasabi.

Ito ang protocol ng Host Mobility Manager (HMM), na pumupuno sa talahanayan ng ARP kung saan higit pang pinupunan ang talahanayan ng BGP (aalisin namin ang prosesong ito sa loob ng balangkas ng artikulong ito). Batay sa impormasyong natanggap mula sa HMM, ang mga uri ng ruta na 2 EVPN ay nabuo (na ipinadala ng MAC / IP).

Gayunpaman, paano kung may pangangailangan na magpasa ng impormasyon tungkol sa isang prefix?

Para sa ganitong uri ng impormasyon, mayroong EVPN route-type 5 - pinapayagan ka nitong magpadala ng mga prefix sa pamamagitan ng address-family l2vpn evpn (ang ganitong uri ng ruta sa oras ng pagsulat na ito ay nasa draft na bersyon lamang RFC, dahil dito, maaaring may iba't ibang pag-uugali ang iba't ibang mga tagagawa ng ganitong uri ng ruta)

Upang maglipat ng mga prefix, kinakailangang magdagdag ng mga prefix sa proseso ng BGP para sa VRF, na ia-advertise:

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

Bilang resulta, ang Update ay magiging:

Pabrika ng VxLAN. Bahagi 2

Tingnan natin ang talahanayan ng BGP. Bilang karagdagan sa uri ng ruta ng EVPN 2,3, lumitaw ang uri 5 na mga ruta na naglalaman ng impormasyon tungkol sa numero ng network:

<......>
   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
<.......>                   

Ang prefix ay lumabas din sa routing table:

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

Ito ay nagtatapos sa ikalawang bahagi ng isang serye ng mga artikulo sa VxLAN EVPN. Sa susunod na bahagi, isasaalang-alang namin ang iba't ibang mga opsyon para sa pagruruta sa pagitan ng mga VRF.

Mga Batayan ng IPv6 at kung paano ito naiiba sa IPv4

Pinagmulan: www.habr.com

Magdagdag ng komento