IP地址概念

目前只考虑 IPv4 的情况.

1. 基本概念

IP 地址是一个 4 字节(32 位)的数据, 通常按每字节分成 4 段, 表示成类似于 192.168.0.1 的格式, 写成 16 进制是 C0.A8.00.01 , 二进制是: 11000000.10101000.00000000.00000001 .

-第一节第二节第三节第四节写出来
10 进制19216801192.168.0.1
16 进制C0A8001C0.A8.00.01
2 进制11000000101010000000000000000001-

在这些地址当中, 全为 1 的为 广播地址 , 用于向所在网络的所有主机发送报文.

-第一节第二节第三节第四节写出来
10 进制255255255255255.255.255.255
16 进制FFFFFFFFFF.FF.FF.FF
2 进制11111111111111111111111111111111-

全为 0 的为 本网络地址 .

-第一节第二节第三节第四节写出来
10 进制00000.0.0.0
16 进制0000000000.00.00.00
2 进制00000000000000000000000000000000-

第一节为 127 的为 回送地址 , 其中的主机地址, 表示主机自己(无网络传输).

-第一节第二节第三节第四节写出来
10 进制127001127.0.0.1
16 进制7F0000017F.00.00.01
2 进制01111111000000000000000000000001-

127.0.0.0 是表示的网地址, 不是主机地址.

2. 网地址和主机地址

IP 地址当中, 有一层逻辑的划分, 就是 网地址 和 主机地址 . 前面一部分 N 位表示一个网, 后面剩下的表示网中的一台主机.

比如: 192.168.0.1 , 如果你把 192 看成是网地址, 那么剩下的 168.0.1 就是主机地址. 你把 192.168规定是网地址, 那么剩下的 0.1 就是主机地址. 这个划分是人为定的规则, 表示这个规则的, 是 子网掩码 , 用以标示出 网地址 . 比如如果你是前两节为子网, 对应的子网掩码就是 255.255.0.0 .

-第一节第二节第三节第四节写出来
IP 10 进制19216801192.168.0.1
IP 2 进制11000000101010000000000000000001-
掩码 10 进制25525500255.255.0.0
掩码 2 进制11111111111111110000000000000000-
IP & 掩码11000000101010000000000000000000192.168.0.0

IP & 掩码 得到的就是网地址. 网段 IP 的第一个地址是网地址 , 网段 IP 的最后一个地址是广播地址 , 这两个地址是特殊的, 不分配给主机.

对于 IP , 192.168.0.1 , 如果掩码是 255.255.0.0 , 则它对应的网地址是 192.168.0.0 , 此网的广播地址是 192.168.255.255 .

对于 192.168.0.1 , 如果掩码是 255.255.255.0 , 则它对应的网地址是 192.168.0.0 , 此网的广播地址是 192.168.0.255 .

把一个 IP 中的哪部分定义成网地址, 哪部分定义成主机地址, 有一个影响, 就是在 IP 地址中所能表示的 网数量 和 主机数量 是不同的. 直观地不考虑一些特殊地址的情况下, IP 一共只有 32 位, 你用 8 位表示网, 那剩下的 24 位表示主机. 这种情况下, 网数量最大是 511 ( 2 ^ 9-1 ) , 主机数量最大有 33554431 ( 2 ^ 25 - 1 ) .

3. IP地址的分类

前面讲了 网地址 和 主机地址 的概念, 按 网地址 所占位数的不同, IP 地址整个被分成了 A, B, C, D, E 五类. D, E 类特殊, 我们主机会被分配到的地址是 A, B, C 类中的一种.

每类地址在其 网地址 部分都有额外格式规定, 以显示地表明这是哪一类的地址. 否则就会出现前面我们对于 192.168.0.1 这个地址的看法问题, 网地址 占几位是我们自己定的.

一共有 5 类地址, 直观地, 2 ^ 2 = 42 ^ 3 = 8, 我们使用三位地址就可以区分它们了, 000, 001, 010, 011, 100. 但是这种平均分的方式, 对于 A 类地址这种, 消耗太大, 它一共网地址就只有 8 位可用, 标示就占去了 3 位, 肯定尴尬啊. 于是就用上了 进位两分 的方式.

种类第一位第二位第三位第四位
A0---
B10--
C110-
D1110
E1111

这种分法不是最有效率的, E 类要 4 位才能区分. 但是却是对短的网地址分类更有利, A 类只占用了一位网地址空间.

每类 IP 对网地址的表示定义.

分类网地址位数主机地址位数十进制二进制
A824 10.10.0.1 00001010.00001010.00000000.00000001
B1616 172.16.0.1 10101100.00010000.00000000.00000001
C248 192.168.0.1 11000000.10101000.00000000.00000001

3.1. A类地址

A 类地址使用 8 位空间表示网地址, 24 位表示主机地址. 网地址以 0 起始作为标示. 剩下能用来网地址有 7 位空间. 所以 A 类地址的网数总数量上能有 2 ^ 7 = 128 个.

A 类地址的 128 个网中, 有两个是特殊的, 0.0.0.0 的 0 网, 127.0.0.1 的 127 网. 所以实际可用的 A 类地址中, 有 126 个网.

A 类地址有 24 位的主机地址空间, 单网下的主机数量有 2 ^ 24 = 16777216 个, 除去第一个表示网本身的地址, 和最后一个用于广播的地址, 可用的主机地址有 16777214 个.

3.2. B类地址

B 类地址使用 16 位的网地址, 16 位的主机地址. 网地址以 10 起始作为标示. 剩下 14 位的网地址空间. B 类地址的网的总数量有 2 ^ 14 = 16384 个. 主机空间 16 位, 则单网的主机数量最多有 2 ^ 16 - 2 = 65534 个.

3.3. C类地址

C 类地址使用 24 位网地址, 8 位的主机地址. 网地址以 110 起始作为标示. 剩下 21 位网地址空间. C 类地址的网的总数量有 2 ^ 21 = 2097152 个. 主机空间 8 位, 单网主机数量 2 ^ 8 - 2 = 254个.

3.4. D类和E类

D 类地址用于多点广播, 用于一次寻址一组主机.

E 类地址目前保留.

4. 网段表示方法

有时我们需要表示一段的 IP , 直观地, 可能会想到的形式是, 192.168.0.* , 表示的网段是192.168.0.0 ~ 192.168.0.255 . 但是这种在十进制形式上表示的做法, 和 IP 的数据本质是有一些不匹配的. IP 的数据是 32 位二进制位, 我们只是为了方便可以写成 4 节十进制的形式. 但是在实际使用中, 我们自己规划的网络环境下, 网地址的位数不一定就是 8 的整数倍. 如果我们希望表示的 IP 段是, 前 6 位是 011111 , 后 26 位随意, 那按前面的 * 的形式就无能为力了.

于是, 我们使用 124.0.0.0/6 的形式来表示 "固定前 6 位". 这种情况通常是前 6 位作为网地址(和 IP 是哪类没关系).

-第一节第二节第三节第四节写出来
第一个地址 01111100000000000000000000000000124.0.0.0
最后一个地址 01111111111111111111111111111111127.255.255.255

5. 私有地址

IP 地址是有限的, 而且每个设备很多时候都是需要一个 IP 地址的. 但是, 并不是所有设备都需要接入互联网. 为了规范 IP 地址的使用, 使那些私网自己分配的 IP 地址不和那些互联网公网 IP 地址冲突, 在 IP 地址的协议上, 每类 IP 中都预留了一段地址供私网自己使用, 这些地址不进行公开的分配.

这三段地址是:

类型网段范围
A10.0.0.0/8 10.0.0.0 ~ 10.255.255.255
B172.16.255.255/12 172.16.0.0 ~ 172.31.255.255
C192.168.0.0/16 192.168.0.0 ~ 192.168.255.255

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值