---
第五章
5—01 试说明运输层在协议栈中的地位和作用,运输层的通信 和网络层的通信有什么重要区别?为什么运输层是必不可少 的?
答:运输层处于面向通信部分的最高层,同时也是用户功能中 的最低层,向它上面的应用层提供服务
运输层为应用进程之间提供端到端的逻辑通信,但网络层是为 主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻 址及有效的分组交换) 。 各种应用进程之间通信需要“
可靠或尽力而为”
的两类服务质
量,必须由运输层以复用和分用的形式加载到网络层。 5—02 网络层提供数据报或虚电路服务对上面的运输层有何 影响?
答:网络层提供数据报或虚电路服务不影响上面的运输层的运 行机制。但提供不同的服务质量。 5—03 当应用程序使用面向连接的
TCP 和无连接的 IP 时,这
种传输是面向连接的还是面向无连接的?
答:都是。这要在不同层次来看,在运输层是面向连接的,在 网络层则是无连接的。
5—04 试用画图解释运输层的复用。画图说明许多个运输用户 复用到一条运输连接上,而这条运输连接有复用到 上。
5—05 试举例说明有些应用程序愿意采用不可靠的 不用采用可靠的 TCP 。
答:VOIP:由于语音信息具有一定的冗余度,人耳对 有差错的 UDP数据报在接收端被直接抛弃, 则会引起重传,可能带来较大的时延扰动。因此 用不可靠的 UDP,而不愿意采用可靠的 答:丢弃
5—07 如果应用程序愿意使用 能吗?请说明理由
答:可能,但应用程序中必须额外提供与 的?
答:发送方 UDP 对应用程序交下来的报文,在添加首部后就 向下交付 IP
层。UDP对应用层交下来的报文,既不合并,
层交上来的 UDP 用户数据报,在去除首
也不拆分,而是保留这些报文的边界。 接收方 UDP 对 IP 报文。
发送方 TCP 对应用程序交下来的报文数据块,视为无结构的 字节流(无边界约束,课分拆
/ 合并),但维持各字节
部后就原封不动地交付上层的应用进程,一次交付一个完整的
TCP 相同的功能。
5—08 为什么说 UDP是面向报文的,而 TCP 是面向字节流
UDP来完成可靠的传输,这可
TCP 。
VOIP
数据报损失由一定的承受度,但对传输时延的变化较敏感。
TCP 数据报出错
VOIP宁可采 UDP,而 IP 数据报
5—06 接收方收到有差错的 UDP用户数据报时应如何处理?
---
---
5—09 端口的作用是什么?为什么端口要划分为三种?
答:端口的作用是对 TCP/IP 体系的应用进程进行统一的标志, 使运行不同操作系统的计算机的应用进程能够互相通信。 熟知端口,数值一般为 服务进程;
5—10 试说明运输层中伪首部的作用。 答:用于计算运输层数据报校验和。
5—11 某个应用进程使用运输层的用户数据报
UDP,然而继
续向下交给 IP 层后,又封装成 IP 数据报。既然都是
数据报,可否跳过 UDP而直接交给 IP 层?哪些功能 UDP提 供了但 IP 没提提供?
答:不可跳过 UDP而直接交给 IP 层
IP 数据报 IP 报承担主机寻址,提供报头检错;只能找到目的 主机而无法找到目的进程。
UDP提供对应用进程的复用和分用功能,以及提供对数据差 分的差错检验。
5—12 一个应用程序用 UDP,到 IP 层把数据报在划分为 4 个 数据报片发送出去,结果前两个数据报片丢失,后两个到达目 的站。过了一段时间应用程序重传
UDP,而 IP 层仍然划分为
4 个数据报片组装成
4 个数据报片来传送。结果这次前两个到达目的站而后两个丢 失。试问:在目的站能否将这两次传输的 然保存在目的站的缓存中。 答:不行
重传时, IP 数据报的标识字段会有另一个标识符。仅当标识 符相同的 IP 数据报片才能组装成一个 前两个 IP 数据报片的标识符与后两个 同,因此不能组装成一个 45 00 1C E2 17.
IP 数据报。
06 32 00
IP 数据报。
IP 数据报片的标识符不
完整的数据报?假定目的站第一次收到的后两个数据报片仍
0~1023. 标记常规的服务进程;登记端
口号,数值为 1024~ 49151 ,标记没有熟知端口号的非常规的
5—14 一 UDP用户数据报的首部十六进制表示是:
试求源端口、目的端口、用户数据报的总长度、
数据部分长度。这个用户数据报是从客户发送给服务器发送给 客户?使用 UDP的这个服务器程序是什么?
解:源端口 1586,目的端口 69,UDP用户数据报总长度 28 字节,数据部分长度 20 字节。
此 UDP用户数据报是从客户发给服务器(因为目的端口号 <1023,是熟知端口) 、服务器程序是 TFFTP 。
5—15 使用 TCP 对实时话音数据的传输有没有什么问题?使 用 UDP在传送数据文件时会有什么问题?
答:如果语音数据不是实时播放(边接受边播放)就可以使用 TCP ,因为 TCP 传输可靠。接收端用 TCP 讲话音数据接受完 毕后,可以在以后的任何时间进行播放。但假定是实时传输, 则必须使用 UDP。
UDP不保证可靠交付,但 UCP 比 TCP 的开销要小很多。因
---
---
此只要应用程序接受这样的服务质量就可以使用 么?
UDP。
5—16 在停止等待协议中如果不使用编号是否可行?为什 答: 分组和确认分组都必须进行编号,才能明确哪个分则得到 了确认。
5—17 在停止等待协议中,如果收到重复的报文段时不予理睬 (即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体 的例子说明理由。
答:收到重复帧不确认相当于确认丢失
5—18 假定在运输层使用停止等待协议。发送发在发送报文段 M0后再设定的时间内未收到确认,于是重传 认,于是发送下一个报文段 接着发送方发送新的报文段
M0,但 M0又
M0的确
迟迟不能到达接收方。不久,发送方收到了迟到的对
M1,不久就收到了对 M1 的确认。 M0,但这个新的 M0 在传送过程
M0现在到达接收
中丢失了。正巧,一开始就滞留在网络中的 显然,接收方后来收到的
方。接收方无法分辨 M0 是旧的。于是收下 M0,并发送确认。
M0是重复的,协议失败了。
试画出类似于图 5-9 所示的双方交换报文段的过程。 答:旧的 M0被当成新的 M0。
5—22 主机 A 向主机 B 发送一个很长的文件,其长度为 节。假定 TCP 使用的 MSS有 1460 字节。 (1)在 TCP 的序号不重复使用的条件下, 据链路层所使用的首部开销共
L 的最大值是多少?
(2)假定使用上面计算出文件长度,而运输层、网络层和数
66 字节,链路的数据率为
10Mb/s,试求这个文件所需的最短发送时间。 解 :(1)L_max 的最大值是 2^32=4GB,G=2^30. (2) 数
N=Q*(MSS+66)+{ ( L_max - Q*MSS ) +66}=4489122708+682=4489123390
总字节数是 N=4489123390 字节,发送 4489123390 字节需时 间为: N*8/ (10*10^6 )=3591.3 秒,即 59.85 分,约 1 小时。 5—23 主机 A 向主机 B 连续发送了两个 TCP 报文段,其序号 分别为 70 和 100。试问:
(1)第一个报文段携带了多少个字节的数据?
(2)主机 B 收到第一个报文段后发回的确认中的确认号应当 是多少?
(3)如果主机 B 收到第二个报文段后发回的确认中的确认号 是 180,试问 A 发送的第二个报文段中的数据有多少字节? (4)如果 A 发送的第一个报文段丢失了,但第二个报文段到 达了 B。B 在第二个报文段到达后向 确认号应为多少?
解 :(1)第一个报文段的数据序号是 数据。
70 到 99,共 30 字节的 A 发送确认。试问这个
满载分片数 Q={L_max/MSS}取整=2941758 发送的总报文
L 字
---