虽然在模拟环境中或完全由自己规划内网时,IP地址可以在A、B、C类中任选,一般使用倒是没有什么问题。即使内网访问互联网时,现在绝大多数的IPv4网络都是通过NAT转换出去,而内网选一个有可能与公网冲突的地址段,概率也是极小地。但是碰到了,会导致内部网络的私有IP地址转换为与某个公司的公网IP地址相同的地址,这将会导致访问问题。
这种情况通常会出现以下几个问题(ChatGPT给的意见):
“
-
IP地址冲突:
如果内网中的设备通过NAT转换到与公网某公司相同的IP地址,可能会导致路由器或防火墙无法区分流量来源,从而造成IP地址冲突。这种冲突可能会导致数据包丢失或无法到达目标。 -
返回流量问题:
当外部服务器将响应发送回公网IP地址时,这些数据包会被路由到该公网IP,而不是内部网络。这意味着内部网络中的设备无法接收到响应。 -
NAT的局限性:
NAT通常是为内网设备提供临时的公网地址,以便它们能够访问互联网。如果多个内网设备尝试使用相同的公网地址,NAT路由器可能会无法正确地跟踪和管理会话,从而导致连接失败。
在Internet上,以下IPv4地址范围是不可路由的,并且都被RFC文档定义:
1. **私有地址(RFC 1918)**
- **10.0.0.0/8**
- 范围:10.0.0.0 到 10.255.255.255
- **172.16.0.0/12**
- 范围:172.16.0.0 到 172.31.255.255
- **192.168.0.0/16**
- 范围:192.168.0.0 到 192.168.255.255
2. **环回地址(RFC 3330)**
- **127.0.0.0/8**
- 范围:127.0.0.0 到 127.255.255.255
- 用于本地回环测试。
3. **链接本地地址(RFC 4862)**
- **169.254.0.0/16**
- 范围:169.254.0.0 到 169.254.255.255
- 用于自动配置(APIPA)。
4. **特殊用途地址(RFC 3330)**
- **0.0.0.0/8**
- 表示本地地址或未知地址。
- **240.0.0.0/4**
- 保留给未来使用。
5. **文档和示例地址(RFC 5737)**
- **192.0.2.0/24**
- 范围:192.0.2.0 到 192.0.2.255
- **198.51.100.0/24**
- 范围:198.51.100.0 到 198.51.100.255
- **203.0.113.0/24**
- 范围:203.0.113.0 到 203.0.113.255
这些地址范围均被保留用于特定目的,不能在公共Internet上进行路由。这些RFC文档提供了关于这些地址的详细信息和定义。
##PS:
100.64.0.0/10
是一个保留的IP地址范围,专门用于运营商级的网络地址转换(Carrier-Grade NAT,CGNAT)。尽管这个地址范围被保留用于特定目的,但它仍然可以在私有或运营商内部网络中路由。以下是有关该地址范围的一些信息:
可路由范围
- 运营商内部网络:
100.64.0.0/10
可以在运营商的网络内部进行路由,允许用户设备使用这个地址段进行通信。 - 不应在公共Internet上路由: 虽然
100.64.0.0/10
可以在运营商内部网络中使用,但它不应在公共互联网中路由。外部网络不应识别或转发任何发往或来自此地址范围的流量。
路由规则
- RFC 6598: 根据规定,
100.64.0.0/10
是用于解决IPv4地址枯竭问题的保留地址,因此运营商在进行地址转换时,可以将其用于与用户设备之间的通信。 - 避免与公网冲突: 使用该地址段时,运营商应确保它不会与已分配的公网IP地址冲突。
总结
100.64.0.0/10
可以在运营商的私有网络中进行路由,以支持CGNAT,但在公共互联网中不应被路由或使用。
”
我现在做实验为了防止“剃头学徒”的习惯难题——平时用冬瓜练习,师傅喊徒弟干活就把刀砍在冬瓜上,等来真人剃头时,师傅喊干活时,则习惯性的一下子把刀砍在客户脑袋上了……然后,就没有然后了!
所以我会将平时内网常见的设计规划地址用于实验;例如,R1和R2连接,不是像很多人即兴发挥的那种使用了12.1.1.1和2,而是用ospf时在区域0中,就是用10.0.12.0,R1用点1,R2用点2;eigrp的as设置100时,则使用10.100.89.0,R8用点8,R9用点9;如果是双线则另一条是10.100.98.0,以此类推;模拟公网IP地址时就选用RFC 5737定义的地址范围。
大家对实验使用的地址规划和设计还有什么见解和有趣的想法?