ISP路由器上是不是拥有Internet中所有路由条目?

商务办公
如果没有发现这条神奇的路由,访问Internet一定有问题,各位不妨试试看去掉这条神奇的路由,还能访问互联网吗?

答案是否定的!

为了解释“否定”这两个字,却需要很多文字。

一条神奇的路由

使用Windows操作系统的读者,可以在CLI命令行里敲入命令“Route print”,会呈现主机的路由表,一定会有这条神奇的路由:

0.0.0.0/0

这条神奇的路由,称之为默认路由、缺省路由。Internet上千万万条路由可以高度抽象成这条神奇路由0.0.0.0/0,所以即使主机上没有Internet路由表,访问Internet却一点问题没有。

如果没有发现这条神奇的路由,访问Internet一定有问题,各位不妨试试看去掉这条神奇的路由,还能访问互联网吗?

各位在互联网上冲浪浪的朋友,要由衷地感谢这条神奇的路由!

[[253080]]

Internet上有没有不需要“0.0.0.0/0”的设备?

有,运营商核心路由器PE(Provider Edge),PE路由器通过BGP路由协议,与其它运营商交换全球路由表。

由于PE路由器知晓到达世界任何地方的路由,所以PE路由器是没有0.0.0.0/0的。

下一个问题,运营商的路由器是否都需要运行BGP路由协议?都需要全球路由表?

运营商还有更多的路由器,称之为P(Provider)路由器,并没有运行BGP协议,也没有全球路由表。

为什么P路由器不跑BGP协议?

(1) 跑BGP协议,需要路由器具有强大的CPU计算能力,同时具有超大的内存用于记录、保存全球庞大的路由表,目前只有高端路由器才能胜任该项任务,这是一笔庞大的开支。

(2) 因为没有必要,P路由器只要学习到运营商内部的路由表,再加上0.0.0.0/0路由,通过这条神奇的路由,就可以找到通向Internet的PE路由器,而PE路由器是知道如何世界任何角落的。

(3) 只要P、PE路由器运行IGP路由协议,如OSPF/ISIS,就可以完成(2)的描述。

来验证一下,以上的讲述有没有问题:

 

PE1接收一个目的IP =8.8.8.8的IP报文,查询路由表需要发给PE2,那PE1如何到达PE2呢?需要先把IP报文发给P1路由器,IP报文到达P1路由器。

现在该P1路由表来决策了,由于P1没有全球路由表,只好使用0.0.0.0/0来路由IP报文了。

很不幸的是,P1的0.0.0.0/0的下一跳是PE1,于是又把IP报文扔给PE1。

看,环路了吧?

如果P1路由器没有0.0.0.0/0,可以避免环路吗?

可以,但是没有8.8.8.8的路由,无法转发该IP报文,同样会被丢掉!

如何能克服以上困难?

最好的方案就是,P1路由器在收到IP报文时,避免查询自己的路由表,而使用标签转发。IP报文携带的标签,指示P1路由器将IP报文发给PE2。

标签哪里来?

通过在PE1、P、PE2上运行LDP(Label DistributionProtocol), 事先为各个PE生成分发标签,这项技术就是MPLS。

通过MPLS技术,可以避免P路由器没有全球路由表而可能造成的路由环路、次优路径转发,同时还可以被用来运载客户公司的私有IP报文,这个就是三层的MPLS VPN技术。

责任编辑:武晓燕 来源: 车小胖谈网络
相关推荐

2009-11-19 17:51:07

2009-12-04 18:09:56

2013-01-28 10:13:27

交换机路由器路由功能

2009-12-03 11:19:39

路由器设置路由器限速

2018-10-07 08:45:23

2009-11-12 11:22:58

路由器协议

2009-12-09 15:22:10

2009-11-20 10:54:01

路由器协议

2009-08-06 21:22:00

2011-08-29 13:04:09

路由器设置路由器连接路由器

2010-08-05 08:43:40

2018-03-22 14:29:16

路由器网速慢

2009-12-07 13:31:43

2009-11-20 15:20:06

Cisco路由器华为路由器

2010-09-25 14:25:38

2010-08-16 14:17:46

无线路由

2009-02-25 15:00:00

路由控制路由器

2014-05-23 10:38:46

智能路由器

2011-04-08 17:22:40

路由

2011-04-08 17:10:54

路由静态路由
点赞
收藏

51CTO技术栈公众号