Transport Layer Part 1 Flashcards
Sender Transport Protocol Actions
- gets MESSAGE from application layer
- determines UDP segment header fields values
- creates segment
- passes to IP (network layer)
Receiver Transport Protocol Actions
- receives SEGEMENT from IP (network)
- checks header values
- extracts application layer MESSAGE
- demultiplexes message up to application via socket
Two Transport Protocols
- TCP
- UDP
Household Analogy: 12 kids in house sending letter to 12 kids in other house
hosts = house
processes = kids
app messages = letters in envelope
IP address (network) = envelope with address
port number (transport) = message in envelope
Transport Layer
Logical communication between processes on different hosts
TCP
Transport Control Protocol
- reliable, in-order delivery
- flow control
- connection setup
UDP
User Datagram Protocol
- unreliable, unordered delivery
- no-frills extension of “best-effort” IP
Multiplexing
- occurs at sender
- handle data from multiple sockets
- add transport header
Demultiplexing
- occurs at receiver
- user header info to deliver received segments to correct socket
- host uses IP address and port numbers to direct segment to appropriate socket
Connectionless Demultiplexing
- send to correct socket using dest IP and port number
- datagrams with same dest port but diff source IP/port will be directed to same socket
Connection-oriented Demultiplexing
- socket identified by 4-tuple of source IP, source port, dest IP, des port
- uses all four tuple values to determine socket
- unique socket for each 4-tuple
Checksum
Used to detect errors in transmitted segment.
1. Add together all values
2. wrap-around if needed
3. one’s complement
Sender Checksum Actions
- treat contents of UDP segment as seq of 16-but integers
- perform checksum operations on seq
- put checksum value into UDP checksum field
Receiver Checksum Actions
- compute checksum of received segment
- check if computed checksum equals checksum field value
Principle of Reliable Data Transfer
Reliable service is implemented using
1. reliable data transfer protocol
2. unreliable channel
RDT
Reliable Data Transfer PROTOCOL
rdt 1.0
Reliable transfer over a reliable channel.
rdt 2.0
Channel with bit errors (unreliable channel). Uses ACKNOWLEDGEMENTS to recover from errors
ACKs
Acknowledgements. Receiver explicitly tells sender that packet was received OK
NAKs
Negative Acknowledgements. Receiver explicitly tells sender that packet had errors and sender retransmits packer on receipt of NAK
Stop and Wait
Sender sends one packet, then waits for receiver response