北理工 通信网络基础大作业
接收缓冲区内,待所缺序号的报文段收齐后再一起上交应用层。采用后一种策略对网络的性能会更好些。
5.5 TCP的流量控制
TCP采用可变发送窗口的方式进行流量控制。发送窗口是指当发送端在未收到确认时还能够继续发送报文段的个数。窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前设定的接收窗口数值。
发送窗口在连接建立时由双方商定。在通信的过程中接收端可根据自己的资源情况,随时动态地调整自己的接收窗口,然后告诉对方,使对方的发送窗口和自己的接收窗口一致。
实现流量控制并非仅仅为了使接收端来得及接收。如果发送端发出的报文过多会使网络负荷过重。由此会引起报文段的时延增大,这将会使主机不能及时地收到确认,因此会重发更多的报文段,而这又会进一步加剧网络的拥塞。为了避免发生拥塞,主机应当降低发送速率。
3.6 TCP连接管理
运输连接的建立和释放是每一次面向连接通信中必不可少的过程,运输连接的管理就使运输连接的建立和释放都能正常的进行。 在连接建立的过程中要解决以下三个问题: (1) 要使每一方都知道对方的存在;
(2) 要允许双方协商一些参数(如,最大报文段长度,最大窗口的大等); (3) 能够运输实体资源(如缓冲区大小,连接表中的项目等)进行分配。 在数据连接建立的过程叫做三次握手:
(1) 主机A的TCP向主机B发送请求连接报文段,其首部中的同步比特SYN应置
1,同时选择一个序号X,商定为起始序号;
(2) 主机B的TCP收到连接请求报文段后,如果同意则发回确认,在确认报文段
中置1,确认序号为X+1,同时为自己选择一个序号Y。
(3) 主机A的TCP收到此报文段后还要向B给出确认,其确认序号为Y+1; (4) 各主机的TCP通知上层应用进程连接已建立。
在数据传输结束后,通信的双方都可以发出释放连接的请求。与建立连接相类似,释放过程也是三次握手: