计算机网络第五章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5 运输层
1.试说明运输层在协议栈中的地位和作用。运输层的通信和网络层的通信有什么重要的区别?为什么运输层是必不可少的?
答:
1)运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,,向他上面的应用层提供服务。
2)运输层为应用进程之间提供端到端的逻辑通信,网络层是为主机之间逻辑通信。
3)各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式
加到网络层。
2.当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是无连接的?
答:
从不同层次来看,在运输层是面向连接的,在网络层是无连接的。
3.如果应用程序愿意使用UDP完成可靠传输,这可能吗?请说明理由。
答:
可能,但是应用程序中必须额外提供与TCP相同的功能。
4.在停止等待协议中,如果不使用编号是否可行?为什么?
答:
不可行,分组和确认分组都必须进行编号,才能明确那个分组得到了确认。
5.什么是Karm算法?在TCP的重传机制中,若不采用Karm算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时间样本和重传时间都会偏小。试问:重传时间最后会减少到什么程度?答:
Karm算法:在计算平均往返时延RTT时,只要报文段重传了,就不采用其往返时延样本。
设新往返时延样本Ti
RTT(1)=a*RTT(i-1)+(1-a)*T(i);
RTT^(i)=a* RTT(i-1)+(1-a)*T(i)/2;
RTT(1)=a*0+(1-a)*T(1)= (1-a)*T(1);
RTT^(1)=a*0+(1-a)*T(1)/2= RTT(1)/2
RTT(2)= a*RTT(1)+(1-a)*T(2);
RTT^(2)= a*RTT(1)+(1-a)*T(2)/2;
= a*RTT(1)/2+(1-a)*T(2)/2= RTT(2)/2
6.假定TCP在开始建立连接时,发送方设定超时重传时间RTO=6秒。
(1)当发送方收到对方的连接确认报文段时,测量出RTT样本值为1.5秒。试计算现在的RTO值。
(2)当发送方发送数据报文段并收到确认时,测量出RTT样本值为2.5秒。试计算现在的RTO值。
答:
(1)据RFC2988建议,RTO=RTTs+4*RTTd。其中RTTd是RTTs的偏差加权均值。初次测量时,RTTd(1)= RTT(1)/2;
后续测量中,RTTd(i)=(1-Beta)* RTTd(i-1)+Beta*{ RTTs- RTT(i)};
Beta=1/4
依题意,RTT(1)样本值为1.5秒,则
RTTs(1)=RTT(1)=1.5s RTTd(1)=RTT(1)/2=0.75s
RTO(1)=RTTs(1)+4RTTd(1)=1.5+4*0.75=4.5(s)
(2)RTT(2)=2.5 RTTs(1)=1.5s RTTd(1)=0.75s
RTTd(2)=(1-Beta)* RTTd(1)+Beta*{ RTTs(1)- RT
(2)}=0.75*3/4+{1.5-2.5}/4=13/16
RTO(2)=RTTs(1)+4RTTd(2)=1.5+4*13/16=4.75s
7.在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用?“乘法减小”和“加法增大”各用在什么情况下?
答:
1)慢开始:在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段MSS的数值。在
每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个MSS的数值。用这样的方法逐步增大发送端的拥塞窗口cwnd,可以分组注入到网络的速率更加合理。
2)拥塞避免:当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算
法使发送的拥塞窗口每经过一个往返时延RTT就增加一个MSS的大小。
3)快重传算法规定:发送端只要一连收到三个重复的ACK即可断定有分组丢失了,就应该立即重传丢手
的报文段而不必继续等待为该报文段设置的重传计时器的超时。
4)快恢复算法:当发送端收到连续三个重复的ACK时,就重新设置慢开始门限 ssthresh
与慢开始不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为ssthresh
若收到的重复的AVK为n个(n>3),则将cwnd设置为ssthresh
若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。
若收到了确认新的报文段的ACK,就将cwnd缩小到ssthresh
5)乘法减小:是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),
就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。
当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。
6)加法增大:是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把
拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。
8.设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP使用慢开始和拥塞避免。是分别求出第1轮次到第15轮次传输的各拥塞窗口大小。你能说明拥塞窗口每一次变化的原因吗?
答:
拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9.
9.TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示:
(1)试画出拥塞窗口与传输轮次的关系曲线。
(2)指明TCP工作在慢开始阶段的时间间隔。
(3)指明TCP工作在拥塞避免阶段的时间间隔。
(4)在第16轮次和第22轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?(5)在第1轮次、第18轮次和第24轮次发送时,门限ssthresh分别被设置为多大?
(6)在第几轮次发送出第70个报文段?
(7)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh应设置为多大?
答:
(1)拥塞窗口与传输轮次的关系曲线如图所示(课本后答案):
(2)慢开始时间间隔:【1,6】和【23,26】
(3)拥塞避免时间间隔:【6,16】和【17,22】
(4)在第16轮次之后发送方通过收到三个重复的确认检测到丢失的报文段。在第22轮次之后发送方是通过超时检测到丢失的报文段。
(5)在第1轮次发送时,门限ssthresh被设置为32
在第18轮次发送时,门限ssthresh被设置为发生拥塞时的一半,即21.
在第24轮次发送时,门限ssthresh是第18轮次发送时设置的21
(6)第70报文段在第7轮次发送出。
(7)拥塞窗口cwnd和门限ssthresh应设置为8的一半,即4.