« PreviousContinue »
[302 /304 [300 /‘308 ,s10
sac DEST TYPE PAYLOAD CRC ETHERNET FRAME
/4 1- 1500 >:
,402 ,404 ,400
IP T0P DATA IP PACKET
,502 ,504 [500 /5022 [510 /514
sac DEST TYPE PPP0E PPP IP TCP DATA CRC ETHERNET FRAME
, , W/PPPOE
" 1492 " INFORMATION
. . . £2 / m w_,aE.._@
E2 _,a_2z:ma E2 5:8
01121111 ROUTER SERVER , [702 1 REQUEST T0 I ESTABLISH 1 00111150110111 : WITH SERVER 1 MESSAGE [704 I (IPADDRI, TCP SYN, 1v1ss=1400) ' [700 1 DETERMINE MTU OF PATH : [700 1 ADJUST 1v1ss } 0 MESISAGE [710 _ (IPADDR1, TCP SYN, 1v1ss=14s2) ' [712 I 1 RECORD MTU } FOR 00111150110111 FURTHER MESSAGES T0_EsTAB11sH 00111150110111} [714 MESSAGE [716 } (lPADDR1, TCP ACK, HTTP GET 0111) MESSAGE [718 E (IPADDR1, TGP ACK, HTTP 0&1 URL) ' [720 I 1 DETERMINE MTU , MESSAGE [722 E MESSAGE [724 (lPADDR2, TCP 1|\01<, RESPONSE) FIG- 7 ‘ (|PADDR2, TCP ACK, RESPONSE)
ma: H.<U_E;__ é@>E_,_ $<§=,__ if §¢E;__ ¥§>mz v_%>>m_,_ éozmz 52 2? E1 fi=8_>_ 5%: ~21 fit Ea: ¢_ Nat 5><#__ 8? 5:: .1_ \ $><ZS \ Ea: .§ .\ 5228 § , E .. wow , < < < 555528 A 6z@:%c__\_N_v%_\~_w_\,_QQ H__,__j¢E_,_8 A 6 Q_8Em52 £3 8? ., 8? £1 ._ 4 1 55 m_w<%5 zo_.2@_._&< 55 $<%5 m_Q_>$m .51 $1 $1 Ezmw $1 mm? law g E>$w $52
MODIFYING MESSAGE SIZE INDICATIONS IN COMMUNICATIONS OVER DATA NETWORKS
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit under 35 U.S.C. 119(e) of U.S. Provisional Application Ser. No. 60/228,646, entitled “Method and Apparatus for Reducing the Need for Packet Fragmentation in a Solicited Response Stream,” filed Aug. 29, 2000.
This invention relates to communications over data netWorks.
Packet-based data netWorks are Widely used to link various types of netWork elements, such as personal computers, servers, netWork telephones, Internet appliances, and so forth. Examples of data netWorks include private netWorks (such as local area netWorks or Wide area netWorks) and public netWorks (such as the Internet). Common forms of communications betWeen netWork elements across packetbased data netWorks include electronic mail, file transfer, Web broWsing, and other exchanges of data. More recently, With the increased capacity and reliability of packet-based data netWorks, audio communications (such as voice communications), video communications (such as video conferencing), and other forms of real-time interactive or streaming communications are becoming more common over packet-based data netWorks.
Typically, the interface of a netWork element to a netWork is made up of several layers, including a physical layer, a data link layer, a netWork layer, a transport layer, and higher layers. The physical layer includes the electrical and mechanical interface to the physical communications medium that makes up the netWork. The data link layer, Which sits above the physical layer, is typically responsible for the delivery of data (in one or more frames) to the communications medium. One example of a data link layer is an Ethernet layer, Which is commonly used in many local area netWorks (LAN s). The netWork layer sits above the data link layer, and is responsible for the sWitching and routing of a connection betWeen nodes and for dividing data into packets for communications. One example of a netWork layer is an Internet Protocol (IP) layer. The transport layer sits above the netWork layer and manages the end-to-end connection for error recovery and floW control. One example of a transport layer is a Transmission Control Protocol (TCP) layer.
An Ethernet frame includes a destination address, a source address, payload data, and a cyclic redundancy check (CRC) field (for error detection). If the netWork layer is implemented as an IP layer, then the payload of the Ethernet frame carries an IP packet, Which includes an IP header, a header associated With the transport layer (e.g., a TCP header), and a payload section. The payload section of the IP packet is used to carry data associated With higher-level protocol layers or applications.
When a source IP host has a certain amount of data to send to a destination IP host, the data is transmitted as a series of IP packets. For improved efficiency, the size of each IP packet is set to the maximum size that can be handled by
routers along the path from the source to the destination. This packet size is referred to as the path maximum transmission unit (PMTU). The source IP host is capable of discovering the PMTU of a path. This is done by using the Don’t Fragment (DF) bit in the IP header, and sending the IP packet With the knoWn MTU of its first hop (or router). The packet is forWarded to doWnstream routers Without fragmentation, With a router that is unable to handle the advertised PMTU discarding the packet and returning an ICMP (Internet Control Message Protocol) Destination Unreachable message. The loWer MTU of the router returning the error message is included in the Destination Unreachable message. In this manner, the source IP host can adjust the PMTU to a loWer value.
Using the technique described a source IP host relies on receipt of the error message (in the form of the Destination Unreachable message). If the source IP host does not receive the error message, Which may occur if some nodes along a path are not configured properly, then the source IP host Will assume that the path is capable of handling its initially set PMTU. The source IP host Will then attempt to send (and re-send) packets using the PMTU that are too large for some routers along the path to handle. The result is continued retransmission of a packet (With the intended destination node not receiving the packet) on a periodic basis because the source IP host has not received an acknoWledgement of a successful transmission or an error message indicating a problem in the transmissions. Consequently, valuable bandWidth is consumed in the unnecessary transmission of packets and a delay is experienced at the source terminal in obtaining a desired response from the destination terminal. Although “black hole” detection may be performed to detect such a condition, many nodes are not configured to perform such detection.
A need thus exists for an improved method and apparatus to avoid communicating messages that are too large to handle by some nodes along a communications path.
In general, according to one embodiment, a system comprises a controller adapted to receive a first message containing a data portion and an indication of a size for the data portion. The controller is adapted to further modify the indication to indicate a different size for the data portion.
Some embodiments of the invention may have one or more of the folloWing advantages. By modifying the indication of a size of a data portion to a value that can be handled along a communications path, more reliable communications of messages can be achieved. NetWork bandWidth is enhanced by reducing the frequency of communications in Which messages are transmitted and retransmitted a number of times due to message data portion sizes being too large, especially if a reliable mechanism for returning error messages is not available. Communications delays are reduced by reducing the frequency of transmission of messages With data portions that are too large for routers to handle.
Other or alternative features and advantages Will become apparent from the folloWing description, from the draWings, and from the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an embodiment of a communications system.