Network Layer

Peter Wood

The Internet Concept (1)

The internet concept

The Internet Concept (2)

The internet concept


An internet

Hosts and Routers

The network layer

Forwarding and Routing

Data and Control Planes

IP Addresses and Dotted-Decimal Notation

Example addresses

IP Addressing

Interface addresses



Subnet Addressing

Classful Addressing

Obtaining a Block of Addresses

Special IP Addresses

Special IP addresses

IP Loopback Address

Obtaining a Host Address

Dynamic Host Configuration Protocol

DHCP client-server scenario

DHCP Client-Server Interaction

For a newly arriving host, DHCP is a four-step process:

DHCP client-server interaction

Network Address Translation

NAT Example

Network address translation

Criticisms of NAT

IP Datagrams

Forwarding IP Datagrams

Forwarding Table (1)

Destination Address RangeNext Hop Interface

Forwarding Table (2)

Destination Address RangeNext Hop Interface 00010111 00010000 000000000 00010111 00011100 000000001 00010111 00011000 000000002

Software-Defined Networking (SDN)

IP Best-Effort Delivery

IP Datagram Format (1)

IP datagram header

IP Datagram Format (2)

IP datagram header


Transmission across an Internet

Traversing different networks

Example of IP Header

Packet capture showing IP header

Maximum Transmission Unit (MTU)

Datagram Fragmentation (1)


Datagram Fragmentation (2)

Datagram Reassembly

Fragment Loss

Internet Control Message Protocol (ICMP)

Some ICMP Message Types

00echo reply (to ping)
30destination network unreachable
31destination host unreachable
32destination protocol unreachable
33destination port unreachable
36destination network unknown
37destination host unknown
40source quench (congestion control)
80echo request
90router advertisement
100router discovery
110TTL expired
120bad IP header

Some ICMP Message Descriptions

Routing Algorithms

Autonomous Sytems

Internet Routing Protocols

Abstract Graph Model

Open Shortest Path First

OSPF Algorithm

 1.  N' = {u}
 2.  for all nodes v
 3.    if v is a neighbour of u
 4.       then D(v) = c(u,v)
 5.       else D(v) = infinity

 6.  Loop
 7.    find w not in N' such that D(w) is a minimum
 8.    add w to N'
 9.    update D(v) for each neighbour v of w not in N':
10.      D(v) = min( D(v), D(w) + c(w,v) )
11.  until N' = N

Example of OSPF Algorithm

Links to more information

See Chapters 4 and 5 of [Kurose and Ross], Chapters 20, 21, 22 and parts of 23 of [Comer] and parts of Chapter 5 of [Tanenbaum].