EVPN (RFC 7432) dùng BGP address-family l2vpn evpn làm control plane để quảng bá MAC/IP, thay cho học MAC bằng flood-and-learn. VXLAN (RFC 7348) là data plane: đóng gói frame Ethernet trong UDP/4789 kèm VNI 24-bit (khoảng 16 triệu segment). Mỗi switch đầu cuối là một VTEP, thường dùng loopback làm địa chỉ nguồn tunnel. EVPN cũng chạy trên MPLS (EVPN-MPLS) trong mạng nhà mạng. Phần route type dưới đây dùng chung cho cả hai.
Kiến trúc fabric điển hình
flowchart TD S1["Spine1 RR / eBGP"] --- L1["Leaf1 VTEP 192.0.2.11"] S1 --- L2["Leaf2 VTEP 192.0.2.12"] S2["Spine2 RR / eBGP"] --- L1 S2 --- L2 L1 -.-|"VXLAN UDP 4789"| L2 H1["Host A VLAN 10"] --- L1 H2["Host B VLAN 20"] --- L2
Underlay (IS-IS/OSPF hoặc eBGP) chỉ cần mang loopback VTEP. Overlay là BGP EVPN giữa leaf, qua spine làm route reflector (iBGP) hoặc qua eBGP (mỗi leaf một AS private, ví dụ 65001, 65002).
Route type
| Type | Tên | Dùng để | Ghi chú |
|---|---|---|---|
| 1 | Ethernet Auto-Discovery (A-D) | Multihoming: mass withdraw khi link ES hỏng, aliasing (load-balance tới nhiều PE cùng ES) | Per-ES và per-EVI |
| 2 | MAC/IP Advertisement | Quảng bá MAC (kèm IP nếu có) của host | Thay flood-and-learn, hỗ trợ ARP suppression |
| 3 | Inclusive Multicast Ethernet Tag (IMET) | Báo VTEP nào tham gia VNI nào, dựng danh sách flood BUM | Ingress replication hoặc multicast underlay |
| 4 | Ethernet Segment | Tìm PE cùng ES, bầu Designated Forwarder (DF) | Chỉ khi có multihoming (ESI) |
| 5 | IP Prefix | Quảng bá prefix IP vào VRF (subnet, route từ firewall, default) | RFC 9136, dùng với L3VNI |
Phân biệt nhanh: type 2 là host (MAC, /32, /128), type 5 là prefix (subnet, route ngoài). Thiếu type 3 thì broadcast/ARP không tới VTEP đó.
VNI và các khái niệm đi kèm
| Thuật ngữ | Ý nghĩa |
|---|---|
| L2VNI | VNI ánh xạ 1-1 với một VLAN/bridge domain, mang lưu lượng bridge |
| L3VNI | VNI ánh xạ với một VRF, mang lưu lượng đã route giữa các VTEP (symmetric IRB) |
| RD / RT | Như L3VPN: RD làm route duy nhất, RT quyết định import vào MAC-VRF/IP-VRF nào. Hay dùng auto-derive ASN:VNI |
| ESI | Ethernet Segment Identifier 10 byte, định danh một nhóm link multihoming (EVPN all-active thay MC-LAG) |
| Anycast gateway | Mọi leaf cùng IP và MAC gateway cho một subnet, host di chuyển không cần ARP lại |
| Router MAC | Extended community trong route type 2/5, cho VTEP đích biết MAC đích khi đóng gói L3VNI |
Symmetric và asymmetric IRB
IRB (RFC 9135) là route giữa các subnet ngay trên leaf.
| Tiêu chí | Asymmetric IRB | Symmetric IRB |
|---|---|---|
| Leaf vào | Route rồi bridge sang VNI đích | Route, đóng gói bằng L3VNI |
| Leaf ra | Chỉ bridge | Route lần nữa từ L3VNI xuống VLAN đích |
| VNI cần có trên leaf | Mọi L2VNI của mọi subnet trong VRF | Chỉ L2VNI có host local + một L3VNI mỗi VRF |
| Bảng ARP/MAC | Lớn, mọi leaf học mọi host | Nhỏ hơn, mở rộng tốt |
| Route type 5 | Không dùng được cho prefix ngoài | Dùng được |
| Hay gặp | Fabric nhỏ, cấu hình đơn giản | Mặc định ở hầu hết thiết kế hiện nay |
sequenceDiagram participant A as Host A VLAN 10 participant L1 as Leaf1 participant L2 as Leaf2 participant B as Host B VLAN 20 A->>L1: Frame tới anycast gateway L1->>L1: Route trong VRF L1->>L2: VXLAN với L3VNI, MAC đích là Router MAC của Leaf2 L2->>L2: Route trong VRF xuống VLAN 20 L2->>B: Frame tới Host B
Khi nào dùng
- EVPN-VXLAN: fabric DC leaf-spine, cần L2 stretch giữa rack/DC, multi-tenant, thay MC-LAG bằng ESI multihoming.
- EVPN-MPLS: nhà mạng đã có core MPLS/SR, thay VPLS cho dịch vụ L2VPN. Phần L3 thuần thì MPLS L3VPN vẫn đơn giản hơn.
- Overlay chạy BGP nên mọi kỹ thuật troubleshooting BGP đều dùng được: xem BGP – khái niệm.
- Nhớ MTU: VXLAN thêm 50 byte (IPv4 underlay), underlay nên chạy MTU 9216.