PMTU Discovery via TCP Encapsulation and Padding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for determining the Path Maximum Transmission Unit (PMTU) in network paths are inefficient and often fail to identify PMTUs in paths protected by firewalls or those that use network tunnels, leading to packet fragmentation and dropping issues.
Innovation Solution
A method involving the generation of a test packet with an inner packet encapsulated within an outer packet, adding padding data to increase its size, and forwarding it through a network tunnel using a transport layer protocol to determine if the PMTU is greater than or equal to the test packet size, allowing successful traversal and reassembly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional PMTU discovery methods using ICMP error messages are used, then PMTU can be determined in simple network paths, but the method fails in network paths protected by firewalls or packet filters that block error messages
Solution Approach 1:
The patent introduces an intermediary approach by using TCP packets with embedded test data and ACK packets as mediators to discover PMTU. Instead of relying on ICMP error messages that are blocked by firewalls, the system uses TCP protocol interactions where the destination sends back an ACK packet containing information about the largest successfully transmitted packet size, thus mediating the PMTU discovery process through a protocol that is less likely to be blocked.
Solution Approach 2:
The patent changes the parameter being measured from packet size to the difference between sent packet size and acknowledged packet size. By measuring the delta between the size of packets sent and the size of packets acknowledged, the system can infer PMTU without relying on error messages. This parameter transformation allows the discovery mechanism to work around firewall restrictions.
2Reliability
If packet fragmentation is performed to accommodate smaller MTU interfaces, then packets can reach destinations through paths with varying MTUs, but the process is costly and time-intensive
Solution Approach 1:
The patent performs preliminary PMTU discovery before actual data transmission by sending test packets of varying sizes and measuring the difference between sent and acknowledged packet sizes. This preliminary action determines the optimal packet size for the path, allowing subsequent transmissions to be sized appropriately and avoid fragmentation entirely, thus improving transmission efficiency while maintaining reliability.
3Productivity
If packets are sent larger than the path MTU to improve transmission efficiency, then fewer packets need to be transmitted, but packets are dropped when they exceed interface MTU limits
Solution Approach 1:
The patent implements a feedback mechanism where the destination node sends back ACK packets that contain information about the largest packet size successfully received. By measuring the difference between the sent packet size and the acknowledged packet size, the source node receives feedback about the actual PMTU of the path, allowing it to adjust its transmission size to match the path's capacity and avoid packet drops.
4Adaptability or versatility
If TCP packets are used for PMTU discovery instead of ICMP, then the method can traverse firewalls and network tunnels, but the complexity of the discovery process increases
Solution Approach 1:
The patent leverages the universality of the TCP protocol, which is already widely used for data transmission and has broad compatibility with firewalls and network tunnels. By using TCP packets for both data transmission and PMTU discovery purposes, the system avoids the need for special ICMP handling and can operate universally across different network configurations without requiring additional protocol support or complex firewall rules.
Data Source
AI summary
A disclosed method may include (1) generating a test packet that includes an inner packet encapsulated within an outer packet, (2) adding, to the test packet, an amount of padding data that increases a total size of the test packet to a certain threshold, (3) forwarding, via a transport layer protocol, the test packet along a network path that leads from a source node to a destination node by way of a tunnel, (4) receiving the inner packet from the destination node after the destination node extracts the inner packet from the test packet, and (5) determining, based at least in part on receiving the inner packet from the destination node, that a maximum transmission unit of the network path is greater than or equal to the total size of the test packet as increased by the amount of padding data. Various other apparatuses, systems, and methods are also disclosed.


