1、试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?
运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务
运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
2、当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?
都是。这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
3、试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
4、 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由
可能,但应用程序中必须额外提供与TCP相同的功能。
5、某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没提提供?
不可跳过UDP而直接交给IP层
IP数据报IP报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。
UDP提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。
6、一个应用程序用UDP,到IP层把数据报在划分为4个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。
不行。重传时,IP数据报的标识字段会有另一个标识符。仅当标识符相同的IP数据报片才能组装成一个IP数据报。前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。
7、在停止等待协议中如果不使用编号是否可行?为什么?
分组和确认分组都必须进行编号,才能明确哪个分则得到了确认。
8、在停止等待协议中,