throbber
Fragmentation Considered Harmful
`
`Christopher A. Kent
`Jeffrey C. Mogul
`
`Digital Equipment Corporation
`Western Research Lab
`
`(Originally published in Proc. SIGCOMM ‘87, Vol. 17, No. 5, October 1987)
`
`Abstract
`
`Internetworks can be built from many different kinds of networks, with varying limits on
`maximum packet size. Throughput is usually maximized when the largest possible packet is
`sent; unfortunately, some routes can carry only very small packets. The IP protocol allows a
`gateway to fragment a packetif it is too large to be transmitted. Fragmentation is at best a
`necessary evil; it can lead to poor performance or complete communication failure. There are a
`variety of ways to reduce the likelihood of fragmentation; some can be incorporated into exist-
`ing IP implementations without changes in protocol specifications. Others require new
`protocols, or modifications to existing protocols.
`
`1. Introduction
`
`Internetworks built of heterogeneous networks are
`valuable because they insulate higher-level protocols
`from changes in network technology, because they al-
`low universal communication without the expense of
`constructing a homogeneous universal
`infrastructure,
`and because they allow the use of different network
`technologies as appropriate to both local-area and long-
`haul
`links. Most datagram networks set a maximum
`limit on tile size of packets they carry,
`to simplify
`packet buffering in the nodes and to limit how long one
`packet can lie up the link. In a heterogeneous interned
`such as the DARPAIP Internet, these packet-size limits,
`known as MTUs(for maximum transmission unit) vary
`widely from 254 bytes for Packet Radio networks to
`2000 bytes for the Wideband Satellite Network [22];
`since nobody knows exactly what is connected to the
`Internet, the range in MTUs maybe even broader.
`
`In general, it is better to use a few large packets instead
`of many small packets to carry a given amount ofdata,
`because much ofthe cost of packetized communication
`is per-packet rather than per-byte. On a high-speed
`LAN,
`throughput can increase almost
`linearly with
`packet size over a wide range of sizes. Therefore, we
`prefer to make our packetsas large as possible.
`
`This desire for large packets conflicts with the variation
`in MTUsacross an internet. We want to send large
`
`packets but some network along the packets’ path may
`not be able to carry them. One approachto this dilemma
`is fragmentation when a node must transmit a packet
`that is larger than the MTU ofthe network.it breaks the
`packet into several smaller fragments and sends them
`instead.If the fragmentsare all sent along the same data
`link and are immediately reassembled at the next node,
`this is called transparent or intra-network fragmenta-
`tion. If the fragments are allowed to follow independent
`routes, and are reassembled only upon reaching their
`ultimate destination this is called inter-network frag-
`mentation. A good discussion of both methods, in more
`detail, may be found in Shoch [23].
`
`In this paper, drawing on experience with a large
`heterogeneous internetwork, we examine fragmentation
`in the context of the IP protocol [18]. IP supports the
`use
`of
`inter-network
`fragmentation.
`(Transparent
`fragmentation may be also be used as long asit is
`invisible to the IP layer.) Fragmentation appearsatfirst
`to be an elegant solution to the problem, but subtle
`complications arise in real networks that can result in
`poor performanceor even total communicationfailure.
`
`Experience with inter-network fragmentation in the IP
`Internet has convinced us that it is something to avoid.
`In section 2 we compare the advantages and dis-
`advantages of fragmentation,
`in order to justify this
`assertion. We then discuss,
`in section 3, a variety of
`schemesfor avoiding or recovering from fragmentation
`
`ACM SIGCOMM
`
`-75-
`
`Computer Communication Review
`
`INTEL EX. 1420.001
`
`INTEL EX. 1420.001
`
`

`

`2. Whatis wrong with fragmentation?
`
`The arguments in favor of fragmentation are straight-
`forward. Fragmentation allows higher level protocols to
`be
`unconcerned with
`the
`characteristics of
`the
`transmission channel, and to send data in conveniently
`sized pieces. Sending larger quantities of data in each IP
`datagram minimizes the bookkeeping overhead asso-
`ciated with managing the data. (See section 3.5 fowl
`specific example.)
`
`Fragmentation allows the source host to deal with routes
`having different MTUs without having to know what
`path packet are taking. The safest strategy is for the
`source to send very small datagrams, at a great loss of
`efficiency. Fragmentation allows the source to choose a
`size that is “reasonable” and, when that size proves to
`be too large, provides a mechanism that allows data to
`continueto get through.
`
`fragmentation allows protocols to optimize
`Finally,
`performance for high bandwidth connections. Emerging
`network technologies have larger and larger MTUs.
`Mostlocal networks have MTUslarge enough to send
`1024 bytes of user data plus associated overhead in a
`single packet; new technologies will allow ten times
`that. Fragmentation provides a mechanism for deciding
`the actual packet size as late as possible. It especially
`allows protocols to avoid choosing to send small
`datagrams until absolutely necessary. Protocols can
`choose large segment sizes to take advantage of the
`large MTU in a local network, and rely on fragmenta-
`tion at gateways to send the segments through networks
`with small MTUs when needed. If datagrams must
`traverse a route consisting of several high-MTU links
`followed by a low-MTUlink, by delaying the use of
`small packets until
`the low-MTU link is
`reached,
`fragmentation allows the use of large packets on the
`initial high MTU links, and thus uses those links more
`efficiently.
`
`The arguments against fragmentation fall
`categories
`
`into three
`
`e
`
`e
`
`of
`use
`inefficient
`causes
`Fragmentation
`resources: Poor choice of fragment sizes can
`greatly increase the cost of delivering a datagram.
`Additional bandwidth is used for the additional
`header information, intermediate gateways must
`expend computational resources to make addi-
`tional routing decisions, and the receiving host
`must reassemble the fragments.
`
`Loss of fragments leads to degraded per-
`formance: Reassembly of IP fragments is not
`very robust. Loss of a single fragment requires
`the higher level protocol to retransmit all of the
`
`data in the original datagram, even if most of the
`fragments were received correctly.
`
`e
`
`the
`reassembly is hard: Given
`Efficient
`likelihood of lost fragments and the information
`present in the IP header, there are manysituations
`in which the reassembly process, though straight-
`forward, yields lower than desired performance.
`
`2.1. An overview of fragmentation in IP
`
`IP is a protocol providing unreliable delivery of
`datagrams. IP datagrams are encapsulated in network-
`specific packets. Gateways may fragment an incoming
`packet if it will not fit in a single outgoing packet; in
`this case, each fragment is sent as a separate packet.
`The [P header contains several fields that are used to
`manage fragmentation [18]:
`
`e
`
`e
`
`e
`
`Identification: A 16-bit field assigned by the
`sender to aid in assembling the fragments of a
`datagram. The tuple (source, destination, proto-
`col, identification) for a given datagram must be
`unique over all existing datagrams. When a
`packet is fragmented, the value of the Identifica-
`tion field of the original packet is copied into
`each fragment.
`
`Timeto live (TTL): An8-bit field that specifies
`the maximum time, measured in seconds, that the
`packet may remain in the Internet system. If TTL
`contains the value zero,
`the packet must be
`discarded. The TTL must be decreased byat least
`one every time the packet passes through a
`gateway, even if the time required to process the
`packetis less than a second. Thus, the TTL field
`is an upper bound on packetlifetime.
`
`Fragmentoffset: A 13-bit field that identifies the
`fragmentlocation, relative to the beginning of the
`original, unfragmented datagram. Fragment off-
`sets are in units of 8 bytes.
`
`indicates
`field that
`e More fragments: A I-bit
`whether or not this is the last fragment of the
`datagram.
`
`The reassembly process consists of matching the
`protocol and identification fields of incoming fragments
`with those of fragments already held, and coalescing the
`data into complete datagrams. Fragments must be
`discarded if their TTL expires while they are held for
`reassembly.
`(For more details of
`the reassembly
`algorithm, see [5].)
`
`level protocols such as TCP (Transmission
`Higher
`Control Protocol) [19] use IP as a basis to implement a
`reliable connection between two client processes.
`Portions of the data stream known as segments are sent
`in individual IP datagrams, along with control informa-
`
`ACM SIGCOMM
`
`-76-
`
`Computer Communication Review
`
`INTEL EX. 1420.002
`
`INTEL EX. 1420.002
`
`

`

`tion used by the cooperating TCP processes to ensure
`reliable communication.
`In particular, TCP uses a
`sequence number that covers individual bytes in the
`data stream, and an acknowledgment mechanism that
`allows the receiving process to tell the sender “TI have
`correctly received all data up to and including sequence
`number 7.”
`
`2.2. Fragmentation causesinefficient resource usage
`
`Consider the costs associated with sending a packet.
`Each time it passes through a gateway, there is some
`constant computational overhead to make
`routing
`decisions, modify the packet header, compute the new
`checksum, and move the packet between the appropriate
`incoming and outgoing queues. In addition, a portion of
`the available bandwidth on the incoming and outgoing
`interfaces is consumed.
`In many cases,
`the constant
`computational overhead dominates the cost. Input and
`output may be overlapped using DMA devices;
`in a
`typical uniprocessor gateway,
`there is no way to
`parallelize the computational overhead.
`
`Fragmenting at an IP gateway, rather than having the
`host choose the appropriate segment size to avoid
`fragmentation, may lead to suboptimal use of gateway
`resources and network bandwidth. Consider a TCP
`processthat tries to send 1024 data bytes across a route
`that includes the ARPAnet, which has an MTU of 1006
`bytes. The IP and TCP headers are at least 40 bytes
`long, leading to a total unfragmented IP datagram 1064
`bytes in length. To cross the ARPAnet,
`this will be
`broken into a 1006 byte fragment, followed by a 78 byte
`fragment. These short fragments amortize the fixed
`overhead per ARPAnet packet over very few bytes of
`data, and the total packet count is much higher than
`needed. If the sending TCP instead chooses segments
`that fit in a 1006 byte ARPAnetpacket,the total packet
`count is minimized, and the total overhead is as low as
`possible.
`
`For example, consider sending 10 Kbytes of data.
`Sending 1024-byte TCP segments generates 10 IP
`datagrams, each 1064 bytes long. Each datagram is
`fragmented into two ARPAnet packets, one 1006 bytes
`long and the other 78 bytes, for a total of 20 packets.If
`the originating TCP instead sends 966 byte segments
`(the largest that will fit in a single ARPAnet packet),
`only 11 packets are sent.
`
`Anotherlimit to utilizing available bandwidth lies in the
`interaction of the TTL and Identification fields. Assume
`that a reasonable initial value for the TTL field is 32
`(the maximum hop count from edge to edge of the
`DARPA Internet is currently estimated to be between
`15 and 20). If we allow fragmentation, we must ensure
`that all datagrams in flight have unique values for the
`
`Identification field. Thus, the maximum datagram rate is
`216/32, or 2048 datagrams per
`second. Current
`gateways can forward nearly 1000 packets per second;
`high performance workstations
`and interfaces can
`generate packets much more rapidly, and can probably
`forward 4000 packets per second. We are certainly
`within five years of having commonly available
`processor and network technology that pushes against
`the limit imposed by the 16-bit Identification field.
`
`to increase bandwidth in the
`This limit implies that,
`presence of fragmentation, hosts should send larger
`datagrams, so as to carry more data per value of the
`Identification field. This is a bad idea, because large
`datagrams lead to more fragments, and we shall show
`that this increases the likelihood of a severe decrease in
`performance. If we simply avoid fragmented datagrams,
`values of the Identification field need not be unique,
`and there is no bandwidth limit imposedbyits size.
`
`2.3. Poor performance when fragments are lost
`
`When segmentsare sent that are large enough to require
`fragmentation,
`the loss of any fragment requires the
`entire segment to be retransmitted. This can lead to
`poorer performance than would have been achieved by
`originally sending segments that didn't require frag-
`mentation.
`
`Gateways in the Internet must drop packets when
`congested. If the gateways are congested, dropping
`fragments only makes the situation worse. Dropped
`fragments mean increased retransmissions, which leads
`to more fragments. As the loss rate goes up due to
`heavy
`congestion,
`the
`total
`throughput
`drops
`dramatically, since the loss of any one fragment means
`that
`the resources expended in sending the other
`fragments of that datagram are entirely wasted.
`
`Even when congestion is not the problem, retransmis-
`sion does not necessarily increase the likelihood thatall
`the fragments that make up the segment will arrive
`unscathed.
`In particular, network idiosyncrasies may
`conspire to cause the same fragment or fragments to be
`lost on successive retransmission. We call this deter-
`ministicfragmentloss.
`
`An example of deterministic fragment loss occurs in the
`4.2BSD Unix implementation of TCP when datagrams
`pass between a local network (typically an Ethernet or a
`Proteon ring, with MTUs of 1500 or 2046 bytes,
`respectively) and the ARPAnet. The TCP prefers to
`send 1024 byte data segments, which are transmitted in
`1064 byte IP datagrams. As seen earlier, this results in
`two fragments, 1006 and 78 bytes long.
`
`The receiving gateway receives both fragments and
`sends them out overthe local Proteon ring. The Proteon
`
`ACM SIGCOMM
`
`T7-
`
`Computer Communication Review
`
`INTEL EX. 1420.003
`
`INTEL EX. 1420.003
`
`

`

`Ting interface does not have sufficient buffering to
`receive back-to-back packets, so it consistently drops
`the second fragment. The sending TCP times out, and
`retransmits the 1024 byte segment, which will again be
`fragmented. The second fragment
`is again lost,
`the
`segment
`times out, and eventually the connection is
`broken.
`
`In addition, many of the gateways in the Internet today
`are derived from 4.2BSD Unix. This implementation of
`IP does not properly fragment a previously fragmented
`packet, preventing some fragments from ever reaching
`their destination, which might better be called guar-
`anteed fragmentloss.
`
`2.4. Efficient reassembly is difficult
`
`Reassembling fragments into datagrams at the IP layer
`is considerably less robust than constructing a reliable
`stream at the TCP layer. The window mechanism in
`TCP allows the reassembly process to accurately gauge
`how much buffer space to allocate for the current
`stream of unacknowledged data bytes. Also, because in
`TCP the data stream is covered by a sequence number
`for each data byte, once a contiguous sequence of bytes
`at the beginning of the outstanding data stream has been
`reassembled, it can be acknowledged and handed up to
`the next layer. Thus, progress can always be made, even
`if in small amounts.
`
`At the IP layer, there is no indication in the headerof a
`fragmented packet of how many other fragments follow,
`or of the length of the entire datagram. The More
`Fragments bit tells only if this the last fragment of the
`datagram, and the Fragment Offset field tells only the
`position of this fragment in the complete datagram. If
`the total size of the incoming datagram is too large to fit
`available buffer space, no progress can be made. The IP
`specification requires hosts to be able to reassemble
`datagrams at least 576 bytes in length; larger segment
`sizes must be explicitly negotiated by higher level
`protocols.
`
`Evenif there is sufficient buffer space to reassemble a
`very large datagram, conflicts can occur. In the Internet,
`it is possible for fragments of the same datagram to take
`different routes to their ultimate destination. Depending
`on queue managementstrategies at gateways along the
`way, a fragment of a small datagram may arrive
`intermixed with the fragments of a large datagram.
`More concretely, assume two datagrams, L (large) and
`S (small), are fragmented as L,L,L3LyL;L,L7L, and
`S)S2. If there are only eight buffers available, and the
`reception order is LjL2L3L4Ls5L¢L7S,L3S2, reassembly of
`L cannot succeed, despite adequate buffer space. Upon
`reception of S,, the reassembly process could discard L,
`through L;, which would leave six free buffers and
`
`allow S to be reassembled when S,arrives. Or, it could
`discard Lg (and subsequently S,), blocking reassembly
`of both L and S$; the buffers would be keptfull until the
`fragments expire.
`In either case,
`the work done to
`transport all the fragments of L is entirely wasted.It is
`not possible to coalesce a complete initial string of
`fragments and partially acknowledge receipt of the
`datagram in order to free some of the buffer space.
`(Dave Mills first pointed out this behaviorin [13].)
`
`It is difficult to decide how long to hold on to received
`fragments. The only firm limit
`is the TTL field;
`the
`reassembly process must discard fragments as their
`TTLs expire. Since each gateway decrements the TTL
`field, it must be set high enoughto traverse the longest
`possible route, and thus maystill be quite high when the
`packet arrives at
`its destination. Naive use of the
`received TTL as a reassembly timeout will cause some
`fragments to occupy buffer space for a much longer
`time than necessary. Use of too short a reassembly
`timeoutwill cause fragments to be dropped too quickly,
`leading to unnecessary retransmissions.
`
`Because IP is a datagram protocol, there is no guarantee
`that a given fragment will ever arrive. A higher level
`protocol may retransmit a lost IP datagram.If a retrans-
`mitted datagram does not have the same value for the IP
`Identification field,
`its data will not be recognized as
`being the sameas that in previously received fragments.
`The old fragments will occupy buffer space until timed
`out or forced out by incoming packets, and cannot fill
`holes left by fragments dropped from the second data-
`gram. This suggests that higher level protocols should
`attempt to use the same value for the IP Identification
`on both the original and retransmitted data. (This idea
`was proposed by John Shriver [24].)
`
`3. Avoiding fragmentation
`
`in most circumstances, the potential
`Webelieve that,
`fragmentation
`far outweigh the
`disadvantages of
`expected advantages. Thus, hosts should avoid sending
`datagrams that are so large that they will be fragmented.
`The length limit can be determined by a variety of
`general approaches:
`
`e Always send small datagrams: There is some
`datagram size that is small enough to fit without
`fragmentation on any network; we could simply
`send no datagramslarger than this limit.
`
`e Guess minimum MTU of path: Use a heuristic
`to guess the minimum MTUalong the path the
`datagram will follow.
`
`e Discover actual minimum MTU ofpath: Use a
`protocol to determine the actual minimum MTU
`along the path the datagram will follow.
`
`ACM SIGCOMM
`
`-78-
`
`Computer Communication Review
`
`INTEL EX. 1420.004
`
`INTEL EX. 1420.004
`
`

`

`e Guess or discover MTU and backtrack if
`wrong:Since an estimate might be wrong, and a
`discovered MTU may change if a route changes,
`sometimes we may have to adjust the length limit.
`This requires both a mechanism for detecting
`errors, and a mechanism for correcting them.
`
`Later in this section we will discuss more specific
`fragmentation avoidance schemes.
`
`All these strategies assume that the route the datagrams
`will follow is
`independently determined. If multiple
`routes are available between source and destination, one
`might
`instead try to avoid fragmentation by using
`source-routing to avoid data links with small MTUs.
`Suitable alternate routes seldom exist, however, and
`even when they do we see no efficient way for an IP
`host to obtain enough information to choose a good
`source-route.
`
`IP is a layered protocol architecture, and fragmentation
`avoidance mustbe doneatthe right layer. It makeslittle
`sense to build redundant mechanismsinto several layers
`if it is possible to do it once, This implies that the right
`place for fragmentation avoidanceis the layer common
`to all IP communication,
`the IP datagram layeritself
`(and its partner, the ICMP protocol). It would be a poor
`idea
`to
`put
`the
`entire
`fragmentation
`avoidance
`mechanism in, say, the TCP layer, because both the
`mechanism and any additional protocol would have to
`be duplicated in paralle]
`layers, such as UDP[17],
`NETBLT[6], and VMTP[3], and because it would be
`awkward for
`a TCP-based mechanism to
`share
`knowledge with other layers and across connections.
`
`layers above IP should be
`to say that
`This is not
`uninvolved in fragmentation avoidance. Architectural
`layering does not mean that higher layers must be kept
`ignorant of fragmentation issues. Optimal performance
`depends upon cooperation between layers for example,
`the TCP layer should not send huge segments if the IP
`layer knowsthat they will be fragmented.
`
`Most of the fragmentation-avoidance schemes we will
`propose depend on keeping some knowledge about the
`minimum MTU (MINMTU)onthe path a datagram will
`follow. A MINMTU value could be associated with a
`specific destination network, a specific destination host,
`a specific route (there may be several routes to one
`destination, with differing MINMTUs), or a specific
`connection (since for different applications, we may
`want
`to choose between optimizing for maximum
`bandwidth versus minimum delay, and thus might want
`to accept different risks of fragmentation for different
`connections to the same host). The MINMTUvalues
`could be kept in the IP routing database, or in a separate
`database, especially if per-connection MINMTUs are
`
`wanted. To support per-connection MINMTUs, the IP
`layer must obtain
`a
`connection
`identifier
`from
`connection-oriented higherlayers.
`
`scheme
`a per-connection
`that
`is our belief
`It
`(degenerating to a per-route-to-specific-host scheme for
`connectionless protocols)
`is the most
`flexible one.
`Whileit is true that by keeping per-destination-network
`information one might be able to pool
`information
`about several hosts, this is not necessarily safe. Because
`many networks are subnetted [15], because MTUs may
`vary amongthe subnets of a given network, and because
`one cannot tell whether a remote network is subnetted
`or not, it is not true that knowing the MINMTU for one
`host reliably gives you the MINMTUforall other hosts
`on the same network.
`
`Routes in a datagram network are not necessarily
`symmetric, the route a packet takes may not be the
`reverse of the route taken by a packet traveling in the
`opposite direction. Because of this, it is not safe for a
`host to assume that it can send a datagram as large as
`the one it has received from its peer. An independent
`MINMTU determination must be made for each
`direction, although the peer hosts may assist each other
`in doing so.
`
`Whenthe IP layer has determined the MINMTUfor a
`connection or destination, it can make this information
`available to higher
`layers,
`such as TCP,
`that are
`generating segments
`to be
`sent as
`IP datagrams
`Segment-generating layers should ask the IP layer for a
`MINMTUbefore sending a segment; connection-based
`layers
`should either
`check periodically that
`the
`MINMTUhas not changed,or should be able to handle
`asynchronousnotification of a change.
`
`3.1. Fragmentation avoidance without protocol
`changes
`
`fragmentation
`section we describe several
`In this
`avoidance schemes that can be implemented without
`changing existing protocol specifications or creating
`new protocols. There are obvious advantages to such
`approaches, since they can be taken immediately by
`individual sites or vendors; further, we have sufficient
`experience with one of them to believe that it works
`fairly well. On the other hand, none of these schemes
`can make use of exact knowledge of MINMTUs,and so
`may not provide optimal performance.
`
`3.1.1. Always send tiny datagrams
`
`If a host always sent datagrams no larger than the
`minimum MTU overthe entire internet, these datagrams
`would never be fragmented. In the IP Internet the limit
`is no higher than 254 bytes, and might be lower. Since
`almost all of the Internet supports larger MTUs, and
`
`ACM SIGCOMM
`
`-79-
`
`Computer Communication Review
`
`INTEL EX. 1420.005
`
`INTEL EX. 1420.005
`
`

`

`since performance depends so strongly on packet size,
`this approach can't provide reasonable performance.It
`is worth invoking only as a
`temporary diagnostic
`measure if performance actually increases when the
`datagram size is decreased, this is a clear indication that
`inappropriate fragmentation is taking place for larger
`datagrams.
`
`Alternatively, one might assume that using a 576-byte
`limit is small enough to avoid fragmentationin virtually
`all cases (we hope that in the future, all new LP network
`links would be capable of handling packets ofthissize).
`576 bytes is set forth in the IP specification [18] as the
`maximum size a host can send without explicit
`permission from the receiving host, so it is reasonable
`as an arbitrary value.
`
`3.1.2. Send 576-byte datagrams if the route goes via
`a gateway
`
`The IP layer can determine if the route for a connection
`or destination goes via a gateway. If it does, then the
`size limit is set to 576 (our favorite arbitrary value);
`otherwise, any size up to the MTU ofthe data-link layer
`may be used.
`
`This approach provides maximum performance for
`local connections, and reasonable assurance that on
`most non-local connections, datagrams will not be
`fragmented.It is not perfect, since
`1.
`Itdoes not avoid fragmentation on every path
`2.
`It may unnecessarily limit packet size, especially
`on subnetted collections of high-speed LANsthat
`all support large packets.
`
`3.
`
`If proxy ARPis used [14] then the IP layer may
`be fooled into believing that a non-local path is
`local, and thus use large datagrams whentheyare
`not necessarily safe.
`
`However, it is quite easy to implementand in general
`provides good performance. A variant of this scheme,
`implemented in the TCP layer, has been used for
`several years at many sites and is now incorporated in
`4.3BSD Unix [12]. This is the method we recommend
`in the absence of protocol changes.
`
`3.13. Send 576-byte datagrams if the route goes off-
`net
`
`Instead of checking whether a destination is behind a
`gateway,
`the IP layer can examine the destination's
`network numberto decideif it is local or non-local. In a
`subnetted environment,
`this trades a higher risk of
`guessing too high a MINMTUforhigher performance
`within the local collection of subnets.
`
`3.2. Fragmentation avoidance with protocol changes
`
`fragmentation
`section we describe several
`In this
`avoidance schemes that
`require changes to existing
`protocol specifications or the creation of new protocols.
`Mostly, these involve changes to gateways and some
`minor changes to IP-layer software; all are designed so
`as to coexist with unmodified gateways and hosts.
`
`3.2.1. Probe mechanisms
`
`Ideally, for a host to be able to send the largest possible
`datagrams that will not be fragmented,
`it must have
`perfect information as to the MINMTUalongthe path
`the datagrams will follow. Since most IP hosts do not
`even know whatthat route is, much less what the MTUs
`are
`along the
`route, we need a mechanism for
`discovering MINMTU.
`
`The moststraightforward kind of mechanism is to send
`a packet along the route, collecting MTU information as
`it goes; we call
`these probe mechanisms. Probe
`mechanisms require support from gateways each gate-
`way along the route must update the probe according to
`the MTU ofthe hopit is about to take. Probe mechan-
`isms also require support from peer hosts, since paths
`are asymmetric, once a probe reaches the end ofits
`route, the information it has collected must be returned
`to the source host.
`
`A probe may either gather a list of all the MTUsalong
`the path (somewhat analogousto the IP “Record Route”
`option), with which the host
`can determine
`the
`MINMTU,or the probe may simply carry only the
`lowest MTU value seen along the route. The former
`method provides a little more information;
`the latter
`method is easier to implement and results in shorter
`packets.
`
`A probe may be made only once,at the beginning of a
`connection or the use of a route, or it may be made
`periodically. Periodic probes are preferable if
`the
`MINMTU is kept per-destination or per-connection,
`since the route may change. If MINMTUinformationis
`kept per-route, then it will not change and consequently
`probes need notbe repeated.
`
`Probe mechanismsare useful for discovering other path
`characteristics besides MINMTU. As long as one is
`processing a probe,it makes sense to collect a variety of
`information, since it comesatlittle additional cost. This
`information could include:
`
`Minimum bandwidth
`Useful for determining appropriate transmission
`rates; if a host knowsthat a 9600-baud link is part
`of the path, it should behave differently than if the
`path is entirely via 100 Mbit fiber networks.
`
`ACM SIGCOMM
`
`Computer Communication Review
`
`INTEL EX. 1420.006
`
`INTEL EX. 1420.006
`
`

`

`Maximum delay
`Useful for determining realistic round-trip times;
`if a satellite channel
`is in use, with a delay of
`several hundred milliseconds, a host should not
`retransmit as quickly as if the end-to-end delay
`were several milliseconds.
`
`which both hosts will have the path information,
`including MINMTU.
`
`3.23. Probes piggybacked on IP headers
`
`It is not necessary to send a separate packet to probe the
`path. Instead, the probe information can be piggybacked
`on the actual data packets, as part of the IP header. In
`Maximum queue length
`appendix II we describe new IP header options for
`if measured
`A high value implies congestion;
`
`recording returning MINMTU_information.and
`
`using the
`“fair-queueing”
`algorithm [16]
`it
`(Additional options could be defined for recording other
`indicates to a host whetherit is sending too much.
`path characteristics.)
`Alternatively,
`a “congestion-encountered” flag
`could be set
`if any gateway along the path is
`experiencing congestion.
`
`Maximumerrorrate
`Whena link along the path is experiencing a high
`error rate, a host might choose to send shorter
`packets (so as to reduce the likelihood that an
`entire datagram is dropped because of a single
`error) or use error-correcting codes.
`
`Hop Count
`The total number of links traversed along the
`route may beof interest, for example, in choosing
`a value for the “Time To Live” field. (Collection
`of hop counts was proposed by Mike Karels [10].)
`
`It is not necessary for every gateway along the path to
`support probing, providing they all forward the probe.
`Gaps in the probe information are not fatal; at worst,
`host behavior is the same as if no probing is done. A
`gateway that does support probing can cover up for an
`occasional uncooperative gateway by looking at
`the
`incoming link as well as
`the outgoing link when
`determining the MINMTU.
`
`Since route choices may depend on the IP “Type of
`Service” and perhaps the IP “Security” option, probes
`should carry the same Type of Service and Security as
`the data packets will [4]; gateways should observe Type
`of Service and Security when updating values in probes.
`
`3.2.2. Probing with ICMP messages
`
`A probe can be done using a separate packet; in the IP
`architecture, we would do this using a new ICMP
`“Probe Path” message. This is described in detail
`in
`appendix I.
`
`Briefly, a host wishing to probe a path sets initial values
`for the fields of the Probe Path message, then sends it to
`the destination host. Each gateway along the route
`updates various
`fields of the message. When the
`destination host receives the message,
`it copies the
`recorded information into a different area of
`the
`message, reinitializes the recording fields, and returns
`the message to the original host. If the second host
`requests, the message may make one moretrip, after
`
`In this case, a host wishing to probe a path sets initial
`values for the “Probe MTU”option in the IP header of
`a datagram it is sending. Each gateway along the route
`may update the value carried in this option. When the
`destination host receives the datagram,
`it copies the
`recorded information into a “MTU Reply” option and
`attaches it to the next datagram going backto the source
`host. When this reply is received, the first host knows
`the MINMTU;the second host may pass its own Probe
`MTUoption along with the MTU Reply, so after one
`more datagram both hosts can know the MINMTU.
`
`involve

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket