运输层作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。

答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP 数据报损失有一定的承受度,但对传输时延的变化较敏感。

有差错的UDP 数据报在接收端被直接抛弃,TCP 数据报出错则会引起重传,可能带来较大的时延扰动。因此VOIP 宁可采用不可靠的UDP,而不愿意采用可靠的TCP。

5—08 为什么说UDP 是面向报文的,而TCP 是面向字节流的?

答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。

接收方UDP 对IP 层交上来的UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。

发送方TCP 对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节

5—09 端口的作用是什么?为什么端口要划分为三种?

答:端口的作用是对TCP/IP 体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。

端口号分为两大类,一类是服务器使用的端口号,其中又分为两类:熟知端口,数值一般为0~1023.标记常规的服务进程;登记端口号,数值为1024~49151,标记没有熟知端口号的非常规的服务进程。另一类是客户端使用的端口号,数值为59152~65535,仅在客户进程运行时才动态选择。

5—11 某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP 而直接交给IP层?哪些功能UDP提供了但IP没提提供?

答:不可跳过UDP 而直接交给IP 层。IP 数据报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。

UDP 提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。

5—13 一个UDP 用户数据的数据字段为8192字节。在数据链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值。

答:6 个

以太网数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的.这个1500字节被称为链路层的MTU(最大传输单元).所以,这个1500字节就是

网络层IP数据报的长度限制.

因为IP数据报的首部为20字节,所以IP数据报的数据区长度最大为1480字节.而这个1480字节就是用来放TCP传来的TCP报文段或UDP传来的UDP数据报的.又因

为UDP数据报的首部8字节,所以相当于UDP数据报由8200字节.

数据字段的长度:前5 个是1480 字节,最后一个是800 字节。

由于片偏移以8个字节为偏移单位,1480/8=185

所以片偏移字段的值分别是:0,185,370,555,740,925.

5—14 一UDP 用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17.试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器还是从服务器发送给客户?使用UDP 的这个服务器程序是什么?

解:源端口632(十六进制)1586(十进制)

目的端口45(十六进制)69(十进制)

UDP 用户数据报总长度1C(十六进制)28 字节(十进制)

数据部分长度28-8=20字节。

此UDP 用户数据报是从客户发给服务器(因为目的端口号是69<1023,是熟知端口),服务器程序是TFTP。(由书P192表格得到)

5—17 在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体的例子说明理由。

答:

不可行。收到重复帧不确认相当于确认丢失,如果不重传确认M1,A会以为数据报丢失而在此重传。

5—24 一个TCP 连接下面使用256kb/s的链路,其端到端时延为128ms。经测试,发现吞吐量只有120kb/s。试问发送窗口W是多少?(提示:可以有两种答案,取决于接收等发出确认的时机)。

答:两种情况:

1、接收端在收完一批数据的最后才发出确认,因此发送端经过

(256ms+T)后才能发送下一个窗口数据。T=W/256k

2、即:W/(256ms+ W/256k)=120k 得:W=57825.88235 bit 约为7228

字节。

3、接收端每收到一个很小的报文段后就发回确认,因此发送端经过

256ms即可再次发送数据。

即:W/256ms=120k 得:W=30720 bit =3840字节

5—29 在使用TCP 传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。

答:还未重传就收到了对更高序号的确认。

当数据包都是相连的情况下,由于连续ARQ协议,接收方没有必要每一次都回应。比如,他收到第1到5条TCP报文段,只需回应第五条就行了。如果第3条TCP报文段被丢失了,所以尽管他收到了第4和5条,然而他只能回应第2条。

发送方在发送了第三条以后,没能收到回应,因此当时钟过时时,他重发第三条。这次第三条被成功接收,接收方可以直接确认第5条,因为4,5两条已收到。

然后所说的情况,比如传送方发送了5条TCP报文段,而接收方在接收到第3条报文段的时候发送出的确认报文丢失了,但是之后接收完全部5条报文段的时候又发出了一个对第5条的确认报文,那么发送方收到后就能够知道接收方已经成功收到了全部的5条TCP报文段,因此不会再去重传。

5—30 设TCP 使用的最大窗口为65535 字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为20ms,问所能得到的最大吞吐量是多少?

答:在发送时延可忽略的情况下,最大数据率=最大窗口*8/平均往返时间

=65535*8/20ms=26.2Mb/s。

5—33 假定TCP 在开始建立连接时,发送方设定超时重传时间是RTO=6s。

(1)当发送方接到对方的连接确认报文段时,测量出RTT样本值为1.5s。试计算现在的RTO 值。

(2)当发送方发送数据报文段并接收到确认时,测量出RTT样本值为2.5s。试计算现在的RTO 值。

答:

(1)据RFC2988 建议,RTO=RTTs+4*RTTd。其中RTTd 是RTTs的偏差加权均值。

相关文档
最新文档