什么是MPLS?
为什么大型网络会使用MPLS?
MPLS如何提高数据转发效率,降低延迟?
Mpls的标签转发表怎么看?
Mpls如何配置?
一、大型网络路由转发存在的问题
既然是大型网络,那路由条目的数量就会很庞大。
在ATT(美国运营商)的骨干路由器上,可以看到的路由条目如下,有一千多万条路由。
rviews@route-server.ip.att.net> show route brief
inet.0: 841798 destinations, 13467115 routes
路由数量多会带来的问题,要从路由转发原理看起。当路由器收到1个数据包,查看数据包的目标ip,然后要把所有的路由条目全部查一遍,再选择其中的某1条。
这一千多万条路由,从头查到尾,必然带来延迟。
为什么要从头查到尾,匹配到不就行了吗,一千万条路由,查到第1万条的时候匹配到数据包的目标地址了,为什么不直接转发?
因为路由条目是有优先级比较的,他不知道后面还有没有更优的,所以要一千万条从头查到尾。
二、什么是MPLS
MPLS(Multiprotocol Label Switching)多协议标签交换,名字有点拗口。他的出现,解决了路由表庞大带来的延迟问题。
解决的思路,是把路由转发模式变成了类似交换的转发模式。
那交换转发原理是什么?
当交换机收到1个数据包,看数据包的目标mac,然后根据mac地址表从对应的接口直接发出,
交换转发不需要遍历整个mac表,没有复杂的优先级比较机制,每个mac对应唯一的接口,也容易把mac表下发到硬件转发引擎上,更好的提高效率。
MPLS技术,会给数据包打上一个标签,然后再产生一个标签转发表。这个标签转发的机制,类似于交换转发的机制,效率很高。
这样当路由器收到1个包,不需要再看路由表,直接按标签来转发,延迟就低了。
下图是mpls的报文封装,在二层和三层报