Nhà máy VxLAN. Phần 2

Này Habr. Mình tiếp tục series bài viết về công nghệ VxLAN EVPN nhé được viết riêng cho sự ra mắt của khóa học "Kỹ sự mạng" bởi OTUS. Và hôm nay chúng ta sẽ xem xét một phần thú vị của nhiệm vụ - định tuyến. Tuy nhiên, cho dù nó có vẻ sáo mòn đến mức nào, là một phần công việc của nhà máy mạng, mọi thứ có thể không đơn giản như vậy.

Nhà máy VxLAN. Phần 2

1 phần của chu trình - Kết nối L2 giữa các máy chủ

Trong phần trước, chúng tôi đã đạt được một miền quảng bá được xây dựng trên kết cấu mạng trên Nexus 9000v. Tuy nhiên, đây không phải là toàn bộ các nhiệm vụ cần được giải quyết trong khuôn khổ của mạng trung tâm dữ liệu. Và hôm nay chúng ta sẽ xem xét nhiệm vụ sau - định tuyến giữa các mạng hoặc giữa các VNI.

Hãy để tôi nhắc bạn rằng cấu trúc liên kết Cột sống-Lá được sử dụng:

Nhà máy VxLAN. Phần 2

Để bắt đầu, chúng tôi sẽ phân tích cách định tuyến xảy ra và nó có những tính năng gì.

Để dễ hiểu, hãy đơn giản hóa sơ đồ logic và thêm một VNI 20000 khác cho Host-2. Kết quả là:

Nhà máy VxLAN. Phần 2

Làm thế nào, trong trường hợp này, bạn có thể chuyển lưu lượng truy cập từ Máy chủ này sang Máy chủ khác?

Có hai lựa chọn:

  1. Giữ thông tin về tất cả các VNI trên tất cả các thiết bị chuyển mạch Lá, sau đó tất cả việc định tuyến sẽ diễn ra trên Lá đầu tiên trong mạng;
  2. Chuyên dụng - L3 VNI

Cách thứ nhất đơn giản và thuận tiện. Vì bạn chỉ cần khởi động tất cả các VNI trên tất cả các công tắc Lá. Tuy nhiên, việc chạy vài trăm hay hàng nghìn VNI trên toàn bộ Leaf dường như không còn là một nhiệm vụ dễ dàng. Do đó, trong công việc nó được sử dụng khá hiếm.

Chúng tôi sẽ phân tích phương pháp 2, thú vị hơn và phức tạp hơn một chút, nhưng mang lại sự linh hoạt hơn trong việc thiết lập nhà máy.

Hãy thêm "PROD" vào cấu trúc liên kết VRF. Hãy thêm giao diện vlan 10 vào cặp Leaf-11/12 và giao diện VLAN 20 trên Leaf-21. VLAN 20 gắn với 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

Để sử dụng L3VNI, bạn cần tạo một VLAN mới, kết hợp nó với VNI mới. VNI mới phải giống nhau trên tất cả các Lá quan tâm đến thông tin VLAN 10 và 20.

vlan 99
  vn-segment 99000

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

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

Kết quả là, sơ đồ sẽ trông như thế này:

Nhà máy VxLAN. Phần 2

Vẫn còn phải hoàn thiện một chút - thêm một giao diện nữa - giao diện vlan 99 trong VRF PROD

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

Do đó, logic chuyển khung từ Máy chủ-1 sang Máy chủ-2 như sau:

  1. Một khung được gửi bởi Host-1 đến một Lá trong VLAN 10, được liên kết với VNI 10000;
  2. Lá kiểm tra xem địa chỉ đích ở đâu và tìm nó thông qua L3 VNI trên công tắc Lá thứ hai;
  3. Ngay sau khi tuyến đường đến địa chỉ đích được tìm thấy, Lá gói khung vào một tiêu đề với L3VNI 99000 cần thiết - và gửi nó tới Lá thứ hai;
  4. Công tắc lá thứ hai nhận dữ liệu từ L3VNI 99000. Nhận khung gốc và chuyển nó đến L2VNI 20000 được yêu cầu rồi đến VLAN 20.

Kết quả của công việc này là L3VNI loại bỏ nhu cầu lưu giữ thông tin về tất cả các VNI trên mạng trên tất cả các thiết bị chuyển mạch Lá.

Kết quả là khi chúng ta gửi lưu lượng từ Host-1 đến Host-2 thì packet được đóng gói bên trong VxLAN với VNI - 99000 mới:

Nhà máy VxLAN. Phần 2

Vẫn còn phải xem cách mà Leaf-1 tìm hiểu chính xác về địa chỉ MAC từ một VNI khác. Điều này cũng xảy ra với sự trợ giúp của EVPN route-type 2 (MAC/IP).

Sau đây là quá trình truyền một route về một tiền tố nằm trong một VNI khác:

Nhà máy VxLAN. Phần 2

Tức là các địa chỉ nhận được từ VNI 20000 có hai RT.
Hãy để tôi nhắc bạn rằng các tuyến đường nhận được từ Cập nhật rơi vào bảng BGP với mục tiêu Tuyến đường được chỉ định trong cài đặt VRF (quá trình này hơi phức tạp hơn, nhưng chúng tôi sẽ không đi sâu vào bài viết này).
Bản thân RT được hình thành theo công thức: AS:VNI (nếu sử dụng chế độ tự động).

Một ví dụ về sự hình thành RT ở chế độ tự động và thủ công:

vrf context PROD
  address-family ipv4 unicast
    route-target import auto - автоматический режим работы
    route-target export 65001:20000 - ручной режим формирования RT

Kết quả là, bạn có thể thấy ở trên rằng các tiền tố từ một VNI khác có hai giá trị RT.
Một trong số đó là 65001:99000 là L3 VNI bổ sung. Vì VNI này giống nhau trên tất cả các Lá và tuân theo các quy tắc nhập của chúng tôi trong cài đặt VRF, tiền tố sẽ được đưa vào bảng BGP, có thể nhìn thấy từ đầu ra:

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

Nếu xem xét kỹ hơn bản cập nhật đã nhận, chúng ta có thể thấy rằng tiền tố này có hai 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
<......>

Trong bảng định tuyến trên Leaf-1, bạn cũng có thể thấy tiền tố 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

Lưu ý thiếu tiền tố chính 192.168.20.0/24 trong bảng định tuyến?
Đúng vậy, anh ấy không có ở đó. Nghĩa là, các Lá từ xa chỉ nhận thông tin về các máy chủ trên mạng của bạn. Và đây là hành vi đúng. Ở trên, trong tất cả các bản cập nhật, bạn có thể thấy thông tin đó đi kèm với nội dung của MAC / IP. Không có tiền tố để nói về.

Đây là giao thức Host Mobility Manager (HMM), giao thức này lấp đầy bảng ARP từ đó bảng BGP được lấp đầy thêm (chúng tôi sẽ bỏ qua quy trình này trong khuôn khổ bài viết này). Dựa trên thông tin nhận được từ HMM, các EVPN loại tuyến 2 được hình thành (được truyền bởi MAC/IP).

Tuy nhiên, nếu cần truyền thông tin về tiền tố thì sao?

Đối với loại thông tin này, có loại tuyến đường EVPN 5 - nó cho phép bạn gửi tiền tố qua họ địa chỉ l2vpn evpn (loại tuyến đường này tại thời điểm viết bài này chỉ có trong phiên bản nháp RFC, do đó, các nhà sản xuất khác nhau có thể có hành vi khác nhau đối với loại tuyến đường này)

Để chuyển tiền tố, cần phải thêm tiền tố trong quy trình BGP cho VRF, sẽ được quảng cáo:

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

Do đó, Cập nhật sẽ là:

Nhà máy VxLAN. Phần 2

Hãy nhìn vào bảng BGP. Ngoài tuyến đường EVPN loại 2,3, loại 5 tuyến đường đã xuất hiện có chứa thông tin về số mạng:

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

Tiền tố cũng xuất hiện trong bảng định tuyến:

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ều này kết thúc phần thứ hai của loạt bài viết về VxLAN EVPN. Trong phần tiếp theo, chúng ta sẽ xem xét các tùy chọn khác nhau để định tuyến giữa các VRF.

Nguyên tắc cơ bản của IPv6 và nó khác với IPv4 như thế nào

Nguồn: www.habr.com

Thêm một lời nhận xét