IP Datagrams and Datagram Forwarding
5/19/2023
Introduction
This unit will discuss:
the fundamental Internet communication service
IP data Format of packets
Processing of packets by routers
Forwarding
Best-effort delivery
5/19/2023
Connectionless Service 1
18-3
End-to-end delivery service is connectionless
Extension of LAN abstraction
Universal addressing
Data delivered in packets (frames), each with a header
Layering and TCP/IP protocols
Combines collection of physical networks into single,
virtual network
Transport protocols use this connectionless service
to provide connectionless data delivery (UDP) and
connection-oriented data delivery (TCP)
5/19/2023
Connectionless Service 2
IP provides connectionless service which is an
extension of packet switching in LAN
Transport protocols use
UDP to provide connectionless data delivery
TCP to provide connection-oriented data delivery
Universal addressing:
Data delivered in packets (frames), each with a header
Combines collection of physical networks into single, virtual
network
IP provides best effort delivery using Send & delivery
5/19/2023
Virtual Packets 1
Internet is a collection of heterogeneous networks
Routers do not reformat frame headers for different
format
IP defines a universal and virtual packet format that is
independent of the underlying hardware
Virtual: protocol SW creates and handles internet packet which is
not recognizable by hardware
Universal: each comp or router contains a protocol SW that
understands internet packets
Each packet is encapsulated in hardware frames for
delivery across each physical network
5/19/2023
Virtual Packets 2
18-6
Packets server same purpose in internet as frames on
LAN
Each has a header
Routers (formerly gateways) forward between
physical networks
Packets have a uniform, hardware-independent
format
Includes header and data
Can't use format from any particular hardware
Encapsulated in hardware frames for delivery across
each physical network
5/19/2023
IP Datagram Format
IP Datagram is a TCP/IP protocol and refers to
internet packet
Datagrams can have different sizes which include a
header followed by data as in hardware frame:
Header Data Area
Header area is usually fixed (20 octets) and can have IP options
(information needed to deliver datagram to destination computer
such as IP address., checksum, type, version..)
Data area can contain between 1 octet and 65,535 octets (216 - 1)
which is usually much larger than the header
5/19/2023
Forwarding datagrams
Header contains all information needed to deliver
datagram to destination computer
Destination address
Source address
Identifier
Other delivery information
Router examines header of each datagram and
forwards datagram along path to destination
5/19/2023
Forwarding IP Datagrams
Header contains all information needed to deliver
datagram to destination computer
Information about forwarding is stored in a routing
table which is initialized at system startup
Must be updated as network topology changes
Contains list of destination networks and next hop for each
destination
5/19/2023
Routing table
18-
10
For efficiency, information about forwarding is
stored in a routing table
Initialized at system initialization
Must be updated as network topology changes
Contains list of destination networks and next hop
for each destination
5/19/2023
Forwarding An IP Datagram
18-
11
Delivers DatagramsNet
to 2destination network
Net 1 Net 3 Net 4
R1
R2 R3
• Routers maintain a “routing table” of “next hops”
• Next Hop field does not appear in the datagram
Table at R2: Destination Next Hop
Net 1 Forward to R1
Net 2 Deliver Direct
Net 3 Deliver Direct
Net 4 Forward to R3
5/19/2023
Routing Table
18-
12
Routing table is kept small by listing destination
networks rather than hosts
Can be further reduced through default route
Entry used if destination network not explicitly listed
in routing table
E.g., UDM – unified data model- uses default routes
for all off-campus networks
5/19/2023
Default routes
18-
13
Routing table kept small by listing destination
networks rather than hosts
Can be further reduced through default route
Entry used if destination network not explicitly listed in
routing table
5/19/2023
Routing Tables and Address Masks
18-
14
In practice, additional information is kept in routing
table
Destination stored as network address
Next hop stored as IP address of router
Address mask defines how many bits of address are in
prefix (net-id) used to identify network
Class A mask is 255.0.0.0
Class B mask is 255.255.0.0
Class C mask is 255.255.255.0
Used for subnetting
5/19/2023
IP Addresses and Routing Table Entries
18-
15
5/19/2023
Address Masks
18-
16
To identify NextHop: apply address mask to destination
address and compare to network address in routing table
Can use Boolean and
If ((Mask[i]& D) == Dest[i]) forward to NextHop[i]
Assume a Datagram for D = 192.4.10.19, arrive at a router
with a routing table as below:
255.0.0.0 & 192.4.10.19 = 192.0.0.0 which is not equal to
row1..(1st entry fails); similarly 2nd & 3rd fail
255.255.255.0 & 192.4.10.19 = 192.4.10.0 which is row4
Therefore use
next hop on
row 4 which is
128.1.0.9
5/19/2023
18-
17
Destination Mask Next Hop
30.0.0.0 255.0.0.0 40.0.0.7
4.0.0.0 255.0.0.0 Deliver Direct
128.1.0.0 255.255.0.0 Deliver Direct
192.4.10.0 255.255.255.0 128.1.0.9
5/19/2023
Example 2
18-
18
if ((Mask[i] & D) == Dest[i]) forward to NextHop[i]
Consider 128.1.15.26:
5/19/2023
Destination and Next-Hop Addresses
Destination address in IP datagram is always the
ultimate destination
Router looks up next-hop address and forwards
datagram
Network interface layer takes two parameters:
IP datagram
Next-hop address
Next-hop address never appears in IP datagram
5/19/2023
Best-Effort Delivery
18-
Network layer (IP) focuses on datagram delivery
20
It Does not guarantee to prevent:
Duplicate datagrams
Delayed or out-of-order delivery
Corruption of data
Datagram loss
IP can detect and report errors without fixing them
Transport layer provide reliable delivery (TCP)
Error and control messages are generated by Internet
Control Message Protocol (ICMP)
5/19/2023
IP Datagram Header Format
18-
21
0 4 8 16 19 24 31
VERS H. LEN SERVICE TYPE TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE TYPE HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (MAY BE OMITTED) PADDING
BEGINNING OF DATA
.
.
5/19/2023
IP Datagram Header Fields
18-
VERS (4 bits): identify IP version (currently IPV4)
22
H. LEN (4 bits): header length in 32-bit words (5)
SERVICE TYPE (8 bits): sender's preference for
latency, reliability & thruput (rarely used)
TOTAL LENGTH (16 bits): total (H+D) octets in
datagram which must be less than 64 KB
IDENT (16 bits): identify datagram for S/D addr.
FLAGS (3 bits): used for fragmentation (F, NF, ..)
FRAGMENT OFFSET (13bits): fragmentation
5/19/2023
IP Datagram Header Fields (cont’d)
18-
23
Time to live (8 bits): decrement in each hop;
datagram discarded when equal to 0 to prevent
endless
TYPE (8 bits): type of protocol used in datagram
(TCP, UDP..)
HEADER CHECKSUM (16 bits): 1s complement sum
of all 16-bit words in the header
SOURCE/DEST ADDRESS (32/32 bits): IP
addresses of original source and ultimate destination
(does not change along the path)
Padding (variable): makes header length a multiple
of 4
5/19/2023
IP Datagram Options
18-
24
Several options can be added between DESTINATION
IP ADDRESS and data in multiples of 32 bits to IP
header:
Record route
Source route
Time stamp
Header with no options has H. LEN field value 5; and
data begins immediately after DESTINATION IP
ADDRESS
Header with 96 bits of options has H. LEN field value 8
5/19/2023
Summary
18-
25
Basic unit of data delivery in TCP/IP is IP datagram
Routers use destination address in IP datagram header
to determine the next-hop
Forwarding information is stored in a routing table
IP datagram header has 40 octets of fixed field
information and may be options
IP datagram can be up to 216-1=65,535 bytes
IP can detect and report errors without fixing them
Transport layer provide reliable delivery (TCP)
5/19/2023