Ch5.传输层(二)

简介: 传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。传输层的一些协议是面向链接的,这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。

二.UDP协议

1.用户数据报协议UDP概述

UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。

1.1特点
  • UDP是无连接的,减少开销和发送数据之前的时延。
  • UDP使用最大努力交付,即不保证可靠交付
  • UDP是面向报文的,适合一次性传输少量数据的网络应用。
  • UDP无拥塞控制,适合很多实时应用。
  • UDP首部开销小,8B,TCP20B。

网络异常,图片无法展示
|

应用层给UDP多长的报文,UDP就照样发送,即一次发一个完整报文。

2.UDP首部格式

网络异常,图片无法展示
|

3.UDP校验

网络异常,图片无法展示
|

伪首部只有在计算检验和时才出现,不向下传送也不向上递交。

17:封装UDP报文的IP数据报首部协议字段是17。

UDP长度:UDP首部8B+数据部分长度(不包括伪首部)。

网络异常,图片无法展示
|

在发送端:1.填上伪首部2.全0填充检验和字段3.全0填充数据部分(UDP数据报要看成许多4B的字串接起来)4.伪首部+首部+数据部分采用二进制反码求和5.把和求反码填入检验和字段.去掉伪首部,发送

在接收端:1.填上伪首部2.伪首部+首部+数据部分采用二进制反码求和3.结果全为1则无差错,否则丢弃数据报/交给应用层附上出差错的警告。

习题:

选择

1.使用UDP的网络应用,其数据传输的可靠性由(B)负贵。A.传输层B.应用层C.数据链路层D.网络层

   UDP本身是无法保证传输的可靠性的,并且UDP是基于网络层的IP的,IP的特点是尽最大努力交付,因此无法在网络层及数据链路层提供可靠传输。因此,只能通过应用层协议来实现可靠传输。

2.以下关于UDP协议的主要特点的描述中,错误的是(B).A.UDP报头主要包括端口号、长度、校验和等字段B.UDP长度字段是UDP数据报的长度,包括伪首部的长度C.UDP校验和对伪首部、UDP报文头及应用层数据进行校验D.伪首部包括IP分组报头的一部分

   伪首部只是在计算校验和时临时添加的,不计入UDP的长度。对于D选项,伪首部包括源IP和目的IP,这是IP分组报头的一部分。

3.UDP数据报首部不包含(D)。A.UDP源端口号B.UDP校验和C.UDP目的端口号D.UDP数据报首部长度

   UDP数据报的格式包括UDP源端口号、UDP目的端口号、UDP报文长度和校验和,但不包括UDP数据报首部长度。因为UDP数据报首部长度是固定的8B,所以没有必要再设置首部长度字段。

4.UDP数据报中的长度字段(D)。A.不记录数据的长度B.只记录首部的长度C.只记录数据部分的长度D.包括首部和数据部分的长度

   长度字段记录UDP数据报的长度(包括首部和数据部分),以字节为单位。

5.UDP数据报比P数据报多提供了(C)服务。A.流量控制B.拥塞控制C.端口功能D.路由转发

   虽然UDP协议和IP协议都是数据报协议,但是它们之间还是存在差别。其中,最大的差别是P数据报只能找到目的主机而无法找到目的进程,UDP提供端口功能及复用和分用功能,可以将数据报投递给对应的进程。

6.下列关于UDP的描述,正确的是(D)。A,给出数据的按序投递B.不允许多路复用C.拥有流量控制机制D.是无连接的

   UDP是不可靠的,所以没有数据的按序投递,排除A;UDP只在IP的数据报服务上增加了很少的一点功能,即复用和分用功能及差错检测功能,排除B:显然UDP没有流量控制,排除C:UDP是传输层的无连接协议,答案为D。

7.接收端收到有差错的UDP用户数据时的处理方式是(A).A.丢弃B.请求重传C.差错校正D.忽略差错

   接收端通过校验发现数据有差错,就直接丢弃该数据报,仅此而已。

8.以下关于UDP校验和的说法中,错误的是(B)。A.UDP的校验和功能不是必需的,可以不使用B.如果UDP校验和计算结果为0,那么在校验和字段填充0C.UDP校验和字段的计算包括一个伪首部、UDP首部和携带的用户数据D.UDP校验和的计算方法是二进制反码运算求和再取反

   UDP的校验和不是必需的,如果不使用校验和,那么将校验和字段设置为0,而如果校验和的计算结果恰好为0,那么将校验和置为全1。

9.下列关于UDP校验的描述中,(B)是错误的。A.UDP校验和段的使用是可选的,如果源主机不想计算校验和,那么该校验和段应为全0B.在计算校验和的过程中,需要生成一个伪首部,源主机需要把该伪首部发送给目的主机C.如果数据报在传输过程中被破坏,那么就把它丢弃D.UDP数据报的伪首部包含了P地址信息

   UDP数据报的伪首部包含了IP地址信息,目的是通过数据校验保证UDP数据报正确地到达目的主机。该伪首部由源和目的主机仅在校验和计算期间建立,并不发送。

10.下列网络应用中,(D)不适合使用UDP协议.A.客户机/服务器领域B.远程调用C.实时多媒体应用D.远程登录

   UDP的特点是开销小,时间性能好且易于实现。在客户服务器中,它们之间的请求都很短,使用UDP不仅编码简单,而且只需要很少的消息;远程调用使用UDP的理由和客户服务器模型一样:对于实时多媒体应用,需要保证数据及时传送,而比例不大的错误是可以容忍的,所以使用UDP也是合适的,而且使用UDP协议可以实现多播,给多个客户端服务;而远程登录需要依靠一个客户端到服务器的可靠连接,使用UDP是不合适的。

11.【2014统考真题】下列关于UDP协议的叙述中,正确的是().Ⅰ.提供无连接服务Ⅱ.提供复用/分用服务Ⅲ.通过差错校验,保障可靠数据传输A.仅ⅠB.仅Ⅰ、ⅡC.仅Ⅱ、IⅢD.Ⅰ、Ⅱ、Ⅲ

   传输层分用的定义是,接收方的传输层剥去报文首部后,能把这些数据正确交付到目的进程。C和D选项显然不符。端口号是传输层服务访问点(TSAP),用来标识主机中的应用进程。对于A和B选项,源端口号在需要对方回信时选用,不需要时可用全0。目的端口号在终点交付报文时使用,符合题意,因此选B。

12.【2018统考真题】UDP协议实现分用时所依据的头部字段是()。A.源端口号B.目的端口号C.长度D.校验和

   传输层分用的定义是,接收方的传输层剥去报文首部后,能把这些数据正确交付到目的进程。C和D选项显然不符。端口号是传输层服务访问点(T$AP),用来标识主机中的应用进程。对于A和B选项,源端口号在需要对方回信时选用,不需要时可用全0。目的端口号在终点交付报文时使用,符合题意,因此选B。

简答

1.为什么要使用UDP?让用户进程直接发送原始的IP分组不就足够了吗?

   仅仅使用IP分组还不够。IP分组包含亚地址,该地址指定一个目的机器。一旦这样的分组到达目的机器,网络控制程序如何知道把它交给哪个进程呢?UDP分组包含一个目的端口,这一信息是必器的,因为有了它,分组才能被投递给正确的进程。此外,UDP可以对数据报做包括数据段在内的差错检测,而P只对其首部做差错检测。

2.使用TCP对实时语音数据的传输有没有问题?使用UDP在传送数据文件时会有什么问题?

   如果语音数据不实时播放,那么可以使用TCP,因为TCP有重传机制,传输可靠。接收端用TCP将语音数据接收完毕后,可以在以后的任何时间进行播放。若假定是实时传输,不宜重传,则必须使用UDP。UDP不保证可靠递交,没有重传机制,因此在传输数据时可能会丢失数据,但UDP比TCP的开销要小很多,实时性好。

3.一个应用程序用UDP,到了IP层将数据报再划分为4个数据报片发送出去。结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成为完整的数据报?假定目的站第一次收到的后两个数据片仍然保存在目的站的缓存中。

   不行。重传时,IP数据报的标识字段会有另一个标识符。仅当标识符相同的IP数据报片才能组装成一个IP数据报。前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。

三.TCP协议

1.TCP协议的特点

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

2.TCP报文段首部格式

网络异常,图片无法展示
|

序号:在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号确认号期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则证明到序号N-1为止的所有数据都已正确收到。数据偏移首部长度):TCP报文段的数据起始处距离TCP报文段的起始处有多远,以4B位单位,即1个数值是4B。

网络异常,图片无法展示
|

6个控制位

紧急位URG:URG=1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。

确认位ACK:ACK=1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。

推送位PSH:PSH=1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。

复位RST:RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输链接。

同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文。

终止位FN:FN=1时,表明此报文段发送方数据已发完,要求释放连接。

窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。

检验和:检验首部+数据,检验时要加上12B伪首部,第四个字段为6。

紧急指针:URG=1时才有意义,指出本报文段中紧急数据的字节数。

选项:最大报文段长度MSS、窗口扩大、时间戳、选择确认

目录
相关文章
|
10月前
|
网络协议 网络架构
一文搞定网络层协议
本文详细的介绍了网络层的所有的细节,学习完本章小白将打下坚实的基础。
|
21天前
|
存储 网络协议
传输层协议 UDP
传输层协议 UDP
|
1月前
|
网络协议
网络层有哪些常见协议
网络层有哪些常见协议
|
8月前
|
存储 网络协议 程序员
UDP 协议【传输层协议】
UDP 协议【传输层协议】
73 0
|
10月前
|
网络协议 网络性能优化 网络架构
网络层协议与应用(一)
网络层协议与应用(一)
62 0
|
10月前
|
缓存 网络协议 网络安全
网络层协议与应用(二)
网络层协议与应用(二)
171 0
|
10月前
|
网络协议 网络性能优化 计算机视觉
传输层Stu
传输层Stu
81 0
传输层Stu
|
11月前
|
域名解析 网络协议 程序员
传输层 — UDP协议
传输层 — UDP协议
198 0
|
缓存 网络协议 网络性能优化
网络层协议
重点内容 IP数据包格式 ICMP协议介绍 ARP协议介绍 ARP攻击原理
网络层协议
|
缓存 监控 网络协议
传输层(一)
传输层(一)
217 0