☰
IP地址划分与分类详解:从A/B/C类到子网掩码与CIDR
2026/10/16 14:44:22 网站建设 项目流程

1. IP地址到底在解决什么问题

很多人第一次接触IP地址,脑子里冒出来的就是四个数字加三个点,比如192.168.1.1。但真要问一句“为什么是这四个数字”“为什么有的地址家里能用、有的能在公网上跑”“为什么子网掩码长得像另一个IP”,大部分人就开始含糊了。我自己刚入行那会儿也是这样,配置能抄、命令能敲,但一旦网络不通,排查起来完全没有方向,因为底层那套划分逻辑根本没进脑子。

IP地址的本质,是给网络中的每一个接口分配一个逻辑标识,让数据包知道“从哪来、到哪去”。它不像MAC地址那样烧在网卡上跟着硬件走,而是可以灵活分配、可以按需划分的。这个“可划分”才是关键——正因为能划分,才有了分类、子网、掩码、CIDR这一整套体系。你把这些搞明白了,后面不管是配路由器、划VLAN、做ACL,还是排查“为什么ping不通”,都会顺很多。

这篇内容我打算从最基础的地址结构讲起,把A、B、C、D、E五类的划分逻辑掰开揉碎,再延伸到子网掩码、私有地址、CIDR这些实际工作中绕不开的东西。适合刚学网络的新手,也适合那些“会用但说不清”的老手拿来重新梳理一遍。全程我会尽量用生活化的类比,把抽象的东西讲得能落地。

2. IP地址的基本结构与分类逻辑

2.1 32位二进制是怎么变成四个数字的

IPv4地址长度是32位,这个“位”就是二进制位,每一位只能是0或1。32个0和1连在一起,人眼根本没法读,所以工程上把它每8位切一刀,分成四段,每段8位,叫做一个“八位组”。每个八位组能表示的范围是00000000到11111111,换算成十进制就是0到255。这就是为什么IP地址里每一段最大只能到255,超过255的写法直接就是错的。

举个具体的例子,一个地址写成二进制是:

11000000.10101000.00000001.00000001

每段转十进制:11000000是192,10101000是168,00000001是1,00000001是1,合起来就是192.168.1.1。这个转换过程你不需要每次都手算,但至少要理解它为什么长这样。我见过不少人配地址时随手写个192.168.300.1,然后纳闷为什么报错,其实就是没搞懂每段8位的上限。

提示:判断一个IP写法是否合法,最快的办法就是看四段是不是都在0到255之间,且没有多余的前导零(比如192.168.001.1这种在某些系统里会被当成八进制解析,容易出坑)。

2.2 网络号和主机号:地址里的“小区”和“门牌”

一个IP地址在逻辑上被拆成两部分:前面一部分叫网络号,后面一部分叫主机号。网络号标识你属于哪个网络,主机号标识你是这个网络里的哪台设备。用生活场景类比,网络号就像小区名字,主机号就像小区里的具体门牌号。快递员先找到小区,再根据门牌号找到你家。

问题来了:32位里,到底前多少位是网络号,后多少位是主机号?这个划分不是随便定的,早期设计者搞了一套“分类”的方案,也就是把地址按第一个八位组的取值范围分成A、B、C、D、E五类,每一类默认的网络号长度不一样。这套分类法就是标题里说的“IP地址的划分及其分类”的核心。

2.3 为什么早期要搞分类这套东西

在互联网刚起步的年代,设备数量少、网络结构简单,设计者需要一套足够简单、路由器能快速判断的规则。分类编址的好处就是“看一眼第一个数字就知道网络号有多长”,路由器不需要额外查表,判断效率极高。这在当时算力有限、路由表规模很小的背景下,是非常务实的选择。

但分类法有个致命缺陷:粒度太粗。A类一个网络能容纳上千万台主机,B类六万多台,C类只有254台。一个中等规模的组织,拿C类不够用,拿B类又浪费一大半。地址空间就这么被大量闲置和浪费掉了。这也是后来子网划分和CIDR出现的根本原因。理解了这个“为什么”,你才能明白后面那些技术不是凭空冒出来的,而是在补分类法的窟窿。

3. 五类地址的划分规则与识别方法

3.1 A类地址:给超大型网络准备的

A类地址的第一个八位组最高位固定为0,所以第一个八位组的范围是00000000到01111111,换算成十进制就是0到127。其中0和127有特殊用途,实际可用的A类网络号是1到126。A类默认用第一个八位组做网络号,剩下三个八位组做主机号,也就是说每个A类网络能容纳2的24次方减2台主机,大约是1677万台。

减2是因为有两个地址不能分配给主机:一个是主机号全0的,代表这个网络本身;一个是主机号全1的,代表这个网络的广播地址。这个“减2”的规则在所有类别里都适用,后面不再重复强调。

A类地址总共只有126个网络,数量极少,通常分配给国家级网络或超大型机构。你在日常工作中几乎不可能拿到A类公网地址,但会在一些特殊场景里见到,比如某些内网把10.x.x.x当作私有A类来用。

3.2 B类地址:中等规模网络的主力

B类地址第一个八位组最高两位固定为10,所以范围是10000000到10111111,十进制是128到191。B类默认用前两个八位组做网络号,后两个做主机号,每个网络能容纳2的16次方减2台主机,也就是65534台。B类网络号的数量是2的14次方,约16384个。

B类在早期是很多大学和企业的首选,规模适中。但同样存在浪费问题——一个只有几百台设备的单位拿到B类,等于把六万多个地址闲置了。这也是后来子网划分技术最先在B类地址上大量实践的原因。

3.3 C类地址:小网络和日常最常见的类型

C类地址第一个八位组最高三位固定为110,范围是11000000到11011111,十进制是192到223。C类默认用前三个八位组做网络号,最后一个做主机号,每个网络只能容纳2的8次方减2,也就是254台主机。C类网络号数量非常多,有2的21次方个,约209万个。

你家里路由器默认分配的192.168.x.x就是C类私有地址段。C类因为主机容量小,非常适合小型网络,但也正因为太小,很多稍大一点的组织需要申请多个C类,导致公网路由表膨胀。这个矛盾后来靠CIDR才缓解。

3.4 D类和E类:不分配给主机的特殊存在

D类地址第一个八位组最高四位固定为1110,范围是224到239。它不用于标识主机,而是用于组播,也就是一对多的通信场景。比如视频会议、流媒体分发,一份数据同时发给一组接收者,靠的就是组播地址。

E类地址第一个八位组最高四位固定为1111,范围是240到255。这一类属于保留地址,用于实验和研究,普通网络里不会用到。你在实际配置中如果看到240开头的地址,基本可以判断是异常或者误配。

3.5 五类地址速查对照表

类别首字节范围最高位特征默认网络号位数默认主机号位数单网主机数典型用途
A1-1260开头824约1677万超大型网络
B128-19110开头161665534中型网络
C192-223110开头248254小型网络
D224-2391110开头不划分不划分不适用组播
E240-2551111开头不划分不划分不适用保留实验

这张表建议你记牢,尤其是首字节范围。判断一个地址属于哪一类,看第一个数字就够了:1到126是A,128到191是B,192到223是C,224到239是D,240到255是E。127单独拎出来,它是回环地址段,代表本机。

注意:127.0.0.1是回环地址,数据包不会真正发到网络上,而是被本机协议栈直接处理。排查网络问题时,先ping 127.0.0.1能通,说明本机TCP/IP协议栈是正常的,这一步能帮你快速排除协议栈故障。

4. 子网掩码与子网划分的实操逻辑

4.1 子网掩码到底在表达什么

分类法的问题是粒度太粗,解决办法就是子网掩码。掩码也是一个32位的数,写法跟IP一样是四个十进制数。它的作用是告诉设备:IP地址里哪些位是网络号,哪些位是主机号。规则很简单——掩码里为1的位对应网络号,为0的位对应主机号。

比如C类默认掩码是255.255.255.0,二进制是24个1后面跟8个0,表示前24位是网络号,后8位是主机号。如果你把掩码改成255.255.255.192,二进制是前26位为1,那就意味着你从原来的主机号里借了2位出来当网络号,把一个C类网络切成了4个子网。

4.2 借位划分子网的计算过程

假设你拿到一个C类网络192.168.1.0,默认掩码255.255.255.0,能放254台主机。现在你要把它分成4个部门用,每个部门一个子网。怎么算?

第一步,确定要借几位。要分成4个子网,2的2次方等于4,所以借2位。借位后掩码变成255.255.255.192,因为192的二进制是11000000,前两位是1。

第二步,算每个子网的块大小。块大小等于256减去掩码最后一段的值,也就是256减192等于64。这意味着每个子网的地址范围间隔是64。

第三步,列出四个子网:

  • 子网1:192.168.1.0,可用主机192.168.1.1到192.168.1.62,广播192.168.1.63
  • 子网2:192.168.1.64,可用主机192.168.1.65到192.168.1.126,广播192.168.1.127
  • 子网3:192.168.1.128,可用主机192.168.1.129到192.168.1.190,广播192.168.1.191
  • 子网4:192.168.1.192,可用主机192.168.1.193到192.168.1.254,广播192.168.1.255

每个子网可用主机数是62台,因为2的6次方减2等于62。原来一个网络254台,现在四个子网加起来248台,少了6台,这就是划分子网的代价——每个子网都要牺牲两个地址做网络号和广播。

4.3 子网划分的常见误区和避坑点

我踩过最多的坑,就是子网边界算错。比如有人把192.168.1.64配成主机地址,但64其实是子网2的网络号,不能分配给主机。这种错误在跨子网通信时会表现为“同网段能通、跨网段不通”,排查起来很费时间。

另一个坑是掩码不一致。同一个子网里的设备,掩码必须完全一致,否则会出现A认为B在同网段、B认为A在别的网段的情况,导致单向通信异常。我遇到过一台服务器掩码写成255.255.255.0,同网段其他机器是255.255.255.192,结果服务器能收到别人的包,别人回包却发给了网关,绕一圈才回来,延迟高得离谱。

实操心得:划分子网前,先把所有子网的网络号、可用范围、广播地址列成表格,配置时逐条核对。别嫌麻烦,这一步能省掉后面大量的排查时间。

4.4 变长子网掩码VLSM的实际应用

固定借位划分子网有个问题:每个子网大小一样。但现实中,不同部门需要的地址数差别很大。财务部可能只要10个地址,研发部要100个。如果都按同样大小切,小部门浪费、大部门不够。VLSM就是解决这个问题的——允许在同一个大网络里使用不同长度的掩码。

举个例子,192.168.1.0/24要分给三个部门:研发部100台、财务部20台、行政部10台。按VLSM的思路:

先给研发部分配192.168.1.0/25,掩码255.255.255.128,可用地址126个,够100台用。剩下192.168.1.128/25。

再给财务部分配192.168.1.128/27,掩码255.255.255.224,可用地址30个,够20台用。剩下192.168.1.160/27。

最后给行政部分配192.168.1.160/28,掩码255.255.255.240,可用地址14个,够10台用。

这样分配下来,地址利用率比平均切分高得多。VLSM的核心原则是“从大到小分配”,先满足需求最大的子网,再逐级细分,避免地址碎片化。

5. 私有地址、特殊地址与CIDR表示法

5.1 私有地址段:内网为什么都用这几个段

私有地址是专门保留给内部网络使用的地址段,不会在公网上路由。RFC1918定义了三个私有段:

  • 10.0.0.0/8,对应一个A类网络,约1677万个地址
  • 172.16.0.0/12,对应16个B类网络,约104万个地址
  • 192.168.0.0/16,对应256个C类网络,约6.5万个地址

你家里路由器用的192.168.x.x就是第三段。公司内网如果规模大,通常用10.x.x.x。私有地址的好处是,全世界无数个内网可以重复使用同一批地址,互不冲突,因为它们在出口处会被NAT转换成公网地址。这也是为什么IPv4地址早就耗尽,但我们的网络还能正常运转的重要原因。

5.2 几个必须记住的特殊地址

除了私有地址,还有几个特殊地址在实际工作中经常遇到:

  • 0.0.0.0:表示“本机所有接口”或“默认路由”,在路由表里代表默认网关。
  • 255.255.255.255:受限广播地址,只在本地网段内广播,不会被路由器转发。
  • 127.0.0.0/8:回环地址段,最常用的是127.0.0.1。
  • 169.254.0.0/16:链路本地地址,当设备DHCP获取地址失败时会自动配一个这个段的地址。看到169.254开头的地址,基本可以判断是DHCP没拿到地址。

提示:如果你发现某台机器IP是169.254.x.x,别急着查路由,先检查DHCP服务或者网线连接。这个地址段是系统自动分配的“兜底地址”,出现它就意味着正常获取地址的流程失败了。

5.3 CIDR表示法:斜杠后面的数字是什么

CIDR全称是无类别域间路由,它彻底抛弃了A、B、C的分类概念,直接用“斜杠加数字”来表示网络号长度。比如192.168.1.0/24,斜杠后面的24就表示前24位是网络号,等价于掩码255.255.255.0。

CIDR的好处是灵活。你可以写/25、/26、/27,任意长度都行,不再受分类法那套固定边界的限制。这也让路由聚合成为可能——比如把192.168.0.0/24到192.168.3.0/24这4个网络聚合成192.168.0.0/22,路由表里只留一条,大大减小了路由表规模。

CIDR和掩码的换算关系,常用的几个建议背下来:

CIDR掩码可用主机数
/24255.255.255.0254
/25255.255.255.128126
/26255.255.255.19262
/27255.255.255.22430
/28255.255.255.24014
/29255.255.255.2486
/30255.255.255.2522

/30只有2个可用地址,通常用在点对点链路上,比如两台路由器之间的互联。这个在实际配广域网链路时很常见。

5.4 公网地址和私有地址的转换逻辑

内网设备要访问公网,必须经过NAT转换。NAT设备(通常是路由器或防火墙)会把内网私有地址转换成公网地址,同时记录转换关系,等回包回来再还原成内网地址。这个过程对终端是透明的,终端根本不知道自己的地址被换过。

NAT解决了地址短缺问题,但也带来一些副作用。比如外网无法主动访问内网设备,因为NAT表里没有对应的映射记录。做端口映射就是手动在NAT设备上建一条固定映射,让外网的请求能转发到指定内网设备。这个在搭建对外服务时经常用到。

6. 常见问题排查与实战经验

6.1 地址冲突怎么快速定位

IP地址冲突是内网最常见的问题之一。表现是设备时通时断,或者直接提示“检测到IP冲突”。排查思路是:先在冲突设备上查看ARP表,找到冲突地址对应的MAC,然后在交换机上根据MAC查端口,定位到具体设备。

Windows下可以用arp -a查看ARP缓存,Linux下用ip neigh。如果交换机支持,用show mac address-table根据MAC找端口是最快的。我一般会先在核心交换机上查,因为冲突往往发生在接入层,核心交换机的MAC表里能看到这个MAC从哪个端口学到的。

6.2 跨网段不通的排查顺序

跨网段不通,按这个顺序查基本能覆盖九成情况:

  1. 先确认本机IP、掩码、网关配置是否正确。掩码错了会导致本机判断目标不在同网段,包发不出去。
  2. ping本机网关,通说明二层和网关都没问题。
  3. ping目标地址,不通的话在目标机上反向ping回来,判断是单向还是双向不通。
  4. 检查路由表,确认双方都有到达对方网段的路由。
  5. 检查中间设备的ACL或防火墙规则,看是否被拦截。

这个顺序的核心逻辑是“从近到远、从本机到对端”,每步都能缩小范围。别一上来就抓包,先把基础配置核对一遍,能省很多时间。

6.3 子网掩码配错引发的诡异现象

掩码配错最典型的现象是“部分能通、部分不通”。比如一个/24的网络里,有人配了/25掩码,那么他只能和前半段(.1到.126)通信,后半段(.129到.254)会被他判断为不同网段,包发给网关,如果网关没有对应路由,就丢了。

这种问题的隐蔽性在于,配错掩码的机器自己感觉不到异常,只有和特定地址通信时才出问题。排查时重点核对所有设备的掩码是否一致,尤其是服务器和网络设备。

6.4 常见问题速查表

现象可能原因排查方法
提示IP冲突地址被重复分配查ARP表定位MAC,交换机查端口
同网段部分不通掩码不一致核对所有设备掩码
跨网段不通网关或路由缺失检查网关配置和路由表
获取到169.254地址DHCP失败检查DHCP服务和链路
能ping通IP但域名不通DNS配置问题检查DNS服务器设置
外网访问不了内网服务NAT映射缺失检查端口映射配置

6.5 我个人的几条实操建议

第一,规划地址时留足余量。别把/24刚好用满,留个/25给未来扩展,省得后面重新规划。

第二,文档一定要写。每个子网给谁用、网关是多少、掩码多长,全部记下来。我见过太多团队因为没文档,换个人就完全搞不清地址规划。

第三,变更前先备份配置。改掩码、改网关这类操作,一旦出错影响面很大,有备份能快速回滚。

第四,多用工具验证。配完地址用ipconfig或ip addr确认,再用ping和traceroute验证连通性,别配完就完事。

这套IP地址划分和分类的知识,看起来基础,但真正吃透之后,你会发现后面学路由协议、学网络安全、学云网络,底层都是这些东西在支撑。我自己是反复回头梳理了好几遍,每次都有新体会。尤其是子网划分那块,光看不动手算,永远记不牢,找几个题目自己算几遍,比看十篇文章都管用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询