我正在研究网络,无数次被告知的最基本的事情之一是计算机无法在自己的子网之外进行通信。
另一方面,通过查看一些ADSL设置,我我们已经看到,如果将固定IP地址分配给用户的WAN接口,则将/ 32子网掩码用于WAN接口,并且默认网关当然在子网之外。
主机将如何/ 32子网与外部网络通信?
这是我所拥有的一种示意图:

DSL调制解调器被设置为充当网桥,因此Router0进行身份验证和设置通过PPPoE连接到ISP。 Router0在其WAN接口(图上的Fa0 / 0)上获得IP地址,该地址是使用IPCP从/ 32子网中获得的。它仅在WAN接口上接收到一个IP地址,并且此处未使用IP别名。
我了解从Router0到LAN的情况。我不明白Router0如何与ISP通信。

#1 楼

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

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


评论


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

– AndrejaKo
13年5月19日在20:13



PPP报告本地和远程端地址,因此将使用本地(通常为/ 32)设置接口,默认网关为远程。通过PPP接口到远端的路由将自动生成。 (请参见编辑)

–瑞奇
13年5月19日在20:16

#2 楼


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


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

您必须了解的是主机无法通过数据链路直接通信子网外的协议,例如以太网,因为子网表示某个物理网段。要与子网外部的主机通信,必须将数据包发送到子网中的网关。这就是路由的全部内容。

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

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

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

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

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

评论


并不是的。即使在“ Internet”情况下,一台主机仍在与公用子网(又称为“路由器”)中的另一台主机进行通讯,而另一台主机与另一台已连接的主机进行通讯等。

–瑞奇
13年5月20日在1:38

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

– Anon
13年5月20日下午3:09

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

–瑞奇
13年5月20日在17:12

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

– Anon
13年6月3日,0:58

#3 楼

这只是附加的注释,因为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路由器)之外,没有其他流量可以通过。

评论


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

–瑞奇
2014年5月1日4:30



如果Fa0 / 1配置为/ 31,则它是完全有效的配置。当我的回答不够具体以至于无法引起您的关注时,请不要告诉我不要做什么。祝你有美好的一天。

– jwbensley
2014年5月3日,12:50

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

–瑞奇
2014年5月4日在11:42

PS:您可以提出并回答自己的问题,以阐述这个问题。

–瑞奇
2014年5月4日在11:43

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

– cpt_fink
2014年7月3日在3:51



#4 楼

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


调试ppp协商(或调试ppp数据包以获得更详细的输出)。
在串行接口下在不同的
子网上配置IP地址。
设置'encapsulation ppp'
不关闭

注意IPCP会做它的事情,而远端子网被视为直接连接在路由表中。

评论


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

–n611x007
2014年7月1日在7:30

#5 楼

听起来您的路由器具有PPPoE WAN连接。使用PPPoE时,“常规” IP规则不适用,因为在BRAS和客户端之间建立了隧道连接。 IP地址或根本没有。任何非目的地为本地网络的数据包都将被推入隧道,以供远端处理。

#6 楼

您的路由器只需要一个/32路由即可与ISP路由器进行通话。此外,您的路由器还将ISP路由器列为默认网关或“最后的网关”。当您的路由器想要将数据包传送到未知主机时,它将发送到ISP路由器。

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

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

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

#7 楼

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

#8 楼

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

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

在ISP头端的网络设备中,PPP电路终止了,ip地址变得有用,因为ISP和Internet可以将ip流量路由到R0公用ip寻址的接口/来回服务于其背后的局域网。发生的唯一“路由”是在ppp电路的任一端。

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

评论


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

– AndrejaKo
13年5月27日在21:02

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

–n611x007
2014年7月1日7:44



@AndrejaKo RO可能代表路线优化。 benedikt-stockebrand.de/ipv6-in-practice-index_de.html不确定。

–n611x007
2014年7月1日在7:45

另一个最可能的R0候选对象可能来自R0..Rn序列,用于标记来自Cisco的标签交换路径(LSP)隧道中的跃点。还具有前端作为LSR的一端。后者似乎代表标签交换路由器。这听起来很可能。

–n611x007
2014年7月1日7:57



更多的R0可能性是请求0,如D0中的数据0,“对于请求/响应协议的停止等待类型”。不太可能。

–n611x007
2014年7月1日在7:59