Way to geneve

Habr, hello.





My name is Arkady and I am a network engineer at one of the service providers. Who is interested in the main differences between VXLAN and Geneve welcome under cat. Avoiding a shot in the leg, I want to note that the basis of the article is extracts from RFC and WMware open source information.





In NSX-T, VMware is moving away from VXLAN-based Overlay in favor of Geneve. In addition to VMWare, the implementation of Geneve is being lobbied by companies such as Intel, Microsoft, Red Hat. Marketing cites the following reason for Geneve: "Geneve combines the best of VXLAN (Virtual Extensible LAN), NVGRE (Network Virtualization using Generic Routing Encapsulation), and STT (Stateless Transport Tunneling)." Let's analyze the differences between the new Overlay protocol and why it is preferred by the leading virtualization vendors.





Now, in order:





Geneve is a tunneling protocol over UDP (port number) for building tunnels between NVEs (Network Virtualization Edge) via IP underlay. Described in RFC8926, which in turn replaced the previous draft draft-gross-geneve 2020-11-06.





IETF VXLAN, NVGRE STT. .





()   L2 IP . ,  VLAN Tag 802.1q 2 ^ 12 = 4094.





Geneve

Geneve 8 .





Geneve header
Geneve header

Ver (2 bits) โ€“ . 0.





Opt Len (6 bits) โ€“ Variable Length Options. + Opt Len = .





O (1bit) โ€“ Control packet. TEPs (tunnel end points). .





C (1bit) โ€“ Critical options present. TEP. TEP .





Rsvd.(6 bits) Reserved. = 0 .





Protocol type (16 bits) - 0x6558 Transparent Ethernet Bridging.





VNI (24 bits) โ€“ Virtual Network Identifier โ€“ . L2 Ethernet . NSX-T VNI 5000 16777216.





Reserved (8 bits). = 0 .





Geneve TLV . 4 Type . , , . IANA . Geneve RFC . (C) Critical TEPs. TEP C โ€“ .





TEP, . , UDP .





VXLAN (RFC7348)





VXLAN Header (8 bytes)
VXLAN Header (8 bytes)

VXLAN Flags (8 bits) โ€“ , I โ€“ 1 VNI, R โ€“ 0





Reserved (24 bits) - 0





VNI (24 bits) - . L2 . Geneve ( 16 ).





Reserved (8 bits) - 0 .





vxlan.pcap





 Summary VXLAN GENEVE:





8 Geneve . Geneve ยซยป:





  • * type, length, value;





  • ;





* , .





Geneve over IPv4 :





Geneve.pcap





The requirements for the IP Underlay network infrastructure are as follows:





  • IP connectivity between TEP





  • No UDP6081 Geneve or UDP4789 VXLAN blocking in the traffic path





  • Minimum MTU 1600 bytes





Total

There are no significant differences between VXLAN and Geneve at the header level, as well as at the packet encapsulation stage.





It turned out rather briefly. In the future, I plan to consider the process of building look-up tables (of which there are three) and the stages of transferring the Geneve packet between TEP to the NSX-T example.








All Articles