Something about IPv4
前言
虽然IP v6
是未来的主流,但目前学校以及大量我国单位还在用旧的v4
什么是IP
IP
Internet Protocol
其用十进制表示,看起来像这样:192.168.1.1
(就是4段0~255
的数)
用2进制表示,是这样:11111111.11111111.111111111.00000000
= 255.255.255.0
平时写代码的时候,只是操作单个主机、单个IP。
一旦把管理范围扩大,我们就需要管理整个网络了,所以真实世界的IP不是孤立存在的,而是成群结队的出现。
比如一个范围由192.168.0.0
到192.168.255.255
的网络
这个网络的第一个IP地址,
192.168.0.0
,被当成这个网络的标识该网络的最后一个地址,
192.168.255.255
,会被当成广播地址,向它发信息,那条信息会被广播到该网络的每一个地址
由此一来,IP必须由两部分组成:网络号+主机号
举个例子:在网络202.93.0.0
里,某个IP202.93.44.55
的主机号是44.55
,网络号是202.93
地址要分类
人们最开始把所有IP v4
地址像这样分(假设网络号=c
,主机号=x
):
IPv4
总数是2的32次方
=4,294,967,296
,不够用
所以聪明的人类
又开始动歪脑筋
折磨后人了(但事实上只需要写一个程序自动帮我们计算,只是不知道为什么学校要求学生手动计算这个东西,真麻烦)
具体的原理可以参照 Data Communications and Networking - Behrouz A. Forouzan
这本书
我这里只讲一讲应试教育的解题方法(其实我压根就不该写这么多,直接写题目才是正确的套路)
题目:将一个 B类 的网络172.17.0.0
划分为14个子网,求每个子网的子网掩码 and 每个子网的IP范围
(1)
因为 是B类网,所以 122.17
固定不变,0.0
可变; 0.0
变为 2进制 为00000000.00000000
因为要划分为 14 个子网,我们需要思考2的多少次方刚好
> 14
因为子网掩码
本质上是用 1 代表 网络位
,0代表主机位
所以该题的子网掩码的2进制形式变为了 11111111.11111111.11110000.00000000
把它变成10进制: 8个1为255,8个0为0
11110000
的转换方法:
所以最终该题子网掩码
变为了 255.255.240.0
(2)
不知道原因,但我从我课本的描述中总结出了地址划分的规律
不要问我 首和尾 哪儿去了,一个用于标识网络,一个用于广播
后续
至于更多的题,我暂时不想写了
Last updated