SRv6----报文转发流程

按照下图路径,报文需要从主机H1转发到主机H2,H1将报文发送给节点A处理。节点A、B、D和F均为支持SRv6的设备,节点C和节点E为不支持SRv6的设备。

在这里插入图片描述
我们在SRv6源节点A上进行了网络编程,希望报文经过B-C和D-E这两条链路,然后送达节点F,再经节点F送达主机H2。以下是报文从节点A到节点F的详细处理步骤。

  1. 节点A将SRv6路径信息封装在SRH中,在这里插入图片描述
    指定B-C链路和D-E链路的End.X SID。另外,节点A上还要封装节点F发布的End.DT4 SID A6::100,这个End.DT4 SID对应于节点F的一个IPv4 VPN。按照逆序形式压入SID序列,由于有3个SID,所以节点A封装后的报文的初始SL = 2。SL指向当前需要处理的操作指令,也就是Segment List[2]字段,节点A将其值A2::23复制到外层IPv6报文头的目的地址字段,并且按照最长匹配原则查找IPv6路由表,将报文转发到节点B。

  2. 节点B收到报文,根据IPv6报文的目的地址A2::23查找本地SID表,命中End.X SID。节点B执行End.X SID指令动作,将SL的值减1,并将SL指示的SID更新到外层IPv6报文头的目的地址字段,
    在这里插入图片描述

同时将报文从End.X SID绑定的链路发送出去。

  1. 当报文到达节点C后,节点C只支持处理IPv6报文头,无法识别SRH,此时节点C按照正常的IPv6报文处理流程,按照最长匹配原则查找IPv6路由表,将报文转发给当前的目的地址所代表的节点D。

  2. 节点D收到报文,根据IPv6报文的目的地址A4::45查找本地SID表,命中End.X SID。节点D执行End.X SID的指令动作,将SL的值减1,并将SL指示的SID更新到外层IPv6报文头的目的地址字段,
    在这里插入图片描述

同时将报文从End.X SID绑定的链路发送出去。如果A4::45是PSP Flavor的SID,则此时可以根据PSP的指示将SRH弹出,报文就变成了普通的IPv6报文。

  1. 中转节点E的处理。节点E只支持IPv6报文头处理,无法识别SRH,此时节点E按照正常的IPv6报文处理流程,按照最长匹配原则查找IPv6路由表,将报文转发给当前目的地址所代表的节点F。

6.节点F收到报文以后,根据外层IPv6目的地址A6::100查找本地SID表,命中End.DT4 SID。节点F执行End.DT4 SID的指令动作,解封装报文,去除IPv6报文头,再将内层IPv4报文在End.DT4 SID绑定的VPN实例的IPv4路由表中进行查表转发,最终将报文发送给主机H2。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值