每天一个网络知识:无类域间路由 CIDR

IPv4地址是32位,用点分十进制表示(如192.168.1.1),早期设计成“类别制”(Classful Addressing):根据第一个字节分类。

  • Class A:前8位网络ID(如10.0.0.0/8),支持1600万主机,浪费巨大。
  • Class B:前16位(如172.16.0.0/16),6万主机,中型网络。
  • Class C:前24位(如192.168.1.0/24),254主机,小网络。

问题出在“刚性”:一个需要500主机的网络,只能选Class B,结果99%的地址闲置。全球IP地址池(约43亿)迅速耗尽,到1990年代初,已濒临崩溃。互联网工程任务组(IETF)意识到:必须打破类别限制,让地址分配更灵活。这就是CIDR的诞生背景——1993年RFC 1519定义,它引入“无类”概念,允许任意长度的子网掩码。

CIDR不是简单补丁,而是革命:它用“前缀长度”取代固定类别,开启了VLSM和路由汇总的时代。根据IANA数据,CIDR让IPv4寿命延长了20多年,直到IPv6接棒。

CIDR的全称是“无类域间路由”,核心是“无类”:子网掩码长度不再固定为8/16/24位,而是任意(如/20、/23)。表示法用CIDR记号:网络地址/前缀长度(如203.0.113.0/24),前缀长度就是1的位数。

为什么叫“域间”?

因为它主要用于不同自治系统(AS)间的路由聚合(Supernetting),将多个小网络合并成大块,减少BGP路由表大小。想象一下:互联网骨干路由器如果每条Class C都单独通告,路由表会爆炸;CIDR让ISP用一条/16代表多个/24,高效无比。

关键元素:

  • 前缀:网络ID的连续1位。
  • 聚合:逆向子网化,将地址块合并。
  • VLSM前身:CIDR允许不同长度掩码,但早期多用于骨干网,VLSM则扩展到内部网络。

CIDR解决了两个痛点:地址浪费和路由膨胀。简单说,它让IP像“乐高积木”——随意组合。

CIDR基于二进制:32位地址,前N位是网络,后(32-N)位是主机。路由器用最长前缀匹配(Longest Prefix Match,LPM)查找路由表——优先匹配最具体的条目。

原理步骤:

  1. 地址分配:IANA按CIDR块分配给ISP,如/8给大公司,/20给中小。
  2. 子网划分:ISP再细分,如/20分成两个/21(每个块大小减半)。
  3. 路由通告:用BGP通告汇总前缀,接收方只存一条条目。
  4. 转发逻辑:数据包到达时,路由器比较前缀长度,选最匹配的下一跳。

公式:块大小 = 2^(32 - 前缀长度)。例如,/20块有4096地址(2^12)。

在路由协议中:

  • 静态路由:ip route 192.168.0.0 255.255.240.0 下一跳(/20掩码)。
  • 动态:OSPF/BGP支持CIDR,RIP需v2版本。

CIDR要求路由器支持“无类路由”(Classless),否则回退类别制,导致黑洞。

假设一家ISP分配了Class B网络172.16.0.0/16(65,534主机)。传统类别制下,只能全部分配给一个大客户,浪费。如果客户只需2000主机,怎么办?

用CIDR:

  1. 划分子网:借用2位主机位,创建四个/18子网(每个16,384地址,远超需求)。

    • 子网1:172.16.0.0/18(0-63.255)。
    • 子网2:172.16.64.0/18(64-127.255)。
    • 子网3:172.16.128.0/18(128-191.255)。
    • 子网4:172.16.192.0/18(192-255.255)。
      每个子网主机:2^14 - 2 = 16,382,够用且有余地。
  2. 路由聚合:向互联网通告汇总172.16.0.0/16,一条条目代表四个/18。内部,客户用VLSM进一步细化(如/24小网)。

另一个示例:骨干路由。假设三个/24网络连续:203.0.113.0/24、203.0.114.0/24、203.0.115.0/24。

  • 二进制第三字节:113=01110001,114=01110010,115=01110011。
  • 共同前缀:203.0.112.0/22(第三/第四字节前6位1,块大小1024地址,覆盖112-115)。
  • 通告:203.0.112.0/22,节省两条路由。

在Cisco配置:

router bgp 65001
 network 203.0.112.0 mask 255.255.252.0

路由表显示:S* 203.0.112.0/22 [1/0] via 下一跳。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wljslmz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值