传输层
传输层的基本服务
传输层功能
传输层的核心任务是为应用进程之间提供端到端的逻辑通信服务
主要功能包括:
传输层寻址
应用层报文的分段和重组
报文的差错检测
进程间的端到端可靠数据控制
面向应用层实现复用与分解
端到端的流量控制
拥塞控制
传输层寻址与端口
无连接服务与面向连接服务
传输层的复用与分解
无连接的多路复用与多路分解
有连接的多路复用与多路分解
停-等协议与滑动窗口协议(重点)
实现可靠传输的基本原理
实现可靠传输的措施
1.差错检测:利用差错编码实现数据包传输过程中的比特差错传输
2.确认接收方向发送方反馈接受状态
3.重传发送方重新发送接收方没有正确接收的数据
4.序号确保数据按序提交
5.计时器解决数据丢失问题
停等协议
停-等协议的主要特点就是每发送一个报文段后就停下来等待接收方确认
停等协议的基本工作过程
1.发送方发送经过差错编码和编号的报文段,等待接收方的确认(发送并等待确认)
2.接收方如果正确接收报文段,即差错检测无误且序号正确则接收报文段,并向发送方发送ACK否则丢弃报文段,并向发送方发送NAK(接收并确认/否认)
3.发送方如果收到ACK,则继续发送后续报文段,否则重发刚刚发送的报文段(继续发送/重发)
停等协议的主要性能问题
停止-等待机制降低了信道的利用率
解决办法
流水线协议或管道协议 --- 允许发送方在没有收到确认前连续发送多个分组
流水线协议的改进 --- 增加分组序号的范围,发送方和(或)接收方必须缓存多个分组
典型的流水线协议 --- 滑动窗口协议
滑动窗口协议
两种最具代表性的滑动窗口协议
1.回退N步协议(GO-Back-N GBN)
发送端窗口大小较大,可以在未得到确认前连续发送多个分组,但接收窗口大小仅为1,只能接收1个按序到达的分组,未按序到达的分组或者某个分组差错,就会引起发送方重发该分组及其之后的所有分组
2.选择重传协议(Selecliv Repeat SR)
增加接收方缓存能力(接收窗口>1),缓存正确到达但失序的分组,仅要求发送方重传未被接收方确认的分组,等待缺失分组到达后一并向上层按序提交
用户数据报协议(UDP)
用户数据报协议UDP是Internet传输层协议,提供无连接,不可靠,数据报尽力传输服务
UDP的数据结构
1.源和目的端口号:用于UDP实现复用与分解
2.长度字段:在UDP报文段中的字节数(首部和数据的总和)
3.校验和:接收方用来检测该报文段是否出现了差错
UDP校验和
1.对所有参与运算的内容(包括UDP报文段)按16位(16位对齐)求和:
2.求和过程中遇到任何溢出(即进位)都会被回卷(即进位与和最低位在加)(进位与原来的和在次相加)
3.最后得到的和取反码
传输控制协议(TCP)
SYN: 同步请求位
ACK:确认位
TCP连接管理
连接建立阶段 -- 三次握手
连接建立-三次握手
1.SYN连接请求 (连接请求)
2.SYNACK确认(同步确认)
3.ACK确认(最后确认)
注意图片中的确认号是x+1或y+1
TCP断开连接的过程 -- 四次挥手
TCP可靠数据传输
1.TCP的可靠数据传输实现机制包括差错编码,确认,序号,重传,计时器等
2.TCP的可靠数据传输是基于滑动窗口协议,但是发送窗口大小动态变化
(1)封装TCP报文段
(2)发出一个报文段后启动一个计时器
(3)通过校验和发现数据差错
(4)通过序号重新排序,丢弃重复的报文段
(5)流量控制
TCP流量控制
1.TCP协议利用窗口机制实现流量控制,但不是简单的滑动窗口协议
2.TCP建立连接,双方都为之分配了固定的大小缓冲空间;TCP的接收端只允许另一端发送其缓冲区所能接纳的数据
(1)接收端在给发送端发送确认段时,通告接收窗口大小
(2)发送端在接下来发送数据段时,确保未确认段的应用层数据总量不超过接收端通告的接收窗口大小,从而确保接收端不会发生缓存溢出
TCP拥塞控制
1.窗口机制
通过调节窗口的大小实现对发送数据速率的调整
2.窗口调整的基本策略
AIMD
加性增加乘性减小
网络未发生拥塞时逐渐(加性)增大窗口大小,当网络拥塞时(乘性)快速减小窗口大小
3.TCP拥塞控制算法
包括了慢启动,拥塞避免,快速重传,快速恢复
本章小结
本章主要介绍了传输层的基本服务,复用与分解,停-等协议与滑动窗口协议,UDP协议,TCP协议等内容
本章重难点
1.可靠数据传输原理,停等协议,滑动窗口协议
2.TCP连接建立和释放过程
3.TCP可靠数据传输机制和拥塞控制方法