7. Computer networks

A. Transport layer services and protocols

The transport layer protocols provide the logical communication between applications/processes running in different hosts.

  • These protocols run in the end systems and not in the network routers.
    • Sender: Breaks the application messages into Segments; passes it to network layers.
      • The segment is further encapsulated into network-layer packets called Datagrams.
        • The datagram is finally passed to the network router.
    • Receiver: Receives the segments and re-assembles the application messages; passes it to application layer.

There are different transport layer protocols, each with its own characteristics. The following are the most common ones:

  • Transmission Control Protocol (TCP)
  • User Datagram Protocol (UDP)

User Datagram Protocol (UDP)

“No frills,” “bare bones” Internet transport protocol. UDP is a connectionless protocol.


  • No handshaking between UDP sender and receiver.
  • Each segment is handled independently of others.

Why use UDP?

  • No connection needs to be established which usually creates a delay
  • Simple: no connection state at sender and receiver
  • Small segment header
  • No congestion control: USP can blast away as fast as desired

Most often used for streaming multimedia applications.

Other uses: Domain name system (DNS), Simple network management protocol (SNMP)

Protocol specifications:

Fig 1. UDP segment format
Fig 1. UDP segment format

Few notable ports and protocols:

Port number Protocol Application
53 UDP, TCP Domain name system (DNS)
16, 384-32, 767 UDP Voice and video

Transmission Control Protocol (TCP)

“Connection-oriented” transport protocol.


  • Point-to-point: One sender, one receiver.
  • Connection-oriented: Handshaking in it’s sender. receiver state before data exchange.
  • Full duplex: Bi-directional data flow in same connection
    • MSS: Maximum segment size
  • Reliable, in-order byte stream: Segments are sent in order and acknowledged by receiver.
  • Flow controlled: Segments are not sent if receiver is not ready.

TCP Segment structure

  • Includes both source and destination port numbers, checksum.
  • 32 bit sequence number, 32 bit acknowledgment number.
  • 4 bit header length specifies the length of the TCP header in 32-bit words.