tcp
- 全双工工作,seq***一个字节占一个号,初始号随机,ACK***+1确认机制。例:ACK 3000 代表3000之前的数据都收到了。TCP双方各自维护自己的***。
- URG:紧急指针位,不是0就是1,如果置位了代表有紧急数据要立马交给应用层。
- URP:和URG对应。
- ACK:确认位,置位了代表数据里有确认信息。
- PSH:推送位,传应用层数据,置位。
- RST:重置位,三次连不上断开。
- SYN:初始位,建立连接时候使用,置位代表想建立连接。
- FIN:结束位,置位代表想断开。
- WINDOWS:滑动窗口,代表本电脑的缓冲区大小,流控。非0,0代表锁死。(服务器,pc处理能力)
- CHECKSUM:校验和,校验头部长度和数据。
- OPTIONS:选项,典型MMS,最大报文大小。MTU-20-20 1460
TCP三次握手
如两台服务器A 和B,三次连接过程如下
A-B
seq=随机A*** , syn置位代表请求连接
B-A
seq=随机B***, syn置位 ,ACK=A seq***+1
A-B
seq=A ,seq***+1 ,ack=B ,seq***+1 , ACK置位
四次断开
A-B
FIN置位 , ACK置位 ,seq=a
B-A
ACK ,SEQ=B ,ACK=A+1
B-A
FIN置位,ACK置位,SEQ=B,ACK=A+1
A-B
ACK置位, ACK=B+1 SEQ=A+1