目录
一、TCP协议的特性:
- 工作在传输层
- 面向连接协议
- 全双工协议
- 半关闭(四次挥手)
- 错误检查
- 将数据打包成段,排序(分片)
- 确认机制
- 数据恢复,重传
- 流量控制,滑动窗口
二、UDP协议的特性:
- 工作在传输层
- 提供不可靠的网络访问
- 面向无连接协议
- 有限的错误检查
- 传输性能高
- 无数据恢复特性
三、TCP报文段
- 序号:是随机生成的(首次进行数据包 沟通时 是随机生成的)
- 确认号:用于确认发送端的信息
- 窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的
四、控制位与确认号的解释
控制位:决定 A和 B 的连接 目前处于什么状态 ( 状态一共有11种了解)
备注:ACK :确认位 FIN:断开位 SYN:同步位
tcp A 和 B 目前处于什么状态?
- A 想 和 B 请求建立连接 状态 SYN=1 同步位
- A 和 B 已经建立连接状态 ACK=1
- A 和 B 已经断开连接 FIN=1
例如:
A电脑 --------------发送数据-----------------> B电脑
A会随机产生一个 序号为X的 数据包发给B
A电脑<-------------回复数据----------------B电脑
B电脑收到以后 会随机产生一个 回复包 随机产生序号Y
在回复包中会产生一个 新的字段 即确认号:规定了 A 下一次发送的序号X+1
注:不允许随机产生
五、TCP三次握手的过程
备注:SYN=1 表示请求连接,seq表示数据,ACK=1 表示确认关系,ack表示确认号
三次握手的过程:pc1 想和 pc2 建立连接
- pc1 会发送 syn(同步位)=1 序号为随机数x的 报文给pc2,pc2 收到 pc1的 报文会回复一个 syn + ack 报文给 pc1,该报文 序号为随机生成的y 确认号为 x+1 (ack=x+1),syn(同步位)=1 ACK(确认位)=1
- pc1 收到 pc2 同意建立连接的报文,会回复一个 ACK 报文,该报文 序号为 x+1 确认号为 y+1 ACK(确认位)=1
- 这样pc1 和pc2 就建立连接了