IP 地址详解(IPv4IPv6)
Posted 鱼丸丶粗面
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IP 地址详解(IPv4IPv6)相关的知识,希望对你有一定的参考价值。
文章目录
1 概述
- IP地址:Internet Protocol Address(互联网协议地址 或 网际协议地址)
- 为互联网上每一个网络和每一台主机分配一个 逻辑地址,以此来屏蔽 物理地址 的差异
2 IP 地址结构
2.1 IPv4 地址结构
- 地址位数及表示方法:IPv4 地址用 32位二进制数 来表示一台网络设备,为了方便记忆,常用 “点分十进制” 的形式表示
- 地址数量不够:IPv4 地址最多支持
2^32 ≈ 43亿
个网络设备同时接入,这个数量在最初是够用的,但随着互联网行业的发展,这个数量就不够了。 - 两种解决办法:
- NAT 协议(Network Address Translation,网络地址转换):
IP + 端口号
,实现 ip 复用 - 迁移至 IPv6:直接扩充至 128位二进制,
2^128 ≈ 世间万物
- NAT 协议(Network Address Translation,网络地址转换):
2.2 IPv6 地址结构
- IPv6 的地址长度为 128 位,是 IPv4 地址长度的 4 倍。于是 IPv4 点分十进制格式不再适用,采用十六进制表示,有 3 种表示方法
- 一、冒分十六进制表示法
- 格式:
X:X:X:X:X:X:X:X
,每个 X 表示 16 个二进制数(128 = 16 * 8) - 注意:每个 X 的
前导 0
是可以省略的,例如: - 2001 : 0DB8 : 0000 : 0023 : 0008 : 0800 : 200C : 417A →
- 2001 : DB8 : 0 : 23 : 8 : 800 : 200C : 417A
- 格式:
- 二、0 位压缩表示法
- 将 连续很长 的一段 0 压缩为
"::"
。且为保证地址解析的唯一性,"::"
只能 出现一次,例如: - FF01 : 0 : 0 : 0 : 0 : 0 : 0 : 1101 → FF01
::
1101 - 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1 →
::
1 - 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 →
::
- 将 连续很长 的一段 0 压缩为
- 三、内嵌 IPv4 地址表示法
- 为了实现 IPv4-IPv6 互通,IPv4 地址会嵌入 IPv6 地址中,前 96 位采用 冒分十六进制 表示,最后 32 位 依然采用 IPv4 的 点分十进制
- 格式:
X:X:X:X:X:X:d.d.d.d
,例如: ::192.168.0.1
和::FFFF:192.168.0.1
3 IP 地址管理
3.1 地址分类策略:A、B、C、D、E 类
类别 | IP 地址范围 | 最大主机数 | 私有 IP 地址范围 |
---|---|---|---|
A | 0.0.0.0 ~ 127.255.255.255 | 2^24 - 2 = 16777214 | 10.0.0.0 ~ 10.255.255.255 |
B | 128.0.0.0 ~ 191.255.255.255 | 2^16 - 2 = 65534 | 172.16.0.0 ~ 172.31.255.255 |
C | 192.0.0.0 ~ 233.255.255.255 | 2^8 - 2 = 254 | 192.168.0.0 ~ 192.168.255.255 |
IP 地址范围:分类号 + (最小:网络位全为 0,最大:网络位全为 1),例如
A 类:分类号 = 0,最小 00000000 = 0,最大 01111111 = 127
B 类:分类号 = 10,最小 10000000 = 128,最大 10111111 = 191
C 类:分类号 = 110,最小 11000000 = 192,最大 11011111 = 223
其它:0 = 00000000(8 个 0),255 = 11111111(8 个 1)
主机数 为啥要 减少 2 ?因为:在每个网络中,有 2 个 IP 地址不能被分配,留作他用,如:
主机号全 0:指定某个网络本身
主机号全 1:指定某个网络的所有主机(用于广播)
3.2 无分类策略:CIDR
- 无分类策略的实现:CIDR 协议(Classless Inter-Domain Routing,无类别域间路由)
- 无分类策略方案:
- 32 位 IP 地址被使用者 按需任意划分 为两部分,同样,前面是 网络号,后面是 主机号
- 提高了 IP 地址的分配效率,解决了 IP 地址资源紧张的局面
- 无分类策略地址划分
- 对于人类:采用
a.b.c.d/n
的形式表示,其中 n 表示 前 n 位为网络号 - 对于机器:采用 子网掩码 的形式表示,网络位均为 1,主机位均为 0。因此,将子网掩码与 IP 地址 相与,即可得到 IP 地址的网络号
- 对于人类:采用
参数 | 取值 | 说明 |
---|---|---|
可用地址个数 | 254 | 2^8 - 2(特定地址) |
子网掩码 | 255.255.255.0 | 简称 24,详见下列子网掩码表 |
网络号 | 10.100.122.0 | 特定地址,不做分配 |
第一个可用地址 | 10.10.122.1 | |
最后可用地址 | 10.100.122.254 | |
广播地址 | 10.100.122.255 | 特定地址,不做分配 |
默认子网掩码表:
类别 | 默认子网掩码 | 子网掩码简写 | 二进制表示 |
---|---|---|---|
A 类 | 255.0.0.0 | 8 位 | 11111111 00000000 00000000 00000000 |
B 类 | 255.255.0.0 | 16 位 | 11111111 11111111 00000000 00000000 |
C 类 | 255.255.255.0 | 24 位 | 11111111 11111111 11111111 00000000 |
3.3 地址分类策略 和 无分类策略 相结合
- 由于分类策略已经使用了很长时间,很难直接推倒之前的 ABCDE类网划分
- 可行的做法是将两种分类策略融合在一起工作,而这就是我们今天使用 IP 地址的策略
- 明显的区别:灵活划分若干子网
以上是关于IP 地址详解(IPv4IPv6)的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 93 Restore IP Addresses详解
leetcode 93 Restore IP Addresses详解