SRv6----报文转发流程

news/2024/5/19 14:37:29/文章来源:https://blog.csdn.net/qq_33681684/article/details/127182706

按照下图路径,报文需要从主机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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_19502.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为面向5G的室内覆盖数字化概述

概述 数字化技术催生各行业的不断创新:ICT、媒体、金融、保险在数字化发展 曲线中已经独占鳌头,零售、汽车、油气化工、健康、矿业、农业等也在加速 其进程。促进数字化进程的关键技术包括软件定义设备、大数据、云计算、区 块链、网络安全、时延敏感网…

(附源码)SSM医疗垃圾管理系统JAVA计算机毕业设计项目

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

美团java一面面经

目录1.了解static吗,static数据存在哪?生命周期什么样的2.了解final吗,讲讲下面这段代码的结果3.讲讲volatile吧4.讲讲两个锁的区别(reentrantlock和synchronized)5.讲讲线程池里线程的创建与销毁,核心线程可以销毁吗?…

.NET 开源项目推荐之 直播控制台解决方案 Macro Deck

在直播圈有个很受欢迎的直播控制台程序Macro Deck, 它是基于Apache 2.0协议开源的.NET 应用。流媒体是一个吸引数亿万玩家的严肃行业。 最受欢迎的游戏锦标赛的转播获得了数百万的观看次数,从商业角度来看,这也使游戏行业变得有趣。在直播圈有个很受欢迎的直播控制台程序Mac…

牛客网专项练习30天Pytnon篇第07天

1.在Python中,使用open方法打开文件,语法如下:open(文件名,访问模式),如果以二进制格式打开一个文件用于追加,则访问模式为:(C) A.rb B.wb C.ab D.a 解析: "r",&q…

看完这篇 教你玩转渗透测试靶机vulnhub——hackableII

Vulnhub靶机hackableII渗透测试详解Vulnhub靶机介绍:Vulnhub靶机下载:Vulnhub靶机安装:Vulnhub靶机漏洞详解:①:信息收集:②:FTP匿名登录:③:回弹shell:④&am…

Mybatis - 一二级缓存的原理

Mybatis - 一二级缓存的原理前言一. 一级缓存原理1.1 原理分析1.2 一级缓存 Key1.3 查询逻辑1.4 一级缓存的清除或失效场景1.5 一级缓存总结二. 二级缓存原理2.1 二级缓存的实验2.2 二级缓存的开启和相关配置解析2.3 二级缓存的封装Cache类2.4 二级缓存的存储2.5 二级缓存总结前…

指静脉代码学习---9.图像质量评价(分类)

一、论文背景 1.论文三--Song 本文提出了一种自适应增强框架的算法流程 先通过质量评价将图像分类,①针对高质量的图像,采用类似直方图均衡化的简单方法②低质量图像,采用类似滤波器增强的方法(虽然时效性较差,但是效果比较明显) ①对质量评价方法历程的概述:

Python 变量作用域

Python 变量作用域1.变量作用域2.局部变量3.全局变量4.同名的局部变量和全局变量5.global 语句1.变量作用域 Python 中规定每个变量都有它的作用域, 即变量只有在作用域范围内才是可见可用的。 作用域能避免程序代码中的名称冲突,在一个函数中定义的变量…

Java学习 --- 面向对象-继承

一、为什么需要继承 我们编写了两个类,一个是Pupil类,一个是Graduate类 问题:两个类的属性和方法有很多是相同的,怎么办? Pupil类: package com.javase.extend_;public class Pupil {public String nam…

docker搭建2048小游戏

下载2048游戏包 链接: https://pan.baidu.com/s/1E5RkGgfLSo3XYmvJ7RId_Q 提取码: 1gc5 复制这段内容后打开百度网盘手机App,操作更方便哦 打包成镜像 [root@docker ~]# ls game2048.tar [root@docker ~]# docker load -i game2048.tar [root@docker ~]# docker images REPOSI…

10月7日第壹简报,星期五,农历九月十二

10月7日第壹简报,星期五,农历九月十二1. 2022年诺贝尔文学奖揭晓,82岁法国女作家埃尔诺获奖。2. 我国新添4处世界灌溉工程遗产:四川省通济堰、江苏省兴化垛田灌排工程体系、浙江省松阳松古灌区和江西省崇义县上堡梯田全部申报成功…

【C语言】学生考勤管理系统

✅作者简介:一位CSDN万粉博主的小娇妻,一名在读大二学生,希望大家多多支持👍👍👍 🔥系列专栏:C语言 💬个人主页:梦园的CSDN博客 学生考勤管理系统1 问题描述2…

使用Vue和SpringBoot开发实验室耗材智能运维系统

作者主页:Designer 小郑 作者简介:浙江某公司软件工程师,负责开发管理公司OA、CRM业务系统,全栈领域优质创作者,CSDN学院、蓝桥云课认证讲师,开发过20余个前后端分离实战项目,主要发展方向为Vue…

(附源码)计算机毕业设计ssm大学生社团管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

SPAFA 和Dijkstra的区别

Dijkstra算法和SPFA算法都可以用于求单源最短路,前者可以用小根堆进行优化,后者用就是用队列优化过的Bell-man Ford,下面说一说这两者的区别: Dijkstra算法是基于贪心和DP的思路,一开始先将所有点到原点的距离设置为无穷大,特别的是dis[s]=0,此处的s为原点,它是每次找到…

基于Java的SQL Server数据库加解密系统设计与实现

目 录 摘 要 1 ABSTRACT 2 第1章 绪论 3 1.1 数据库加解密系统开发背景 3 1.2 国内外现状 3 1.3 本文的主要工作 4 1.4 论文的组织结构 4 第2章 数据库加密的基本理论 6 2.1 数据库加密的三种级别 6 2.2 数据库加密的粒度 8 2.2.1 数据库级的数据库加密 8 2.2.2 表(…

(附源码)SSM药品销售平台设计与实现JAVA计算机毕业设计项目

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

python读写操作redis数据库

python读写操作redis数据库 redis有16个逻辑数据库(编号db0到db15),每个逻辑数据库数据是隔离的,默认db0。选择第n个逻辑数据库,命令select n ,python连接时可指定数据库编号(0~15)…

【Linux内核】内存管理——内核的内存分区

转载请注明: https://www.cnblogs.com/Ethan-Code/p/16619091.html 内核的内存分区 32位机中的虚拟内存大小为4GB,其中0~3GB用于用户空间,3~4GB用于内核空间。 内核的内存空间只有1G,这一部分内存在进程中共享,与用户空间隔离&…