前言
今天在进行维护网站的时候,ping 了一下网站域名,发现无法 ping 通,并且解析出来的 IP 有些奇怪。
于是用 nslookup 对几个域名进行了解析,发现解析出来的地址都比较奇怪。
大家应该发现了这些地址都被解析到了 198.18.0.0/15 网段,这个网段在大家印象中应该就是一个公网地址段,没啥奇怪的,起初我也是这样以为的,但是当我将地址放到 ipip.net 中查询的时候发现,这些地址被定义为了“保留地址”。
通过 ARIN 的 whois 查询得知以“198.18.”或“198.19.”开头的地址被预留用于基准测试和性能测试的独立实验室网络。
是由 IETF(国际互联网工程任务组)在 RFC 2544 中做出的定义,翻阅 RFC 2544 文档(2016 年更新为 RFC 2544 的修订版 RFC 6815)可以看到这段地址被指定为网络设备性能测试专用地址(通常用于实验室或基准测试环境)。
既然都开始翻阅 RFC 文档了,索性翻翻看都有哪些地址被定义了“特殊用途”。
具有特殊用途的地址
RFC 1918
RFC 1918 是互联网工程任务组(IETF)于1996年发布的一份标准文档,标题为“Address Allocation for Private Internets”(私有互联网地址分配)。它的核心目的是解决 IPv4 地址空间不足的问题,通过定义私有IP地址范围,允许不同内部网络重复使用这些地址,同时通过NAT(网络地址转换)技术与公网互联。
定义了以下三个 IPv4 地址块为私有地址,仅用于内部网络,不可直接在公网路由:
- 10.0.0.0 – 10.255.255.255(10.0.0.0/8)
- 172.16.0.0 – 172.31.255.255(172.16.0.0/12)
- 192.168.0.0 – 192.168.255.255(192.168.0.0/16)
设计目标
- 节省公网IPv4地址:通过允许不同网络重复使用私有地址,减少对公网IP的需求。
- 隔离内部网络:私有地址在公网中不可路由,增强了内部网络的安全性。
- 简化网络管理:企业可自由规划内部地址,无需申请公网IP。
RFC 3927
RFC 3927 定义了一种机制,允许设备在没有 DHCP 服务器或手动配置的情况下,自动分配 IPv4 地址。这种地址称为链路本地地址(Link-Local Address),用于单一网络链路(如局域网)内的通信。
地址范围为:169.254.0.0/16,设备随机选择该范围内的地址。
地址分配机制
- 当设备无法通过 DHCP 获取地址时,触发自动配置。
- 设备通过ARP 探测(冲突检测)确保所选地址未被占用:
- 发送 ARP 请求,若未收到响应,则使用该地址。
- 若检测到冲突,重新选择地址并重复检测。
使用限制
- 链路本地地址仅用于本地网络,不会路由到其他网络。
- 适用于临时网络(如两台电脑直连、小型局域网)。
RFC 5737
RFC 5737 是互联网工程任务组(IETF)发布的一份标准文档,标题为“IPv4 Address Blocks Reserved for Documentation”(为文档保留的IPv4地址块)。该文档定义了三个IPv4地址段,专门用于技术文档、示例配置、教程等场景,以避免在示例中使用真实可路由的地址,防止潜在的配置冲突或安全问题。
指定了以下三个地址段为“文档专用地址”,这些地址段由IANA(互联网号码分配机构)明确保留,不会在公共互联网中分配,因此可以安全地用于文档和测试环境。
- 192.0.2.0 – 192.0.2.255(192.0.2.0/24)、
- 通常用于单设备示例(如 192.0.2.1 表示某台主机的IP)。
- 198.51.100.0 – 198.51.100.255(198.51.100.0/24)
- 适用于网络配置示例(如子网或网关地址)。
- 203.0.113.0 – 203.0.113.255(203.0.113.0/24)
- 常用于多设备或复杂网络场景的示例。
使用场景和注意事项
- 技术文档:在手册、书籍、RFC等中描述网络配置时使用。
- 示例代码:在软件开发中演示网络通信时避免使用真实IP。
- 测试环境:在实验室或隔离网络中模拟公网场景。
- 这些地址不可用于实际网络通信,仅在文档或封闭环境中使用。
- 若需私有网络地址(如内部局域网),应使用RFC 1918定义的私有地址(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)。
RFC 2544
RFC 2544 是互联网工程任务组(IETF)发布的一份标准文档,标题为“Benchmarking Methodology for Network Interconnect Devices”(网络互联设备的基准测试方法),发布于1999年。该文档定义了网络设备(如路由器、交换机、防火墙等)的性能测试标准方法,旨在提供一致的基准测试框架,确保不同设备的性能评估结果具有可比性。
应用场景和注意事项
- 设备厂商:验证新产品是否符合性能设计目标。
- 网络运营商:采购前评估不同设备的性能差异。
- 企业网络:定期检测关键设备状态,确保业务连续性。
- 一致性:测试环境、参数需严格统一,否则结果不可比。
- 真实性:帧大小、协议类型应贴近实际业务流量。
- 多次测试:避免单次测试的偶然性,通常需重复3-5次。
RFC 2544 提出了网络设备性能测试的方法,并建议使用 198.18.0.0/15 作为测试地址段,以避免与公共互联网地址冲突。RFC 6815 作为对 RFC 2544 的更新,明确分配 198.18.0.0/15 为“基准测试专用地址段”,并规范了其在生产网络中的使用限制。
同时,在 IANA IPv4 特殊用途地址注册表中,该地址段被列为“Benchmarking”,引用 RFC 2544 和 RFC 6815。RFC 3330 中也有提及这个地址段用于基准测试,使用记录在 RFC 2544,RFC 5735 作为直接取代 RFC 3330 的文档并未有定义这个地址段,但 RFC 6890 引用了 IANA 的分配,其中包含这个地址段。
RFC 5771
RFC 5771 的标题是“IPv4 Multicast Guidelines”(IPv4 多播地址分配指南),发布于 2010 年。该文档定义了 IPv4 多播地址的分配规则和使用范围,旨在规范多播地址的分配以避免冲突。
地址范围是 224.0.0.0 到 239.255.255.255(224.0.0.0/4)
保留地址块
- 224.0.0.0/24(本地网络控制块):
用于本地网络协议(如 OSPF、RIP),数据包不会被路由器转发到其他网络。
示例:224.0.0.1(所有主机)、224.0.0.2(所有路由器)。 - 224.0.1.0/24(互联网控制块):
用于全局可路由的多播服务(如 NTP、NIS)。 - 232.0.0.0/8(源特定多播块,SSM):
支持源特定多播(Source-Specific Multicast),接收者需指定源地址。 - 233.0.0.0/8(GLOP 地址块):
基于 AS 号(Autonomous System Number)分配的多播地址,用于特定组织。 - 239.0.0.0/8(私有管理地址块):
类似于 IPv4 单播的私有地址(如 10.0.0.0/8),仅在组织内部使用,不可全局路由。
地址分配原则
- 动态分配:临时多播地址(例如视频会议)需动态分配,使用后释放。
- 静态分配:协议或服务(如 OSPF)需通过 IANA 申请固定地址。
- 避免冲突:未经 IANA 批准,不得擅自占用保留地址块。
RFC 6890
RFC 6890 是互联网工程任务组(IETF)发布的标准文档,标题为 “Special-Purpose IP Address Registries”(特殊用途 IP 地址注册表),发布于 2013 年 4 月。该文档定义了 IPv4 和 IPv6 地址空间中特殊用途地址的分配规则,并整合了此前分散在多个 RFC 中的相关规范(如 RFC 5735 和 RFC 5156)。
RFC 6890 主要目标
- 统一管理特殊用途地址创建一个中央注册表,明确 IPv4 和 IPv6 地址空间中保留或具有特殊用途的地址块。
- 规范地址属性为每个特殊地址块定义以下属性:
- 是否全球可路由(Globally Reachable)
- 是否可作为源/目标地址(Usable as Source/Destination)
- 转发行为(Forwarding Behavior)
- 适用范围(Scope)
特殊地址
地址段 | 用途 |
---|---|
0.0.0.0/8 | “本网络”地址,不可作为源或目标地址。 |
10.0.0.0/8 | 私有网络地址(如局域网),仅在内部使用,不可全球路由。 |
100.64.0.0/10 | 运营商级 NAT |
127.0.0.0 | 环回地址(如 127.0.0.1),用于本地主机通信。 |
169.254.0.0/16 | 链路本地地址(自动配置,如 DHCP 失败时使用)。 |
192.0.0.0/24 | IETF 协议分配保留地址。 |
192.168.0.0/16 | 私有网络地址,类似 10.0.0.0/8、172.16.0.0/12。 |
224.0.0.0/4 | IPv4 多播地址。 |
255.255.255.255/32 | 受限广播地址。 |
RFC 6598
RFC 6598 是互联网工程任务组(IETF)于2012年4月发布的一项标准,标题为“IANA-Reserved IPv4 Prefix for Shared Address Space”(共享地址空间保留的 IPv4 前缀)。该文档定义了一个特殊的 IPv4 地址块,用于解决运营商级网络地址转换(Carrier-Grade NAT, CGN)环境中的地址冲突问题。
保留的地址范围:100.64.0.0 - 100.127.255.255(100.64.0.0/10)为服务提供商(ISP)在部署运营商级 NAT(CGN)时提供一个专用的地址空间,避免与传统的私有地址(如 RFC 1918 定义的 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)或公共互联网地址发生冲突。允许多个用户共享同一组私有地址,同时通过 CGN 技术将其转换为公共IPv4 地址。
主要用途
- 运营商级 NAT(CGN)场景:ISP 在内部网络中使用 100.64.0.0/10 地址,通过多层 NAT 将用户流量转换为公共 IPv4 地址,缓解 IPv4 地址枯竭问题。
- 隔离私有网络:防止不同 ISP 或企业网络之间的地址重叠问题(例如,两个 ISP 均使用192.168.0.0/16 时可能导致的冲突)。
关键特性
- 非全局路由性:该地址块不在公共互联网上路由,仅在服务提供商内部网络中使用。
- 与 RFC 1918的区别:RFC 1918 地址用于本地私有网络,而 RFC 6598 地址专用于运营商级NAT架构中的中间层。
- 兼容性要求:使用该地址的设备需支持 NAT 功能,且不得将其直接暴露给终端用户。
注意事项
- 不可用于公共服务器:由于地址不公开路由,无法直接通过该地址访问互联网服务。
- 调试与故障排除:网络管理员需确保 CGN 设备正确处理该地址块的转换和隔离。
总结
最后,用个表格简单总结一下,文末也附有 RFC 原文的地址可以自行查看。
用途 | RFC | 地址范围 |
---|---|---|
私有网络 | RFC 1918 | 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 |
环回测试 | RFC 6890 | 127.0.0.0/8 |
链路本地自动配置 | RFC 3927 | 169.254.0.0/16 |
文档/测试 | RFC 5737 | 192.0.2.0/24、198.51.100.0/24、203.0.113.0/24 |
设备性能测试 | RFC 2544 | 198.18.0.0/15 |
组播地址 | RFC 5771 | 224.0.0.0/4 |
保留地址 | RFC 6890 | 0.0.0.0/8、240.0.0.0/4 |
运营商级 NAT | RFC 6598 | 100.64.0.0/10 |
用于 IPv6 过渡 | RFC 6890 | 192.88.99.0/24 |
IETF协议分配 | RFC 6890 | 192.0.0.0/24 |
还有一些其他的地址没有总结进来,可以查看 IANA IPv4 专用地址注册表:https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml
附所有的 RFC 文档地址:
[1] Address Allocation for Private Internets: https://www.rfc-editor.org/rfc/rfc1918
[2] Dynamic Configuration of IPv4 Link-Local Addresses: https://www.rfc-editor.org/rfc/rfc3927
[3] IPv4 Address Blocks Reserved for Documentation: https://www.rfc-editor.org/rfc/rfc5737
[4] Benchmarking Methodology for Network Interconnect Devices: https://www.rfc-editor.org/rfc/rfc2544
[5] Special-Use IPv4 Addresses: https://www.rfc-editor.org/rfc/rfc3330
[6] Special-Purpose IP Address Registries: https://www.rfc-editor.org/rfc/rfc6890
[7] IANA IPv4 Address Space Registry: https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml
[8] IANA Guidelines for IPv4 Multicast Address Assignments: https://www.rfc-editor.org/rfc/rfc5771
[9] IANA-Reserved IPv4 Prefix for Shared Address Space: https://www.rfc-editor.org/rfc/rfc6598
[10] Host Extensions for IP Multicasting: https://www.rfc-editor.org/rfc/rfc1112.html
[11] ARIN WHOIS: https://whois.arin.net/ui/