#前言
最近在备考 HCIP 数据通信,从最基础的网络知识开始学起了,在这之前做了这么多年的运维从来没有系统的学习过关于网络的东西,不学不知道原来网络中有这么多的东西要学,真的应了那句话:能看到的只是冰山的一角;
这次来记录一下网络最基础的东西:IPv4 地址,平时我们都叫它 IP 地址;这个词相信所有了解过计算机的人都听说过,它到底是什么呢?
现在的计算机网络基本上都是在 TPC/IP 上面建立起来的,这个 TCP/IP 就是网络中最核心的两种协议,其中 IP(Internet Protocol 互联网协议)就是目前最常用也是最主流的,它有两个版本,一个是 IPv4 一个就是 IPv6,现在只讲 IPv4,关于 IPv6 之后再说。
#IPv4 地址的基本格式
先不说 IPv4 中的数据包格式啊、数据包头、数据包分版与重组那些枯燥的东西,关于数据报文啥的如果感兴趣可以留个言,之后有时间可以再写一篇关于报文的贴子。
IPv4 地址作用是用来标识网络中的一台设备或者是一个网口,那为什么 IPv4 地址是 xxx.xxx.xxx.xxx
这种格式?有一个类型的 IP 地址大家肯定都见过: 192.168.0.1
,那就有人要问了,上面不是每三字符用一个 .
分隔吗?你这个地址后面两个怎么是一个字符就用 .
分隔了?如果有人这样问,那就去问问你的小学数学老师,看他会不会把你头敲下来。
首先 IPv4 的地址在计算机内部是以二进制形式表示的,每个地址都由 32 位的 0 或 1 构成的,拿上面的 192.168.0.1
来举例,它在计算机中的样子就是: 11000000101010000000000000000001
是不是看起来眼晕,人们为了方便记录,在地址的 32 位二进制数字中,每连续的 8 位为一段,每一段用一个英文字符 .
来分隔,而且将二进制的数字转换为了人们最了解的十进制数,所以就有了现在这样子的 IPv4 地址。
十进制 | 192 | 168 | 0 | 1 |
二进制 | 11000000 | 10101000 | 00000000 | 00000001 |
在 32 位二进制的 IPv4 地址中是被分成了两部分,一部分用来表示此 IPv4 地址所属的网段,通常被叫做 “网络地址”;另一部分用来表示具体主机的 IPv4 地址,通常被叫做 “主机地址”。
#IPv4 地址的分类
IPv4 的址的范围是在 0.0.0.0 至 255.255.255.255 内,在这个范围内的所有 IPv4 的地址并不是让我们随便怎么用都可以的,它有 5 种分类:
分类 | 地址范围 | 默认掩码 | 用途 |
---|---|---|---|
A 类 | 0.0.0.0 至 127.255.255.255 | 255.0.0.0 或 8 | 分配给主机使用 |
B 类 | 128.0.0.0 至 191.255.255.255 | 255.255.0.0 或 16 | |
C 类 | 192.0.0.0 至 223.255.255.255 | 255.255.255.0 或 24 | |
D 类 | 224.0.0.0 至 239.255.255.255 | 组播地址 | |
E 类 | 240.0.0.0 至 255.255.255.255 | 用于研究 |
在 A、B、C 类地址中又预留了一些地址给私网使用,这些地址是无法在 Internet 上使用的,只能用来组建私有的局域网。
分类 | 地址范围 |
---|---|
A 类 | 10.0.0.0 至 10.255.255.255 |
B 类 | 172.16.0.0 至 172.31.255.255 |
C 类 | 192.168.0.0 至 192.168.255.255 |
在 IPv4 中除了公网 IP 地址和私网 IP 地址以外还有 4 种特殊的地址址:
特殊 IP 地址 | 地址范围 | 作用 |
---|---|---|
有线广播地址 | 255.255.255.255 | 可作为目的地址,发往该网段所有主机。 |
任意地址 | 0.0.0.0 | “任何网络” 的网络地址;“这个网络上这个主机接口” 的 IP 地址 |
环回地址 | 127.0.0.0/8 | 此地址指向的是该设备自己 |
本地链路地址 | 169.254.0.0/24 | 当主机自动获取地址失败后,可使用该网段中的某个地址进行临时通信 |
#总结
IPv4 做为 TCP/IP 网络中的一个重要协议,做为一名计算机相关的人员,我觉的有必要去了解或深入学习它,去了解现在的计算机网络是如何通信。虽然 IPv4 地址资源已枯竭,国家也在大力推行 IPv6 地址,但现在很多很多企业或家庭的私网还是使用的 IPv4 的网络地址,可能家庭用户不会感知到,企业用户应该可以知道现在申请固定的互联网地址费用是多么高。即然 IPv4 地址都已经用完了,为什么还要学习它呢?主要还是因为用 IPv4 地址的用户太庞大了,而且很多网络设备上运行的协议还是基于 IPv4 的。虽然现在在推广 IPv6,但还要很长时间才能达到全民谱及。