概念
IP 地址类似我们的手机号码,但是对于用户来说不够友好,通常使用域名通过DNS对IP进行映射,IP通常使用点分四组或点分十进制表示(暂时只说明IPv4)共32位 IPv6为128位
如:
165.9.34.11
一个分为四组每组的的最大数为255,但是在更多的情况下我们更关注IP地址的二进制
如:
165.9.34.11
转换为二进制
10100101 00001001 00100010 00001011
共32位每段八位所有每组的最大数为 2^8 (0-255)
抛开我们眼睛能看到的IP地址的构造方式,在实际的运用中则将IP的构造分为
网络位+主机号
网络位:所在网段的标示
主机号:具体主机的标示
分类寻址:
即将IP地址分为了A、B、C、D、E五类
类 | 地址范围 | 网络位数 | 最多主机数 |
---|---|---|---|
A | 0.0.0.0 - 127.255.255.255 | 8 | 1677216 |
B | 128.0.0.0 - 191.255.255.255 | 16 | 65536 |
C | 192.0.0.0 - 223.255.255.255 | 24 | 256 |
D | 224.0.0.0 - 239.255.255.255 | 32 | N/A |
E | 240.0.0.0 - 255.255.255.255 | 32 | N/A |
其中D、E类网络被保留用作特殊使用
这种分类方式的缺点是假如给一家企业分配一个A类地址就以为这家企业1677216台主机在同一个网段中,在大多数情况下满足不了需求,往往几个部门之间的网络需要隔离,于是出现了子网寻址
子网掩码
子网掩码的作用是确定一个IP地址的网络位的开始和主机部分的开始,子网掩码的表示形式和IP地址一样
由连续N个1和后面的0构成,子网掩码纯粹是站点内部的局部问题。
如:
11111111 11111111 11111111 00000000 => 255.255.255.0
其中前面连续个1就代表一个IP地址的网络位数(24位)
子网寻址:
子网寻址是将已经分配的IP地址中的主机位在拿出一部分来对网络做进一步的划分
如:
分到一个B类地址
网络号(16位)+ 子网号(8位)+ 主机ID(8位)
这样我们就可以将一个B类IP划分为256个子网,每个子网254台主机,但是这个是一个内部的规则需要子网掩码的配合,而在公网依旧使用网络号进行区分
那么会有一个小问题就是网络外部进来的请求如何知道这个请求走向内部的哪一个网段?
如:
IP:165.9.34.11=> 10100101 00001001 00100010 00001011
子网掩码:255.255.255.0=> 11111111 11111111 11111111 00000000
10100101 00001001 00100010 00001011
&&&&&&&& &&&&&&&& &&&&&&&& &&&&&&&&
11111111 11111111 11111111 00000000
结果为:
10100101 00001001 00100010 00000000 => 165.9.34.0
由此可以得到这个IP属于165.9.34.0这个网段
注意:以上的计算一定要把之前的ABCDE类划分忘掉,不要误以为165.9.34.11 是一个B类IP165.9.0.0网段的,这时我们是使用子网划分的方式,而子网划分是一个一个对内的规则,外网并不知道内部的网络结构
可变长度子网掩码(VLSM)
以上的子网划分虽然能达到企业基本需求但是依然不够灵活,比如实际情况是A部门只有10个人,B部门500多人,那么显然一个网段台主机划分给A部门是在有些浪费了,那么可以使用可变长子网掩码,可以让不同的子网容纳不同数量的数量的的主机
表示方式:
165.9.34.0/28 表示为16台主机
2^(32-28)
可变长子网的主机数量受限于IP没有被子网号使用的余位的限制
待补充…