4.2 IP数据报的分段与重组
IP数据报是通过封装为物理帧来传输的。由于因特网是通过各种不同物理网络技术互连起来的,在因特网的不同部分,物理帧的大小(最大传输单元MTU)可能各不相同。为了最大程度的利用物理网络的能力,IP模块以所在的物理网络的MTU做为依据,来确定IP数据报的大小。当IP数据报在两个不同MTU的网络之间传输时,就可能出现IP数据报的分段与重组操作。
在IP头中控制分段和重组的IP头域有三个:标识域、标志域、分段偏移域。标识是源主机赋予IP数据报的标识符。目的主机根据标识域来判断收到的IP数据报分段属于哪一个数据报,以进行IP数据报重组。标志域中的DF位标识该IP数据报是否允许分段。当需要对IP数据报进行分段时,如果DF位置1,网关将会抛弃该IP数据报,并向源主机发送出错信息。标志域中的MF位标识该IP数据报分段是否是最后一个分段。分段偏移域记录了该IP数据报分段在原IP数据报中的偏移量。偏移量是8字节的整数倍。分段偏移域被用来确定该IP数据报分段在IP数据报重组时的顺序。
IP数据报在被传输过程中,一旦被分段,各段就作为独立的IP数据报进行传输,在到达目的主机之前有可能会被再次或多次分段。但是IP数据报分段的重组都只在目的主机进行。
4.3 IP对输入数据报的处理
IP对输入数据报的处理分为两种,一种是主机对数据报的处理,一种是网关对数据报的处理。
当IP数据报到达主机时,如果IP数据报的目的地址与主机地址匹配,IP接收该数据报并将它传给高级协议软件处理;否则抛弃该IP数据报。
网关则不同,当IP数据报到达网关IP层后,网关首先判断本机是否是数据报到达的目的主机。如果是,网关将接收到的IP数据报上传给高级协议软件处理。如果不是,网关将对接收到的IP数据报进行寻径,并随后将其转发出去。
4.4 IP对输出数据报的处理
IP对输出数据报的处理也分为两种,一种是主机对数据报的处理,一种是网关对数据报的处理。
对于网关来说,IP接收到IP数据报后,经过寻径,找到该IP数据报的传输路径。该路径实际上是全路径中的下一个网关的IP地址。然后,该网关将该IP数据报和寻径到的下一个网关的地址交给网络接口软件。网络接口软件收到IP数据报和下一个网关地址后,首先调用ARP完成下一个网关IP地址到物理地址的映射,然后将IP数据报封装成帧,最后由子网完成数据报的物理传输。
ICMP协议
ICMP(Internet Control Message Protocol)-因特网控制报文协议。ICMP主要用于差错信息和控制信息的构造及某些网络信息的获取。ICMP与IP 同属IP层,但ICMP报文是经IP封装后,作为IP数据报发送出去的。不把ICMP作为一个独立的协议层次,是因为ICMP不是上层协议的基础,在概念上构不成一个独立的层次。
ICMP消息包括以下类型:目的不可达、超时、参数问题、源端抑制、重定向、回声请求、回声应答、时间标记请求、时间标记应答。
目的不可达消息用来报告子网或路由器不能定位目的地,或设置了DF位的分组不能绕过”小分组”网络。
超时消息用来报告报文由于计时器为零而被丢弃。
参数问题消息表明在头部字段中发现了非法值。
源端抑制消息用来抑制发送过多分组的主机。当主机收到这个消息,就要减慢发送速度。
重定向消息在路由器发现可能出现了路由错误时发送。
回声请求和回声应答消息用来测试目的是否可达且正常运行。收到回声请求消息,目的端应该往回发一个回声应答消息。时间标记请求和时间标记应答与此类似,只是消息到达时间和应答发出时间应加入应答中,其好处是可以用来测试网络性能。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
在开源控制器上 ONOS和ODL更趋向协作
ONOS和ODL项目在SDN控制器方面很可能会共享成果,这样几乎所有事情都可以在Linux基金会上实现了。
-
观点集:Docker将成主流 新Linux可改良虚拟化管理
在本期博客观点集中,分析师探讨了Docker、行业认证的实际价值以及针对虚拟环境的新Linux项目的作用。
-
“命名数据网络”来了 TCP/IP会退休吗?(下)
面对当今的互联网需求,TCP/IP有些不堪重负,研究人员想要用新的互联网协议栈取代它,这个新协议被称为“命名数据网络(Named Data Networking)”。
-
“命名数据网络”来了 TCP/IP会退休吗?(上)
面对当今的互联网需求,TCP/IP有些不堪重负,研究人员想要用新的互联网协议栈取代它,这个新协议被称为“命名数据网络(Named Data Networking)”。