据我了解,有几个“不可路由“ IP 范围:
- A类保留空间10.0.0.0/8
- B类保留空间172.16.0.0/12
- C类保留空间192.168.0.0/16
- E 类保留用于研究 240.0.0.0
但我想我根本不懂“可路由”和“不可路由”之间的区别。什么时候需要可路由而不是不可路由,反之亦然?
答案1
您列出的这些范围在此进行了描述 RFC 1918 - 私有互联网的地址分配
标题透露了它们的用例: “... 用于私人内联网”。
从技术上讲,所有 IP 地址范围(包括 RFC 中列出的范围)都是可路由的。但它们通常被称为不可路由的。这是因为它们不适用于从公共互联网路由或访问。即互联网上不存在这些范围的路由。
它们仅供私有网络使用。具有 RFC 1918 IP 范围的私有网络可以访问公共互联网,而无需在互联网上发布这些私有网络路由,方法是通过位于私有内联网和互联网之间的路由器进行网络地址转换或 NAT。但那是另一个话题。
至于为什么你首先想要不可路由的地址? RFC 中的这段摘录对此进行了解释。
One challenge is a concern within the community that globally unique
address space will be exhausted.
A separate and far more pressing concern is that the amount of
routing overhead will grow beyond the
capabilities of Internet Service Providers.
Efforts are in progress
within the community to find long term solutions to both of these
problems. Meanwhile it is necessary to revisit address allocation
procedures, and their impact on the Internet routing system.
答案2
我想在这一点上我要持反对态度。在我看来,当人们谈论全类 IP 寻址时,太多人大惊小怪地试图纠正人们。RFC 1918 保留地址是从当时的全类地址空间中划分出来的。事实上,我读过的关于 RFC 1918 地址的每一篇文档都以全类名称来指代它们。我认为将 RFC 1918 地址称为 A 类、B 类等是完全可以接受的。
至于可路由/不可路由的争论,我将发布此内容(直接来自 RFC 1918):
Because private addresses have no global meaning, routing information
about private networks shall not be propagated on inter-enterprise
links, and packets with private source or destination addresses
should not be forwarded across such links. Routers in networks not
using private address space, especially those of Internet service
providers, are expected to be configured to reject (filter out)
routing information about private networks. If such a router receives
such information the rejection shall not be treated as a routing
protocol error.
该描述完美而简洁地描述了 RFC 1918 地址的“不可路由”性质,因此,在我看来,将它们称为不可路由是完全可以接受的。
我认为人们花了太多时间争论这个问题。如果有人将 RFC 1918 地址空间称为 A 类、B 类等,并称其为不可路由的,那么我完全可以接受。我知道他们这么说是什么意思,其他人也应该知道。即使对于网络“菜鸟”,理解全类寻址、RFC 1918 地址空间以及 CIDR 也是加深对网络理解的关键。
此外:
RFC 1918 使用 CIDR 和全类术语来引用这些私有地址范围,如下例所示:
We will refer to the first block as "24-bit block", the second as
"20-bit block", and to the third as "16-bit" block. Note that (in
pre-CIDR notation) the first block is nothing but a single class A
network number, while the second block is a set of 16 contiguous
class B network numbers, and third block is a set of 256 contiguous
class C network numbers.
和
If a suitable subnetting scheme can be designed and is supported by
the equipment concerned, it is advisable to use the 24-bit block
(class A network) of private address space and make an addressing
plan with a good growth path. If subnetting is a problem, the 16-bit
block (class C networks), or the 20-bit block (class B networks) of
private address space can be used.
我在 RFC 1918 中找不到任何偏向于一个术语的陈述,也许如果 RFC 1918 对这两个术语的使用不那么含糊,情况会更好,但事实就是如此。我在这里唯一的观点是,我认为是时候停止在人们使用术语“class”或“class-full”来指代这些 IP 地址范围时对他们进行指责了。如果一个人理解 IP 寻址,那么当他们在讨论或文献/文档中遇到其中一个(或两个)术语时,他们就会理解这两个术语的用法。对于刚刚学习 IP 寻址的人来说,我认为对 class-full 寻址有扎实的理解有助于理解 IP 寻址的总体情况,并为理解无类寻址奠定基础。
答案3
私有 IPv4 地址空间是可路由的,公司将其用于内部网络。您可以将它们与 OSPF、BGP 等路由协议一起使用。有时人们会错误地公开宣布它们(BGP)。
所有现代设备都使用 CIDR。甚至 MS-DOS 也支持 CIDR。网络类别和术语已经过时。应该仅出于考古学原因对其进行研究。
私有 IPv4 地址空间与公共 IPv4 地址空间之间的唯一区别在于,私有 IPv4 地址空间在 Internet 上不是唯一的,并且旨在供内部使用。但这并不妨碍您与邻居 AS 达成协议并在您和您的邻居之间使用它们。在这种情况下,“内部”是指你们两个之间。是的,这是不好的做法,但这是可能的。