Kernel Socket-Intercept Layer for MTU Compliant Packet Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional operating system kernels often fail to fragment packets into segments that comply with the Maximum Transmission Units (MTUs) of egress interfaces, leading to failed packet transfers due to unawareness of interface MTUs.

Innovation Solution

A socket-intercept layer in kernel space intercepts packets and queries a routing daemon for the MTU value of the egress interface, with a tunnel driver fragmenting the packets into segments that comply with the MTU, ensuring successful transmission through the egress interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the operating system kernel passes large packets (e.g., 9000 bytes) to the packet forwarding engine without fragmentation, then the internal interface can efficiently transmit packets at its full MTU capacity, but the packet transfer fails when the packet size exceeds the egress interface MTU (e.g., 1500 bytes)

Engineering Contradiction:
Improvepacket transmission efficiencyVSAvoidpacket transfer success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies segmentation by dividing a large packet into multiple smaller segments that comply with the egress interface MTU. The socket-intercept layer in kernel space fragments the original 9000-byte packet into multiple 1500-byte segments, allowing efficient transmission through the egress interface while maintaining the benefits of large packet transmission on the internal interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by performing packet fragmentation in advance within the kernel space before packets are transmitted to the packet forwarding engine. The socket-intercept layer intercepts packets and fragments them proactively, preventing transmission failures before they occur and eliminating the need for retransmission.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If traditional operating system kernels are unaware of egress interface MTUs, then the kernel can simplify packet handling by not performing fragmentation, but packet transfers fail due to size mismatches with egress interface constraints

Engineering Contradiction:
Improvekernel packet handling complexityVSAvoidpacket transfer success rate
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces an intermediary component - the socket-intercept layer in kernel space - that acts as a mediator between the operating system kernel and the packet forwarding engine. This intermediary is responsible for querying interface MTUs and performing fragmentation, allowing the kernel to maintain simplicity while ensuring reliable packet transmission through proper size adaptation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service by enabling the kernel space socket-intercept layer to autonomously query interface MTUs and perform fragmentation without requiring external intervention or complex kernel modifications. The kernel simply passes packets to this self-sufficient layer that handles all adaptation requirements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11063877B1Apparatus, device, and method for fragmenting packets into segments that comply with the maximum transmission unit of egress interfaces
Publication Date: 2021.07.13 JUNIPER NETWORKS INC
  • US11063877B1 patent drawing
  • US11063877B1 patent drawing
  • US11063877B1 patent drawing

AI summary

A socket-intercept layer in kernel space on a network device may intercept a packet destined to egress out of the network device. The socket-intercept layer may then query a routing daemon for the Maximum Transmission Unit (MTU) value of the interface out of which that packet is to egress from the network device. In response to this query, the routing daemon may provide the socket-intercept layer with the MTU value of that interface. A tunnel driver in kernel space may identify the size of the packet and fragment the packet into segments whose sizes are each less than or equal to the MTU value of the interface. The tunnel driver may then push the segments of the packet to a packet forwarding engine on the network device. In turn, the packet forwarding engine may forward the segments of the packet to the corresponding destination via the interface.