Dr. Mark Humphrys

School of Computing. Dublin City University.

Online coding site: Ancient Brain

coders   JavaScript worlds

Search:

Free AI exercises


Transport Layer

Typically an API embedded in Operating System.
e.g. Berkeley UNIX sockets

First true end-to-end layer.
What defines boundary of Transport and Network layers is that Transport code runs only on user machines, not on routers.
Boundary of Network layer is boundary of what routers need to run.

Quality of service:

Transport layer has to manage:

API:

Transport Protocol Data Unit (TPDU)

What transport layers send to each other. Contains the "real" data of the communication.

Remember discussion of packet and frame.

TPDUs (exchanged by transport layer) are contained in packets (exchanged by network layer) which are contained in frames (exchanged by data link layer).



TCP

Internet protocol stack:
TCP - Transport layer for Internet.
IP is Network layer (does the routing). IP packets. IP is unreliable (may lose packets).

TCP provides reliable, connection-oriented service on top of IP.
Provides:

Applications that use TCP:

  1. HTTP
  2. FTP
  3. telnet, ssh
  4. SMTP, POP3


UDP

Internet protocol stack:
UDP - alternative Transport layer for Internet.
Unreliable, connectionless.
No acks and re-transmits.
Faster, but may lose packets, or get damaged packet, and packets may arrive out of order.
But much faster.

Applications that use UDP, not TCP:

  1. Streaming media, e.g. RealAudio and RealVideo.
    Often, streaming client uses its own error-checking to compensate for lost/damaged data.
    RTP can use TCP, but mostly uses UDP.

  2. VoIP
  3. Online multiplayer games
  4. DNS


Usage

As at c.2002, c.95% of all Internet packets were TCP, c.5% UDP, less than 1% other.
UDP use (video, audio streams, VoIP, online games) growing since,
but TCP use (TCP file sharing, TCP torrents, HTTP video streaming, YouTube) also growing since.




Sockets




Ports




6.2 Transport protocols

We saw previously algorithms for acks, re-transmits and flow control used on frames in Data Link layer (i.e. across a single physical link).
See here and here.

Similar algorithms may be used on higher-level objects to provide a reliable service in Transport layer (i.e. across entire network).
More difficult because instead of a single line (a) the entire network is now in the way (b):



6.5 TCP


TCP header.
See meaning.

Note port nos.
Uses sliding window protocol.
Initially go back n. More recently selective repeat.
Note seq and ack. These refer to next byte expected. Every byte is numbered 0 .. n (and then repeat) in the TCP byte-stream.
n = 232-1 = 4 billion.

TCP checksum (explained here) is quite weak (not CRC).
This is ok since CRC probably also used in Data Link layer (e.g. PPP and Ethernet).
Normal communication sessions will have error-checking in both Data Link and Transport layers.




ancientbrain.com      w2mind.org      humphrysfamilytree.com

On the Internet since 1987.      New 250 G VPS server.

Note: Links on this site to user-generated content like Wikipedia are highlighted in red as possibly unreliable. My view is that such links are highly useful but flawed.