(PPT来源:王道网课)
目录
传输层概述
- 传输层的两个协议
传输层的寻址与端口
- 服务端:服务器一端
客户端:使用服务器的主机
UDP协议
UDP首部格式
UDP校验过程
协议字段 17
TCP协议
TCP报文段的首部格式
首部的填充:要保证是4B的整数倍
- 控制位字段
URG:紧急位 —— 发送方应该尽快发送
PSH:推送位 —— 接收方应该尽快交付 - 协议字段 6
TCP连接管理(***三次握手/四次挥手)
三次握手
- 客户端 → 服务器端
-
Round1:客户端 发送 连接请求
SYN = 1:连接请求报文 / 连接请求的接受报文
seq = x:序号位(4B),随机产生序号
(ACK = 0:即此时ack无意义)
(ack确认号位:此时无效,客户端没有收到服务器端发来的报文段) -
Round2:服务器端 返回 确认报文段
SYN = 1:连接请求报文 / 连接请求的接受报文
ACK = 1:有效
ack = x + 1:有效;期待对方接下来发送的报文段的第一个字节
seq = y(随机) -
Round3:客户端 发送 确认的确认
SYN = 0
ACK = 1:有效
ack = y + 1
seq = x + 1:确认收到,值更新为 对方所发送报文段的第一个字节 - SYN洪泛攻击
四次挥手
- TCP的连接释放
-
Round1:客户端 发送 连接释放报文段
FIN = 1:结束位
seq = u -
Round2:服务器端 返回 确认报文段
(半关闭状态:客户停止发送数据,服务器还可以再发)
ACK = 1
seq = 上一个确认的报文段字节序列 + 1
ack = u + 1;返回对接收到的报文段的确认,期待发送下一个 -
Round3:服务器端 发送 连接释放报文段
FIN = 1:结束位
ACK = 1
seq = w
ack = u + 1:和上一次的确认号一致,所期待的下一个报文段的字节是一样的 -
Round4:客户端 回送 确认报文段
等待2MSL,再关闭
原因:确认 服务器 是否 收到了 此次报文段
TCP可靠传输
可靠传输的机制
- 序号
- 确认
- 重传
TCP协议中的 窗口 发送过程中使用的协议等知识 与 链路层知识 大同小异
——————————————————
TCP流量控制
- 让发送方发送慢一些
- TCP协议并不使用 停等协议,而是累计确认机制
TCP拥塞控制
- 资源:带宽等网络容量、交换结点中的缓存、交换结点中的处理机
- 流量控制:点对点的问题
拥塞控制:全局性的问题 - 接收窗口:接收方设置,反映接收方能力
拥塞窗口:反映全局性的网络容量问题 - 慢开始 + 拥塞避免
ssthresh:慢开始门限值;发生网络拥塞后,更新门限值=当前拥塞窗口/2 - 快重传 + 快恢复