IP Library › Granted Patent US 7,483,376
Granted Patent B2
US 7,483,376 · App. 10/870,541 · Granted Jan 27, 2009

Method and apparatus for discovering path maximum transmission unit (PMTU)

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,483,376
App. No.
10/870,541
Granted
Jan 27, 2009
Kind
B2
Abstract

The present invention provides a method and apparatus for discovering a path maximum transmission unit. The method comprises receiving a data packet from a first remote device for transmission to a second remote device and determining if a size of the received data packet is greater than a maximum transmission unit (MTU) value. In response to determining that the size of the received data packet is greater than the MTU value, the method further comprises transmitting a portion of the received data packet to the second remote device and transmitting a message to the first remote device indicating that the size of the received data packet exceeds the MTU value.

Claims (20)

1. A method, comprising:

receiving a first IP data packet encapsulating a second data packet from a first remote device for transmission to a second remote device, wherein the encapsulated second data packet comprises at least a header portion containing header information and a data portion containing data, and wherein the received first IP data packet includes a “don't fragment” flag;

determining if a size of the received first IP data packet is greater than a maximum transmission unit (MTU) value; and

in response to determining that the size of the received first IP data packet is greater than the MTU value, transmitting a portion of the data within the data portion of the received encapsulated second data packet to the second remote device and transmitting a message to the first remote device indicating that the size of the received first IP data packet exceeds the MTU value, wherein transmitting a portion of the data within the data portion of the received encapsulated second data packet and transmitting the message to the first remote device are done in response to determining that the “don't fragment” flag is set.

2. The method of claim 1 , wherein the act of receiving comprises receiving the first IP data packet from a transmitting host for transmission to a receiving host.

3. The method of claim 1 , wherein receiving the encapsulated second data packet includes receiving a first transmission control protocol (TCP) data packet in the data portion of the first IP data packet;

further comprising, in response to determining the size of the received first IP data packet is greater than the MTU value, forming a second TCP data packet with a portion of the data within the data portion of the received encapsulated second data packet, wherein forming the second TCP data packet comprises determining a checksum value of the second TCP data packet;

further comprising, forming a second IP packet that encapsulates the second TCP data packet, wherein the size of the second IP packet is less than the MTU value; and

wherein transmitting the portion of the data within the data portion of the received encapsulated second data packet further comprises:

transmitting, in the second IP packet, the portion of the data that contains the higher order bytes of the data portion of the received encapsulated second data packet to the second remote device; and

transmitting the checksum value of the second TCP data packet to the second remote device;

wherein transmitting the message to the first remote device further comprises:

generating the message that is used by the first remote device as a starting reference for determining a selected time interval after which a portion of data within the encapsulated second data packet is re-transmitted by the first remote device; and

providing, in the message, information about at least one intermediate MTU value that is less than the size of the received first IP packet, wherein the message is included in an Internet Control Message Protocol (ICMP) packet.

4. The method of claim 1 , further comprising transmitting to the first remote device the MTU value.

5. The method of claim 1 , wherein transmitting the portion of the data within the data portion of the received encapsulated second data packet comprises transmitting a second IP data packet of a size that substantially corresponds to the MTU value, and wherein transmitting the portion of the data within the data portion of the received encapsulated second data packet comprises transmitting the portion of the data within the data portion of the received encapsulated second data packet within a transmission control protocol (TCP) data packet.

6. The method of claim 1 , further comprising determining a checksum value of a second IP data packet that is transmitted to the second remote device and transmitting the checksum value of the second IP data packet to the second remote device.

7. The method of claim 1 , wherein transmitting the portion of the data within the data portion of the received encapsulated second data packet comprises setting a “don't fragment” flag associated with a data payload portion of the received first IP data packet before transmitting the portion of the received data within the encapsulated second data packet to the second remote device.

8. The method of claim 1 , further comprising receiving, using the first remote device, the message indicating that the size of the received first IP data packet exceeds the MTU value, waiting for a selected time interval, and transmitting, using the first remote device, a portion of data within the data portion of the received encapsulated second data packet in a second IP data packet of a selected size in response to waiting for the selected time interval.

9. The method of claim 8 , wherein the message contains the MTU value, and wherein transmitting the second IP data packet of the selected size comprises transmitting the second IP data packet of a size that substantially corresponds to the MTU value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2004
From: BANERJEE, DWIP N.; BROWN, DEANNA LYNN QUIGG; PANCHOLI, KETAN P.; VENKATSUBRA, VENKAT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014846/0926 →
Continuity (1)
Related Publication 20050281288A1 · Dec 22, 2005