3.IP编址

1.前言

网络层位于数据链路层与传输层之间,网络层包含了许多协议,其中最为重要的协议就是IP协议,网络层提供了IP路由功能,理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编码地址以及如何合理地使用IP地址来设计网络。

2.目标

  • 掌握IP报文的结构
  • 掌握共有IP地址,私有IP地址以及特殊IP地址的范围
  • 掌握VLSM技术
  • 理解网关的作用

3.上层协议类型

在这里插入图片描述
在剥掉帧的头部和尾部之前,网络设备需要根据帧头中Type字段来确定下一步将帧发送到哪个上层协议进行处理。本例中的帧头部Type字段表示该帧需要上送到IP协议进行处理。以下将介绍帧的头部和尾部被剥掉后,IP协议将如何处理帧中的数据。

4.IP报文头部

在这里插入图片描述

  • IP报文头部信息用于指导网络设备对报文进行路由和分片同一个网段内的数据转发通过链路层即可实现,而跨网段的数据转发需要使用网络设备的路由功能。分片是指数据包超过一定长度时,需要被划分不同的片段使其能够在网络中传输。

  • IP报文头部长度为2060字节,报文头中的信息可以用来指导网络设备如何将报文源设备发送到目的设备。其中,版本字段表示当前支持的IP协议版本,当前的版本号为4。DS字段早期用来表示业务类型,现在用于支持QoS中的差分服务模型实现网络流量优化

  • 源和目的IP地址是分配给主机逻辑地址,用于在网络层标示报文的发送方接收方。根据源和目的IP地址可以判断目的端是否与发送端位于同一网段,如果二者不在同一网段,则需要采用路由机制进行跨网段转发。

5.IP编址

在这里插入图片描述

  • IPv4地址为32比特二进制,通常用十进制表示。IP地址用来标示网络中的设备,具有IP地址的设备可以在同一个网段内或跨网段通信。IP地址包括两部分,第一部分是网路号,表示IP地址所属的网段,第二部分是主机号,用来唯一标识本网段上的某台网络设备。

在这里插入图片描述
每个网段上都有两个特殊的地址不能分配给主机或网络设备。第一个是该网段的网络地址,该IP地址的主机位为全0,表示一个网段。第二个地址是该网段中的广播地址,目的地址为广播地址的报文会被该网段中的所有网络设备接收。广播地址的主机位全为1.除网络地址广播地址以外的其他IP地址都可以作为网络设备的IP地址。

6.二进制、十进制和十六进制

在这里插入图片描述
网络中的数据可以采用二进制、十进制、或十六进制来表示,了解这些进制对理解IP网络基本知识很有必要。每种进制使用不同的基值表示每一位的数值。二进制每一位只有0和1两个值,基值为2,二进制的每一位都可以用2的x幂来表示,x表示二进制的位数。十六进制的每一位可以有16个数值,范围为0-F(即0-9和A-F),A对应十进制的10,F对应十进制的15(二进制的1111)。

7.进制之间的转换

在这里插入图片描述

IP地址以字节为单位分为四段,每个字节包含8个比特,可以表示0255,共256个数值。从二进制十进制转换表中可以看到每一位二进制数所代表的十进制数。上面的表格举例说明了8进制数转换为十进制数和十六进制数的情况。从表格中也可以看到全0和全1所对应的十进制数和十六进制数。

8.二进制和十进制转换

在这里插入图片描述
32位IP地址分为4个字节,每个字节有256个取值。因此,理论上IPv4可以有4,294,967,296个IP地址,但实际上只有其中一部分可以分配给网络设备使用。本例中,IP地址的前三个字节表示网络号,最后一个字节表示该网络上网络设备可用的地址范围。将二进制的IP地址转换为十进制格式时,需要把二进制中每一位1所代表的值加在一起,得出IP地址的十进制值。

9.IP地址分类

在这里插入图片描述
IPv4地址被划分为A、B、C、D、E五类,每类地址的网络号包含不同的字节数。A类,B类和C类地址可分配IP地址,每类地址支持的网络数主机数不同。比如,A类地址可以支持126个网络,每个网络支持224(16,777,216)个主机地址,另外每个网段中的网络地址和广播地址不能分给主机。C类地址支持200多万个网络,每个网络支持256个主机地址,其中254个地址可以分配给主机使用。
D类地址为组播地址。主机收到D类地址为目的地址的报文后,且该主机是该组播地址组成员,就会接收并处理该报文。各类IP地址可以通过第一个字节中的比特位进行区分。如A类地址第一字节的最高位固定为0,B类地址第一字节的高两位固定为10,C类地址第一字节的高三位固定110,D类地址第一字节的高四位固定位1110,E类地址第一字节的高四位固定位1111

10.IP地址类型

在这里插入图片描述

  • IPv4中的部分IP地址被保留用作特殊用途。为节省IPv4地址,A、B、C类地址段中都预留了特定范围的地址作为私网地址。现在,世界上所有的终端系统和网络设备需要的IP地址总数已经超过了32IPv4地址所能支持的最大地址数4,294,967,296。为主机分配私网地址节省了公网地址,可以用来缓解IP地址短缺的问题,企业网络中普遍使用私网地址,不同企业网络中的私网地址可以重叠。默认情况下,网络中的主机无法使用私网地址与公网通信;当需要与公网通信时,私网地址必须转换成公网地址。还有其他一些特殊IP地址,如127.0.0.0网段中的地址为回环地址,用于诊断网络是否正常。IPv4中的第一个地址0.0.0.0表示任何网络,这个地址的作用将在路由原理中详细介绍。IPv4中的最后一个地址255.255.255.2550.0.0.0网络中的广播地址。

11.网络通信

在这里插入图片描述

  • 源主机必须知道目的主机的IP地址才能将数据发送到目的地。源主机向其他目的主机发送报文之前,需要检查目的IP地址和源IP地址是否属于同一个网段。如果是,则报文将被下发到底层协议进行以太网封装处理。如果目的地址和源地址属于不同网段,则主机需要获取下一跳路由器IP地址,然后将报文下发到底层协议处理

12.子网掩码

在这里插入图片描述

  • 子网掩码用于区分网络部分主机部分。子网掩码与IP地址的表示方法相同。每个IP地址和子网掩码一起用来唯一的标识一个网段中的某台网络设备。子网掩码中的1表示网格位0表示主机位

13.默认子网掩码

在这里插入图片描述
每类IP地址有一个缺省子网掩码为8位,即第一个字节表示网络位,其他三个字节表示主机位B类地址的缺省子网掩码为16位,因此B类地址支持更多的网络,但是主机数也相应的减少C类地址的缺省子网掩码位32位,支持更多网络,同时也限制了单个网络中主机的数量

14.地址规划

在这里插入图片描述
通过子网掩码可以判断主机所属的网段网段上的广播地址以及以上支持的主机数。图中这个例子,主机地址为192.1681.7,子网掩码位24位(C类IP地址的缺省掩码),从中我们可以判断该主机位于192.168.1.0/24网段。将IP地址中的主机位全部设置为1,并转换为十进制数,即可得到该网段的广播地址192.169.1.255。网段中支持的主机数为2n,n为主机位的个数。本例中n=8,2^8=256,减去本网段的网络地址和广播地址,可知该网段支持254个有效主机地址。

15.地址规划举例

在这里插入图片描述

16.有类IP编址的缺陷

在这里插入图片描述

  • 如果企业网络中希望规划多个网段隔离物理网络上的主机,使用缺省子网掩码就会存在一定的局限性。网路中划分多个网段后,每个网段中的实际主机数量可能有限,导致很多地址未使用。如图所示,使用缺省子网掩码的编址方案,则地址使用率很低。

17.变长子网掩码

在这里插入图片描述
采用可变长子网掩码可解决上述问题。缺省子网掩码可以进一步划分,变成长子网掩码(VLSM)。通过改变子网掩码,可以将网络划分多个子网。本例中的地址为C类地址,缺省子网掩码为24位。现借用一个主机位作为网络位,借用的主机位变成子网位。一个子网位有两个取值01,因此可划分两个子网。该比特位都设置位0,即可得到划分后的子网地址;将剩余的主机位都设置为1,即可得到子网广播地址。每个子网中支持的主机数为27-2(减去子网地址和广播地址),即126个主机地址。

18.变长子网掩码举例

在这里插入图片描述

19.无类域间路由

在这里插入图片描述

  • 无类域间路由CIDR(Classless Inter Domain Routing)由RFC817定义。突破了传统IP地址的分类边界,将路由表中的若干条路由汇聚成为一条路由,减少了路由表的规模,提高了路由器的可扩展性。
  • 如上图所示,一个企业分配到了一段A类网络地址,10.24.0.0/22。该企业准备把这些A类网络分配给各个用户群,目前已经分配了四个网段给用户。如果没有实施CIDR技术,企业路由器的路由表中会有四条下连网段的路由条目,并且会把它告知给其他路由器。通过实施CIDR技术,我们可以在企业的路由器上把这四条路由10.24.0.0.24,10.24.1.0/24,10.24.2.0/24汇聚成一条路由10.24.0.0/22。这样,企业路由器只需通告10.24.0.0/22这一条路由,大大减小了路由表的规模。

20.网关

在这里插入图片描述

  • 报文转发过程中,首先需要确定转发路径以及通往目的网段的接口,然后将报文封装以太帧通过制定的物理接口转发出去。如果目的主机源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
  • 网关是指接收并处理本地网段主机发送的报文转发到目的网段的设备。为实现此功能,网关必须知道目的网段的IP地址。网关设备上连接本地网段的接口地址即为该网段的网关地址。

21.IP包分片

在这里插入图片描述
网络中转发的IP报文长度可以不同,但如果报文长度超过数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路=上传输。将报文分割成多个片段的过程叫做分片
接收端根据分片报文中的标识符(Identification),标志(Flags),及片偏移(Fragment Offset)字段对分片报文进行重组标示符用于识别属于同一个数据包的分片,以区别于同一主机其他主机发送的其他数据包分片,保证分片被正确的重新组合。标志字段用于判断是否已经收到最后一个分片。最后一个分片的标志字段设置为0,其他分片的标志字段设置为1,目的端在收到标志字段为0的分片后,开始重组报文。片偏移字段表示每个分片在原始报文中的位置。比如,如果首片报文包含1259比特,那么第二分片报文的片偏移字段值就应该为1260

22.生存空间

在这里插入图片描述

  • 报文在网段间转发时,如果网络设备上的路由规划不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,随着这种报文逐渐增多,网络将会发生拥塞

  • 避免环路导致的网络拥塞IP报文头中包含一个生存空间TTL(Time To Live)字段。报文每经过一台三层设备,TTL值减1初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃。同时,丢弃报文的设备会根据报文头中的源IP向源端发送ICMP错误消息

23.协议号

在这里插入图片描述

目的端的网络层在接收并处理报文之后,需要决定下一步对报文该做如何让处理。IP报文头中的协议字段标识了将会继续处理报文的协议。与以太帧头的Type字段类似,协议字段也是一个十六进制数。该字段可以标识网络层协议,如ICMP(Internet Control Message Protocol,因特网控制报文协议),也可以标识上层协议,如TCP(Transmission Control Protocol,传输控制协议,对应值0x06)、UDP(User Datagram Protocol,传输控制协议,对应值0x11)。

24.总结

子网掩码的作用是什么?

32位的IP子网掩码用于区分IP地址中的网络号主机号网络号表示网络子网主机号表示网络子网中的主机

IP报文头部中TTL字段的作用是什么?

如果网络中存在环路,则IP报文可能会在网络中遵循而无法到达目的端。TTL字段限定了IP报文的生存时间,保证无法到达目的端的报文最终被丢弃。

网关的作用是什么?

网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云原生解决方案

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值