MPLS?
只玩IP路由
,
不怎么接触大型运营商网络的同学们可能会对MPLS这个技术有些陌生
。
如果要打一个简单的比方
,
MPLS(L3VPN)就像是三层意义上的VLAN Trunking:路由器上把三层接口加入VRF(对应交换机上的VLAN)
,
每个路由器上可以有多个虚拟的路由表(对应交换机上的ARP表)
,
核心路由器之间传送的数据报文前面会被加上MPLS标签(对应交换机上的VLAN标签)保证多个路由表内的数据互不干扰
。
MPLS的好处有很多:
用同一组路由器为不同的客户提供不同种类的服务
允许不同的客户网使用相同的IP地址段
核心节点不需要查找路由表
,
只需要做简单的MPLS标签替换工作
,
增加了包转发性能
核心节点不需要保存客户的全量路由表
,
只需要负责转发
,
节约内存
可以实现在客户无感知的情况下把多地的同一客户设备连接起来
,
不同客户互相隔离
简化复杂的三层配置
可以设置特定流量走特定路径
,
方便负载均衡和冗余
这么好的协议
,
当然会有一些前提要求
。
MPLS是一个2.5层协议
,
也就是说它需要运行在二层之上
。
所以如果要启用MPLS
,
首先整个核心网路由器之间需要用支持二层的方式(例如Ethernet)连接
,
或者使用对MPLS做了特殊支持的非二层隧道(RFC2547bis
,
例如GRE或L2TP)
。
MPLS的数据报文有8字节的头部
,
因此你可能需要适当增大核心网的MTU
。
MPLS核心网的路由器一般分为两类:P(Provider)
,
即不连接任何客户设备的路由器
,
以及PE(Provider Edge)
,
即连接客户设备的路由器
。
直接连接到PE的客户设备称为CE(Customer Edge)
。
其它理论知识在此就不细讲了
,
简单来说
,
MPLS的配置需要以下几步:
给每台P和PE设置loopback端口的固定IP
通过IGP让所有P和PE之间loopback IP都可以互相ping通
在每台P和PE上启动MPLS处理功能和LDP服务
在PE上配置iBGP
,
启动MP-BGP功能
在PE上配置VRF
,
并且将连接客户的端口加入相应的VRF
把客户的路由重分发到核心网的VRF路由表
--- MultiProtocol Label Switching
翻译:
说明:多协议标签交换(MPLS)是新一代的IP高速骨干网络交换标准.不确定的选"N"
{ } MPLS: GSO support
翻译:
说明:通用分段延后处理。指网卡在支持GSO功能时,对于超大数据包(大于MTU值),内核会将分段的工作延迟到交给驱动的前一刻。如果网卡不支持此功能,则内核用软件的方式对数据包进行分片
< > MPLS: routing support
翻译:
说明:待确定作用
< > MPLS: IP over MPLS tunnel support
翻译:
说明:待确定作用
离线