mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-27 14:54:05 -06:00
1.9 KiB
1.9 KiB
| title | aliases | tags | ||
|---|---|---|---|---|
| 18-transport-layer |
|
chapter 3
service provided by transport layer
services
- process to process communication
- logical communication between application processes
- multi and demulti plexing
- communication for multiple applications of the same host
- flow control
- ensure production reate <= consuption rate
- congestion control
- too many sender, sending too fast
protocols
- TCP transmission control protocol
- UDP user datagram protocol
actions and sender
- is passed an app layer lessage
- determines segment header fields values
- creates segment
- passes segement to IP
actions at reciever
- recieves segment from IP
- checks header values
- extract app layer message
- de multiplexes message up to application via socket
multiplexing and demultiplexing
sender: handle data from multiple sockets, add transport header reciever: user header info to deliver segments to correct socket
how it works
port number
- 16 bit integer (0, 66635)
- segment has a source and a port number
- host uses IP and port to direct segment to appropriate socket
IANA (internet assign number authority) has divded port number into three ranges
- 0-1023 well known
- 1024-49151 registered
- 49152-65535 dynamic
principle of reliable data transfer
- compexity of reliable data transfer protocol depends on character istics of unreliable channel
- sender and reciever do not know the 'state' of each other. they need to communicate via a message - ACKknowledgement
TCP
- point to point communicate
- one sender, one reciever
- reliable, in-order byte stream
- no message boundaries
- each byte has a position in the stream
- full duplex data
- bi directional data flow in the same connection
- MSS: maximum segment size
- cumulative ACKs
- connection-oriented
- handshaking (exchange of control messages) initializes se

