3.2 流量控制
3.2.1 流量控制概念
流量控制必要性:任何设备都有一个处理接收数据的速度限制,并且存储接收数据的存储容量也是有限的。接收设备必须在达到这些限制之前通知发送设备并且请求发送设备发送较少的数据帧或是暂停一会。
幻灯片2
流量控制是为了确保发送端发送的数据不会超出接收端接收数据能力的一种技术,即避免接收端缓冲区不够用的情况,它是数据由数据链路层(低层)交给网络层(高层)的中转站。
3.2.2 停止等待流量控制
停止等待流量控制协议:
发送方每发送一帧后就等待来自接收方的一个应答帧(帧 = 数据 + 控制信息)
接收方收到数据后发应答帧ACK(ACKnowledge)或NAK(Negative AcKnowledge) ;
if ACK then 发送下一帧 else (NAK )重发原来的帧;
发送和等待过程不断重复,直到发送端发送一个结束帧EOT(End Of Transmission) 为止。
3.2.3 滑动窗口流量控制
在停止等待流量控制协议中:每次只允许传送一帧;
在滑动窗口流量控制协议中:允许一次传送多帧,从而大大提高效率。 发送方在收到应答信息前可以发送若干帧,帧可以直接依次发送; 接收方只对一些帧进行应答确认,使用一个确认帧(应答帧
ACK/NAK)对多个数据帧的接收进行确认;当接收方发出一个ACK ,就在其帧中包含了预期接收的下一帧编号。
窗口:收发双方都要创建的内存缓冲区,用以存放数据帧;并且对收到应答之前可以传输的数据帧的数目进行限制。
窗口大小:一次最多发送的数据帧数目,设为n 帧数据,则数据帧以模n 方式进行编号(便于双方应答确认),即为0,1,2,……,n-1,且窗口大小为n-1不能涵盖所有n 帧数据(n=2k ,k 是序号应占用的位数)。
3.2 流量控制
3.2.1 流量控制概念
流量控制必要性:任何设备都有一个处理接收数据的速度限制,并且存储接收数据的存储容量也是有限的。接收设备必须在达到这些限制之前通知发送设备并且请求发送设备发送较少的数据帧或是暂停一会。
幻灯片2
流量控制是为了确保发送端发送的数据不会超出接收端接收数据能力的一种技术,即避免接收端缓冲区不够用的情况,它是数据由数据链路层(低层)交给网络层(高层)的中转站。
3.2.2 停止等待流量控制
停止等待流量控制协议:
发送方每发送一帧后就等待来自接收方的一个应答帧(帧 = 数据 + 控制信息)
接收方收到数据后发应答帧ACK(ACKnowledge)或NAK(Negative AcKnowledge) ;
if ACK then 发送下一帧 else (NAK )重发原来的帧;
发送和等待过程不断重复,直到发送端发送一个结束帧EOT(End Of Transmission) 为止。
3.2.3 滑动窗口流量控制
在停止等待流量控制协议中:每次只允许传送一帧;
在滑动窗口流量控制协议中:允许一次传送多帧,从而大大提高效率。 发送方在收到应答信息前可以发送若干帧,帧可以直接依次发送; 接收方只对一些帧进行应答确认,使用一个确认帧(应答帧
ACK/NAK)对多个数据帧的接收进行确认;当接收方发出一个ACK ,就在其帧中包含了预期接收的下一帧编号。
窗口:收发双方都要创建的内存缓冲区,用以存放数据帧;并且对收到应答之前可以传输的数据帧的数目进行限制。
窗口大小:一次最多发送的数据帧数目,设为n 帧数据,则数据帧以模n 方式进行编号(便于双方应答确认),即为0,1,2,……,n-1,且窗口大小为n-1不能涵盖所有n 帧数据(n=2k ,k 是序号应占用的位数)。