3. 二进制与十进制快速换算方法
聊到IP地址分类,我得先说说我早年踩过的一个坑。刚入行那会儿,给一个客户规划办公网络,随手配了个 10.0.0.1,结果对方IT负责人直接问我:“你这是公网地址还是私网地址?”我当时一愣——说实话,真没仔细想过这个问题。后来才明白,IP地址的分类,说白了就是互联网的“行政区划”。不懂这个,你连路由表都看不懂。
3.1 为什么要有地址分类?
早期的互联网设计者想得很简单:网络有大有小,得给不同规模的网络分配不同大小的地址块。于是就有了“分类编址”(Classful Addressing)这套体系。它把IPv4地址分成5类:A、B、C、D、E。
你想想看,如果没有分类,每个网络都拿同样多的地址,那小型企业拿几百万个地址纯属浪费,大型机构又不够用。分类就是为了解决这个“按需分配”的问题。
核心要点:IP地址分类的依据是地址的前几位比特。路由器通过检查前几位就能快速判断这个地址属于哪一类,从而决定如何处理。
3.2 五类地址的范围与特点
我们先看一张总表,把五类地址的范围和用途说清楚。我建议你把这个表记牢,面试和实际排障都用得上。
| 类别 | 前几位 | 地址范围 | 默认子网掩码 | 网络数 | 每网络主机数 | 用途 |
|---|---|---|---|---|---|---|
| A类 | 0 | 1.0.0.0 – 126.255.255.255 | 255.0.0.0 (/8) | 126 | 16,777,214 | 大型网络 |
| B类 | 10 | 128.0.0.0 – 191.255.255.255 | 255.255.0.0 (/16) | 16,384 | 65,534 | 中型网络 |
| C类 | 110 | 192.0.0.0 – 223.255.255.255 | 255.255.255.0 (/24) | 2,097,152 | 254 | 小型网络 |
| D类 | 1110 | 224.0.0.0 – 239.255.255.255 | 无 | — | — | 组播 |
| E类 | 1111 | 240.0.0.0 – 255.255.255.255 | 无 | — | — | 实验/保留 |
A类地址
A类地址的第一个字节范围是1到126。为什么没有0和127?0.0.0.0 表示“本网络”,127.0.0.0/8 是环回地址(Loopback),用于本地测试。A类地址的网络号占1个字节,主机号占3个字节,所以每个A类网络能容纳1600多万台主机。说实话,现在很少有机构需要这么大的地址块了,A类地址基本都被早期的大公司和机构拿走了。
B类地址
B类地址从128.0.0.0到191.255.255.255。网络号占2个字节,主机号占2个字节。每个B类网络能容纳6万5千多台主机。我在项目中遇到过一家中型企业,总部加分公司一共3000多台设备,用B类地址其实有点浪费,但当时他们懒得做子网划分,直接拿了一个B类段。嗯,这种做法现在不推荐了。
C类地址
C类地址从192.0.0.0到223.255.255.255。网络号占3个字节,主机号占1个字节。每个C类网络只有254个可用主机地址(全0和全1不能用)。这是最常见的地址类型,家庭宽带、小企业、分支机构基本都用C类地址。
D类地址
D类地址用于组播(Multicast)。它不像A/B/C类那样区分网络号和主机号,而是作为一个组播组标识。我记得有一次排查视频会议卡顿的问题,发现组播地址配错了,导致视频流没发到正确的组。D类地址不用于常规的单播通信,这点要记住。
E类地址
E类地址保留给实验和未来使用。你在生产环境中基本见不到它。如果有人给你配了个E类地址,那大概率是配置错误。
我的小技巧:判断一个地址属于哪一类,最快的方法是看第一个字节的十进制值。A类:1-126;B类:128-191;C类:192-223;D类:224-239;E类:240-255。127开头的不要算进去,那是环回地址。
3.3 私有IP地址与公有IP地址
公有IP地址是全球唯一的,可以在互联网上路由。私有IP地址只能在局域网内部使用,不能在公网上路由。为什么要搞私有地址?说白了,IPv4地址不够用了。如果每个设备都要一个公网IP,那早就枯竭了。
RFC 1918规定了三个私有地址段:
| 类别 | 私有地址范围 | CIDR表示 | 可用主机数 |
|---|---|---|---|
| A类 | 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16,777,214 |
| B类 | 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1,048,574 |
| C类 | 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65,534 |
我个人的习惯是:家庭网络用 192.168.1.0/24,小企业用 10.0.0.0/24 或 172.16.0.0/16。为什么?因为 192.168.x.x 太常见了,容易和别人的VPN地址冲突。我曾经遇到一个客户,两家公司合并后,内网都是 192.168.1.0/24,结果VPN一打通,地址全冲突了。后来不得不重新规划,折腾了整整一个周末。
避坑指南:私有地址可以在不同局域网内重复使用,但同一个局域网内不能重复。另外,私有地址要访问公网,必须通过NAT(网络地址转换)设备。我曾经见过有人把私有地址直接配在公网接口上,结果路由不通,排查了半天才发现是地址没做NAT。
3.4 特殊地址与保留地址
除了五类地址和私有地址,还有几个特殊地址需要留意:
- 0.0.0.0/8:表示“本网络”,常用于DHCP请求时的源地址。
- 127.0.0.0/8:环回地址,用于本地测试。
127.0.0.1是最常用的。 - 169.254.0.0/16:链路本地地址(APIPA),当DHCP获取失败时,Windows系统会自动分配这个段的地址。
- 224.0.0.0/4:组播地址段,D类地址。
- 240.0.0.0/4:实验保留,E类地址。
我记得有一次帮朋友修电脑,发现他的IP地址是 169.254.23.45。他问我这是不是被黑客攻击了。我说别紧张,这是DHCP没拿到地址,系统自动分配的。检查了一下网线,果然松了。插紧后重启网卡,地址就正常了。
3.5 地址分类的局限性
分类编址虽然简单,但缺点也很明显:浪费地址。比如一个只有100台设备的公司,拿一个C类地址(254个可用地址)还算合理,但如果拿一个B类地址(6万多个地址),那大部分地址就闲置了。反过来,一个2000台设备的公司,一个C类地址不够,两个C类地址又需要路由,管理起来很麻烦。
所以后来出现了无类域间路由(CIDR)和可变长子网掩码(VLSM),彻底打破了分类编址的僵化结构。不过,理解分类编址仍然是学习IP地址的基础,很多老设备和教材还在用这套体系。
下面这张图帮你理清IP地址分类的整体逻辑:
3.6 公有地址与私有地址的实际应用
在实际项目中,公有地址和私有地址的搭配使用是常态。我给你说个典型的场景:
一家公司有200台电脑,申请了一个公网IP 203.0.113.25。内网用 10.0.0.0/24 私有地址段。所有员工电脑配私有地址,通过路由器做NAT,把内网地址映射到公网IP上访问互联网。对外提供的服务(比如公司官网)则直接使用公网IP。
这样做的好处很明显:节省公网IP,同时内网地址可以自由规划,不受公网限制。坏处是NAT会增加一点延迟,而且有些协议(比如FTP、VoIP)对NAT不太友好,需要额外配置。
我的建议:规划内网地址时,尽量用 10.0.0.0/8 段。虽然看起来地址很多,但你可以通过子网划分把它切成多个小段,方便管理。而且 10.x.x.x 不容易和别人的VPN地址冲突,我吃过这个亏,所以现在都用10段。
3.7 小结
IP地址分类是网络基础中的基础。A/B/C类用于单播通信,D类用于组播,E类保留。私有地址解决了公网IP不足的问题,但需要配合NAT使用。理解这些概念,你才能正确规划网络、配置路由、排查故障。
嗯,这一节的内容就到这里。记住那张分类表,工作中你会经常用到它。