Computer Networks and Internets PDF
Document Details
Uploaded by NobleAustin6095
SUST
2010
Lami Kaya
Tags
Related
Summary
This document is a set of lecture notes focused on computer networks and internet protocols. It covers topics of fundamental communication service and datagram encapsulation.
Full Transcript
Computer Networks and Internets, By Douglas E. Comer Lecture PowerPoints By Lami Kaya, [email protected] Modified by S. Jane Fritz, 2010 © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 ...
Computer Networks and Internets, By Douglas E. Comer Lecture PowerPoints By Lami Kaya, [email protected] Modified by S. Jane Fritz, 2010 © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Chapter 22 Datagram Forwarding © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 2 Topics Covered 22.1 Introduction 22.2 Connectionless Service 22.3 Virtual Packets 22.4 The IP Datagram 22.5 The IP Datagram Header Format © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 3 Topics Covered 22.6 Forwarding an IP Datagram 22.7 Network Prefix Extraction and Datagram Forwarding 22.8 Longest Prefix Match 22.9 Destination Address and Next-Hop Address 22.10 Best-Effort Delivery © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 4 Topics Covered 22.11 IP Encapsulation 22.12 Transmission Across an Internet 22.13 MTU and Datagram Fragmentation 22.14 Reassembly of a Datagram from Fragments 22.15 Collecting the Fragments of a Datagram 22.16 The Consequence of Fragment Loss 22.17 Fragmenting a Fragment © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 5 22.1 Introduction This chapter discusses the fundamental communication service in the Internet describes the format of packets that are sent across the Internet discusses the key concepts of datagram encapsulation, forwarding, and fragmentation and reassembly © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 6 22.2 Connectionless Service In some application, programs remain unaware of the underlying physical networks they can send/receive data without knowing the details of the LAN to which a computer connects the remote network to which the destination connects What services that will be offered by a network? connection-oriented service connectionless service or a combination of both © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 7 22.2 Connectionless Service TCP/IP include protocols for both An unreliable connectionless delivery service A reliable connection-oriented service that uses the underlying connectionless service The design forms the basis for all Internet communication © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 8 22.3 Virtual Packets In connectionless each packet travels independently It contains information that identifies the intended recipient How does a packet pass across the Internet? A host creates a packet places the destination address in the packet header and then sends the packet to a nearby router © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 9 22.3 Virtual Packets A router receives a packet uses the destination address to select the next router on the path and then forwards the packet Eventually, the packet reaches a router that can deliver the packet to its final destination © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 10 22.3 Virtual Packets What format is used for an Internet packet? Internet consists of heterogeneous networks that use incompatible frame formats it cannot adopt any of the hardware frame formats A router cannot simply reformat the frame header because the two networks may use incompatible addressing © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 11 22.3 Virtual Packets To overcome heterogeneity IP defines a packet format that is independent of the hardware The result is a universal, virtual packet that can be transferred across the underlying hardware intact As the term virtual implies The Internet packet format is not tied directly to any hardware The underlying hardware does not understand or recognize an Internet packet As the term universal implies Each host or router in the Internet contains protocol software that recognizes Internet packets © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 12 22.4 The IP Datagram TCP/IP uses the name IP datagram to refer to a packet Figure 22.1 illustrates an IP datagram format Each datagram consists of a header followed by data area (payload) The amount of data carried in a datagram is not fixed The size of a datagram is determined by the application that sends data A datagram can contain as little as a single octet of data or at most 64K © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 13 22.4 The IP Datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 14 22.5 The IP Datagram Header Format What does a datagram header contain? It contains information used to forward the datagram A datagram head contains information, such as: the address of the source (the original sender) the address of the destination (the ultimate recipient) and a field that specifies the type of data being carried in the payload © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 15 22.5 The IP Datagram Header Format Each address in the header is an IP address MAC addresses for the sender and recipient do not appear Each field in an IP datagram header has a fixed size which makes header processing efficient Figure 22.2 shows the fields of an IP datagram header © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 16 22.5 The IP Datagram Header Format © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 17 22.5 The IP Datagram Header Format VERS Each datagram begins with a 4-bit protocol version number (the figure shows a version 4 header) H.LEN 4-bit header specifies the number of 32-bit quantities in the header. If no options are present, the value is 5 © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 18 22.5 The IP Datagram Header Format SERVICE TYPE 8-bit field that carries a class of service for the datagram (seldom used in practice). Chapter 28 explains the DiffServ interpretation of the service type field TOTAL LENGTH 16-bit integer that specifies the total number of bytes in the datagram (including both the header and the data) © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 19 22.5 The IP Datagram Header Format IDENTIFICATION 16-bit number (usually sequential) assigned to the datagram used to gather all fragments for reassembly to the datagram FLAGS 3-bit field with individual bits specifying whether the datagram is a fragment If so, then whether the fragment corresponds to the rightmost piece of the original datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 20 22.5 The IP Datagram Header Format FRAGMENT OFFSET 13-bit field that specifies where in the original datagram the data in this fragment belongs the value of the field is multiplied by 8 to obtain an offset © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 21 22.5 The IP Datagram Header Format TIME TO LIVE 8-bit integer initialized by the original sender it is decremented by each router that processes the datagram if the value reaches zero (0) the datagram is discarded and an error message is sent back to the source TYPE 8-bit field that specifies the type of the payload © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 22 22.5 The IP Datagram Header Format HEADER CHECKSUM 16-bit ones-complement checksum of header fields it is computed according to Algorithm 8.1 SOURCE IP ADDRESS 32-bit Internet address of the original sender (the addresses of intermediate routers do not appear in the header) © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 23 22.5 The IP Datagram Header Format DESTINATION IP ADDRESS The 32-bit Internet address of the ultimate destination The addresses of intermediate routers do not appear in the header IP OPTIONS Optional header fields used to control routing and datagram processing Most datagrams do not contain any options which means the IP OPTIONS field is omitted from the header © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 24 22.5 The IP Datagram Header Format PADDING If options do not end on a 32-bit boundary zero bits of padding are added to make the header a multiple of 32 bits © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 25 22.6 The IPv6 Datagram Header Format IPv6 defines an entirely new datagram header format. In place of a fixed header, IPv6 divides header information into a base header and a series of smaller, optional extension headers. An IPv6 datagram consists of a base header followed by zero or more extension headers followed by a payload. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 26 22.6 The IPv6 Datagram Header Format unlike IPv4, IPv6 places many key pieces of information in extension headers, meaning that most datagrams contain a sequence of headers. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 27 22.7 IPv6 Base Header Format © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 28 22.7 IPv6 Base Header Format © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 29 22.7 IPv6 Base Header Format TRAFFIC CLASS The 8-bit field specifies the class of service for the datagram using the same definition as IPv4’s SERVICE TYPE. FLOW LABEL The 20-bit field originally intended to associate a datagram with a label switched path (see MPLS). the FLOW LABEL has become less important. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 30 22.7 IPv6 Base Header Format PAYLOAD LENGTH The 16-bit field specifies the size of the payload measured in octets. Unlike IPv4, the PAYLOAD LENGTH specifies only the size of the data being carried, the size of the header is excluded. NEXT HEADER The 8-bit field specifies the type of information that follows the current header, which can be an extension header or the payload. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 31 22.7 IPv6 Base Header Format HOP LIMIT An 8-bit field with the same semantics as IPv4’s TIME-TO-LIVE field the value is decremented by each router and the datagram is discarded if the value reaches zero. SOURCE ADDRESS The IPv6 address of the original sender. DESTINATION ADDRESS The IPv6 address of the ultimate destination. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 32 22.7 IPv6 Base Header Format Some extension headers have a fixed size. Headers that have a variable size contain a length field to specify the size of a given datagram. Therefore, software on a receiving computer will be able to know exactly where each header ends; there is never ambiguity. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 33 22.7 IPv6 Base Header Format © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 34 22.8 Forwarding an IP Datagram The Internet uses next-hop forwarding Each router along the path receives the datagram extracts the destination address from the header uses the destination address to determine a next hop to which the datagram should be sent then forwards the datagram to the next hop either the final destination or another router © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 35 22.8 Forwarding an IP Datagram To make the selection of a next hop efficient, an IP router uses a forwarding table A forwarding table is initialized when the router boots and must be updated if the topology changes or hardware fails © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 36 22.8 Forwarding an IP Datagram Forwarding table contains a set of entries each specifies a destination and the next hop used to reach that destination Figure 22.3 shows an example internet and the contents of a forwarding table in one of the three routers each router has been assigned two IP addresses one for each interface Router R, which is connected 40.0.0.0/8 and 128.1.0.0/16 has been assigned addresses 40.0.0.8 and 128.1.0.8 IP does not require the suffix to be the same on all interfaces But a network administrator can chose the same suffix for each interface to make it easier for humans who manage the network © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 37 22.8 Forwarding an IP Datagram Each destination in the table corresponds to a network the number of entries in a forwarding table is proportional to the number of networks in the Internet © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 38 22.8 Forwarding an IP Datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 39 22.9 Network Prefix Extraction and Datagram Forwarding The process of using a forwarding table to select a next hop for a given datagram is called forwarding The mask field in a forwarding table entry is used to extract the network portion of an address during lookup © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 40 22.9 Network Prefix Extraction and Datagram Forwarding When a router encounters a datagram with destination IP address D the forwarding function must find an entry in the forwarding table that specifies a next hop for D The software examines each entry in the table by using the mask in the entry to extract a prefix of address D It compares the resulting prefix to the Destination field of the entry If the two are equal, the datagram will be forwarded to the Next Hop © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 41 22.9 Network Prefix Extraction and Datagram Forwarding The bit mask representation makes extraction efficient the computation consists of a Boolean and between the mask and destination address, D the computation to examine the ith entry in the table can be as: if ( (Mask[i] & D) == Destination[i] ) forward to NextHop[i] © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 42 22.9 Network Prefix Extraction and Datagram Forwarding As an example Consider a datagram destined for address 192.4.10.3 Assume the datagram arrives at the center router, R, in Figure 22.3 Assume the forwarding searches entries of the table in order The first entry fails since 255.0.0.0 & 192.4.10.3 ≠ 30.0.0.0 After rejecting the second and third entries in the table The routing software eventually chooses next hop 128.1.0.9 because 255.255.255.0 & 192.4.10.3 == 192.4.10.0 © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 43 22.10 Longest Prefix Match Figure 22.3 contains a trivial example In practice, Internet forwarding tables can be extremely large and the forwarding algorithm is complex Internet forwarding tables can contain a default entry that provides a path for all destinations that are not explicitly listed A network manager can specify a host-specific route it directs traffic destined to a specific host along a different path than traffic for other hosts on the same network An important feature of an Internet forwarding table is that address masks can overlap © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 44 22.10 Longest Prefix Match Suppose a router's forwarding table contains entries for the following two network prefixes: 128.10.0.0/16 and 128.10.2.0/24 What happens if a datagram arrives destined to 128.10.2.3? Matching procedure succeeds for both of the entries a Boolean and of a 16-bit mask will produce 128.10.0.0 a Boolean and with a 24-bit mask will produce 128.10.2.0 © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 45 22.8 Longest Prefix Match Which entry should be used? To handle ambiguity that arises from overlapping address masks, Internet forwarding uses a longest prefix match Instead of examining the entries in arbitrary order forwarding software arranges to examine entries with the longest prefix first In the example above, Internet forwarding will choose the entry that corresponds to 128.10.2.0/24 © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 46 22.11 Destination Address and Next-Hop Address What is the relationship between the destination address in a datagram header and the address of the next hop to which the datagram is forwarded? The DESTINATION IP ADDRESS field in a datagram contains the address of the ultimate destination it does not change as the datagram passes through the Internet © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 47 22.9 Destination Address and Next-Hop Address When a router receives a datagram the router uses the ultimate destination, D to compute the address of the next router to be sent, N The router forwards a datagram to the next hop, N the header in the datagram retains destination address D © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 48 22.12 Best-Effort Delivery Term best-effort to describe the service of IP protocol IP makes a best-effort to deliver each datagram IP does not guarantee that it will handle all problems The following problems can occur in IP protocol Datagram duplication Delayed or out-of-order delivery Corruption of data Datagram loss © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 49 22.10 Best-Effort Delivery IP is designed to run over any type of network network equipment can experience interference from noise Packets following one path may take longer than those following another path this can result in out-of-order delivery © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 50 22.13 IP Encapsulation How can a datagram be transmitted across a physical network that does not understand the datagram format? The answer lies in a technique known as encapsulation When an IP datagram is encapsulated in a frame the entire datagram is placed in the payload area of a frame The network hardware treats a frame that contains a datagram exactly like any other frame hardware does not examine or change the contents of the payload © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 51 22.13 IP Encapsulation Figure 22.4 (below) illustrates the concept © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 52 22.13 IP Encapsulation How does a receiver know whether the payload of an incoming frame contains an IP datagram or other data? Sender/receiver must agree on the value used in the frame type field Software on the sending computer assigns the frame type field © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 53 22.13 IP Encapsulation When a frame arrives with the IP value in its type field the receiver knows that the payload area contains an IP datagram For example, the Ethernet specifies that the type field of a frame carrying an IP datagram is assigned 0x0800 Encapsulation requires the sender to supply the MAC address of the next computer to which the datagram should be sent © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 54 22.14 Transmission Across an Internet After the sender selects a next hop the sender encapsulates the datagram in a frame and transmits the result across the physical network When the frame reaches the next hop the receiving software examines the IP datagram If the datagram must be forwarded across another network a new frame is created © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 55 22.14 Transmission Across an Internet Figure 22.5 illustrates how a datagram is encapsulated and unencapsulated as it travels along a path Each network can use a different hardware technology than the others meaning that the frame formats and frame header sizes can differ © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 56 22.14 Transmission Across an Internet © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 57 22.14 Transmission Across an Internet Frame headers do not accumulate during a trip through the Internet When a datagram arrives the datagram is removed from the incoming frame before being encapsulated in an outgoing frame When the datagram reaches its final destination the frame header will be the header of the last network over which the datagram arrived once the header is removed, the result is the original datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 58 22.15 MTU and Datagram Fragmentation Each hardware technology specifies the maximum amount of data that a frame can carry The limit is known as a Maximum Transmission Unit (MTU) There is no exception to the MTU limit Network hardware is not designed to accept or transfer frames that carry more data than the MTU allows A datagram must be smaller or equal to the network MTU or it cannot be encapsulated for transmission © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 59 22.15 MTU and Datagram Fragmentation In an internet that contains heterogeneous networks, MTU restrictions create a problem A router can connect networks with different MTU values a datagram that a router receives over one network can be too large to send over another network © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 60 22.15 MTU and Datagram Fragmentation Figure 22.6 illustrates a router that interconnects two networks with MTU values of 1500 and 1000 Host H attaches to a network with an MTU of 1500 and can send a datagram that is up to 1500 octets Host H attaches to a network that has an MTU of 1000 which means that it cannot send/receive a datagram larger than 1000 octets If host H sends a 1500-octet datagram to host H router R will not be able to encapsulate it for transmission across network 2 © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 61 22.15 MTU and Datagram Fragmentation © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 62 22.15 MTU and Datagram Fragmentation To solve the problem of heterogeneous MTUs a router uses a technique known as fragmentation When a datagram is larger than the MTU of the network over which it must be sent the router divides the datagram into smaller pieces called fragments and sends each fragment independently © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 63 22.13 MTU and Datagram Fragmentation A fragment has the same format as other datagrams a bit in the FLAGS field of the header indicates whether a datagram is a fragment or a complete datagram Other fields in the header are assigned information for the ultimate destination to reassemble fragments to reproduce the original datagram The FRAGMENT OFFSET specifies where in the original datagram the fragment belongs © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 64 22.15 MTU and Datagram Fragmentation A router uses the network MTU and the header size to calculate the maximum amount of data that can be sent in each fragment and the number of fragments that will be needed © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 65 22.15 MTU and Datagram Fragmentation The router then creates the fragments It uses fields from the original header to create a fragment header For example, the router copies the IP SOURCE and IP DESTINATION fields from the datagram into the fragment header It copies the appropriate data from the original datagram into the fragment Then it transmits the result Figure 22.7 illustrates the division of a datagram into fragments © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 66 22.15 MTU and Datagram Fragmentation © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 67 22.16 Fragmentation Of An IPv6 Datagram Although IPv6 fragmentation resembles IPv4 fragmentation, the details differ. Like IPv4, a prefix of the original datagram is copied into each fragment. the payload length is modified to be the length of the fragment. Unlike IPv4 IPv6 does not include fields for fragmentation information in the base header. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 68 22.16 Fragmentation Of An IPv6 Datagram Instead, IPv6 places the fragment information in a separate fragment extension header; the presence of the extension header identifies the datagram as a fragment. Interestingly, the IPv6 fragment extension header contains the same fragment information found in fields of an IPv4 header. IPv6 fragmentation also differs from IPv4 because IPv6 uses multiple extension headers © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 69 22.16 Fragmentation Of An IPv6 Datagram Some of the extension headers are used by intermediate routers and others are not. IPv6 divides headers into two groups, called fragmentable and unfragmentable. The fragmentable headers are divided into fragments like the payload. the unfragmentable headers are copied into each fragment. Figure 21.11 illustrates IPv6 fragmentation. © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 70 22.16 Fragmentation Of An IPv6 Datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 71 22.17 Reassembly of a Datagram from Fragments Recreating a copy of the original datagram from fragments is called reassembly Each fragment begins with a copy of the original datagram header all fragments have the same destination address as the original datagram from which they were derived The fragment that carries the final piece of data has an additional bit set in the header Thus, a host performing reassembly can tell whether all fragments have arrived successfully The ultimate destination should reassemble fragments © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 72 22.17 Reassembly of a Datagram from Fragments Consider the configuration in Figure 22.8 if host H1 sends a 1500-octet datagram to host H2, router R1 will divide the datagram into two fragments, which it will forward to R2 Router R2 does not reassemble the fragments Instead R uses the destination address in a fragment to forward the fragment as usual The ultimate destination host, H2, collects the fragments and reassembles them to produce the original datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 73 22.17 Reassembly of a Datagram from Fragments © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 74 22.17 Reassembly of a Datagram from Fragments Requiring the ultimate destination to reassemble fragments has two advantages: First, it reduces the amount of state information in routers When forwarding a datagram, a router does not need to know whether the datagram is a fragment Second, it allows routes to change dynamically If an intermediate router were to reassemble fragments, all fragments would need to reach the router © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 75 22.17 Reassembly of a Datagram from Fragments By postponing reassembly until the ultimate destination IP is free to pass some fragments from a datagram along different routes than other fragments That is, the Internet can change routes at any time (e.g., to route around a hardware failure) © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 76 22.18 Collecting the Fragments of a Datagram Fragments from multiple datagrams can arrive out- of-order Individual fragments can be lost or arrive out-of-order How does it reassemble fragments that arrive out- of-order? A sender places a unique identification number in the IDENTIFICATION field of each outgoing datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 77 22.18 Collecting the Fragments of a Datagram When a router fragments a datagram the router copies the identification number into each fragment A receiver uses the identification number and IP source address in an incoming fragment to determine the datagram to which the fragment belongs The FRAGMENT OFFSET field tells a receiver where data in the fragment belongs in the original datagram © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 78 22.19 The Consequence of Fragment Loss A datagram cannot be reassembled until all fragments arrive A problem arises when one or more fragments from a datagram arrive and other fragments are delayed or lost The receiver must save (buffer) the fragments that have arrived in case missing fragments are only delayed © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 79 22.19 The Consequence of Fragment Loss A receiver cannot hold fragments an arbitrarily long time because fragments occupy space in memory IP specifies a maximum time to hold fragments When the first fragment arrives from a given datagram the receiver starts a reassembly timer If all fragments of a datagram arrive before the timer expires the receiver cancels the timer and reassembles the datagram If the timer expires before all fragments arrive the receiver discards the fragments that have arrived © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 80 22.16 The Consequence of Fragment Loss The result of IP's reassembly timer is all-or-nothing: either all fragments arrive and IP reassembles the datagram, If not then IP discards the incomplete datagram There is no mechanism for a receiver to tell the sender which fragments have arrived The sender does not know about fragmentation © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 81 22.19 The Consequence of Fragment Loss If a sender retransmits, the datagram routes may be different a retransmission would not necessarily traverse the same routers also, there is no guarantee that a retransmitted datagram would be fragmented in the same way as the original © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 82 22.20 Fragmenting a An IPv4 Fragment What happens if a fragment eventually reaches a network that has a smaller MTU? It is possible to fragment a fragment when needed A router along the path divides the fragment into smaller fragments If networks are arranged in a sequence of decreasing MTUs each router along the path must further fragment each fragment Designers work carefully to insure that such situations do not occur in the Internet © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 83 22.20 Fragmenting An IPv4 a Fragment In any case, IP does not distinguish between original fragments and subfragments A receiver cannot know if an incoming fragment is the result of one router fragmenting a datagram or multiple routers fragmenting fragments Making all fragments the same has an advantage a receiver can perform reassembly of the original datagram without first reassembling subfragments this saves CPU time, and reduces the amount of information needed in the header of each fragment © 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 84