网络层入门(五)

116 阅读3分钟

在对 IPv4 的数据包结构进行简单的解析之后,我们将目光聚焦于 IP 地址的编址之上,也就是为我们各个主机的位置信息,如何被编订为一个个数字串。

在这里插入图片描述

(全球 ISP 的结构,是支撑 IP 全球定位的基础)

学习一项知识的一种良好办法,就是用现实生活中常用的事务去进行对应。我们想要理解 IP 的编址方式,可以从天安门的地址方式入手。

一种描述天安门位置的方式就是“中国北京天安门",换而言之,便是采用由大到小,逐层深入的方式。而 IP 的编址方式也与之类似,它由两个部分组成:

第一个部分,称为网络号,它代表着某一个大的网络区域,这个一般由 ISP 负责管理,而 ICANN 负责分配具体的区段。

而第二个部分,则称为主机号,它的职责,不仅仅是用于描述主机,更具体的,描述“接口"(硬件概念)。

在这里插入图片描述

(路由器接口,图片来自于 Bing)

在这里插入图片描述

(主机接口,图片来自于 Bing)
在这里插入图片描述

(IP 编址方案就是“大区域、小主机")

而子网掩码,则承担着区分网络位与主机位的职责,它就是一串 01,其中 0 表示主机位,1 表示网络位。

IPv4 地址描述方案:点分十进制

如果我们仅仅是提供二进制描述方案,那么,往往会难以理解,因此,协议设计者们,提出了一种被称为“点分十进制"的做法,用于描述 ipv4 地址。

第一步:将 32 位的 IPv4 地址,划分为 4段

这样,每一段就变成了 8 位的,用十进制的视角来看,也就是 0 ~ 255

第二步:每一段之间,添加小数点做分割

比如 127.0.0.1

由此,完成。

走向 IPv6:拓展到 128 位地址

IPv4 的地址设计方案尽管切合了实际,但也存在一个问题,它的长度太短,只有 32位(那就意味着我们只能够得到约 48 亿种不同的地址),这就意味着,我们面临着地址枯竭的问题(新的网络硬件,不能够分配到唯一的 IPv4 地址)。

尽管还有着类似于 NAT 的技术,但也终究是缓兵之计,解决的最好办法,还是延长地址的长度。

IPv6 就做了这样的事情,它把地址长度拓展为 128 位,从而让能够描述的设备数量,拓展了数个数量级(哪怕只延长至 48 位,我们都可以有 275万亿种不同的地址),以至于我们现在关注的这个问题,可以忽略不计。

好处还不止这些,因为长度的延长,不仅仅意味着可以表示设备的数目变多,它更加代表着,我们的地址信息在不同的场景中,有更好的灵活适应性(因为更长的长度往往也意味着可以承载更多的信息)

IPv6 地址表示方案:冒号表示法

与适用于32位地址的点分十进制不同,IPv6 采用冒号表示法适用自身的 128 位地址。

第一步:将 128 位划分为 8个段

这样,每一段也就变成了 16 位。

第二步:将每一段,再划分为 4个数字

这样,每一个小数字也就是 4位(好0 ~ 255)

以此表示 IPv6 地址。

第三步:小数字用十六进制数字表示,每一段用 :: 分割

由此完成。

除此之外,IPv6 习惯于用 64 位表示网络号、64 位表示主机号。