免费智能真题库 > 历年试卷 > 网络规划设计师 > 2019年下半年 网络规划设计师 上午试卷 综合知识
  第28题      
  知识点:   IPv4数据报格式   分片和重装配   数据报   重装配   分段和重装配
  关键词:   报文   标识符   数据报   数据        章/节:   Internet 协议       

 
IP数据报的分段和重装配要用到报文头部的标识符、数据长度、段偏置值和M标志等四个字段,其中(28)的作用是指示每一分段在原报文中的位置,(29)字段的作用是表明是否还有后续分组。
 
 
  A.  段偏置值
 
  B.  M标志
 
  C.  D标志
 
  D.  头校验和
 
 
 

 
  第13题    2011年下半年  
   55%
假定一个IPv4网络由4段不同的LAN互联而成,每段LAN上的最大MTU值分别是512、1024、2048和4096,则在这个IPv4网络上可能出现IPv4分..
  第29题    2019年下半年  
   48%
IP数据报的分段和重装配要用到报文头部的标识符、数据长度、段偏置值和M标志等四个字段,其中(28)的作用是指示每一分段在原报文..
  第21题    2018年下半年  
   50%
IP数据报首部中IHL(Internet首部长度)字段的最小值为() 。
   知识点讲解    
   · IPv4数据报格式    · 分片和重装配    · 数据报    · 重装配    · 分段和重装配
 
       IPv4数据报格式
        IP协议的数据报格式如下图所示。
        
        IP数据报格式
        下面将分别说明这些字段的定义:
        (1)版本。该字段长4位,表示IP的版本号,目前常用的为版本4,即IPv4。
        (2)IHL。该字段长4位,表示IP头部的长度(即除了用户数据之外),以一个32位的字为基本单位,即该IP首部包含多少个32位的字。该字段值最小是5,即20字节。
        (3)服务类型。服务类型TOS包括3位的优先权字段(现在已忽略不用)、4位的服务类型字段。用于区分可靠性、优先级、延迟和吞吐率的参数。
        (4)报文总长度。报文总长度字段指明了整个IP分组的长度,这个长度是以字节为单位的。IP是一个网络层的协议,需要考虑IP分组穿越不同网络的情况。有时,一个IP分组的长度可能无法满足某些高速网络中的最小数据帧长的要求,此时需要IP分组最后进行填充。如果没有总长度字段的指示,处理程序无法识别出哪里是IP分组的结束。
        (5)标识符。标识字段可以唯一地标识一个IP分组。前面已经提到,IP需要考虑分组在穿越不同网络时的情况。一个较大的IP分组可能在其他的网络中被拆分成若干个小的分片,穿过这些网络后必须对这些分片进行重组,这时就需要标识字段来判断某个分片属于哪一个IP分组。
        (6)标志字段。标志字段只有3位。第一位没有定义,必须为0,第二位D指明了该IP分组是否可被分片,第三位M指明了当前分片是否为最后一个分片。
        (7)分片偏移量。分片偏移量字段:长13位,不难想象,既然IP分组需要分片,那么必须有一个字段指明当前分片在原始IP分组中的偏移地址。
        (8)TTL。生存时间TTL字段,指明了该IP分组的生命期,当IP分组通过一个路由器时,该分组的TTL将被减1,如果TTL将为零,该IP分组将被丢弃,从而避免了循环路由的问题。
        (9)协议字段。该字段指出了哪一个高层协议在使用IP。例如,6对应TCP,17对应UDP。
        (10)首部校验和。首部校验和字段用于保证首部的完整性。不过由于路由器经常需要修改TTL的数值,在RFC1141中给出了一种方法,使得路由器在修改TTL时不需要重新计算整个首部的校验和。
        (11)源IP地址和目的IP地址。源IP地址和目的IP地址字段指出了IP分组的来源主机和目的主机。
        (12)IP选项与填充数据。该字段可以扩充IP的含义,目前有一些对可选项的定义。不过目前很少使用这些定义项,而且也不是所有的主机和路由器都支持这些可选项。由于IP首部必须是32位的整数倍,所以在必要时会在可选项后插入一些0以保证IP首部的要求。
 
       分片和重装配
        在理想情况下,整个数据报被封装在一个物理帧中,可以提高物理网络上的效率。由于IP数据包经常在许多类型的物理网络上传送,而每种物理网络所能够传送的帧的长度是有限的,例如以太网是1500字节,FDDI是4470字节,这个限制称为网络最大传送单元(Maximum Transmission Unit,MTU)。这就使得IP协议在设计上不得不处理这样的矛盾:当数据报通过一个可传送更大帧的网络时,如果数据报大小限制为整个最小的MTU,就会浪费网络带宽资源;但如果数据报大小大于最小的MTU,就可能出现无法封装的问题。为了有效地解决这个问题,IP协议采用了分片和重装配机制来解决。
               分片
               IP协议采用的是遇到MTU更小的网络时再分片。
               重装配
               为了能够减少中途路由器的工作,降低出错,重装配工作是直到目的主机时才进行的,也就是分片后,遇到MTU更大的网络时并不重装配,而且保持小分组,直到目的主机接收完整后再一次性重装配。
               它使用了4个字段来处理分片和重装配问题:
               (1)第一个字段是报文ID字段,它唯一标识了某个站某个协议层发出的数据。
               (2)第二个字段是数据长度,即字节数。
               (3)第三个字段是偏置值,即分片在原来数据报中的位置以8字节的倍数计算。
               (4)第四个是M标志,用来标识是否为最后一个分片。
               整个分片的步骤为:
               (1)对数据块的分片必须在64位(8B)的边界上划分,因而除最后一段外,其他段长都是64位的整数倍。
               (2)对得到的每一个分片都加上原来的数据报的IP头,组成短报文。
               (3)每一个短报文的长度字段修改为它实际包含的字节数。
               (4)第一个短报文的偏置值设置为0,其他的偏置值为其前面所有报文长度之和除以8。
               (5)最后一个报文的M标志置0(False),其他报文的M标志置为1(True)。
               下图所示是一个“分片”的实例。
               
               数据报分片示意图
 
       数据报
        对于短报文来说,一个报文分组就足够容纳所传送的数据信息。一般单个报文分组称数据报(Datagram)。数据报的服务以传送单个报文分组为主要目标。原CCITT研究组把数据报定义为,能包含在单个报文分组数据域中的报文,且传送它到目标地址与其他已发送或将要发送的报文分组无关,这样报文分组号可以省略。也就是说,每个分组的传送是被单独处理的,它本身携带有足够的信息。
        数据报的一般格式如下表所示:
        
        数据报格式
        发送数据报与发送信件和邮包一样。在数据报服务控制下,网络接受来自源的单一报文分组,并独立地传到目的点。数据报服务是无连接的服务。
 
       重装配
        为了能够减少中途路由器的工作,降低出错,重装配工作是直到目的主机时才进行的,也就是分片后,遇到MTU更大的网络时并不重装配,而且保持小分组,直到目的主机接收完整后再一次性重装配。
        它使用了4个字段来处理分片和重装配问题:
        (1)第一个字段是报文ID字段,它唯一标识了某个站某个协议层发出的数据。
        (2)第二个字段是数据长度,即字节数。
        (3)第三个字段是偏置值,即分片在原来数据报中的位置以8字节的倍数计算。
        (4)第四个是M标志,用来标识是否为最后一个分片。
        整个分片的步骤为:
        (1)对数据块的分片必须在64位(8B)的边界上划分,因而除最后一段外,其他段长都是64位的整数倍。
        (2)对得到的每一个分片都加上原来的数据报的IP头,组成短报文。
        (3)每一个短报文的长度字段修改为它实际包含的字节数。
        (4)第一个短报文的偏置值设置为0,其他的偏置值为其前面所有报文长度之和除以8。
        (5)最后一个报文的M标志置0(False),其他报文的M标志置为1(True)。
        下图所示是一个“分片”的实例。
        
        数据报分片示意图
 
       分段和重装配
        每个网络可能规定了不同的最大分组长度。当分组在互联网中传送时可能要进入一个最大分组长度较小的网络,这时需要对它进行分段,这又引出了新的问题:在哪里对它进行重装配?
        一种办法是在目的地进行装配。但这样只会把数据报越分越小,即使后续子网允许较大的分组通过,但由于途中的短报文无法装配,从而使效率下降。
        另一种办法是允许中间的路由器进行组装,这种方法也有缺点。首先是路由器必须提供重装配缓冲区,并且要设法避免重装配死锁;其次是由一个数据报分出的小段都必须经过同一个出口路由器,才能再行组装,这就排除了使用动态路由选择算法的可能性。
        关于分段和重装配问题的讨论还在继续,已经提出了各种各样的方案。下面介绍在DOD和ISO IP协议中使用的方法,这个方法有效地解决了以上提出的部分问题。
        IP协议使用了4个字段处理分段和重装配问题。一个是报文ID字段,它唯一地标识了某个站某个协议层发出的数据。在DOD(美国国防部)的IP协议中,ID字段由源站和目标站地址、产生数据的协议层的标识符以及该协议层提供的顺序号组成。第二个字段是数 据长度,即字节数。第三个字段是偏置值,即分段在原来数据报中的位置,以8字节(64位)的倍数计数。最后是M标志,表示是否为最后一个分段。
        当一个站发出数据报时对长度字段的赋值等于整个数据字段的长度,偏置值为0,M标志置False(用0表示)。如果一个IP模块要对该报文分段,则按以下步骤进行。
        (1)对数据块的分段必须在64位的边界上划分,因而除最后一段外,其他段长都是64位的整数倍。
        (2)对得到的每一分段都加上原来数据报的IP头,组成短报文。
        (3)每一个短报文的长度字段置为它包含的字节数。
        (4)第一个短报文的偏置值置为0,其他短报文的偏置值为它前边所有报文长度之和(字节数)除以8。
        (5)最后一个报文的M标志置为0(False),其他报文的M标志置为1(True)。
        下表给出一个分段的例子。
        
        数据报分段的例子
        重装配的IP模块必须有足够大的缓冲区。整个重装配序列以偏置值为0的分段开始,以M标志为0的分段结束,全部由同一ID的报文组成。
        数据报服务中可能发生有一个或多个分段不能到达重装配点的情况。为此,采用两种对策应付这种意外。一种是在重装配点设置一个本地时钟,当第一个分段到达时把时钟置为重装配周期值,然后递减,如果在时钟值减到零时还没等齐所有的分段,则放弃重装配。另一种对策与前面提到的数据报生存期有关,目标站的重装配功能在等待的过程中继续计算已到达的分段的生存期,一旦超过生存期,就放弃重装配,丢弃已到达的分段。显然,这种计算生存期的办法必须有全局时钟的支持。
   题号导航      2019年下半年 网络规划设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第28题    在手机中做本题