0% found this document useful (0 votes)
36 views42 pages

NET0183 Networks and Communications: Lectures 15 and 16 Datagram Forwarding

The document discusses lecture materials for a networking course. It includes information on IP datagrams, how they are forwarded through routers, and details of the IP header format.

Uploaded by

IjazKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views42 pages

NET0183 Networks and Communications: Lectures 15 and 16 Datagram Forwarding

The document discusses lecture materials for a networking course. It includes information on IP datagrams, how they are forwarded through routers, and details of the IP header format.

Uploaded by

IjazKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Lecture powerpoints from the recommended textbook are by Lami Kaya, [email protected].

Lecture powerpoints are 2009 Pearson Education Inc.


Their content has sometimes been edited by Andy Brooks.

NET0183 Networks and Communications


Lectures 15 and 16
Datagram Forwarding
TCP/IP uses the name IP datagram to refer to a packet.
8/25/2009

NET0183 Networks and Communications


by Dr Andy Brooks

datagram/gagnaskeyti
1

The recommended textbook is Computer Networks and Internets by Douglas E. Comer


http://www.coursesmart.com/0136066992/?a=1773944
www.pearson-books.com/student (for additional discounts and offers)

8/25/2009

NET0183 Networks and Communications


by Dr Andy Brooks

connectionless/sambandsfrjls

connectionless protocol
@ Wikipedia 15 February 2010

In telecommunications, connectionless describes communication


between two network end points in which a message can be sent from
one end point to another without prior arrangement. The device at one
end of the communication transmits data to the other, without first
ensuring that the recipient is available and ready to receive the data.
The device sending a message simply sends it addressed to the
intended recipient. As such there are more frequent problems with
transmission than with connection-oriented protocols and it may be
necessary to resend the data several times.

The Internet Protocol (IP) is a connectionless protocol.


8/25/2009

NET0183 Networks and Communications


by Dr Andy Brooks

connection-oriented/sambandsbundinn

connection-oriented protocol
A type of transport layer data communication service that allows a host
to send data in a continuous stream to another host. The transport
service will guarantee that all data will be delivered to the other end in
the same order as sent and without duplication. Communication
proceeds through three well-defined phases: connection
establishment, data transfer, connection release. The most common
example is Transmission Control Protocol (TCP).

The Tranmission Control Protocol (TCP) is a


connection-oriented protocol.
TCP provides a reliable connection-oriented service that
makes use of the underlying unreliable connectionless
service provided by IP.
8/25/2009

NET0183 Networks and Communications


by Dr Andy Brooks

reliable communication
Communication where messages are guaranteed to reach their
destination complete and uncorrupted and in the order they were sent.
This reliability can be built on top of an unreliable protocol by adding
sequencing information and some kind of checksum or cyclic
redundancy check to each message or packet. If the communication
fails, the sender will be notified.

8/25/2009

NET0183 Networks and Communications


by Dr Andy Brooks

IP datagram

http://windowsbootdisks.com/ip_images/ipmodelen.gif
8/25/2009

NET0183 Networks and Communications


by Dr Andy Brooks

22.3 Virtual Packets


In a connectionless service each packet travels
independently.
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
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.

22.3 Virtual Packets


The Internet consists of heterogeneous networks.
We dont all use identical hardware and operating systems.

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.
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.

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.

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.

Figure 22.1 The general form of an IP datagram.

An octet is exactly eight bits.

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

22.5 The IP Datagram Header Format


An IP datagram header 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

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.

10

22.5 The IP Datagram Header Format

Figure 22.2 Fields in the IP version 4 datagram header.

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

11

http://www.fatpipe.org/~mjb/Drawings/

12

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

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)
216-1 = 65535
2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

13

22.5 The IP Datagram Header Format


IDENTIFICATION
16-bit number (usually sequential) assigned to the datagram
used to gather all fragments with the same ID to reassemble the original IP
datagram

FLAGS
3-bit field with individual bits specifying whether the datagram is a
fragment
If the D-bit is set, that means dont fragment. The packet should be
transferred as a whole or not at all.
If the M-bit is set, that means more fragments to come. An unfragmented
packet is its own last fragment.

FRAGMENT OFFSET
13-bit field that specifies where in the original IP 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.

14

22.5 The IP Datagram Header Format

TIME TO LIVE (TTL)


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
stops datagrams going round in circles on an internet

TYPE
8-bit field that specifies the type of the payload

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.

15

http://www.iana.org/assignments/protocol-numbers/

TYPE

16

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

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.

17

22.6 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 another router or the
final destination

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.

18

22.6 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 R2, 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

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.

19

22.6 Forwarding an IP Datagram

Figure 22.3 (a) An example internet with four networks, and (b) the forwarding table
found in router R2.
2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

20

22.7 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
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.

21

22.7 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]

As an example
Consider a datagram destined for address 192.4.10.3
Assume the datagram arrives at the center router, R2, 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.

22

22.8 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.

23

22.8 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

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.

24

22.9 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

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.

25

22.10 Best-Effort Delivery


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

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.

26

22.11 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

Figure 22.4 (below) illustrates the concept

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

27

22.11 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

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
0x0806 indicates an ARP frame
0x86DD indicates an IPv6 frame

Encapsulation requires the sender to supply the MAC


address of the next computer to which the datagram should
be sent. (See use of ARP in later material.)

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

28

22.12 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

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.

29

22.12 Transmission Across an Internet

Figure 22.5 An IP datagram as it travels across the Internet.


2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

30

22.12 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.

31

22.13 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

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.

32

22.13 MTU and Datagram Fragmentation


Figure 22.6 (below) illustrates a router that interconnects
two networks with MTU values of 1500 and 1000
Host H1 attaches to a network with an MTU of 1500
and can send a datagram that is up to 1500 octets

Host H2 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 H1 sends a 1500-octet datagram to host H2


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.

33

22.13 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

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.

34

22.13 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

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.

35

22.13 MTU and Datagram Fragmentation

Figure 22.7 An IP datagram divided into three fragments, with the final fragment
smaller than the others.

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

36

22.14 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.

37

22.14 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

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.

38

22.15 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
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.

39

22.16 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

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.

40

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

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.

41

22.17 Fragmenting a 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.
In any case, IP does not distinguish between original
fragments and subfragments.
Making all fragments the same has an advantage
a receiver can perform reassembly of the original datagram without
first reassembling subfragments.
2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

42

You might also like