Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Packet Traversal

The following image and table show a large ICMP packet traversing from ECU 1 to ECU 2, passing through the edge devices and the WireGuard tunnel. The packet gets fragmented due to the MTU size of the WireGuard tunnel, which is set to 1542 bytes at the WireGuard interface wt0.

Packet Traversal Example

Packet traversal

Packet Traversal Table

The table shows the packet traversal from ECU 1 to ECU 2, including the time, source and destination IP addresses, protocol, frame size, interface names and additional information about the packets. This example illustrates how the ICMP echo request is fragmented and reassembled as it traverses through the network interfaces and edge devices.

#TimeSourceDestinationProtocolSizeDeviceInterface IDInterface nameInfo
12.54736310.0.0.110.0.0.2ICMP1514ECU 10vlan@eth0Echo (ping) request id=0x5285, seq=0/0, ttl=64
22.54736510.0.0.110.0.0.2ICMP1518ECU 11eth0Echo (ping) request id=0x5285, seq=0/0, ttl=64
32.54746510.0.0.110.0.0.2ICMP1518edge12enxEcho (ping) request id=0x5285, seq=0/0, ttl=64
42.54746510.0.0.110.0.0.2ICMP1518edge13br-opendutEcho (ping) request id=0x5285, seq=0/0, ttl=64
52.54752110.0.0.110.0.0.2ICMP1518edge14greEcho (ping) request id=0x5285, seq=0/0, ttl=64
62.54755510.0.0.110.0.0.2ICMP1542edge15wt0Echo (ping) request id=0x5285, seq=0/0, ttl=64
72.547682192.168.0.1192.168.0.2IPv41514edge16end0Fragmented IP protocol (proto=UDP 17, off=0, ID=6ab0) [Reassembled in #8]
82.547697192.168.0.1192.168.0.2WireGuard146edge16end0Transport Data, receiver=0x527A7C12, counter=277, datalen=1552
92.547739192.168.0.1192.168.0.2IPv41514edge27end0Fragmented IP protocol (proto=UDP 17, off=0, ID=6ab0) [Reassembled in #10]
102.547739192.168.0.1192.168.0.2WireGuard146edge27end0Transport Data, receiver=0x527A7C12, counter=277, datalen=1552
112.54783710.0.0.110.0.0.2ICMP1542edge28wt0Echo (ping) request id=0x5285, seq=0/0, ttl=64
122.54783710.0.0.110.0.0.2ICMP1518edge29greEcho (ping) request id=0x5285, seq=0/0, ttl=64
132.54783710.0.0.110.0.0.2ICMP1518edge210br-opendutEcho (ping) request id=0x5285, seq=0/0, ttl=64
142.54789610.0.0.110.0.0.2ICMP1518edge211enxEcho (ping) request id=0x5285, seq=0/0, ttl=64
152.54789610.0.0.110.0.0.2ICMP1518ECU 212eth0Echo (ping) request id=0x5285, seq=0/0, ttl=64
162.54789610.0.0.110.0.0.2ICMP1514ECU 213vlan@eth0Echo (ping) request id=0x5285, seq=0/0, ttl=64 (reply in 14)
172.54795910.0.0.210.0.0.1ICMP1514ECU 213vlan@eth0Echo (ping) reply id=0x5285, seq=0/0, ttl=64 (request in 13)
182.54795910.0.0.210.0.0.1ICMP1518ECU 212eth0Echo (ping) reply id=0x5285, seq=0/0, ttl=64
192.54795910.0.0.210.0.0.1ICMP1518edge211enxEcho (ping) reply id=0x5285, seq=0/0, ttl=64
202.54795910.0.0.210.0.0.1ICMP1518edge210br-opendutEcho (ping) reply id=0x5285, seq=0/0, ttl=64
212.54796910.0.0.210.0.0.1ICMP1518edge29greEcho (ping) reply id=0x5285, seq=0/0, ttl=64
222.54798910.0.0.210.0.0.1ICMP1542edge28wt0Echo (ping) reply id=0x5285, seq=0/0, ttl=64
232.548052192.168.0.2192.168.0.1IPv41514edge27end0Fragmented IP protocol (proto=UDP 17, off=0, ID=6507) [Reassembled in #24]
242.548060192.168.0.2192.168.0.1WireGuard146edge27end0Transport Data, receiver=0x010151F4, counter=110, datalen=1552
252.548134192.168.0.2192.168.0.1IPv41514edge16end0Fragmented IP protocol (proto=UDP 17, off=0, ID=6507) [Reassembled in #26]
262.548134192.168.0.2192.168.0.1WireGuard146edge16end0Transport Data, receiver=0x010151F4, counter=110, datalen=1552
272.54830710.0.0.210.0.0.1ICMP1542edge15wt0Echo (ping) reply id=0x5285, seq=0/0, ttl=64
282.54830710.0.0.210.0.0.1ICMP1518edge14greEcho (ping) reply id=0x5285, seq=0/0, ttl=64
292.54830710.0.0.210.0.0.1ICMP1518edge13br-opendutEcho (ping) reply id=0x5285, seq=0/0, ttl=64
302.54838810.0.0.210.0.0.1ICMP1518edge12enxEcho (ping) reply id=0x5285, seq=0/0, ttl=64
312.54848810.0.0.210.0.0.1ICMP1518ECU 11eth0Echo (ping) reply id=0x5285, seq=0/0, ttl=64
322.54848910.0.0.210.0.0.1ICMP1514ECU 10vlan@eth0Echo (ping) reply id=0x5285, seq=0/0, ttl=64

Remarks:

  • The interface ID corresponds to the numbers in the image above.
  • The ICMP packet is sent from ECU 1 at 10.0.0.1 to ECU 2 at 10.0.0.2.
  • The packet is fragmented at the edge device due to the MTU size of the network interfaces that connect the edge devices. See steps 7-10 and 23-26.
  • The packet request reaches the destination ECU 2 in step 16.

Overhead analysis

The packet sent by the DuT has 1518 bytes, consisting of a standard ethernet frame with 1514 bytes and VLAN tag with 4 bytes. This packet exceeds the MTU of 1500 bytes at the edge device. In this case there are two packets sent between the edge devices with 146 bytes and 1514 bytes. The overhead of OpenDuT can therefore be computed as follows: (1514 + 146) - 1518 = 142 Bytes

Breakdown:

  • GRE encapsulation overhead: 24 bytes
  • Fragmentation due to MTU limit (requires a second packet with IPv4 header and Ethernet frame): 34 bytes
  • Encapsulation in another Ethernet frame (WireGuard tunnel): 34 bytes
  • WireGuard encryption overhead: 1592 bytes (WireGuard packet) - 1542 bytes (original payload) = 50 bytes

Thus: 1660 - 50 - 34 - 34 - 24 = 1518 bytes