文档介绍:第23讲传输层之二
传输控制与UDP
1. 流量控制与缓冲
TL的流控涉及TS用户、传输实体和网络服务相互作用
得到B的允许(对等流控)
得到其传输实体的允许(接口流控)
A必须等待,直到:
TL流控的复杂性
一. 传输控制
传输实体
a
传输实体
b
接口
接口
传输层
网络层
传输用户A
传输用户B
发送TS用户
接收TS用户
传输协议
Send
Segment
Indication
ACK send
ACK send
Confirm
Response
ACK send
传输实体间的传输延迟通常比实际传输时间长而且变化不定
接口流控
对等流控
基于可靠网络服务的流控
什么也不做
溢出缓冲区的段都遭丢弃。
后压机制
拒绝从网络服务接受进一步段。
固定滑动窗口协议
数据单元采用顺序编号
窗口尺寸固定
利用确认滑动窗口
在某个时刻,发送传输实体有一些已输出的段尚未得到确认。
预留途径
在长延迟环境中会限制传输连接的吞吐量。
接收者通过授予未拥有的空间信用卡而潜在地提高吞吐量
如发送者快于接收者某些段将遭丢弃迫使重发
信用卡模式
经过连接建立过程,发送和接收序号取得同步。
每当发送段前移发送窗口的尾部;
每当获得信用卡前移发送窗口前沿;
数据发送并已确认
数据发送但未确认
允许的数据传输
未用和不可用的序号
发送序号分为四部分:
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
0
1
2
3
4
5
6
7
0
1
2
3
传输实体A
传输实体B
SN0
SN1
SN2
SN3
SN4
SN5
SN6
A可发7个段
A滑动发送窗口
B准备接收7个段
B确认3个段,准备再接收额外一个段
ACK3, CDT=5
A根据信用卡调整发送窗口
A耗尽信用卡
SN7
ACK0, CDT=7
初始序号
最后收到的ACK
最后发送的数据段
窗口边界
发送的数据
确认的数据
未确认的数据
可发送的数据
初始序号
最后收到的数据段
最后发送的ACK
窗口边界
收到的数据
收到&确认的数据
未确认的数据
可接收的数据
(a)发送序号空间
(b)接收序号空间
基于不可靠网络服务的流控
有效性
传输实体发送形为(ACKN, CREDIT M)的控制段
ACK N :确认所有直到N的数据段;
CREDIT M:允许传输从N+1~N+M的段;
为了增加或减少信用卡为X
B可发出(ACK N,CREDIT X)
为了确认一个新段而不增加信用卡
B可发出(ACK N+1,CREDIT M-1)
死锁
系统A
系统B
ACKn, CDT=0
临时关闭连接
ACKn, CDT=m
授予A信用卡
丢失
等待B的授予
等待A的传输
采用窗口计时器
为每个ACK/CREDIT段提供确认
死锁