具有/ 32 WAN子网掩码的路由器将如何与Internet的其余部分通信?


37

我正在研究网络,无数次被告知的最基本的事情之一是计算机无法在自己的子网之外进行通信。

另一方面,通过查看一些ADSL设置,我已经看到,如果将固定IP地址分配给用户的WAN接口,则将/ 32子网掩码用于WAN接口,并且默认网关当然是在子网外部。

那么带有/ 32子网的主机将如何与外部网络通信?

这是我所拥有的某种图表:

网络图

DSL调制解调器被设置为充当网桥,因此Router0进行身份验证并建立通过PPPoE到ISP的连接。Router0在其WAN接口(图上的Fa0 / 0)上获得IP地址,该地址是使用IPCP从/ 32子网中获得的。它仅在WAN接口上接收单个IP地址,并且此处未使用IP别名。

我了解从Router0到LAN的情况。我不了解的是Router0如何与ISP通信。

Answers:


31

DSL倾向于使用PPPoE,这意味着链路是点对点的。/ 32在这里完全有效。实际上,根本没有任何地址仍然有效-除了PPP链接之外,还需要可路由的地址。在这种情况下,它有效,因为链接上只有一个可能的目的地。放在该链接上的每个数据包将由另一端处理,并且vv

blue-gw#show int di1
 Dialer1 is up, line protocol is up (spoofing)
 Description: Bellsouth.net DSL
 Internet address is 74.167.x.x/32

Routing:
 Gateway of last resort is 72.157.24.5 to network 0.0.0.0
 ...
      72.0.0.0/32 is subnetted, 1 subnets
 C       72.157.24.5 is directly connected, Dialer1
      74.0.0.0/32 is subnetted, 1 subnets
 C       74.167.x.x is directly connected, Dialer1

1
您能否再解释一下/ 32在点对点链接上的效果如何?我知道在点对点链接上,数据无处可走,只有到另一侧,但是在这种情况下,我希望看到接口被设置为路由表中的出口点,而不是默认网关的IP地址。如果解释太复杂而无法回答问题,那么Google的一些关键字也将是不错的选择。
AndrejaKo 2013年

2
PPP报告本地和远程端地址,因此接口将设置为本地(通常为/ 32),默认网关为远程。通过PPP接口到远端的路由将自动生成。(查看修改)
Ricky Beam

11

我正在研究网络,无数次被告知的最基本的事情之一是计算机无法在自己的子网之外进行通信。

像这样没有限定地陈述,这是误导和虚假的。当然,Internet是在子网之间划分的,但是任何事物都可以与其他任何事物进行通信(其中大多数都是间接的)。

您必须了解的是,主机不能通过数据链路协议(例如其子网外部的以太网)直接通信,因为子网代表某个物理网段。要与子网外部的主机通信,必须将数据包发送到子网中的网关。这就是路由的全部意义。

确实,您应该问的问题是:接口如何有一个地址,使得该地址的所有位都是子网,而没有主机位?

答案是这是点对点链接。点对点链接不是完整的网络。链路两端的两个接口都知道它们正在相互通信,而无需任何数据链路级别的寻址,因此在网络级别,它们可以共享相同的IP地址。

此外,数据链路可被视为其自己的网段,因此它可以具有自己的子网,并且该子网仅需要包含一个地址。

如果端点的一端需要专门与另一端通话,则可以使用该地址。如果路由器使用任何其他地址并通过调制解调器发送,则不会为该对等方寻址该数据包。它针对该同伴之外的其他对象。对等方将接收该数据包并对其进行路由。

基本上,ISP设备是按这种方式配置的:它有数百条传入的用户线,并且为每个设备提供一个32子网。如果您有一个具有一个地址的点对点网段,则网络掩码基本上是没有意义的,但是您仍然需要一个:在接口和主机的路由表中的网络掩码字段中必须填写一些内容。


并不是的。即使是在“互联网”的情况下,一台主机仍在谈论到另一台主机共同的子网(又名“路由器”)谁谈另一个连接的主机,等等,等等内
瑞奇梁

瑞奇·比姆(Ricky Beam)没有读到第二段。
匿名

您似乎错过的要点...人们只能与直接相连的事物交谈。如果A连接到B连接到C,则A 无法直接向C发送数据包;它必须先去B。(有一些技巧可以使它看起来像A在直接与C通信...代理服务器,桥接等)
Ricky Beam

4
我完全理解桥接,代理arp等过去在网络内核代码(驱动程序级别和更高版本(更不用说应用程序级别网络编程以及IT级别网络配置))上的广泛应用。我从未写过任何东西都可以直接与其他任何东西交谈。但是,“计算机无法在其子网外部进行通信”的空白说法似乎具有误导性。
Anon 2013年

8

这只是补充说明,因为问题已经由Ricky回答。

正如Ricky所指出的那样,对于PPP链接,链接上只有两个设备。本地设备和远程设备,因此链接上也只能有两个地址(本地和远程)。因此,本地地址和远程地址可以位于不同的子网中,因为除了连接另一端的设备之外,没有其他地方可以将流量放置在链接上。这是一个非常简单的概念,您已经说过了。

不过,除此之外,请记住,路由条目可以通过接口以及下一跳IP地址进行。人们常常被告知路由条目类似于“通过5.5.5.5的0.0.0.0/0”,其中5.5.5.5是ISP路由器,而0.0.0.0/0是默认路由。路径也可以是“通过Fa1 / 0的0.0.0.0/0”。如果Fa0 / 1是点对点链接,则只需指定接口即可。正如我们已经说过的,除了另一端的设备(即ISP路由器)之外,没有其他流量可以通过。


1
不要告诉他们可以路由广播,多路访问接口人(阅读:以太网-的Fa0 / 1是以太网,以太网是不是PTP)这是代理ARP ; 而且从来没有充分的理由这样做。实际上,一无所知的人永远都不会理解。(例如,他们的路由器/交换机内存不足,导致各种重要过程失败。)
Ricky Beam 2014年

如果Fa0 / 1配置为/ 31,则它是完全有效的配置。当我的回答不够具体以至于不能引起您的关注时,请不要告诉我不要做任何事情。祝你有美好的一天。
jwbensley 2014年

即使使用/ 31,它仍然是以太网,因此还是proxy-arp。(除非硬件具有特定的ptp以太网功能,但大多数情况下没有。)我见过很多人按照您的建议以零线索完成任务;这使他们无法理解。如果知道如何在不创建47k入口arp缓存的情况下进行操作,那么对您有好处。来这里寻求答案的人很可能不会。
Ricky Beam

1
PS:您可以提出并回答自己的问题,以阐述该主题。
Ricky Beam

2
只是要补充一点,应该在任何地方禁用proxy-arp,从而导致以太网(非p2p)配置失败并由最终用户修复。不幸的是,某些操作系统默认情况下不会禁用proxy-arp。另外,您可以在路由中使用interface参数ip route 1.1.1.1 255.255.255.255 fa0/1 2.2.2.2以确保仅在该接口打开时才激活静态路由。
cpt_fink 2014年

3

为了演示其他人已解释的内容,您可以通过串行连接两个Cisco路由器。

  • 调试ppp协商(或调试ppp数据包以获得更详细的输出)。
  • 在串行接口下,配置不同子网中的IP地址。
  • 设置“封装ppp”
  • 不关门

请注意,IPCP会执行其操作,而远端子网在路由表中被视为直接连接。


可以添加一些说明性图像,说明所有这些情况。例如。此调试ppp从cisco.com网站协商图像
n611x007 2014年

3

听起来您的路由器具有PPPoE WAN连接。使用PPPoE时,“常规” IP规则不适用,因为BRAS与客户端之间的连接已建立隧道。

通常,在许多隧道协议中,本地端点可以采用远程端点的IP地址,也可以完全没有。任何非目的地为本地网络的数据包都将被推入隧道,以供远端处理。


2

您的路由器只需要一条/32路由即可与ISP路由器通信。

此外,您的路由器会将ISP路由器列为默认网关或“最后使用的网关”。当您的路由器想将数据包传递到主机时,它不知道,它将把它发送到ISP路由器。

ISP路由器只是进入更广泛的Internet的第一步。它遵循与上述相同的模式:路由器本身仅知道要与之通信的几台主机,但由于它可以确定任何IP地址的下一站,因此它可以到达世界上所有其他路由器。

从客户端到服务器的路径上的每个路由器都知道前进的一步(“下一个路由器”)和后退的一步(“上一个路由器”。)所有路由器都不需要知道整个路径。

对于您的工作路由器,生活很简单。它具有用于本地LAN的条目,它知道如何访问一台ISP路由器,并且具有到ISP路由器的默认路由。后端互联网路由器更复杂,但是想法是一样的。


1

然后,在SP环境中,使用IPCP将IP地址动态分配给使用/ 32 IP地址的DSL路由器(局域网地址通常通过半径作为帧路由发布出去)。通过拨号程序接口使用静态路由将流量从lan出站发送到Internet-因此仅使用静态路由,并且通过IPCP将默认路由通告给CE路由器。因此,在某些设计方案中,仅需要/ 32与其他网络进行通信。


0

在您的问题中,您似乎想了解R0到ISP连接的机制。如前所述,xDSL通常是通过PPPoE或某种形式的桥接来实现的。

本质上,这里发生的是“以太网桥接”。桥接是不需要或不需要IP的OSI第2层功能。32位IP地址仅仅是ISP的PPP端点标识符。调制解调器可以封装IP流量,也可以将IP流量解封装到以太网中或从以太网中解封装。

在ISP头端的PPP电路终止的网络设备中,IP地址变得非常有用,因为ISP和Internet可以将IP流量路由到来回R0公用ip地址的接口,该接口为后面的LAN提供服务。发生的唯一“路由”是在ppp电路的任一端。

我希望这对理解RO到ISP连接的机制有所帮助。


1
在这种情况下,R0 / RO是什么意思?
AndrejaKo 2013年

也许是来自“带有NAT支持的刀片路由器” 的R0 http://www.faqs.org/patents/img/20090213867_02.png
2014年

@AndrejaKo RO可能代表Route Optimization。benedikt-stockebrand.de/ipv6-in-practice-index_de.html不确定。
n611x007 2014年

另一个最可能的R0候选对象可能来自R0..Rn用于标记label-switched path (LSP) tunnel来自Cisco的啤酒花的序列。也有head-end一个结局LSR。后者似乎停滞不前Label switch router。这听起来很可能。
n611x007 2014年

甚至更R0可能性是Request 0如在D0用于Data 0“用于停止和等待类型请求/响应协议的”。不太可能。
n611x007 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.