Network Transport & UDP Flashcards
Hourglass model of the Internet
- Few network protocols
– They are the ‘glue’ that allow inter-operation
Transport services and protocols
- Provide logical communication between app processes running on different hosts
- Transport protocols run in end system
- Send side: breaks app messages into segments, passes to network layer
- Receiver side: reassembles segments into messages, passes to app layer
- More than one transport protocol available to apps
- Internet: TCP and UDP
Transport Layer service (Service Types)
- Connection-oriented service
- 3 Phases: connection set-up, data transfer, disconnect - Connectionless service
- Transfer of isolated units
Transport Layer service (Aim)
– To Improve the Network Service quality that applications get from the network layer, e.g.:
* Reliable service
* Ensuring integrity of data passed to applications
– Can not guarantee delay or bandwidth guarantees (if the network layer does not provide those guarantees)
- Essentially a socket-to-socket communication service
Internet Transport Layer
- Lowest level end-to-end protocol
- Transport header generated by sender is interpreted only by destination
- Routers / gateways view transport header as part of the payload – they only see the Network (IP) header
- Can add extra functionality to the best effort packet delivery service provided by IP
– Can make up for some of the shortcomings of core network
Transport vs Network layer
- Network layer: logical communication between hosts
- Transport layer: logical communication between processes
– Relies on, enhances, network layer services
Transport vs Network Layer (household analogy)
12 kids in Ann’s house sending letters to 12 kids in Bill’s house:
* Hosts = houses
* Processes = kids
* App messages = letters in envelopes
* Transport protocol = Ann and Bill who demux to in-house siblings
* Network-layer protocol = postal service
Reminder: Layer relationship
Internet transport-layer protocols
- Reliable, in-order delivery: TCP (and QUIC)
– Congestion control
– Flow control
– Connection setup - Unreliable, unordered delivery: UDP
– No-frills extension of “besteffort” IP - Services not available:
– Delay guarantees
– Bandwidth guarantees
Some Transport Layer functions
- Multiplexing/de-multiplexing data for multiple
applications
– Uses “port’’ abstraction - Connection establishment
– Logical end-to-end connection - Error control
– Hides unreliability of network layer from applications
* Corruption, loss, duplication, reordering - End-to-end flow control
– To avoid flooding the receiver - Congestion control
– To avoid flooding the network
Multiplexing/ Demultiplexing
How demultiplexing wokrs
- Host receives IP datagrams
- Each datagram has source IP address, destination IP address
- Each datagram carries one transport-layer segment
- Each segment has source, destination port number
- Host uses IP addresses & port numbers to direct segment to appropriate socket
Connectionless demultiplexing
Connectionless demux: example
Connection-oriented demux
- TCP socket identified by 4- tuple:
- Source IP address
- Source port number
- Dest IP address
- Dest port number
- demux: receiver uses all four values to direct segment to appropriate socket
- Server host may support many simultaneous TCP sockets:
- Each socket identified by its own 4-tuple
- Web servers have different sockets for each connecting client
- Non-persistent HTTP will have different socket for each request