The Application Layer - Transport Services
Service Requirements
- Data Integrity
- You may need 100% reliable data transfer for some types of data transfer.
- Media streaming can often compensate for loss.
- Timing
- Some apps require low latency for effective use of the application.
- Throughput
- Media streaming often requires a minimum throughput to be effective.
- Security
- Data encryption
Common Applications
Application | Data Loss | Throughput | Time Sensitive |
---|---|---|---|
File transfer/dowlad | No loss | Elastic | no |
No Loss | Elastic | no | |
Web documents | No loss | Elastic | no |
Telephony | Loss-tolerant | Audio: 5 Kbps - 1 Mbps, Video 2 Mbps - 8 Mbps | Yes - 10ms |
Streaming | Loss-tolerant | Same as above | Yes, few seconds |
Interactive games | Loss-tolerant | Kbps+ | Yes - 10ms |
Text messaging | No loss | elastic | Dependant on application |
Internet Transport Protocols
TCP
This method provides:
- Reliable Transport
- Flow Control
- Sender won’t overwhelm the receiver.
- Congestion Control
It doesn’t provide:
- Timing
- Minimum throughput guarantee
- Security
This protocol is connection-oriented as a setup it required between teh client and server processes.
UDP
This method provides:
- Unreliable Data Transfer
It doesn’t provide:
- Reliable Transport
- Flow Control
- Congestion Control
- Timing
- Minimum throughput guarantee
- Security
This method has no guarantees. However, this enables the fastest connections and quickest setup times.
Security
TCP and UDP sockets provide no security methods, as a result there are additional protocols that allow this service.
Transport layer security (TLS) provides:
- TCP encrypted connections.
- Data integrity
- End-point authentication.
TLS is implemented in the application layer. This means that:
- Apps use TLS libraries that, in turn, use TCP.
- TLS socket API allows clear-text to be sent to the socket to traverse the network encrypted.