Internet Protocol Stack

  • Application - (FTP, HTTP, Skype…)
  • Transport - (TCP, UDP)
  • Network - (IP, routing protocols)
  • Link - (Ethernet, 802.11, PPP)
  • Physical (bits)

In the stack, each layer depends on the layer below while supporting the ones above.
However, they are all independent of each other.

Because of their independence, it is easy to add and adjust layers without worrying about the entire system. It is important to note that there is only one unifying IP protocol.

Drawbacks of Independent Layers

  • Layers may reimplement functionality that already exists in lower levels
  • Headers start to get really big
  • Information hiding (due to abstraction) may interfere with performance (e.g packet loss due to corruption vs congestion
  • Layer violations => ends are not trusted/gains are too big

Summary

Source (Host/destination) requires:

  • Application
  • Transport
  • Network
  • Link
  • Physical layer

Switch requires:

  • Link
  • Physical

Router requires:

  • Network
  • Link
  • Physical