哈喽,大家好!我是艺博东 ,是一个思科出身、专注于华为的网工;好了,话不多说,我们直接进入正题。
爱对了人,每天都过情人节。
需求:4.4.4.4/32 访问1.1.1.1/32的MPLS的数据转发流程
R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 10.1.12.1 24
[R1-GigabitEthernet0/0/0]q
[R1]int LoopBack0
[R1-LoopBack0]ip address 1.1.1.1 32
[R1-LoopBack0]q
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.1.2 24
[R1-GigabitEthernet0/0/1]q
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]a 0
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 10.1.12.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]q
[R1]mpls lsr-id 1.1.1.1
[R1]mpls
[R1-mpls]mpls ldp
[R1-mpls]q
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]mpls
[R1-GigabitEthernet0/0/0]mpls ldp
[R1-GigabitEthernet0/0/0]q
[R1]rip
[R1-rip-1]network 192.168.0.0
[R1-rip-1]v 2
[R1-rip-1]import-route ospf
[R1-rip-1]ospf
[R1-ospf-1]import-route rip
[R1-ospf-1]q
R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip address 10.1.34.4 24
[R4-GigabitEthernet0/0/0]q
[R4]int LoopBack0
[R4-LoopBack0]ip address 4.4.4.4 32
[R4-LoopBack0]q
[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]ip address 192.168.2.2 24
[R4-GigabitEthernet0/0/1]q
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]a 0
[R4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 10.1.34.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]q
[R4]mpls lsr-id 4.4.4.4
[R4]mpls
[R4-mpls]mpls ldp
[R4-mpls]q
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]mpls
[R4-GigabitEthernet0/0/0]mpls ldp
[R4-GigabitEthernet0/0/0]q
[R4]rip
[R4-rip-1]network 192.168.0.0
[R4-rip-1]v 2
[R4-rip-1]import-route ospf
[R4-rip-1]ospf
[R4-ospf-1]import-route rip
[R4-ospf-1]q
R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.1.12.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 10.1.23.2 24
[R2-GigabitEthernet0/0/1]q
[R2]int LoopBack0
[R2-LoopBack0]ip address 2.2.2.2 32
[R2-LoopBack0]q
[R1]ospf 1 router-id 2.2.2.2
[R1-ospf-1]a 0
[R1-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 10.1.12.2 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 10.1.23.2 0.0.0.0
[R1-ospf-1-area-0.0.0.0]q
[R4-ospf-1]q
[R2]mpls lsr-id 2.2.2.2
[R2]mpls
[R2-mpls]mpls ldp
[R2-mpls]q
[R2-GigabitEthernet0/0/0]mpls
[R2-GigabitEthernet0/0/0]mpls ldp
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]mpls
[R2-GigabitEthernet0/0/1]mpls ldp
R2和R3的配置类似
AR1
[Huawei]sysname AR1
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.1.1 24
[AR1-GigabitEthernet0/0/1]q
[AR1]rip
[AR1-rip-1]net 192.168.1.0
[AR1-rip-1]v 2
[AR1-rip-1]q
AR1和AR2的配置类似
[R4]display fib
1.1.1.1/32的Tunnel ID为0x13
[R4-diagnose]display mpls nhlfe
根据fib表的Tunnel ID 是0x13,找到对应的nhlfe下一跳标签转发表项,从而得到了出接口是G0/0/0,下一跳是10.1.34.3,做压入标签动作,出标签是1026。
[R3-diagnose]display mpls ilm
查看ilm表项,根据如标签为1026,tunnel ID为0x18。
[R3-diagnose]display mpls nhlfe
根据tunnel ID为0x18,找到对应的nhlfc,可以知道出接口是G0/0/1,下一跳是10.1.23.2,做转换标签动作,出标签是1026。
[R2-diagnose]display mpls ilm
查看ilm表项,根据如标签为1026,tunnel ID为0x6。
[R2-diagnose]display mpls nhlfe
根据tunnel ID为0x6,找到对应的nhlfc,可以知道出接口是G0/0/0,下一跳是10.1.12.1,做转换标签动作,出标签是3。
[R1]display ip routing-table
[R1]display fib
反过来的数据转发流程也是一样的原理,1.1.1.1/32 访问4.4.4.4/32 的MPLS的数据转发流程。
4.1 首先根据 FIB 表查找相应的转发条目,转发条目中包含 tunnel id 字段
(1)如果 tunnel id 为 0X0,则进行 IP 转发;
(2)如果 tunnel id 为非 0X0,则进入 MPLS 转发流程。
4.2 Ingress的处理,通过查询fib表和下一跳标签转发表项指导报文的转发
(1)首先查看fib表,根据目的IP地址找到对应的Tunnel ID;
(2)根据fib表的Tunnel ID找到对应的nhlfe,将fib和nhlfe表现关联起来,FTN
(3)查看nhlfe表项,可以知道出接口,下一跳,出标签,标签的操作类型
(4)在ip报文中压入出标签,同时处理TTL,然后将封装好的MPLS报文发送给下一跳。
4.3 Transit的处理,通过查询ilm入标签映射表和下一跳标签转发表项指导mpls报文的转发
(1)根据mpls的标签查看对用的ilm,可以得到Tunnel ID
(2)根据ilm的Tunnel ID找到nhlfc
(3)查看nhlfc,可以知道出接口,下一跳,出标签和标签的操作类型
(4)Mpls报文的处理方式根据不同的label而不同
1)如果label大于等于16的话,则用新的标签替换MPLS报文的旧标签,同是处理TTL,然后将替换完的标签的mpls报文发送给下一跳。
2)如果label等于3,则直接弹出标签,同时处理TTL,然后进行ip转发或下一层标签转发。
4.4 Egreess处理,通过查询ilm指导mpls报文转发,或者查询路由表指导ip报文的转发
(1)如果egree收到ip报文,则查看路由表,进行ip转发。
(2)如果egree收到mpls报文,则查看ilm知道标签的操作类型,同时处理TTL
1)如果标签中的栈底标识S=1,表明该标签是栈底标签,之间进行IP转发
2)如果标签中的栈底标识S=0,表明还有下一层标签,继续进行下一层标签转发。
以前的课堂作业
OK
名言:
做人要有屡败屡战的精神和勇气。
好了这期就到这里了,如果你喜欢这篇文章的话,请点赞评论分享收藏,如果你还能点击关注,那真的是对我最大的鼓励。谢谢大家,下期见!