以太网之IP协议(七)

目录

一、IP协议的功能

1.1 IP地址

1.2 IP路由

1.2.1 路由原理

1.2.2 路由控制表

1.3 IP分包与组包

二、IP地址

2.1 IP地址分类

2.2 多播地址

2.2.1 广播地址

2.2.2 组播地址

2.3 子网掩码

三、IP帧格式


一、IP协议的功能

        数据链路层提供直连两个设备之间的通信功能。与之相比,作为网络层的IP则负责在没有直连的两个网络之间进行通信传输。

        IP大致分为三大作用模块,它们是IP寻址、路由以及IP分包与组包。

1.1 IP地址

        IP地址属于网络层地址,用于在连接到网络中的所有主机中识别出进行通信的目标地址。

以太网之IP协议(七)_第1张图片

1.2 IP路由

        路由控制是指将分组数据发送到最终目标地址的功能。即使网络非常复杂,也可以通过路由控制确定到达目标地址的通路。

1.2.1 路由原理

        多跳路由是指路由器或主机在转发IP数据包时只指定下一个路由器或主机,而不是将到最终目标地址为止的所有通路全都指定出来。因为每一个区间(跳)在转发IP数据包时会分别指定下一跳的操作,直至包达到最终的目标地址。

        在路由过程中,IP数据包在经过路由器里面的目标MAC地址为重新被封装,替换成下一个路由器的MAC地址,这个过程是反复进行的,直到路由到最终目标主机是,MAC地址才会被替换为最终目标主机的MAC地址。

以太网之IP协议(七)_第2张图片

1.2.2 路由控制表

        为了实现数据包在不同子网间的路由,所有的路由器主机都各自维护这一张路由控制表。该路由表记录着不同子网网段与路由器的映射关系,在IP数据包传输过程,判断目标主机子网对应的路由器进行路由。

以太网之IP协议(七)_第3张图片

        路由控制表有两种形式,分别为静态路由控制、动态路由控制。

1.3 IP分包与组包

        IP是实现多个数据链路之间通信的协议。由于数据链路种类多样,各有各的差异,而IP协议是将其抽象在数据链路层之上的网络协议,从而支持不同数据数据链路之间的通信。

        在以太网中,数据帧最大传输长度为1500字节。为了实现更大数据包的传输,IP协议支持数据包的分片传输,将数据包分片传输到目标主机上再进行分片重组。

        不过,由于IP协议是面向无连接的通信协议,其传输存在不可靠性,所以尽可能不使用IP的分片重组进行大数据包的传输,而是使用其他传输层协议。例如TCP的分段传输。

        备注:当前很多主机实现了路径MTU发现功能,原理是通过较大的一个数据包禁止分片发送,当路径上的MTU不满足时会通过ICMP报错并返回当前报错的MTU值。多次调整MTU值就可以测试出到目标主机的最小MTU值了,即路径MTU。

二、IP地址

        IPv4的地址由32比特位的数据来标识,其由“网络地址”和“主机地址”两部分组成。

2.1 IP地址分类

        根据网络标识将IP地址分为4个类别,分别为A类、B类、C类、D类IP地址。

  • A类地址:前1位为“0”,第1位~第8位为网络标识,其网络地址为0.0.0.0~127.0.0.0。
  • B类地址:前2位为“10”,第1位~第16位为网络标识,其网络地址为128.0.0.1~191.255.0.0。
  • C类地址:前3位为“110”,第1位~第24位为网络标识,其网络地址为192.168.0.0~239.255.255.0
  • D类地址:前4位为“1110”,第1位~第32位为网络标识,224.0.0.0~239.255.255.255是D类的网络地址,没有主机标识,常用为多播地址。

        备注:在IP地址中,主机标识不能全为0或全为1,因为全部为只有0在表示对应的网络地址或IP地址不可获知的情况下才使用。而全部为1的主机地址通常作为广播地址。

        备注:为了规范私有局域网内的IP地址设置,规定了私有网络的IP地址范围为:

2.2 多播地址

        多播地址分为广播地址、组播地址两类。

2.2.1 广播地址

        广播地址:用于在同一个链路中相互连接的主机之间发送数据包。FF:FF:FF:FF:FF:FF。

  • 本地广播:在本网络内的广播叫做本地广播,并不会到达路由器之外的其他链路上。
  • 直接广播:不同网络之间的广播,需要路由器配置支持转发,存在一定的网络安全。

2.2.2 组播地址

        组播地址使用D类地址进行,其范围为224.0.0.0~239.255.255.255。其中,224.0.0.0~224.0.0.255,不需要路由控制,也能实现在同一个链路内的组播。其余的组播地址会给全网内的组成员发送组播包,必要的时候可以利用生存时间TTL限制组播包的到达范围。

以太网之IP协议(七)_第4张图片

2.3 子网掩码

        一个IP地址的网络标识和主机标识已不再受限于该地址的类别,而是由一个叫做“子网掩码”的识别码通过子网网络地址细分出比A类、B类、C类更小粒度的网络。降低直接A类、B类、C类地址这种浪费资源的形式。

以太网之IP协议(七)_第5张图片

三、IP帧格式

以太网之IP协议(七)_第6张图片

(1)版本:IP协议的版本,0x0100(IPv4),0x0110(IPv6)

(2)首部长度:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和,最大长度为15个4字节,即15*4=60字节,去掉固定长度20字节,可变长度最大为40字节

(3)服务类型:长度为1字节

(4)总长度:IP报文的总长度,含报文头部以及数据部分

(5)ID号:标识主机发送的报文唯一ID,当IP报文长度超过传输网络的MTU时必须要分片处理,该字段用于区分收到的分片是否属于同一报文以及报文重组

(6)标志:共3位,R、DF、MF三位,目前只有后两者有效;DF=1表示不分片,DF=0表示分片;MF=1表示后续还有分片包,MF=0表示该分片是最后一片

(7)分片偏移:该分片在原先数据报文中相对首位的偏移位,片偏移以8个字节为偏移单位,即每个分片的长度一定是8字节的整数倍

(8)生存时间:IP报文所允许通过的路由器的最大数量

(9)协议号:指出IP报文携带的数据使用的是那种协议,1 ICMP;6 TCP;17 UDP

(10)首部校验和:计算IP头部的校验和,检查IP报头的完整性。

(11)发送方IP地址:标识IP数据报的源端设备

(12)接收方IP地址:标识IP数据报的目的地址

(13)可选字段:0-40字节,一些可选项,主要用于测试,不足32bit则用0补充。

(14)IP数据:IP层MTU为1480字节,这是在MAC层MTU1500基础上去掉固定头部长度20字节得到的

你可能感兴趣的:(以太网络基础,网络,mcu,网络协议,tcp/ip,智能路由器)