IP地址是所有网络初级课程里最先涉及到的技术点,对于IP地址的合理规划是网络设计的重要环节,必须拿捏。
IP地址规划的好坏,影响到网络路由协议算法的效率,影响到网络的性能,影响到网络的扩展,影响到网络的管理,也必将直接影响到网络应用的进一步发展。
今天和你分享一篇文章,把IP地址相关的原理给你讲透,基本盘搞扎实了,一切都好说了。
01
数据如何传输到目的地?
有很多小白粉丝问过这么一个问题:为什么没有配置 IP 地址就无法上网?IP 协议又是啥?
这要从 TCP/IP 协议说起,互联网使用的是 TCP/IP 协议,其中 IP 协议又是最重要的协议之一。
IP 协议是基于 IP 地址将数据包发送给目的主机,能够让互联网上任何两台主机进行通信。
IP 协议位于 OSI 参考模型的第三层,即网络层。
网络层的主要作用是实现终端节点之间的通信。这种终端节点之间的通信,也叫点对点通信。
主机:配置有 IP 地址,不进行路由控制的设备。
路由器:既有 IP 地址又具有路由控制功能的设备。
节点:主机和路由器的统称。
数据如何传输到目的地?
数据链路层实现两个直连设备之间的数据传输,网络层的 IP 协议实现没有直连的两个网络之间的数据传输。
以旅行为例,小美要去一个很远的地方旅行,先计划要乘坐的高铁、地铁、公交车,并且购买相应车票,再制定一个详细行程表,记录乘车时间。
高铁票、地铁票只能在一个区间内移动,就像网络上的数据链路。出发点就像源 MAC 地址,目的地就像目的 MAC 地址,整个行程表的作用就相当于网络层,出发点就像源 IP 地址,目的地就像目的 IP 地址。
小美如果只有行程表,没有车票,就无法乘坐交通工具到达目的地。相反,小美只有车票,不知道坐什么车,在哪里换乘,恐怕也到不了目的地。
只有两者兼备,既有某个区间的车票又有整个旅行的行程表,才能保证到达目的地。网络中也需要数据链路层和网络层协同工作,才能实现最终目的地址的通信。
02
IP 地址的基础知识
在 TCP/IP 通信中使用 IP 地址识别主机和路由器。IP 地址是逻辑地址,需要手工配置或自动获取,为了保证正常通信,每个设备必须配置 IP 地址。
01 IP 地址的定义
IP 地址由 32 位二进制数组成。为了方便记录,将 32 位的 IP 地址分为 4 组,每 8 位为一组,每组以“ . ”隔开,再将每组数转换为十进制数。
IP 地址一共有多少个?
将 IP 地址的32位二进制进行计算,得出约 43 亿个 IP 地址。
实际上,网络的发展超乎想象,互联网上的设备远超 43 亿, 2019 年 11 月 25 日全球的 IPv4 地址已经彻底耗尽,但是直到现在大家仍然还在用 IPv4 ,并没有因为地址没了而无法上网。是因为除了 IPv6 之外,我们使用 NAT 技术缓解了地址不足的问题。
02 IP 地址的组成
IP 地址由网络号(网段地址)和主机号(主机地址)两部分组成。
网络号是设备所在区域的一种标识,网络号相同的设备位于同一个网段内,网络号不同的设备通过路由器实现通信。主机号是在同一个网段中不同设备的标识,不允许同一个网段内出现重复的主机号。
路由器是根据目的 IP 地址的网络号进行路由。
那么 IP 地址哪几位是网络号?哪几位是主机号?早期是以分类地址区分,现在是以子网掩码区分。
03 IP 地址的分类
IP 地址分为四类,分别是 A 类、 B 类、 C 类、 D 类(还有一个保留的 E 类)。
A 类地址
A 类 IP 地址是首位以“ 0 ”开头的地址。从第 1 位到第 8 位是它的网络号,网络号的范围是 0 ~ 127 。其中 0 和 127 被保留,因此有 126 个可用的 A 类地址。
后 24 位是主机号,一个 A 类地址的主机地址数量就是 2 的 24 次方,即 16777216 个主机地址。
B 类地址
B 类 IP 地址是前两位以“ 10 ”开头的地址。从第 1 位到第 16 位是它的网络号,网络号的范围是 128.0 ~ 191.255 。其中 128.0 和 191.255 属于保留地址,因此有 16382 个可用的 B 类地址。
后 16 位是主机号,一个 B 类地址的主机地址的数量就是 2 的 16 次方,即 65536 个主机地址。
C 类地址
C 类 IP 地址是前三位以“ 110 ”开头的地址。从第 1 位到第 24 位是它的网络号,网络号的范围是 192.0.0 ~ 223.255.255 。
其中 192.0.0 和 223.255.255 属于保留地址,因此有 2097150 个可用的 C 类地址。
后 8 位是主机号,一个 C 类地址的主机地址的数量就是 2 的 8 次方,即 256 个主机地址。
D 类地址
D 类 IP 地址是前四位以“ 1110 ”开头的地址。从第 1 位到第 32 位是它的网络号,网络号的范围是 224.0.0.0 ~ 239.255.255.255 。D 类地址没有主机号,用于组播。
网段地址和广播地址
当主机号全为 0 时,表示的是网段信息,非主机地址。当主机号全为 1 时是广播地址,也不是主机地址。因此在分配 IP 地址过程中,需要排除这两个地址。
例如一个 C 类地址 192.168.1.0/24 最多只有 254 个可用主机地址,而不是 256 个。
04 广播地址
IP 地址中的主机号全部为 1 的就是广播地址,它是向同一个网段中的所有主机发送数据包。例如一个 B 类主机地址 172.20.1.100 的广播地址是 172.20.255.255 。
05 IP 组播
组播用于将包发送给特定组内的所有主机。
组播使用 D 类地址。因此 IP 地址前四位是“ 1110 ”开头的,就是组播地址。剩下的 28 位就是组播的组编号。
组播的地址范围是 224.0.0.0 ~ 239.255.255.255 ,其中 224.0.0.0 ~ 224.0.0.255 既可以在同一个网段内实现组播,又可以跨网段给全网所有组员发送组播包。
06 子网掩码
早期网络地址采用固定网络位长度的方式,使 IPv4 地址遭到大量浪费。如今网段地址的长度可变,同时也需要一种标识来获取网段地址,以便路由器对数据包进行转发,这种识别码就是子网掩码。
子网掩码用 32 位的二进制表示, IP 地址的网段地址部分设置为 1 , IP 地址的主机地址部分设置为 0 。换句话说, IP 地址有多少位网段地址,子网掩码就有多少位取 1 ,其余都取 0 。
为了方便记录,每 8 位为一组,以“ . ”隔开,再转换为十进制数。
例如:201.20.100.25 的子网掩码是 255.255.255.0 ,算出它的网段地址。
将子网掩码和 IP 地址进行与( AND )运算,可得到这个 IP 地址的网段地址。
与( AND )运算
IP 地址和子网掩码的二进制数,分别进行计算。只有当 IP 地址和掩码都是 1 时,运算结果为 1 。其余情况计算结果都为 0 。
IP 地址的另一种表示方式是在每个 IP 地址后面追加网络号的位数用“ / ”隔开。例如:
201.20.100.25/255.255.255.0 可表示为 201.20.100.25/24 。
07 CIDR 与 VLSM
解决 IP 地址浪费问题,除了使用子网掩码,还使用了 CIDR 和 VLSM 技术。
CIDR ,即无类域间路由,采用任意长度分割 IP 地址的网络号和主机号。它有两个作用:
把多个网段聚合到一起,生成一个更大的网段;
汇总路由表 IP 地址,分担路由表压力。
VLSM ,即可变长子网掩码,它可以对 A 、 B 、 C 类地址再进行子网划分,以达到充分利用 IP 地址的目的。
假如一家企业有 100 台电脑,按以前的办法,只能分配一个 C 类地址 222.222.222.0 。但是 VLSM 可以在一个 C 类地址上划分出多个子网地址,再分配其中一个容纳主机数量与稍大于企业需求数量的子网地址给企业,这样就可以实现 IP 地址的合理使用。
计算容纳 100 台电脑的子网:使用主机号的位数计算出子网的主机地址数量。当主机号有 7 位时,有 126 个可用主机地址,可容纳 100 台电脑。
计算子网地址:C 类地址 222.222.222.0 ,网络号长度为 32 - 7 = 25 位,子网掩码为 255.255.255.128 。可分配 222.222.222.0/25 使用, 222.222.222.128/25 是节省出来的未分配的子网地址。
CIDR 和 VLSM 的区别
CIDR 是主机号向网络号借位,目的是把几个网络汇总成一个大的网络,增加子网主机数量;
VLSM 是网络号向主机号借位,目的是把一个标准的网络划分成几个子网,减少子网主机数量。
08 公网地址与私有地址
IP 地址分为公网地址和私有地址。公网地址是在互联网上使用的,私有地址是在局域网中使用的。
公网地址由 Internet NIC 负责分配,通过它直接访问互联网。
私有地址是一段保留的 IP 地址。只在局域网中使用,无法在互联网上使用。但是私有地址可以通过 NAT 技术,将私有地址转换为公网地址接入互联网。
公网 IP 地址在互联网范围内是唯一的,私有 IP 地址只要在同一个局域网内唯一即可。在不同局域网内出现相同的私有 IP 不会影响使用。
编辑:黄飞
评论
查看更多