learn-tech/专栏/全解网络协议/10我可是住二环的人-IP地址的组成和分类.md
2024-10-16 06:37:41 +08:00

6.4 KiB
Raw Blame History

                        因收到Google相关通知网站将会择期关闭。相关通知内容
                        
                        
                        10 我可是住二环的人 - IP地址的组成和分类
                        通过上一小节相信你对IP有了一个初步的认识。这一小节和我一起来了解一下IP地址的黑历史。以及它的演变进程。

分类网络

现在和我一起来一次时间旅行boom我们回到了1981年这一年开始出现了分类网络。我们来看一下它的工作方式是什么。这是子网掩码出现之前的事情。因此如果你生活在1985年那么你要在设备上输入IP地址。是没有子网掩码的。我们不需要子网掩码为什么因为它还不存在呢。也就是说还没有出生呢。分类网络确定了网络部分和地址的主机部分。根据地址类别我们有5个ABCD和E类。具体的分类看下面

class Private IP Range A 0.0.0,0 127.255.255.255 B 128.0.0.0 191.255.255.255 C 192.0.0.0 223.255.255.255 D 224.0.0.0 239.255.255.255 E 240.0.0.0 255.255.255.255

复制

从上面的分类可以看出每一个类别的IP地址是固定的。A类地址是从0到127.255.255.255。然后紧接着的就是B类从128.0.0.0到191.255.255。你有没有发现127.255.255.255的后一个数值就是128.0.0.0所以A和B其实是紧紧相邻的。然后再来看C的开始192.0.0.0是不是也是紧接着B的最后一个也就是191.255.255.255。所以C类地址就是192.0.0.0 到223.255.255.255。然后依次类推D类就是224.0.0.0到239.255.255.255。最后的E类也就是240.0.0.0到255.255.255.255了。

我们来分析一下A类的地址其实就是前8位的字节是网络部分。看下面的这个例子。

10.0.10.0 10是网络部分 后面的0.10.0 是主机部分 二进制的写法是 00001010 00000000 00001010 00001010

复制

B类的地址就是前16位的字节是网络部分

172.16.10.10 172.16是网络部分 后面的10.10是主机部分 二进制的写法是 10101100 000010000 00001010 00001010

复制

C类的地址就是前24位的字节是网络部分

192.168.0.10 192.168.0是网络部分 后面的10是主机部分 二进制的写法是 11000000 10101000 00000000 00001010

复制

D类的地址就是前32位的字节是网络部分没有主机部分

224.0.0.6 224.0.0.6是网络部分 二进制的写法是 11100000 00000000 00000000 00000110

复制

D类地址主要是用于广播。这是CCNA的一个很重要的考点但是你不需要了解CCNA因为你不是网络工程师这里指的是天天调试Switch和Router的工程师。然后E类的地址只是用于实验并不会实际的使用。所以你也能看到这种分法的使用其实很没有效率这也是为什么有了子网掩码。当时设计的人可能做梦也没有想到会有物联网就是你的冰箱和微波炉都需要一个ip。

无类寻址IPV4最后的挣扎

让我们再次坐上我们的时光机来到1995年。从1995年以后我们将开始谈论无类寻址因为这完全是你在职业生涯中要做的事情。毕竟你现在是2021年的新新人类。它的工作方式是什么呢那就是我们现在必须使用子网掩码。子网掩码是19941995年添加到IP地址上的一个技术。该技术的作用是说我们想要网络部分和地址的任何地方我们将创建一个单独的数字一个掩码。这是一个独立的数字将全1放入我们要网络部分的相应位将所有0放入主机的部分。看一下下面这个例子。

203.0.113.10 203.0.113是网络部分 后面的10 是主机部分 二进制的写法是 11001011 00000000 01110001 00001010

11111111 11111111 11111111 00000000 这部分就是子网掩码,写成十进制就是 255.255.255.0

复制

因此看一下上面的例子你可能会稍微清楚一点。以上发生的事情是我们有了ipv4然后在它的下面有一个称为子网掩码的东西。主题掩码通过在子网掩码中放置一个或我们想要的网络部分并在想要宿主部分的位置用零来告诉我们地址网络的哪个部分是主机。因此如果将其转换回十进制则二进制的11111111会转换为十进制的255。因此我们将此地址203.0.113.10与子网掩码255.255.255.0结合在一起现在我们可以显式地将网络部分和主机部分分开。但是子网掩码的值不一定必须为255.255.255.0。使用无类寻址我们可以将网络部分移动到所需的任何位置。因此如果我们的网络部分只需要八字节我们可以将子网掩码的前8位的掩码更改为1并将子网掩码的后24位更改为零。那看上去就是下面这样

10.0.0.10 10是网络部分 后面的0.0.10 是主机部分 二进制的写法是 00001010 00000000 00000000 00001010

11111111 00000000 00000000 00000000这部分就是子网掩码写成十进制就是 255.0.0.0

复制

当我们转换它时我们得到255.0.0.0作为掩码这简单地意味着我们IP地址的前8位是我们的地址的网络部分。其余的地址是主机部分子网掩码不必每8位变化。它可以变成或者放在我们想要放的任何地方。因此如果需要的话你可以设置一个子网掩码比如前20位是网络部分最后12位是主机部分。那会给我一个255.255.40.0的掩码。例子如下

10.0.0.10 10是网络部分 后面的0.0.10 是主机部分 二进制的写法是 00001010 00000000 00000000 00001010

11111111 11111111 11110000 00000000这部分就是子网掩码写成十进制就是 255.255.240.0

复制

当然这是一个不寻常的情况子网掩码恰好位于八位字节的中间。稍后在进行子网划分时这会导致一些异常的十进制数字从我们的IP地址中弹出。但是实际上我想提出的要点是子网掩码的功用。子网掩码是确定IP地址的哪一部分寻址网络部分以及哪一部分是主机部分的数字。

好,现在让我们温故知新一下,还记得上节课讲的地址类型吗,来做一下下面的这个练习题。

这个是什么地址? 203.0.113.53 255.255.255.0