11. Network Layer


  1. The Internet Concept (1)
  2. The Internet Concept (2)
  3. Routers
  4. Hosts and Routers
  5. Forwarding and Routing
  6. Data and Control Planes
  7. IP Addresses and Dotted-Decimal Notation
  8. IP Addressing
  9. Subnets
  10. Subnet Addressing
  11. Classful Addressing
  12. Obtaining a Block of Addresses
  13. Special IP Addresses
  14. IP Loopback Address
  15. Obtaining a Host Address
  16. Dynamic Host Configuration Protocol
  17. DHCP Client-Server Interaction
  18. Network Address Translation
  19. NAT Example
  20. Criticisms of NAT
  21. IP Datagrams
  22. Forwarding IP Datagrams
  23. Forwarding Table (1)
  24. Forwarding Table (2)
  25. Software-Defined Networking (SDN)
  26. IP Best-Effort Delivery
  27. IP Datagram Format (1)
  28. IP Datagram Format (2)
  29. Encapsulation
  30. Transmission across an Internet
  31. Example of IP Header
  32. Maximum Transmission Unit (MTU)
  33. Datagram Fragmentation (1)
  34. Datagram Fragmentation (2)
  35. Datagram Reassembly
  36. Fragment Loss
  37. Internet Control Message Protocol (ICMP)
  38. Some ICMP Message Types
  39. Some ICMP Message Descriptions
  40. Routing Algorithms
  41. Autonomous Sytems
  42. Internet Routing Protocols
  43. Abstract Graph Model
  44. Open Shortest Path First
  45. OSPF Algorithm
  46. Example of OSPF Algorithm
  47. Links to more information

11.1. The Internet Concept (1)

The internet concept

11.2. The Internet Concept (2)

The internet concept

11.3. Routers

An internet

11.4. Hosts and Routers

The network layer

11.5. Forwarding and Routing

11.6. Data and Control Planes

11.7. IP Addresses and Dotted-Decimal Notation

Example addresses

11.8. IP Addressing

Interface addresses

11.9. Subnets

Subnets

11.10. Subnet Addressing

11.11. Classful Addressing

11.12. Obtaining a Block of Addresses

11.13. Special IP Addresses

Special IP addresses

11.14. IP Loopback Address

11.15. Obtaining a Host Address

11.16. Dynamic Host Configuration Protocol

DHCP client-server scenario

11.17. DHCP Client-Server Interaction

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

DHCP client-server interaction

11.18. Network Address Translation

11.19. NAT Example

Network address translation

11.20. Criticisms of NAT

11.21. IP Datagrams

11.22. Forwarding IP Datagrams

11.23. Forwarding Table (1)

Destination Address Range Next Hop Interface
200.23.16.0/21 0
200.23.28.0/24 1
200.23.24.0/21 2
Default 3

11.24. Forwarding Table (2)

Destination Address Range Next Hop Interface
200.23.16.0/2111001000 00010111 00010000 00000000 0
200.23.28.0/2411001000 00010111 00011100 00000000 1
200.23.24.0/2111001000 00010111 00011000 00000000 2
Default 3

11.25. Software-Defined Networking (SDN)

11.26. IP Best-Effort Delivery

11.27. IP Datagram Format (1)

IP datagram header

11.28. IP Datagram Format (2)

IP datagram header

11.29. Encapsulation

11.30. Transmission across an Internet

Traversing different networks

11.31. Example of IP Header

Packet capture showing IP header

11.32. Maximum Transmission Unit (MTU)

11.33. Datagram Fragmentation (1)

Fragmentation

11.34. Datagram Fragmentation (2)

11.35. Datagram Reassembly

11.36. Fragment Loss

11.37. Internet Control Message Protocol (ICMP)

11.38. Some ICMP Message Types

Type Code Description
0 0 echo reply (to ping)
3 0 destination network unreachable
3 1 destination host unreachable
3 2 destination protocol unreachable
3 3 destination port unreachable
3 6 destination network unknown
3 7 destination host unknown
4 0 source quench (congestion control)
8 0 echo request
9 0 router advertisement
10 0 router discovery
11 0 TTL expired
12 0 bad IP header

11.39. Some ICMP Message Descriptions

11.40. Routing Algorithms

11.41. Autonomous Sytems

11.42. Internet Routing Protocols

11.43. Abstract Graph Model

11.44. Open Shortest Path First

11.45. OSPF Algorithm

  Initialisation:
 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

11.46. Example of OSPF Algorithm

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