ZERO: An Efficient Ethernet-Over-IP Tunneling Protocol
An Ethernet over IPv4 tunneling protocol is proposed, which categorizes all Ethernet frames to be tunneled into NICE and UGLY frames. The UGLY frames are tunneled by traditional methods, such as UDP or GRE encapsulation, resulting in substantial overhead due to additional headers and fragmentation usually required to transport long Ethernet frames over IP network typically limited to MTU=1,500 bytes. Meanwhile the NICE Ethernet frames are tunneled without any overhead as plain IPv4 packets due to non-traditional reuse of “fragment offset” or “identification” field in the IP header. It is shown that for typical Internet traffic transported over Ethernet, the proposed ZERO tunneling protocol classifies 99.94 % of Ethernet frames as NICE and thus results in nearly zero-overhead, non-fragmented Ethernet over IP tunneling. The proposed tunneling method extends also to the Ethernet frames containing VLAN and MPLS tags, as well as IPv6 packets—also these can be classified as NICE and transported with zero-overhead over Internet or private IPv4 transport network. Unprecedented efficiency of the proposed tunneling protocol enables wide use of OSI Layer 2 transparency across existing Layer 3 infrastructures thus enabling new network design patterns essential for novel applications such as Internet of things.
KeywordsTransport Network Network Address Translator Tunnel Exit Ethernet Frame IPv4 Packet
This work has been partially supported by the Latvian National Research Program Nr. 2, Development of Innovative Multifunctional Materials, Signal Processing and Information Technologies for Competitive Science Intensive Products” within the project Nr. 5, New Information Technologies Based on Ontologies and Model Transformations.
Fields that are copied to the transformed packet without modification.
An established transformation associated with a unique S-field list.
Lists the transformations of Channels established in a Tunnel.
(\(DC\)), a Channel in a Direct Tunnel.
(\(DT\)) a tunnel that is directed towards branch networks; optimal for “many-to-few” communications.
A tunnel entrance entity (device or software) that transforms a frame from the Transported network into a packet usable in the Transport network.
A tunnel exit entity that transforms a packet used in the Transport network back into the frame used in the Transported network.
The encapsulation headers of IP packet; besides native Ethernet header may include VLAN tags, MPLS headers etc. All fields preceding an IP packet included as the last part of the Ethernet frame are referred to collectively as hederata (see Fig. 2.).
(\(IC\)), a Channel in an Indirect Tunnel.
(\(IT\)) a tunnel that is directed towards central and global networks; optimal for “few-to-many” communications.
A frame that fulfills all criteria set in Definition 1; NICE frames are eligible for zero-overhead tunneling.
A logical networking channel that emulates properties of a physical wire connecting two nodes disregarding the actual physical topology.
Also “Saved fields”, Layer 2-3 information in the tunneled frame that needs to be preserved for accurate recreation on tunnel Exit.
Packet fields that must incorporate values necessary for tunneling the packet over transport network towards the Exit.
The network carrying the tunneled packets. Internet is an exam-ple of Transport network.
The network from which network traffic is to be transported into a tunnel. An example would be a company network.
A simplex logical connection from one Entrance host to one Exit host that is used for ZERO protocol operation.
A frame that does not fulfill all criteria set in Definition 1; UGLY frames are not eligible for zero-overhead tunneling.
Also “Index fields”, often unused fields in the packet’s Layer 3-4 PDUs.
IP packet with a UDP datagram that encapsulates the transported frame.
IP packet into which a NICE frame is transformed for zero-overhead for-warding in the Transported network.
Like ZERO ENC encapsulates the transported frame incapsulated in a UDP datagram; ZERO SYN has one extra field for index value that allows to syncronise the S-fields of encapsulated frame to the tunnel Exit.
A ZERO protocol prototype implementation in a userland process.
- 1.RFC 4448, Encapsulation Methods for Transport of Ethernet over MPLS Networks, http://www.ietf.org/rfc/rfc4448.txt 15 Oct 2012
- 2.RFC 4447, Pseudowire Setup and Maintenance—Using the Label Distribution Protocol (LDP), http://www.ietf.org/rfc/rfc4447.txt 15 Oct 2012
- 3.IEEE Std. 802.1Q-2005, Virtual Bridged Local Area NetworksGoogle Scholar
- 4.Carrier Ethernet, http://en.wikipedia.org/wiki/Carrier_Ethernet 15 Oct 2012
- 5.OpenVPN, http://openvpn.net/ 15 Oct 2012
- 6.RFC2661, Layer Two Tunnelling Protocol "L2TP", http://www.ietf.org/rfc/rfc2661.txt 15 Oct 2012
- 7.RFC 3095, RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed, http://www.ietf.org/rfc/rfc3095.txt 15 Oct 2012
- 8.RFC 1027, Using ARP to Implement Transparent Subnet Gateways, http://www.ietf.org/rfc/rfc1027.txt 15 Oct 2012
- 9.RFC3514, The Security Flag in the IPv4 Header, http://www.ietf.org/rfc/rfc3514.txt 15 Oct 2012
- 10.Linux man-pages project, release 3.35, packet (7) function manual, http://man7.org/linux/man-pages/man7/packet.7.html 15 Oct 2012
- 11.W.R. Stevens, B. Fenner, A.M. Rudoff, Unix Network Programming, Vol 1: The Sockets Networking API (3rd Edition), Addison Wesley, 2003Google Scholar
- 12.The Linux Kernel Module Programming Guide, http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html 15 Oct 2012
- 13.RFC1702, Generic Routing Encapsulation over IPv4 networks, http://www.ietf.org/rfc/rfc1702.txt 15 Oct 2012
- 14.RFC3378, EtherIP: Tunneling Ethernet Frames in IP Datagrams, http://tools.ietf.org/html/rfc3378 15 Oct 2012
- 15.Large Segment Offload, Wikipedia, http://en.wikipedia.org/wiki/Large_segment_offload 15 Oct 2012
- 16.VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks, http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 15 Oct 2012
- 17.NVGRE: Network Virtualization using Generic Routing Encapsulation, http://tools.ietf.org/html/draft-sridharan-virtualization-nvgre-00 15 Oct 2012
- 18.A Stateless Transport Tunneling Protocol for Network Virtualization (STT), http://tools.ietf.org/html/draft-davie-stt-01 15 Oct 2012
- 19.RFC 791, INTERNET PROTOCOL, http://tools.ietf.org/html/rfc791 15 Oct 2012
- 20.Mikrotik RouterOS wiki, http://wiki.mikrotik.com/wiki/MikroTik_RouterOS wiki 15 Oct 2012
- 21.RFC1701, Generic Routing Encapsulation (GRE), http://www.ietf.org/rfc/rfc1701.txt 15 Oct 2012
- 22.RFC3022, Traditional IP Network Address Translator (Traditional NAT), http://www.ietf.org/rfc/rfc3022.txt 15 Oct 2012
- 23.RFC5128, State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs), http://www.ietf.org/rfc/rfc5128.txt 15 Oct 2012