70 likes | 391 Views
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
E N D
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.