Chapter 20 IP Datagrams and Datagram Forwarding

Download Report

Transcript Chapter 20 IP Datagrams and Datagram Forwarding

Chapter 20
IP Datagrams and
Datagram Forwarding
Connectionless vs
Connection-oriented Service
TCP/IP’s fundamental delivery service is
connectionless
 Individual packets travel independently and
contains information that identifies the
intended recipient
 A reliable connection-oriented service is
added on top of the underlying
connectionless service

Datagram forwarding
across heterogeneous
networks

Heterogeneous networks use different frame
formats
 Router cannot forward a frame from one type of
network to another without modification
 Two networks may use incompatible address
formats (ie. address in a frame may make no sense
on another network).
IP Datagram

a universal, virtual, hardware-independent
internet packet consisting of an IP header
followed by data (fig 20.1)F
 Source and destination addresses in the
datagram header are IP addresses
 The size of an IP datagram(version 4) can
vary from 1 byte of data to 64k bytes.
Routing/Forwarding of
Datagrams

process of using a routing table (fig 20.3)
to select a next hop for a given datagram
 datagram with destination address D is
masked with the i-th entry in the routing
table to determine next hop address
 if ((Mask[i] & D ) == Destination[i] )
then forward to NextHop[i]
IP Datagram Header

IP datagram header format (fig 20.4)
 Data header contains the ultimate destination, not
the frame header
 When a router forwards the datagram to another
router, the IP address of the next hop does not
appear in the datagram header
 The address of the next hop is used to translate to
a corresponding hardware address for transmission
(ARP).
Unreliable
Datagram Delivery
 IP makes a best-effort attempt to deliver each
datagram
 No guarantee of datagram delivery
 Problems that can occur at layer 3
–
–
–
–
datagram duplication due to excessive delay
out-of-order delivery
data corruption
datagram loss
 Higher layers of protocol software are needed to
handle these errors.