IP地址分类

IP地址分类:
A:首位为0;1.0.0.0~126.0.0.0;主机号24位
B:前两位为10;128.1.0.0~191.255.0.0;主机号16位
C:前三位为110;192.0.1.0~223.255.255.0;主机号8位
D:前四位为1110;224.0.0.0~239.255.255.255
E:前四位为1111;240.0.0.0~255.255.255.254
D类为多播地址,不常用,E类保留使用。子网掩码结合IP地址一起使用,将某个IP地址划分成网络地址和主机地址两部分。

主机号为0的网络地址,表示网络本身。例如202.120.95.0表示一个C类网络。
主机号全为1的地址保留做为定向广播。例如202.120.95.255表示一个广播地址。
127.0.0.0保留用于环回用来测试TCP/IP以及本机进程间的通信。故网络号为127的分组永远不会出现在网络上,而且主机或者路由器永远不能为127的地址传播选路或者可达性信息。它不是一个网络地址。

在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255

还有一个全1的网络地址,即255.255.255.255是一个受限的网络地址,用于广播。

转载于:https://www.cnblogs.com/li-chong/p/3352833.html

### IPv4 和 IPv6 地址分类方法 #### IPv4 地址分类 IPv4 使用 32 位二进制数表示地址,总共可以提供大约 43 亿个唯一地址。这些地址被划分为五类:A 类、B 类、C 类、D 类和 E 类。 - **A 类地址** A 类地址的第一个字节用于网络部分,其余三个字节为主机部分。其范围是从 `0.0.0.0` 到 `127.255.255.255`,其中有效范围为 `1.0.0.0` 至 `126.255.255.255`[^1]。 - **B 类地址** B 类地址的前两个字节代表网络号,后两个字节代表主机号。这类地址的有效范围是 `128.0.0.0` 到 `191.255.255.255`。 - **C 类地址** C 类地址的前三字节作为网络标识符,最后一字节用来指定特定网络上的设备。该类别覆盖了从 `192.0.0.0` 到 `223.255.255.255` 的区间。 - **D 类地址** D 类地址主要用于多播传输,即一次性向多个接收者发送信息。此类别位于 `224.0.0.0` 到 `239.255.255.255` 范围内。 - **E 类地址** E 类地址保留作实验用途,通常不会在公共互联网上使用。此区间的地址是从 `240.0.0.0` 开始直到 `255.255.255.255`。 另外还有一些特殊的 IP 地址: - `0.0.0.0` 表示默认路由或未知源/目标地址; - `255.255.255.255` 是受限广播地址,仅限于当前子网内的所有节点; - `127.x.x.x` (如 `127.0.0.1`) 属于回环测试地址,用于本地计算机自我检测连接状态。 对于私有网络而言,存在一些专门预留出来的 IP 地址段供内部使用而不需向外注册,比如 `10.0.0.0/8`, `172.16.0.0/12`, 及 `192.168.0.0/16`。由于这些地址不是全球唯一的,在不同地方可能会重复利用,因此它们被称为“可重用”的私有 IP 地址[^4]。 #### IPv6 地址分类 相比之下,IPv6 提供了一个更广阔的寻址空间——128 位长,理论上能够支持几乎无限数量的独特地址。这不仅解决了 IPv4 面临的地址枯竭问题,而且引入了一些新的特性来简化配置过程并增强安全性等功能。 - **单播地址**:类似于 IPv4 中的标准 IP 地址形式,指定了单一接口的身份。 - **任播地址**:指向一组接口中的任何一个成员;当数据包到达最近的一个可用目的地时就会停止传播。 - **组播地址**:允许一次性的消息传递给多个感兴趣的监听方,而不是像传统的广播那样无差别地影响整个子网。 - **链路本地地址**:专属于某个物理链接范围内使用的临时性地址,不需要全局唯一性。 - **站点本地地址**(已废弃):曾定义了一种适用于企业级局域网环境下的非公有地址方案,现已不再推荐使用。 - **嵌入式 IPv4 地址**:为了兼容旧版系统而设计的一种过渡机制,可以在某些情况下携带原有的 IPv4 地址信息。 IPv6 并未沿用传统意义上的 ABCDE 分类法,而是通过不同的前缀模式来进行区分。例如,以 `fe80::/10` 开头的是链路本地地址,而 `ff00::/8` 则对应着所有的组播地址[^3]。 ```python def is_ipv6_unicast(address): """判断是否为IPv6单播地址""" import ipaddress try: addr = ipaddress.IPv6Address(address) return not(addr.is_multicast or addr.is_link_local or addr.is_site_local or addr.ipv4_mapped) except ValueError: return False ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值