路由的基本问题

网络工程 路由
2022-02-13 01:23:14

我将阅读一些有关路由的书籍,但我希望更早地了解正确的全局。所以:

(1) IP 地址由 IANA 和 RIRS 在全球范围内分配给互联网服务提供商。更严格地说,这些注册中心为 Internet 服务提供商分配了大范围的 IP 地址,
(2) 最广泛/最基础的外部路由协议是 BGP,
(3) 尽管 IP 地址范围正式分配给 ISP,如 (1) 所示,实际上,从技术上讲,在 BGP 中,路由器本身会广播(正确的词是什么?)他们知道路由到的 IP 地址。出于这个原因,路由器可以声称它知道到特定 IP 范围的路由,然后将此流量引导到预期的目的地而不是直接控制下的计算机,
(4)(3)中类似的情况发生但很少发生,因为ISP是大型单位,可以合理地预期其负责。此外,如果某些 ISP 会持续或故意这样做,则有可能将他的路由器从另一个路由器的路由中丢弃并且问题将得到解决,
(5)来自路由器的信息,它知道到某某的路由IP(IP 范围?)被重新分配给其他路由器(不仅是最初通告路由器的邻居),
(6)我不知道的事情:我知道路由器使用路由表路由数据包。这个路由表基本上是建立在第(3)点的基础上的(实际上涉及到更复杂的算法,但现在已经无所谓了)。我找不到一些有意义的 BGP 路由表,但它是这样的吗:

通过路由器 2.5.55.18 将
流量路由到 1.1.xx 通过路由器 7.19.255.30 将流量路由到 2.5.xx 通过路由器 3.90.34.42 将
流量路由到 18.15.210.x

或像这样:

通过端口 2
将流量路由到 1.1.xx 通过端口 1
将流量路由到 2.5.xx 通过端口 3 将流量路由到 18.15.210.x

也就是说,如果路由器由 IP 指示(如第一种情况),那么我想知道路由器如何知道相邻路由器有哪些 IP?2.5.55.18 对路由器没有意义,除非它知道它连接到哪个“通道”。但是路由器是如何建立的呢?(3) 中描述的广告执行此信息,路由器保存诸如“我通过端口 2 连接到 2.5.55.18”之类的内容?还是必须静态配置?

在这里:https://networklessons.com/bgp/how-to-read-the-bgp-table它似乎使用的是 IP 地址,而不是端口。

3个回答

首先,回答您的最后一个问题,BGP 邻居是由管理员手动配置的。因此,当我将路由器配置为与您的路由器“对等”时,我知道您的路由器的 IP 地址。

其次,您的 1-5 项通常是正确的。我可能会争论几点,但​​你有一个基本的想法。

(1) IP 地址由 IANA 和 RIRS 在全球范围内分配给互联网服务提供商。更严格地说,这些注册机构将大范围的 IP 地址分配给互联网服务提供商,

几乎是的。

(2) 最广泛/最基础的外部路由协议是 BGP,

是的

(3) 虽然 IP 地址的范围在 (1) 中被正式分配给 ISP,但实际上在 BGP 技术中,路由器本身会广播(正确的词是什么?)他们知道路由到的 IP 地址。出于这个原因,路由器可以声称它知道到特定 IP 范围的路由,然后将此流量引导到预期的目的地而不是直接控制下的计算机,

是的,尽管可以配置过滤器。如果您是一家小型提供商并购买 IP 传输服务,您可能会发现您的 BGP 会话已被过滤。

(4)(3)中类似的情况发生但很少发生,因为ISP是大型单位,可以合理地预期其负责。此外,如果某些 ISP 会持续或故意这样做,则可以将他的路由器从另一个路由器的路由中丢弃,问题就会得到解决,

当您获得一个既庞大又草率的提供商时,问题就来了。简单地切断它们是不切实际的,过滤它们也很困难。

近年来,人们一直在推动引入更智能的过滤机制,甚至可以应用于大型提供商。

(5) 来自路由器的信息,它知道到某某 IP 的路由(IP 范围?)被重新分配给其他路由器(不仅是最初通告路由器的邻居),

是的

(6) 我不知道的事情:我知道路由器使用路由表路由数据包。这个路由表基本上是建立在第(3)点的基础上的(实际上涉及到更复杂的算法,但现在已经无所谓了)。我找不到一些有意义的 BGP 路由表,

BGP 实现将维护一个将 IP 块映射到“BGP 下一跳”IP 的表。

路由器的本地接口将具有路由器管理员分配的 IP 地址和子网掩码。然而,BGP 下一跳可能无法通过本地路由器上的任何接口到达。因此路由器可能不得不使用它的 IGP 表将 BGP 下一跳转换为本地下一跳,而本地下一跳又可以转换为接口。

IP 地址由 IANA 和 RIRS 全局分配

公共地址由 RIR 分配。RFC 1918 中的私有地址可以在私有网络中随意使用。

路由器可以声称它知道到特定 IP 范围的路由,然后将该流量引导到预期目的地而不是直接控制下的计算机,

任何路由器都可以使用任何路由,就像任何主机可以(尝试)使用它想要的任何网关一样。可以手动或使用路由协议(用于路由器)或 DHCP(用于终端主机)动态配置路由。

BGP 是主要的外部网关协议,也有一些内部网关协议。BGP 主要基于信任,但路由过滤非常普遍,可确保最重要的路由不会被劫持(故意或意外)。

路由由前缀和长度(例如192.0.2.128/25)、next-hopgateway以及通常interface指向下一跳(接口也可以由其 IP 地址和子网掩码确定)来指定。

请注意,路由也可以仅指向普通的点对点接口而无需寻址,例如简单的串行链路。

2.5.55.18 对路由器没有意义,除非它知道它连接到哪个“通道”。

所有网关都必须位于其各自接口的本地(相同的 L2 段/IP 子网)。每个接口都由其 IP 地址和子网掩码定义。有关子网划分和掩码,请参阅此出色的问答