mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-27 14:54:05 -06:00
vault backup: 2022-10-17 13:13:03
This commit is contained in:
parent
785c794d00
commit
bcb017497c
@ -82,6 +82,8 @@ Structure
|
|||||||
- length (of TCP header)
|
- length (of TCP header)
|
||||||
- application data
|
- application data
|
||||||
- RST, SYN, FIN - connection management
|
- RST, SYN, FIN - connection management
|
||||||
|
- syn - initiate a connection
|
||||||
|
- fin - close a connection
|
||||||
- recieve window - flow control # of bytes reciever willing to accept
|
- recieve window - flow control # of bytes reciever willing to accept
|
||||||
- protect against buffer overflow
|
- protect against buffer overflow
|
||||||
- C, E: congestion notification
|
- C, E: congestion notification
|
||||||
@ -108,7 +110,46 @@ lost and duplicated segments
|
|||||||
- sender retransmits the segment iin ACK is not recieved when timer fires
|
- sender retransmits the segment iin ACK is not recieved when timer fires
|
||||||
- duplicated
|
- duplicated
|
||||||
- host recieved data, ack is send and lost
|
- host recieved data, ack is send and lost
|
||||||
- data is resent, and a duplicat
|
- data is resent, and a duplication is detected (same sequence number)
|
||||||
|
|
||||||
|
|
||||||
|
## connections setup
|
||||||
|
three way handshake to set up virtual connection
|
||||||
|
- each knowing the other willing to communnicate
|
||||||
|
- agree on connection parameters (e.g., starting seq # s)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## connection termination
|
||||||
|
half-close
|
||||||
|
- 
|
||||||
|
|
||||||
|
2-way handshake
|
||||||
|
- combine ack and and server fin message
|
||||||
|
- 
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## TCP flow control
|
||||||
|
- happens at reciever side
|
||||||
|
- we have applications, and in the kernel we have receive buffer
|
||||||
|
- incoming data is stored in recieve buffer
|
||||||
|
- applications fetch data from this buffer
|
||||||
|
- reciever advertises free buffer space in recieve window field in TCP header
|
||||||
|
- sender limits amount of in-flight data to guarantee recieve buffer will not oveflow
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### congestion control
|
||||||
|
"too many sources sending too much data too fast for network to handle"
|
||||||
|
|
||||||
|
consequences:
|
||||||
|
- long delay (queueing)
|
||||||
|
- packet loss (buffer overflow)
|
||||||
|
|
||||||
|
different from flow control (one sender too fast for one reciever)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
AIMD - senders can increase sending rate until packet loss occurs, then decrese rate on loss event
|
||||||
# UDP
|
# UDP
|
||||||
Loading…
Reference in New Issue
Block a user