ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

IP地址划分与分类详解:A/B/C/D/E类地址范围、掩码与可用主机数计算

IP地址划分与分类详解:A/B/C/D/E类地址范围、掩码与可用主机数计算

1. 为什么每个搞网络的人,都绕不开IP地址划分这道坎

刚入行那会儿,我以为网络配置就是插上网线、填个IP、能通就行。直到有一次在机房调试设备,两台机器明明IP看着“差不多”,却死活ping不通,排查了大半天才发现——一个配的是有效主机地址,另一个手滑写成了网络地址。那一刻我才真正意识到,IP地址的划分和分类不是考试里的死记硬背,而是每天都在用的基本功。

这篇文章聊的就是IP地址的划分及其分类。它解决的核心问题是:让你拿到一个IP地址时,能立刻判断出它属于哪一类、网络位和主机位各占多少、这个网段能塞下多少台设备、哪些地址能用哪些不能用。不管你是刚接触网络的新手,还是做了几年运维偶尔被VLSM绕晕的老手,把IP地址的底层逻辑捋清楚,后面学子网划分、路由汇总、ACL匹配规则都会顺很多。

我见过太多人配置防火墙策略时,因为没搞懂地址分类,把整个A类地址段当成一个“小网段”来处理,结果规则写得又臭又长还容易漏。也见过有人做地址规划时,随手给一个只有二十台设备的部门分了个B类地址,白白浪费几万个可用地址。这些坑,本质上都是对IP地址划分理解不到位。

所以这篇内容我会从最基础的二进制和点分十进制讲起,把A、B、C、D、E五类的划分规则、地址范围、默认掩码、可用主机数一个个拆开算给你看,再补充私有地址、特殊地址、以及实际做地址规划时的经验技巧。全程用大白话加实际数字,保证你看完能自己动手算。

2. IP地址的底层逻辑:从32位二进制到点分十进制

2.1 一个IP地址到底长什么样

IPv4地址本质上是一个32位的二进制数。32位听起来抽象,你可以把它想象成一条被切成四段的绳子,每段8位,一共四段。每一段8位二进制能表示的范围是00000000到11111111,换算成十进制就是0到255。所以我们平时看到的IP地址,比如192.168.1.1,其实是把四段二进制分别转成十进制,中间用点隔开,这就是所谓的点分十进制表示法。

拿192.168.1.1举例,它的二进制展开是这样的:

192 -> 11000000 168 -> 10101000 1 -> 00000001 1 -> 00000001

合起来就是11000000.10101000.00000001.00000001。这个转换过程是理解后面所有分类的基础,因为IP地址的分类规则,本质上就是在看这32位里最前面几位是什么。

这里有个很多人一开始会懵的点:为什么每段最大是255而不是256?因为8位二进制从全0到全1,一共是2的8次方等于256个值,但计数是从0开始的,所以范围是0到255。这个细节在做地址计算时经常用到,比如算广播地址、算可用主机数,都离不开它。

2.2 网络位和主机位:IP地址的“门牌号”结构

一个IP地址在逻辑上被分成两部分:网络位和主机位。这个划分特别像现实中的门牌号。比如“幸福路88号”这个地址,“幸福路”标识的是哪条街,相当于网络位;“88号”标识的是这条街上的哪一户,相当于主机位。同一条街上的所有住户,网络位是相同的,主机位各不相同。

网络位和主机位的分界线,是由子网掩码决定的。子网掩码也是一串32位二进制,它的规则很简单:网络位对应的位置全是1,主机位对应的位置全是0。比如一个C类地址默认掩码是255.255.255.0,二进制就是24个1后面跟8个0,意思是前24位是网络位,后8位是主机位。

这里要强调一个新手最容易犯的错误:光看IP地址本身,是没法确定网络位和主机位分界的,必须结合掩码一起看。192.168.1.1这个地址,如果掩码是255.255.255.0,那网络位是前24位;如果掩码是255.255.0.0,那网络位就变成前16位了。同一个IP,配不同的掩码,它所在的网段、能通信的范围完全不同。这也是为什么我开头说“看着差不多却ping不通”——很可能就是掩码配错了,导致两台机器对“同网段”的判断不一致。

2.3 分类的历史由来:为什么会有A、B、C、D、E

IP地址分类这套规则,是早期互联网设计时定下来的。当时的设计者想用一种简单的方式,让路由器能快速判断一个地址的网络部分有多长,于是就想出了“看开头几位”的办法。不同的开头位模式,对应不同的类别,每种类别预设了固定的网络位长度。

这套方案在当年是合理的,因为那时候网络数量少、规模差异大,用类别来区分大中小网络很直观。但它也有明显的缺陷:分类是固定的,不够灵活。比如一个中型企业需要300个地址,C类只有254个不够用,B类有65534个又太浪费,卡在中间很难受。正是这个缺陷,后来催生了子网划分(Subnetting)和无类别域间路由(CIDR)技术。不过即便到了今天,理解A、B、C类的划分依然是入门必修课,因为很多设备默认行为、很多教材、很多老系统的配置界面,都还带着分类的影子。

3. 五类地址逐一拆解:范围、掩码与可用主机数

3.1 A类地址:给超大型网络准备的“大户人家”

A类地址的判断规则是:第一位固定为0。也就是说,只要一个IP地址的二进制第一位是0,它就是A类。第一位固定占用了,剩下前8位里还有7位可以变化,用来表示网络号。

网络号的范围:00000001到01111111,换算成十进制就是1到127。但实际可用的A类网络号是1到126,因为127开头的整个网段被保留作特殊用途(后面会讲)。所以A类总共有126个可用网络。

默认掩码是255.0.0.0,也就是前8位网络位、后24位主机位。每个A类网络能容纳的主机数是2的24次方减去2,等于16777214台。为什么要减2?因为每个网段里,主机位全0的地址是网络地址(代表这个网段本身),主机位全1的地址是广播地址(用于向网段内所有设备发消息),这两个地址不能分配给具体设备,所以要扣掉。

A类地址的第一个字节范围是1到126。比如10.0.0.1、126.255.255.254都是A类地址。这类地址通常分配给国家级网络或超大型机构,普通企业基本用不上。

3.2 B类地址:中型网络的“黄金地段”

B类地址的判断规则是:前两位固定为10。前两位定死了,剩下前16位里还有14位可变,用来表示网络号。

网络号的范围:从10000000.00000000到10111111.11111111,换算成十进制,第一个字节是128到191。B类总共有2的14次方,也就是16384个网络。

默认掩码是255.255.0.0,前16位网络位、后16位主机位。每个B类网络能容纳的主机数是2的16次方减2,等于65534台。第一个字节范围128到191,比如172.16.0.1、191.255.255.254都是B类。

B类地址的定位很尴尬也很典型:它适合那种“不大不小”的网络,比如大型企业园区、中型ISP。但正因为它的容量是65534,很多实际只需要几百个地址的场景用它就太浪费了,这也是后来子网划分技术大显身手的地方。

3.3 C类地址:小型网络的“主力军”

C类地址的判断规则是:前三位固定为110。前三位定死,剩下前24位里还有21位可变,用来表示网络号。

网络号范围:第一个字节从11000000到11011111,十进制是192到223。C类总共有2的21次方,也就是2097152个网络,数量非常庞大。

默认掩码是255.255.255.0,前24位网络位、后8位主机位。每个C类网络能容纳的主机数是2的8次方减2,等于254台。第一个字节范围192到223,比如192.168.1.1、223.255.255.254都是C类。

C类是我们日常接触最多的。家庭路由器、小型办公室、学校机房,绝大多数用的都是C类地址段。254台设备的容量对大部分小场景刚好够用,不多不少。

3.4 D类地址:不分配给主机,专用于组播

D类地址的判断规则是:前四位固定为1110。第一个字节范围是224到239。

D类地址不用于标识单个主机,它的用途是组播(Multicast)。所谓组播,就是一对多的通信方式:一个源把数据发给一组特定的接收者,而不是发给所有人(广播)或某一个人(单播)。比如视频会议、在线直播、路由协议里的某些消息传递,都会用到组播地址。

D类地址没有默认掩码的概念,也没有网络位主机位的划分,因为它压根不是给设备配的。常见的组播地址比如224.0.0.1代表“本网段所有主机”,224.0.0.2代表“本网段所有路由器”,这些是协议规定好的。

3.5 E类地址:保留做实验,日常见不到

E类地址的判断规则是:前四位固定为1111。第一个字节范围是240到255。

E类地址被保留用于实验和未来扩展,普通网络里基本不会出现。你在实际工作中如果看到240开头的地址,要么是特殊实验环境,要么就是配置出错了。255.255.255.255这个全1地址是个特例,它代表“受限广播”,只在本网段内传播,不会被路由器转发。

3.6 五类地址速查对照表

把上面五类的关键信息整理成一张表,方便你随时对照:

类别首位模式第一字节范围默认掩码网络位主机位可用主机数主要用途
A类0开头1-126255.0.0.08位24位16777214超大型网络
B类10开头128-191255.255.0.016位16位65534中型网络
C类110开头192-223255.255.255.024位8位254小型网络
D类1110开头224-239无无无无组播
E类1111开头240-255无无无无保留实验

这张表建议你记牢,尤其是第一字节范围和默认掩码这两列,实际排查问题时用到的频率最高。

4. 私有地址与特殊地址:分类之外的“隐藏规则”

4.1 私有地址:内网里的“自留地”

分类讲完了,但如果你只记A、B、C的范围,实际配地址时还是会踩坑。因为有一批地址被专门划出来做私有地址,它们不会在公网上被路由,专供内部网络使用。这三段私有地址分别是:

  • 10.0.0.0/8:对应A类里的一个网络,可用地址从10.0.0.1到10.255.255.255,超过1600万个地址,大型内网首选。
  • 172.16.0.0/12:对应B类里的一段,范围是172.16.0.0到172.31.255.255,共16个B类网络,约100万个地址。
  • 192.168.0.0/16:对应C类里的一段,范围是192.168.0.0到192.168.255.255,共256个C类网络,约6.5万个地址。

你家里路由器默认发的192.168.1.x,公司内网常见的10.x.x.x,都属于私有地址。这些地址在内部随便用,但出了公网就无效。如果内网设备要访问互联网,需要通过NAT(网络地址转换)把私有地址翻译成公网地址。

注意:很多人以为192.168开头的都是私有地址,其实只有192.168.0.0到192.168.255.255这一段是私有的。192.169开头的就不是了,别搞混。

4.2 那些不能随便用的特殊地址

除了私有地址,还有几个特殊地址必须记住,配错了会出大问题:

127.0.0.0/8:整个127网段保留作环回地址,最常用的是127.0.0.1,代表本机。你ping 127.0.0.1能通,说明本机TCP/IP协议栈正常。这个网段不能分配给任何物理接口。

169.254.0.0/16:链路本地地址。当一台设备开启了自动获取IP(DHCP)但没获取到时,系统会自动给自己配一个169.254开头的地址。所以如果你看到设备拿到169.254的地址,基本可以断定是DHCP出问题了。

0.0.0.0:代表“任意地址”或“未知地址”。在路由表里表示默认路由,在服务器配置里表示监听所有网卡。

255.255.255.255:受限广播地址,只在本网段内广播,路由器不转发。

网络地址和广播地址:每个网段里主机位全0的是网络地址,全1的是广播地址,这两个都不能配给设备。比如192.168.1.0/24这个网段,192.168.1.0是网络地址,192.168.1.255是广播地址,可用的是192.168.1.1到192.168.1.254。

4.3 公网地址与私有地址的边界

这里要澄清一个常见误解:A、B、C类地址里既有公网地址也有私有地址。不是说你看到一个10开头的地址就一定是私有,也不是说192开头就一定是私有。判断一个地址是不是私有,要看它是否落在上面说的三段私有范围内。

公网地址是由专门机构统一分配的,全球唯一,能在互联网上被路由。私有地址则可以随便重复使用,不同公司内网用同样的10.0.0.0/8都没问题,因为它们在各自的内网里隔离。这个设计大大缓解了IPv4地址枯竭的问题,也是NAT技术能普及的基础。

5. 动手算一遍:从IP和掩码推导网段信息

5.1 判断一个地址属于哪一类

拿到一个IP地址,怎么快速判断类别?看第一个字节的十进制范围就够了:

  • 1到126:A类
  • 128到191:B类
  • 192到223:C类
  • 224到239:D类
  • 240到255:E类

127单独拎出来,是环回地址。0开头(0.0.0.0到0.255.255.255)也是保留的,不分配给主机。

举个例子,172.20.30.40,第一个字节172落在128到191之间,所以是B类地址,默认掩码255.255.0.0。再比如200.100.50.25,第一个字节200落在192到223之间,是C类,默认掩码255.255.255.0。

5.2 算网络地址、广播地址和可用范围

假设给你一个地址192.168.10.130,掩码255.255.255.192(也就是/26),让你算这个网段的网络地址、广播地址和可用主机范围。步骤如下:

第一步,确定网络位和主机位。掩码255.255.255.192的二进制是前26位为1、后6位为0,所以网络位26位,主机位6位。

第二步,把IP和掩码做按位与运算得到网络地址。192.168.10.130的最后一个字节130,二进制是10000010。掩码最后一个字节192,二进制是11000000。按位与的结果是10000000,也就是128。所以网络地址是192.168.10.128。

第三步,算广播地址。广播地址是网络位不变、主机位全变1。主机位6位全1,最后一个字节就是10111111,也就是191。所以广播地址是192.168.10.191。

第四步,可用主机范围是网络地址加1到广播地址减1,即192.168.10.129到192.168.10.190,共62个可用地址(2的6次方减2等于62)。

这个计算过程是子网划分的核心,多练几遍就熟了。我个人的经验是,把每个字节的二进制和十进制对应关系背熟(尤其是128、192、224、240、248、252、254、255这几个掩码常用值),算起来会快很多。

5.3 一个完整的地址规划小案例

假设某公司有四个部门,人数分别是100人、50人、25人、10人,给你一个C类网段192.168.1.0/24,让你划分。这时候就要用到可变长子网掩码(VLSM),按需分配,避免浪费。

100人的部门需要至少100个可用地址,2的7次方减2等于126,够用,所以给它/25的掩码(255.255.255.128),网段192.168.1.0/25,可用范围1.1到1.126。

50人的部门需要至少50个,2的6次方减2等于62,够用,给/26掩码(255.255.255.192),网段192.168.1.128/26,可用范围1.129到1.190。

25人的部门需要至少25个,2的5次方减2等于30,够用,给/27掩码(255.255.255.224),网段192.168.1.192/27,可用范围1.193到1.222。

10人的部门需要至少10个,2的4次方减2等于14,够用,给/28掩码(255.255.255.240),网段192.168.1.224/28,可用范围1.225到1.238。

剩下的地址留着以后扩展。这个案例说明,分类只是起点,真正做规划时要根据实际需求灵活划分子网,而不是死守默认掩码。

6. 常见问题与排查技巧实录

6.1 为什么两台机器配了同网段地址却ping不通

这是最经典的问题。排查顺序我一般是这样:

先看两台的掩码是否一致。如果一台是255.255.255.0,另一台是255.255.0.0,它们对“同网段”的判断就不同,可能一台认为对方在同网段直接发ARP,另一台认为对方在别的网段要发给网关,结果就通不了。

再看是否误用了网络地址或广播地址。比如把192.168.1.0配给了某台设备,这个地址是网络地址,不能用于主机,配上去通信会异常。

最后看是否在同一VLAN或同一物理网络。如果中间隔了路由器又没配路由,那肯定不通。

6.2 常见问题速查表

现象可能原因排查方法
拿到169.254开头地址DHCP未获取到地址检查DHCP服务、网线、交换机端口
同网段ping不通掩码不一致或用了特殊地址对比两端掩码,检查是否网络/广播地址
跨网段不通缺路由或网关配错检查路由表、默认网关
地址冲突告警同网段有重复IP用ARP扫描工具排查,检查静态配置
无法访问公网用了私有地址但没NAT确认出口设备是否配置NAT

6.3 几个容易忽略的实操心得

第一个心得:做地址规划时,给每个网段留足余量。别按当前人数刚好卡着算,设备数量会增长,打印机、摄像头、AP这些都要占地址。我一般会预留20%到30%的富余。

第二个心得:私有地址段的选择要有规划。10.0.0.0/8容量最大,适合总部或大型园区;192.168.0.0/16适合分支或家庭;172.16.0.0/12介于两者之间。别所有地方都随手用192.168.1.0/24,后期做站点互联时地址冲突会很头疼。

第三个心得:记不住二进制没关系,但要记住几个关键掩码的十进制值。255.255.255.128对应/25,255.255.255.192对应/26,255.255.255.224对应/27,255.255.255.240对应/28。这几个在划分子网时出现频率极高,背下来能省很多计算时间。

第四个心得:看到不认识的地址先查范围再下结论。比如看到172.32.0.1,别想当然以为是私有地址,172.16到172.31才是私有,172.32是公网B类地址。这种边界情况最容易出错。

7. 从分类到CIDR:为什么现在更推荐无类别写法

分类这套体系虽然经典,但它的固定划分方式在现代网络里已经不够用了。现在更主流的是CIDR(无类别域间路由),写法就是“IP/前缀长度”,比如192.168.1.0/24。这个/24直接告诉你网络位是24位,比说“C类地址”更精确也更灵活。

CIDR的好处是不再受类别限制。你可以用/23把两个C类合并成一个大网段,也可以用/26把一个C类切成四个小网段。路由汇总时,CIDR能让路由表更精简。比如连续四个/24的网段,可以汇总成一条/22的路由,减少路由器负担。

不过分类的知识并没有过时。很多设备的默认配置、很多老系统的界面、很多协议的行为,底层还是按分类逻辑来的。而且理解分类是理解CIDR的基础——你得先知道为什么/8对应A类、/16对应B类、/24对应C类,才能真正理解前缀长度的含义。

我个人在实际工作中的做法是:心里有分类的框架,手上用CIDR的写法。判断地址性质时用分类快速定位,做具体规划时用CIDR精确控制。两者结合,既快又准。

最后分享一个我常用的检查习惯:每次配完地址,顺手用ipcalc或在线子网计算器验证一遍网络地址、广播地址和可用范围,确认无误再上线。这个习惯帮我避免过好几次因为手算失误导致的配置错误。地址规划这种事,宁可多花两分钟核对,也别等出了问题再回头排查。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进