目录
一、在TCP的拥塞控制中,什么是慢开始,拥塞避免,快重传和快恢复算法?这里每一种算法各起什么作用?"乘法减小"和"加法增大"各用在什么情况下
二、TCP在进行流量控制时候,以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起分组丢失的情况,如有,请举出三种情况。
三、解释为什么突然释放运输连接就可能会丢失用户数据,而TCP的连接释放方法可以保证不丢失数据
五、UDP用户数据报的最小长度是多少?用最小长度的UDP用户数据报构成的最短IP数据报的长度是多少。
前言
有时候世界虽然是假的,但并不缺少真心对待我们的人
一、在TCP的拥塞控制中,什么是慢开始,拥塞避免,快重传和快恢复算法?这里每一种算法各起什么作用?"乘法减小"和"加法增大"各用在什么情况下
慢开始算法的思路是这样的:当主机发送数据时,如果立即把大量数据字节注入网络,那么就有可能引起网络拥塞,因为现在并不清楚网络的负荷情况。经验证明,较好的方法是检测一下,就是从小到大逐渐增大发送窗口,也就是说,由小到大逐渐增大拥塞窗口数值。通常在刚刚开始发送报文段的确认后,把拥塞窗口cwnd设置一个最大报文段MSS的数值。而在每收到一个对新的报文段的确认后,把拥塞窗口增加到至多一个MSS的数值。用这样的方法逐步增大发送方的拥塞窗口cwnd,可以使分组注入网络的速率更加合理。使用慢开始算法后,每经过一个RTT,拥塞窗口cwnd就加倍。
为了防止拥塞窗口cwnd增长过大引起网络拥塞,还需要设置一个慢开始门限ssthresh状态变量。当cwnd>ssthresh时,停止使用慢开始算法而改用拥塞避免算法。
拥塞避免算法的思路是让拥塞窗口cwnd缓慢地增大,就是每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍。这样,拥塞窗口cwnd按照线性规律缓慢增长,比慢开始算法的拥塞窗口增长速率缓慢很多
快重传算法首先要求接收方每收到一个失序的报文段后,就立即发出重复确认,而不要等待自己发送数据时才开始捎带确认
快恢复算法,其过程有以下两个要点:
(1)当发送方连续收到三个重复确认时,就执行"乘法减小"算法,把慢开始门限ssthresh减半。这是为了预防网络发生拥塞。请注意,接下来不执行慢开始算法
(2)由于发送方现在认为**网络很可能没发生拥塞,**因此不执行慢开始算法,而是把cwnd值设定位慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法,使拥塞窗口缓缓地线性增大
"乘法减小"是不论在慢开始阶段还是拥塞避免阶段,只要出现超时(即很可能出现了网络拥塞,)就把满开始门限值ssthresh减半,即设置为当前拥塞窗口的一半(与此同时,执行满开始算法)。当网络频繁出现拥塞时,ssthresh值就下降的很快,以大大减少注入到网络中的分组数。
加法增大 是指执行拥塞避免算法后,使拥塞窗口缓缓增大,以防网络过早出现拥塞
二、TCP在进行流量控制时候,以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起分组丢失的情况,如有,请举出三种情况。
不是因拥塞而引起分组丢失的情况还是有的,举例如下。
第一种情况:当IP数据报在传输过程中需要分片时,但其中的一个数据报片未能及时到达重终点组装IP数据报已经超时,因而只能丢弃该数据报。
第二种情况:IP数据报已经到达终点,但终点的缓存没有足够的空间存放该数据报。
第三种情况:数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧时没有足够的存储空间只好丢弃
三、解释为什么突然释放运输连接就可能会丢失用户数据,而TCP的连接释放方法可以保证不丢失数据
我们假定A和B之间建立了TCP连接,并且已经交换了一些数据。
现在A应当发送的数据都已经发送完毕了。如果A现在突然把TCP连接释放掉,那么有可能出现这种情况:A发送到B的某些报文段正在网络中传送,但因某些原因,报文段丢失了,A以为B应当收到A所发送的全部报文段,但事实上,有些报文段B没有收到。这就是题目所说的"可能会丢失用户数据"。
我们再假定:A已经收到了来自B的确认,B向A确认已经收到了A所发送的全部数据。如果A现在突然把TCP连接释放掉,那么A发送给B的数据是不可能丢失了,因为B已经确认收到了A发送的全部数据。现在可能会丢失的是B要向A发送一些数据(如果B还有这样的数据),因为TCP连接突然释放了
因此,必须保证TCP的连接释放,这样就可以保证不丢失数据
四、UDP和IP的不可靠程度是否相同?请加以解释。
UDP和IP都是无连接的协议和不可靠传输的协议,UDP用户数据报和IP数据报的首部都有检验和字段。当检验出差错时,就把收到的UDP用户数据报或IP数据报丢弃,这就是他们的相同之处
但UDP和IP的可靠性是有些区别的。UDP用户数据报的检验和既检验UDP用户数据报的首部又检验整个的UDP用户数据报的数据部分,而IP数据报的检验和仅仅检验IP数据报的首部。UDP用户数据报的检验和还增加了伪首部,即还检验了下面的IP数据报的源IP地址和目的IP地址
五、UDP用户数据报的最小长度是多少?用最小长度的UDP用户数据报构成的最短IP数据报的长度是多少。
UDP用户数据报的最小长度是8字节,即仅有首部而没有数据。用最小长度的UDP用户数据报构成的最短IP数据报的长度是28字节。此IP数据报具有20字节的固定首部,首部没有可选字段
总结
总结了运输层的一些知识点