北京报销比例有多少?

看病不带卡,只用医保码

提问
北京市基本医疗保险待遇包括什么?

北京市基本医疗保险待遇包括:门(急)诊待遇和住院类待遇,两者分别设置了起付标准、支付比例、最高支付限额。

起付标准
起付标准也称“起付线”,是指参保人员在享受医疗费用报销之前需要自己先行支付的费用额度。

支付比例
支付比例是指起付标准以上至最高支付限额以下,医保基金对参保人员医疗费用的报销比例。

最高支付限额
最高支付限额也称“封顶线”,是指基本医疗保险基金支付参保人员医疗费用的上限。超出最高支付限额以上的医疗费用,基本医疗保险基金不再支付。

北京报销比例有多少?

北京市城镇职工基本医疗保险待遇
2001年,北京市建立了门诊统筹和住院统筹相结合的城镇职工基本医疗保险制度。
目前,北京市在职职工医院门诊报销比例达到70%以上,退休人员达到85%以上,社区卫生机构报销比例均为90%,门诊封顶线为2万元。
北京市在职职工住院报销比例在85%以上,退休人员住院报销比例在90%以上,最高可达99.1%,住院封顶线为50万元。

北京市城镇职工基本医疗保险医疗费用报销比例一览表

城镇

门诊

参保人员类别 起付线 封顶线 报销比例
社区医院 其他医院
在职 1800元 2万 90% 70%
退休 70岁以下 _1300元

_

85%
70岁以上 90%
住院

参保人员类别 起付线 报销比例
医疗费用金额段 一级医院 二级医院 三级医院
在职 本年度第一次住院1300元,第二次及以后每次650元 1300元—3万 90% 87% 85%
3万—4万 95% 92% 90%
4万—10万 97% 97% 95%
10万—50万 85%
退休 1300元—3万 97% 96.1% 95.5%
3万—4万 98.5% 97.6% 97%
4万—10万 99.1% 99.1% 98.5%
10万—50万 90%

 

北京报销比例有多少?

北京市城乡居民基本医疗保险待遇

北京市城乡居民基本医疗保险医疗费用

报销比例一览表

类别_ 起付线 报销比例(按医院级别)
一级及以下 二级 三级 一级及以下 二级 三级 封顶线
门诊 100元 550元 55% 50% 50% 4000元
住院 300元 800元 1300元 80% 78% 75%—78% 25万元

 

注:
①上表住院起付线特指本年度首次住院,老年人和劳动年龄内居民本年度第二次及以后住院,起付线减半。
②学生儿童的住院起付线均减半。
③区属三级定点医院住院报销比例为78%。

北京报销比例有多少?

北京市城乡居民医保和城镇职工医保的参保方式、筹资方式、筹资标准、保障水平均有所不同。职工医保筹资标准由单位和职工双方共同负担,按月缴纳;居民医保筹资标准由政府补助和个人缴费构成,政府补助多,个人出资少,按年度缴费。职工医保缴费多,享受的待遇也要比居民医保高一些。

来源:医保北京

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程

如何选择etc

笔者和大多数司机朋友一样,办理过ETC卡,在2017年办理过ETC联名卡,就是你在一家银行办理一张卡,送你ETC的电子标签,把车开过去激活拍照就可以了。使用起来一直也没什么问题。但是好几年过后,感觉过收费站成功率不高,猜测etc卡被晒变形出问题,可能换张卡会好。打电话问银行,银行让找etc,找etc,etc说卡是银行给的,让找银行,但是银行大堂经理态度很好,告诉你目前没有此项业务了,没有新卡可换。只能跑腿去etc营业网点解决问题。同时问了一下银行,如果你想注销银行卡,必须把绑定的etc先注销了。

以上是一件事情,再说另外一件事情。

笔者买了新车,要装个etc,百度搜索etc,如下图:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
北京etc

进入官网,从产品介绍里看到很多种类,除了和银行的联名卡,这次笔者想直接和速通公司买卡,省的以后麻烦。看到了记账卡(微信代扣),想必是速通公司和微信合作,也比较方便。

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
北京etc

 

接下来进入一个页面,看到办理方式是搜索小程序《etc助手》

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
北京etc

接下来找到这个微信小程序,按照步骤上传各种证件,支付了99元,很快审核通过,显示设备已经发货,是京东物流,感觉非常快。

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
北京etc

接下来看看物流吧,输入京东物流单号,查询如下:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
北京etc

 

这里开始,就有点奇怪了。我明明是从北京etc官网进去的,怎么是个什么安徽高灯微行科技xx公司,而且是从广东发的货?
又一想,北京找第三方公司合作,也不奇怪,设备在广东生产,也说的过去。就这样等了3天,设备到货如下:
如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程 如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程

包装是一般,设备叫埃特斯,通过扫描小白纸使用说明书的二维码,得到这个地址:http://v1.rabbitpre.com/m2/aUe1ZjKQyE#160709500331180 ,如下图:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
电子标签用户使用说明书

 

以上,果然设备是广东一家公司生产的:广州市埃特斯通讯设备有限公司
接着往下看到售后服务那里:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
售后服务

 

看到这里我就比较懵逼了,除了第一个微信etc助手客服电话,下面还有什么粤通卡,鲁通卡,蒙通卡,广西八桂行卡,天津etc,云南充值易,乱七八糟的,都是地方卡。

嗯,有点不对劲,搜索一下这家公司吧,关键词: etc安徽高灯微行,结果如下图:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
etc安徽高灯微行

 

worinima,都是负面啊,点了几个进去看,都是不退钱,记账卡给充值卡,给外地卡。我尼玛菊花一紧,算逑了吧,不靠谱啊。这尼玛安徽老版和速通公司的关系杠杠的啊。又去这个页面:
https://www.bjetc.cn/Apps/Product/Card/Stk.aspx?id=b100ad7a-a8d2-4179-8496-d8c2d4f6cba7 ,仔细瞅了瞅,除了「etc助手」,没说啥有关安徽公司广东公司的事啊。

考虑了一泡屎的功夫。。。。

退了吧,省心。

以下是在小程序里千辛万苦各种尝试找到的退货退款的流程:

第一步,在ETC助手小程序里找到快捷工具,点击退货退款:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
etc退款退货

 

在下一个界面看到自己之前的订单,看到了吧,给我的的卡类型是“八桂行卡”,应该是广西的卡,有个百度贴吧可以看看啥是八桂行卡:https://tieba.baidu.com/p/6356505804

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
八桂行卡百度贴吧

 

好吧,点击申请售后:

 

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
etc退款退货

选择自己的方式,因为我收到货了,选择第一个“我已收到货,想退货退款”

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
如何申请etc退货退款

选择申请原因:

 

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程

选择“设备不喜欢”:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程

因为是个人原因,所以简单写写:
如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程

退货退款是有条件的,不影响二次销售,这个没啥说的。

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程

到第三步,给了广东的寄回地址:

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程 寄出后显示待签收。

如何办理到称心如意的ETC卡?记账卡(微信代扣)退货退款流程
如何申请etc退货退款

 

后续如何,且等几天补上结果。祝我好运吧。

执行umount 的时候却提示:device is busy 的处理方法

执行umount 的时候却提示:device is busy 的处理方法

卸载挂载的盘提示如下:
[root@moneyslow.com yum.repos.d]# umount /mnt/cdrom/
umount: /mnt/cdrom: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[root@moneyslow.com yum.repos.d]# umount /mnt/cdrom/ -f //强制卸载也不行
umount2: 设备或资源忙
umount: /mnt/cdrom: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount2: 设备或资源忙
复制代码
[root@moneyslow.com yum.repos.d]# fuser -m /mnt/cdrom/
/mnt/cdrom/: 1338c 5830c //占用进程pid

#fuser -m -k /mnt/cdrom/
//或者查询后直接杀死进程 后面的2步就不需要执行了
如果还是不行,还可以强行解除挂载

umount -l /mnt/cdrom

强行解除挂载

[root@moneyslow.com yum.repos.d]# ps aux |grep 1338 //查看占用进程
root 1338 0.0 0.2 108292 1912 pts/2 Ss+ 14:27 0:00 -bash
root 1423 0.0 0.1 103236 884 pts/1 S+ 14:49 0:00 grep 1338

# 在使用kill 杀掉进程

小米米兔3c儿童电话手表停机了,怎么充话费?

小米米兔3c儿童电话手表停机了,怎么充话费?

笔者2019年在京东购买了一块米兔儿童手表,型号描述为“小米儿童电话手表3C 移动联通4G 防水GPS定位 视频通话 AI英语学习 男女孩学生儿童智能手表 蓝色”,如下图所示:

 

小米米兔3c儿童电话手表停机了,怎么充话费?
米兔手表1

 

这款手表详细配置为:

小米米兔3c儿童电话手表停机了,怎么充话费?
米兔手表2

 

因为在京东购买的,所以附带了一张sim卡(随米兔附带的sim卡,但是现在此产品已经下架,介绍里没有sim卡的任何信息了),直接插上就能用。

在使用不到一年(大概11个月)后,米兔拨打电话提示“服务暂停”,以为是sim卡欠费,通过微信充值了50元,被退了回来。

查到sim卡手机号属于江苏联通号,所以打到江苏的10010查询余额,但是客服说不显示此卡的任何信息。所以这张卡的续费无法进行,也不知道为什么暂停服务了。

米兔只负责手表本身功能。联通的系统查不到信息。京东的客服一问三不知,完全不知道这个产品的当时售卖信息。

所以只能放弃此号,新买一个号。

Srv6书籍:《SRv6网络编程:开启IP网络新时代》

srv6书籍

主编:李振斌;副主编:胡志波,李呈

Srv6书籍:《SRv6网络编程:开启IP网络新时代》
srv6书籍

编辑推荐
聚焦IP领域的前沿技术
SRv6是下一代IP网络的核心技术,是当前业界研究的热点,也是技术的演进方向,满足5G、物联网、云等新兴业务的发展需求。
呈现SRv6技术全貌
展示5G和云业务领域的技术创新及应用部署,推动核心技术的发展,为5G的商用提供借鉴。
作者团队实力业界领先
华为参与SRv6领域的全部标准创新文稿并完成20多个SRv6网络部署,本书作者均为标准核心贡献人员及产品与解决方案关键研发人员。

内容介绍
本书以IP网络发展过程中面临的挑战为切入点,详细介绍了SRv6技术的产生背景、设计思路与实现过程,以及SRv6在传统业务与新兴业务中的应用。本书以IP技术的发展历史开篇,重点阐述了MPLS和IPv6在网络发展过程中遇到的问题,帮助读者了解SRv6技术带来的变革以及承载的历史使命。本书还详细阐述了SRv6网络编程的原理,包括SRv6的报文头设计与报文转发过程、IGP/BGP/PCEP等针对SRv6的协议扩展、SRv6如何支持现有的TE/VPN/可靠性需求等;SRv6网络部署,包括现网到SRv6网络的演进路线、SRv6网络的部署过程与运维技术、SRv6支持新兴的5G和云业务;SRv6组播BIERv6技术等。最后,本书对于SRv6的产业现状与未来发展进行了总结与展望。

本书是华为公司SRv6专家团队集体研究的成果荟萃,代表SRv6的前沿技术发展方向。本书内容丰富、框架清晰、实用性强,适合网络规划工程师、网络技术支持工程师、网络管理员以及想了解前沿IP网络技术的读者阅读,也适合科研机构、高等院校通信网络相关专业的研究人员参考。

作者介绍
主编 李振斌:
华为首席协议专家,IETF互联网架构委员会委员。
2000年加入华为,曾负责华为IP操作系统VRP和MPLS子系统的架构设计与开发工作。2015—2017年担任SDN架构师,负责控制器的研究、架构设计与开发工作。自2009年起,积极参与IETF标准创新工作,持续推动SDN的BGP、PCEP、NETCONF/YANG协议的创新和标准化,当前研究的重点包括SRv6、5G承载、Telemetry和网络智能等。主导和参与提交IETF RFC/草案累计100余篇,申请专利110多项。2019年当选IETF互联网架构委员会委员,承担2019—2021年的互联网架构管理工作。

副主编  胡志波:
华为SR与IGP高级协议专家,负责SR与IGP的协议规划和创新工作。
目前主要从事SR-MPLS/SRv6协议以及5G网络切片相关技术的研究。自2017年起,积极参与IETF标准创新工作,主导和参与SRv6可靠性保护、SRv6 YANG、5G网络切片和IGP等相关标准的制定工作,致力于通过SRv6的协议创新支撑网络向5G和云化演进。

李呈:华为高级预研工程师/IP标准代表。
负责华为SRv6方向的SRv6压缩、SRv6 OAM/Path Segment、SFC与安全等内容的研究与标准化工作。自2018年起,开始参与IETF会议。截至2019年底,个人提交草案30余篇,推动其中10余篇成为工作组草案。曾出版图书《重构网络:SDN架构与实现》(合著)。

SRv6技术课堂:SRv6可靠性方案(一)

SRv6技术课堂:SRv6可靠性方案(一)

作者简介:
胡志波,华为SR与IGP高级协议专家。负责华为的SR与IGP协议规划和创新工作。目前主要从事SR/SRv6协议以及5G切片相关技术的研究。自2017年起积极参与IETF标准创新工作,主导和参与SRv6可靠性保护,SRv6 Yang, 5G 切片,IGP协议等相关标准。致力于通过SRv6协议创新支撑网络向5G,云化的演进。
李振斌,华为首席协议专家/IETF互联网架构委员会(IAB)委员。负责华为的IP协议研究和标准推动工作。自2009年起积极参与IETF标准创新工作,主导和参与了大量IETF RFC/草案。在过去六年内持续推动了SDN演进的BGP/PCEP/Netconf/YANG的协议创新和标准化,当前研究的重点包括SRv6、网络智能、Telemetry、5G承载等。2019年当选IETF互联网架构委员会(IAB)委员,承担2019 - 2021年的互联网架构管理工作。

本文为《SRv6可靠性方案》第一篇,第二篇详见《SRv6技术课堂:SRv6可靠性方案(二)》。

1 传统网络可靠性方案的问题

交互式多媒体服务的应用,例如,VoIP对网络丢包非常敏感,通常只能容忍数十ms的网络丢包,而网络中链路或路由器发生故障时,路由器硬收敛时间通常为数百ms甚至达到秒级。为最大程度地减少流量损失,路由器预先安装一条备份路径,当故障发生的时候,由邻近故障点的路由器(PLR:Point of Local Repair,本地修复节点)快速切换到备份路径,从而最大限度减少网络故障的丢包,提升收敛性能。这种机制称为FRR(Fast reroute)。

SRv6技术课堂:SRv6可靠性方案(一)

传统FRR技术受限于保护范围以及场景限制,通常会配合多跳BFD实现端到端保护,例如:BFD + HSB实现TE的端到端保护,BFD + VPN FRR实现PE故障的保护,但是,依赖BFD实现端到端存在一系列问题:
1)层次化BFD依赖不同的BFD发包间隔分层切换,无法满足50ms切换性能(比如北京到广州的时延至少30多ms)。
2) BFD容量限制会限制网络和业务部署(比如支持4K VPN的PE设备需要支持4K BFD连接,这是一般设备做不到的)。
3)部署复杂,需要逐连接的部署多跳BFD。

通过SRv6可以实现任意故障以及任意场景的端到端50ms保护,针对任意故障点都采用本地保护技术,这使得网络可以彻底消除多跳BFD的部署,以及任意故障点的50ms保护。SRv6端到端50ms技术针对不同的故障场景包含一系列的保护技术:SRv6 Ti-LFA(Topology-Independent Loop-free Alternate,拓扑无关的无环路备份路径),SRv6 Endpoint保护(TE情况下中间节点保护),SRv6尾节点保护(PE节点保护),SRv6 防微环(IP网络分布式无序收敛过程中的环路防护)。这里将分三期介绍这四种技术。第一期介绍SRv6 Ti-LFA,第二期介绍SRv6 EndPoint保护、SRv6尾节点保护,第三期介绍SRv6防微环技术。

2 SRv6 Ti-LFA技术介绍

传统LFA技术及面临的问题

在了解Ti-LFA之前,我们先介绍下传统的FRR技术。最早出现的FRR技术是LFA(Loop-Free Alternate).

SRv6技术课堂:SRv6可靠性方案(一)

图1-1 LFA保护原理

LFA的原理是,找到一个非主下一跳的邻居节点,如果这个邻居节点到目的节点的最短路径不经过源节点(计算节点),则这个邻居节点为无环备份下一跳。满足如下公式的为无环下一跳:(其中,N为邻居节点,D为目的节点,S为运行LFA计算的源节点):
Distance_opt(N, D) < Distance_opt(N, S) +Distance_opt(S, D)

如果邻居节点满足上述公式,则该邻居满足链路保护条件。若该邻居节点同时满足下述公式,则该邻居满足节点保护条件:(其中,N为邻居节点,D为目的节点,E为运主下一跳节点):
Distance_opt(N, D) < Distance_opt(N, E) + Distance_opt(E, D)

如上图所示,结点1要访问结点4,初始路径为1->3->4,结点1的主下一跳为结点3,使用LFA算法计算备份下一跳,由于只有一个可用的备份下一跳为结点2,使用结点2进行上述两个公式的计算,计算结果是均能满足上述公式,所以,结点2是满足节点保护的无环下一跳。结点1将备份下一跳预安装到Fib表,当主下一跳故障的时候,结点1在转发面直接切换到备份下一跳,而不需要控制面收敛。

LFA遇到的问题是由于拓扑规划的问题,很多场景下,无法找到合适的备份下一跳,LFA也就是无法形成了。RFC 6571数据统计LFA场景覆盖率为80%~90%。

RLFA:传统LFA技术的改进及面临的问题

LFA在网格状拓扑中通常能够获得较好的覆盖范围,但是,针对环网,LFA的覆盖范围很低。为了提升保护范围,RFC7490定义了一种RLFA(Remote Loop Free Alternate,远端无环路备份路径)技术,用于提升FRR保护范围。RLFA的基本原理是找到一个不会经过故障节点的中间结点(通常称PQ结点),方式如下:

定义P空间:源节点使用最短路径访P节点不会经过故障链路,满足该条件的P节点的集合称为P空间。至少存在一个非主下一跳的邻居节点,满足如下公式,则P节点属于P空间:
Distance_opt(N, P) < Distance_opt(N, S) + Distance_opt(S, P)

定义Q空间:Q节点到目的节点的最短路径不经过故障链路,满足该条件的Q节点的集合成为Q空间。满足如下公式:
Distance_opt(Q, D) < Distance_opt(Q, S) + Distance_opt(S, D)
则Q节点属于Q空间。

PQ结点则为P空间和Q空间的交集。

SRv6技术课堂:SRv6可靠性方案(一)

图1-2 RLFA保护原理

如上图所示,结点1要访问结点3,最短路径为1->3,如果结点1通过LFA计算到节点3的备份路径,则无法计算出备份路径,因为节点2不满足LFA 无环备份下一跳的条件。节点2到节点3的最短路径经过源结点1,也就是说如果结点1将报文送给节点2,节点2还会将报文送回给1。所以,节点2无法作为备份下一跳。

我们来看看RLFA如何解决这个问题的,通过上文中提到的PQ节点计算公式,我们可以计算出结点4满足PQ结点的条件,则我们可以在节点1到节点4之间建立一条隧道(例如:LDP隧道),同时指定该隧道的下一跳为结点2。我们可以把这条隧道作为虚拟的LFA备份下一跳预安装在转发表,当主下一跳故障的时候,快速切换到备份下一跳,从而实现FRR。

但是RLFA对网络拓扑还是有要求的,如果全网节点都找不到满足PQ条件的结点,尤其对于环网中,存在一条Cost特别大的链路,通常就无法计算出PQ结点。

SRv6 TI-LFA方案

有没有一种算法可以做到不依赖拓扑,或者说与拓扑无关,可以做到100%的故障保护?答案是肯定的。下面我们就介绍SR技术中一项非常重要的故障保护技术:TI-LFA(Topology-Independent Loop-free Alternate,拓扑无关的无环路备份路径)。TI-LFA主要是利用SR的源路由的机制,这使得源节点可以指定一条显示路径,不经过故障链路。但是为了减少Segment List的层数,Ti-LFA也使用了计算PQ节点的算法。

SRv6技术课堂:SRv6可靠性方案(一)

图1-3 SRv6 TI-LFA保护原理

下面采用上图完整地说明一下SRv6 TI-LFA的工作原理。如图所示:节点A到节点F的最短路径为 A->B->E->F,节点B需要计算到节点F的备份路径。

1)排除主下一跳(Link B->E)计算收敛后的最短路径:B->C->D->E->F。
2)计算P空间:按照RLFA介绍的方法计算P空间。如图1-11所示:节点B(源节点永远满足P空间的条件)和节点C为P空间。
3)计算Q空间:按照RLFA介绍的方法计算Q空间。如图1-11所示:节点F(目的节点永远满足Q空间的条件),节点E,节点D为Q空间。
4)计算修复路径:这样我们可以把任意路径表示为:源节点 –>P节点 -> Q节点 -> 目的节点。其中源节点到P节点是无环路径,Q节点到目的节点是无环路径。P节点到Q节点使用严格显式路径来表达,严格显示路径一定是无环的。这样,整条路径就是无环路径。

如图所示:为了简化修复路径,我们选取离源节点最远的P节点以及最近的Q节点,由于SRv6 Sid本身就携带路由信息,所以,SRv6计算备份路径只需要指定P到Q的显示路径即可。节点B到节点F的备份路径为<3::1>。

如下表所示,节点B根据TI-LFA计算结果预先安装备份转发表,用于主下一跳故障的时候激活备份下一跳,修改到节点F的可达性。

表1-1TI-LFA备份转发表

SRv6技术课堂:SRv6可靠性方案(一)

当Link B->E故障:
1)节点B收到目的地址为6::的报文,根据6::查找转发表,主出接口为Intf1。
2)节点B查询到Intf1接口状态为Down,使用备份表项转发,备份出接口为Intf2,并使用T.Insert的方式封装Segment List 3::1, 新增1个SRH扩展头,将用于修复故障的Segment List和目的地址封装在SRH扩展头。SL初始化为1。
3)节点C收到报文,SL—,将6::0替换为外层IPv6地址,POP SRH扩展头,并按3::1关联的下一跳沿着Link C->D转发到节点D(不查路由表,根据报文头封装3::1指定的出接口转发)。

节点D根据6::0查路由表沿着最短路径转发到目的地址F。

根据上面的工作原理描述可以看到,TI-LFA可以真正做到与拓扑无关,满足100%拓扑覆盖的故障保护。不仅如此,它还具有如下优势:

备份路径和收敛后最短路径大多数情况下是一致的,这减少了路径切换的次数。TI-LFA算法是基于收敛后最短路径计算的,只有少数链路故障和节点故障收敛后路径不一致的情况下才会出现备份路径和收敛后路径不一致的情况。

不需要额外的协议以及维护额外的状态。TI-LFA备份路径依赖IGP SR实现,这样减少了为部署可靠性技术引入的额外协议的部署。

 

SRv6技术研究和组网设计

SRv6技术研究和组网设计

一、SRv6技术简介

SRv6全称为Segment Routing IPv6,是当下最为热门的Segment Routing和IPv6两种网络技术的结合体,兼有前者的灵活选路能力和后者的亲和力,以及SRv6特有的设备级可编程能力,使其成为IPv6网络时代最有前景的组网技术。

IPv6大家都很熟悉,是取代IPv4的下一代网络协议,那Segment究竟是何物?可以把SRv6网络想象成一台分布式“计算机”,Segment列表好比程序,Segment就是指令,兼有寻址和行为能力。我们可以将用户意图翻译成Segment列表,并附在数据报文中,输入SRv6网络“计算机”,然后依次在不同的节点上执行Segment指令,比如切换到下一个Segment、压入或弹出Segment列表、关联L2/L3 VPN等,从而实现基本选路、VPN、OAM、Service Chaining、APN6(App-aware IPv6 Networking)等不同层面的功能。

在SDN组网中,由控制器负责编排和下发Segment列表,实现智能选路的目的。随着SRv6技术和协议的完善,网络设备编程能力的提高,有望通过SDN+SRv6定义一切网络功能,引领我们迈入智能网络世界。

二、SRv6编程框架

(一)SRv6 SID

SRv6中通过SID(Segment ID)标识每个Segment,SID是一种特殊的IPv6地址,既有普通IPv6地址的路由能力,又有SRv6特有的行为能力。

每个SRv6节点都会维护一张SID表(实际上是路由表的一部分),由许多128bit的SID组成,SID标准格式为Locator+Function(Args),如下所示:

SRv6技术研究和组网设计

Locator,标识SRv6节点的定位器,每个节点起码有一个全局唯一的Locator值,作为本地SID的共享前缀,其他节点通过Locator路由访问本节点SID。
Function(Args),标识SRv6节点内不同的行为,比如END、END.X等,少数行为还需要传递Args参数。
SRv6节点收到IPv6报文之后,会根据IPv6 DA(Destination Adddress)查找全局路由表,如果匹配到某个SID,则交由SID定义的行为或Behavior处理,否则执行常规的路由转发动作。

(二)SRv6 Policy

SRv6 Policy是一种将用户意图(SLA、服务链)翻译成网络策略的机制,内核为Segment列表。网络节点和终端设备都可以按需发起或者由控制器下发SRv6 Policy,中间节点无需维护任何状态,因此SRv6 Policy适用于任意规模的网络互联和终端通讯场景。
SRv6 Policy由多个Candidate Path(简称CP)构成,其中有一个为Active CP,决定整个SRv6 Policy的行为和状态,基本格式如下:
Java

1

2

3

4

5

6

<headend, color, endpoint>
Candidate-path CP1 <protocol-origin, originator, discriminator>
B-SID
Preference 200
Weight W1, SID-List1 <SID11...SID1i>
Weight W2, SID-List2 <SID21...SID2j>

SRv6 Policy由<Headend, Color, Endpoint>三元组唯一标识,Headend和Endpoint对应头尾节点的IPv6地址,通过Color参数区分两者之间的不同SRv6 Policy。Color是概括SRv6 Policy服务能力的标签,比如SLA级别(金银铜牌等),用户通过设置自己的Color,就能自动关联到相同Color的SRv6 Policy上,实现用户意图到底层网络的映射。

Candidate Path由<protocol-origin, originator, discriminator>三元组唯一标识,protocol-origin为CP的发起协议,比如BGP SR Policy或手工配置等,originator为发起者的标识,格式为 ASN: node-address,discriminator用于区分protocol-origin +originator下发的不同CP。CP携带Preference、B-SID、Segment-List等属性,含义如下:

Preference,标识CP的优先级,用于抉择同一SRv6 Policy下的不同CP,优先级最高的成为Active CP;
B-SID,标识CP或SRv6 Policy(Active CP)行为的SID,其他节点通过B-SID引用SRv6 Policy的功能;
Segment-List,标识CP的Segment列表,由Weight和多个顺序排列的Segment子属性组成,一个CP可以有多个Segment-List,根据Weight分担流量。
在SRv6 Policy之前,我们主要用TE Tunnel实现流量工程,那么为何SRv6中会主推SRv6 Policy呢?原因如下:
组网能力,TE Tunnel本质上是一种重量级的传统接口,会消耗设备的接口资源,无法支持太大规模的组网;SRv6 Policy本质上是一种轻量级的对象,数据结构非常简单,不占用设备的接口资源,能够支持超大规模的组网;
引流能力,TE Tunnel采用粗放的DSCP引流方式,难以直观准确的反映用户意图;SRv6 Policy采用精细的Color引流方式,能够如实反映和满足用户诉求;
开放能力,TE Tunnel只能为节点自己所用,而SRv6 Policy通过对外暴露B-SID,可以在隐藏内部实现的前提下,为其他节点或机构提供选路、服务链等能力;
业务能力,TE Tunnel本身没有直接的业务描述能力,需要组合应用多个TE Tunnel和其他的技术才能满足业务需求;SRv6 Policy是完全自洽和业务特征相关的,本身集成了多路径、SLA标签、行为处理等能力,单个SRv6 Policy就可以满足业务的网络需求。

由此可见,在SRv6 Policy各方面都完胜TE Tunnel,就是一种为Segment Routing量身定制的网络技术,可以说SRv6的强大能力大部分是通过SRv6 Policy输出的。
(三)SRH
SRH(Source Routing Head)为SID列表的载体,基于IPv6路由扩展头(协议号43),新增路由类型4,是SRv6体系中最为重要的数据封装标准,具体格式如下:

SRv6技术研究和组网设计

Segment[n-1]...Segment[0]组成了完整的Segment列表或路径,SL(Segment Left)指示当前活跃的Segment。头节点SL=n-1,IPv6 DA=Segment[n-1],中间节点收到IPv6报文,如果IPv6 DA为节点本地SID,则进入SRH处理流程。暂不考虑具体SID,SRH基本行为如下:

Java

 

1

2

3

4

5

6

7

8

9

10

S01.  IF SL==0{

S02.    继续处理SRH指示的下一个扩展头

}

S03.  ELSE{

S04.    IF 本地配置要求TLV处理{

S05.      处理TLV

}

S06.    SL=SL-1,Segment[SL]复制到IPv6 DA

S07.    IPv6路由转发

}

标准SRH封装中,每个SID占用16bytes,对于长Segment列表的应用,需要考虑封装开销对MTU和传输效率的影响。业界也在研究可行的SRH压缩方法,比如G-SRH(Generalized SRH)、uSID(Micro SID)等。
SRH还能携带可选的TLV参数,以扩展支持NSH/Service Chaining、OAM、VTN(Virtual Transport Network)、APN6等高级特性。

(四)SRv6 Behavior

SRv6网络编程标准中,SRv6节点(Endpoint)通过本地定义的行为(Behavior)处理SRv6报文。SRv6定义了多种Endpoint Behavior,每个节点需要实例化它们和分配SID,并通过路由协议公布,以便外部了解节点所能提供的Behavior。

常用的Endpoint Behavior有END、END.X、END.DT4、END.DT6等,实现Underlay选路、Overlay业务承载等功能,具体如下:

END用于标识SRv6节点,具体行为还跟附加的USP(Ultimate Segment Pop)、PSP(Penultimate Segment Pop)、USD(Ultimate Segment Decapsulation)等Flavor有关系,分别代表最后一跳弹出SRH、倒数第二跳弹出SRH、最后一跳解封装,以满足不同的路径编排需求。假设收到一个IPv6报文,IPv6 DA为本节点END SID with PSP,处理流程如下:

S01. IF SL==0{ #无SRH等同于SL为0
S02. 向IPv6 SA(Source Address)发送ICMP Parameter Problem,结束
}
S03. SL=SL-1,Segment[SL]复制到IPv6 DA
S04. IF SL==0{
S05. 将前一个报文头中的NH更新为SRH中的NH,弹出SRH扩展头
}
S06. IPv6路由转发

END.X用于标识SRv6邻居,具体行为也跟Flavor有关。假设收到一个IPv6报文,IPv6 DA为本节点END.X SID with PSP,处理流程与END相似,区别在于S06:

S06. 转发给END.X指定的邻居

END.DT4用于标识SRv6节点的IPv4 VPN路由表。假设收到一个IPv6报文,IPv6 DA为本节点END.DT4 SID,处理流程如下:

S01. IF SL!=0{
S02. 向IPv6 SA发送ICMP Parameter Problem,结束
}
S03. 剥离外层IPv6头以及所有扩展头
S04. 根据END.DT4 SID关联的路由表转发内层IPv4报文

END.DT6用于标识SRv6节点的IPv6 VPN路由表。假设收到一个IPv6报文,IPv6 DA为本节点END.DT6 SID,处理流程与END.DT4相似,区别在于S04:

S04. 根据END.DT6 SID关联的路由表转发内层IPv6报文

END.B6.Encaps属于一种SRv6 Policy B-SID实例,为原始SRv6报文添加外层封装。假设收到一个IPv6报文,IPv6 DA为本节点END.B6.Encaps SID,处理流程如下:

S01. IF SL==0{
S02. 向IPv6 SA发送ICMP Parameter Problem,结束
}
S03. SL=SL-1
S04. 添加外层IPv6报文头+SRH B,B对应SRv6 Policy的Segment List
S05. 外层IPv6 SA设置为A,IPv6 DA设置为B的第一个Segment,
S06. IPv6路由转发

END.B6.Insert属于另一种SRv6 Policy B-SID实例,为原始SRv6报文插入SRH。假设收到一个IPv6报文,IPv6 DA为本节点END.B6.Insert SID,处理流程如下:

S01. IF SL==0{
S02. 向IPv6 SA发送ICMP Parameter Problem,结束
}
S03. 插入SRH B,B对应SRv6 Policy的Segment List
S04. IPv6 DA更新为B的第一个Segment
S05. IPv6路由转发

每个Behavior都有对应的16bit Code Point,比如End with PSP为0x0002、End.DT4为0x0013等,路由协议会同时携带SID和Endpoint Behavior Code Point信息,这样就能判断出SID的具体含义。

前面提及END.B6.Encaps、END.B6.Insert都属于SRv6 Policy B-SID实例,其他节点通过B-SID引用,具体行为由SRv6 Policy实现,两者关系如下:

SRv6技术研究和组网设计

同时Headend也可以直接调用SRv6 Policy封装报文,主要Behavior有H.Encaps,H.Insert等,可用于L2/L3 VPN、FRR(Fast Reroute)、端到端IPv6通讯等场景,具体如下:

H.Encaps用于为VPN或者原始IP报文添加外层IPv6+SRH隧道封装。假设某VPN IPv6报文P下一跳为END.DT6 VPN SID X,SRv6 Policy为(S3,S2,S1),处理流程如下:

S01. 为IPv6报文P添加一个外层IPv6报文头+SRH(X,S3,S2,S1;SL=3)
S02. 外层IPv6 SA=T,IPv6 DA=S1,Next-Header=IPv6
S03. IPv6路由转发

H.Insert用于为IPv6报文添加SRH扩展头。假设报文P的IPv6 DA为B2,SRv6 Policy为(S3,S2,S1),处理流程如下:

S01. 为IPv6报文P插入SRH(B2,S3,S2,S1;SL=3)
S02. IPv6 DA设置为S1
S03. IPv6路由转发

三、SRv6技术架构

前面介绍了SRv6的基本概念,知道了SRv6 Policy是满足用户意图的关键途径。接下来就面临一个现实问题,如何将用户意图自动转换成SRv6 Policy,并下发给SRv6节点,这需要一个完整的技术架构和配套的网络协议集,典型的SRv6组网结构如下:

SRv6技术研究和组网设计

基于标准的控制器、转发器两层SDN技术架构,两者之间通过南向协议交互,具体如下:

控制器,相当于中央处理器,掌握全网拓扑、实时流量、SRv6 SID等信息,负责将用户意图翻译成SRv6 Policy,并通过南向协议下发给转发器;

转发器,负责路由计算和SRv6 Policy封装转发,一方面要运行ISIS计算Underlay路由及SID,运行BGP EVPN计算Overlay路由及SID,并将Overlay路由迭代到合适的SRv6 Policy上,另一方面还要向控制器汇报Underlay网络和SRv6 Policy状态;

南向协议,控制器和转发器之间运行多种南向协议,最重要的是BGP-LS和BGP SR Policy,前者负责将转发器的链路状态转换成BGP-LS消息,以及SRv6 Policy的状态上报给控制器,后者将控制器编排好的SRv6 Policy下发给转发器。

通过以上技术的整合,SRv6技术架构可以实现用户意图驱动、智能流量调度、全方位可视化等一系列功能。

四、SRv6转发器技术

(一)ISIS

ISIS属于链路状态IGP路由协议,采用TLV携带链路状态信息,可以在不动协议主体的情况下,通过增加部分TLV类型就可以支持IPv6、SRv6等新协议特性。
为了支持SRv6协议,ISIS需要增加SRv6 Capabilities、SRv6 Locator、SRv6 End SID、SRv6 Adjacency SID等不同Level的TLV,节点所有SID共享SRv6 Locator TLV中定义的前缀。
Locator前缀同时通过MT Reachable IPv6 Prefixes TLV发布,保证非SRv6节点也能计算出前缀路由,通过该路由就能满足SID转发需求。但节点在计算FRR或防微环,以及控制器编排路径时,需要计算使用END、END.X等具体SID。

(二)BGP EVPN

BGP EVPN(Ethernet VPN)是一种MP-BGP协议实例,AFI/SAFI为25/70,支持丰富的NLRI(Network Layer Reachable Information)路由类型,比如交换MAC或IRB的Type2路由,交换Prefix网段的Type5路由,兼具L2/L3 VPN、IPv4/v6路由交换能力,能适配VxLAN SDN、骨干网SDN、分支SDWAN等不同的组网场景。
以骨干网SRv6 VPN组网为例,BGP EVPN需要携带NLRI+BGP Prefix-SID+Color等SRv6相关信息。Type5 NLRI用于交换用户L3VPN路由,取代VPNv4/v6地址簇的作用,BGP Prefix-SID通过SRv6 L3 Service TLV,携带END.DT4/6 VPN SID,Color属性用于关联EVPN路由和SRv6 Policy。

(三)SRv6 FRR

路由协议收敛时间一般为秒级,无法满足某些苛刻应用的要求。于是出现了各种IP FRR技术,基本思路都是为受保护的路由提供备用路径,在新路由生效前,通过备用路径转发流量,将中断时间降到毫秒级。IP FRR技术对于高可靠的SRv6 Policy组网尤为重要,虽然也可以依靠SRv6 Policy自身检测故障(BFD或Segment有效性)和切换CP,但扩展性和灵活性都不及IP FRR。
IP FRR技术发展经历了LFA(Loop-Free Alternate)、RLFA(Remote LFA)、TI-LFA(Topology-Independent LFA)三个时代,直到SRv6出现后,SRv6+TI-LFA才简单有效的解决了所有IP FRR问题。LFA是最基础的IP FRR技术,目的是寻找一个直连的备用节点,该节点到目标节点不会经过故障链路或节点。比如从源节点S到目标节点D,主用下一跳为E,组网和链路COST如下:

SRv6技术研究和组网设计

LFA具体算法如下:

S计算自己以及邻居N(包括E)到所有节点的距离D_opt,如果N满足D_opt(N, D) < D_opt(N, S) +D_opt(S, D),就是符合链路保护条件的备用下一跳节点;
如果N还满足D_opt(N, D) < D_opt(N, E) + D_opt(E, D),同时也是符合节点保护条件的备用下一跳节点;
受组网结构和COST数值的限制,可能无法计算出合适的备用下一跳,导致LFA失败。
RLFA是最经典的IP FRR技术,目的是寻找一个非直连的中间备用节点,弥补LFA技术的不足,从源节点到备用节点,以及从备用节点到目标节点都不会经过故障链路或节点,组网和链路COST如下:

SRv6技术研究和组网设计

RLFA具体算法如下,简单起见未考虑节点故障情形:

计算扩展P空间,要求从S正常链路直连的邻居N到P的最短路径不经过故障链路。S会计算自己以及邻居N(包括E)到节点P的距离D_opt(S, P)和D_opt(N, P),输出满足D_opt(N, P) < D_opt(N, S) + D_opt(S, P)的P空间,当然也包括S和N。上图中,P空间为<S, N, A, B>;
计算Q空间,要求从Q到D的最短路径不经过故障链路。S会计算自己到节点Q的反向距离D_opt(Q, S),输出满足D_opt(Q, D) < D_opt(Q, S) + D_opt(S, D)的Q空间,当然也包括D。上图中,Q空间为< A, B, E, D>;
计算PQ空间,取P空间和Q空间的交集,优选一个离S最近的PQ节点,如果两者非直连,需要建立S到PQ的隧道,作为备用路由出接口封装,下一跳为直连邻居N。上图中,PQ空间为<A, B>,优选A节点。
TI-LFA在RLFA算法的基础上,增加了收敛后SPF路径的约束,并通过PQ Repair-List解决PQ无交集的问题,组网和链路COST如下:

SRv6技术研究和组网设计

SRv6 TI-LFA具体算法如下:

S计算刨除故障链路的收敛后SPF路径,根据RLFA计算P空间和Q空间,输出在收敛后SPF路径上的P空间和Q空间;上图中,分别为<S, N, A>和< B, D>;
如果PQ空间有交集,则选择距离S最远的PQ节点,S节点H.Encaps原始报文,外层IPv6 DA为PQ END with USD SID;
如果PQ空间无交集,则选择距离S最远的P节点,以及最近的Q节点,S节点H.Encaps原始报文,外层IPv6 DA为PQ互联END.X with USD SID,如果PQ不相邻则需要插入Segment列表。
对于SRv6 Policy,IPv6 DA在不断的切换,为防止IPv6 DA对应节点的故障导致IP FRR失败,需要在IP FRR基础上加入中间和尾端节点故障处理机制,具体如下:

SRv6技术研究和组网设计

大意就是,SRv6 Policy中间节点故障采用Bypass跳过,极端情况下退化成SRv6 BE,尾端节点故障采用Anycast或Mirror SID规避。

IP FRR主要解决路由收敛之前转发间断问题,但各SRv6节点路由收敛速度不一会导致微环路产生,其实这是所有IP路由协议的共性问题。在SRv6防微环组网中,节点路由收敛分为两个阶段,第一阶段对于那些由于故障发生或恢复需要更新的路由表项,以严格或松散Segment列表作为临时转发表项,防止形成微环路,第二阶段保证所有节点完成路由收敛的前提下,切换到常规路由表项。

综合IP FRR、中间和尾端节点保护、防微环等技术,就能构建出真正高可靠的TI-LFA SRv6网络。

五、SRv6南向协议

(一)BGP-LS

BGP-LS(BGP Link State)也是一种MP-BGP协议实例,AFI/SAFI为16388/71。BGP-LS将底层网络链路状态信息(ISIS)抽象成Node、Link、Prefix三类NLRI上报给控制器,分别描述节点能力、邻居关系、IP前缀信息,控制器据此还原网络拓扑和计算路径。同时为了支持跨域组网,BGP-LS还扩展了BGP EPE(Egress Peer Engineering)功能,将EBGP邻居关系链路状态化,从而在控制器层面打通不同AS的链路状态数据。

BGP-LS主要通过NLRI+Attribute组合携带链路状态数据,为了支持SRv6特性,需要增加Node NLRI的SRv6 Capabilities、Link NLRI的SRv6 End.X SID、Prefix NLRI的SRv6 Locator等TLV,另外还要新增SRv6 SID NLRI类型,附属SRv6 End SID、SRv6 End.X SID、SRv6 BGP Peer Node SID等TLV。
除了翻译拓扑功能,BGP-LS还可以上报SRv6 Policy状态和B-SID,以取代PCEP协议,避免控制器和转发器异构引发的兼容性问题。

(二)BGP SR Policy

在SDN组网中,控制器可以通过BGP SR Policy向转发器下发SRv6 Policy。BGP SR Policy同样基于MP-BGP协议,AFI/SAFI=2/73,SRv6 Policy的信息主要由NLRI和Tunnel_Encapsulation属性承载。
NLRI用于携带SRv6 Policy和Candidate Path信息,格式为<Length, Distinguisher, Color, Endpoint>,对应关系如下:
SRv6 Policy,<Headend, Color, Endpoint>,Headend就是SRv6 Policy的接收者,加上NLRI的Color+Endpoint,形成完整的SRv6 Policy标识;
Candidate Path,<protocol-origin, originator, discriminator>,protocol-origin就是BGP SR Policy,originator是BGP Router ID,discriminator对应NLRI的Distinguisher,用于区分同一SRv6 Policy的不同CP,形成完整的CP标识。
Tunnel_Encapsulation,用于携带Candidate Path的各种属性,比如Preference、B-SID、Segment-List等,并以层次化TLV的形式表示。
如何把BGP SRv6 Policy精准的下发给头端节点呢?跟控制器与转发器的BGP连接方式有关,具体如下:
RR组网,控制器给SRv6 Policy附加RT=Headend:0,通过RR中转,转发器收到之后检查RT值,如果一致则导入SRv6 Policy;
直连方式,控制器直接将SRv6 Policy发给转发器,附加no_advertise community,转发器收到后自用,不转发给任何邻居。
相比于PCEP,使用BGP下发SRv6 Policy具备更好的兼容性和扩展性,理论上可以支持跨厂商的SRv6 Policy对接,和百万级SRv6 Policy的部署规模。

六、SRv6组网设计

(一)总体组网规划

下面基于金融骨干网现状和业务需求,探索如何采用SRv6升级骨干网技术架构。
骨干网由三个核心节点、数十个一级节点构成,为总分行提供就近接入和高速转发服务,根据通用SRv6技术架构要求,总体组网规划如下:

SRv6技术研究和组网设计

采用标准的控制器+转发器两层SDN组网,控制器负责智能选路,通过南向协议下发SRv6 Policy,转发器负责执行Segment指令和报文转发。

(二)转发器技术规划

转发器分为PE、P、RR等角色,采用ISIS作为Underlay路由协议,使能IPv4/v6多拓扑,网络拓扑和路由计算相互独立,同时启用SRv6扩展,交换SRv6 SID信息。

SRv6 SID格式为Locator+Function,Locator长度为112bit,其中前96bit为共同前缀,后16bit为节点数值,Function长度为16bit,其中静态Function为::00[01-FF],动态Function为::[0-F][1-F][00-FF]。END、END.X由节点动态生成,在ISIS中关联Locator后,ISIS会自动发布Locator和SID信息。ISIS还要启用TI-LFA和Micro Loop Avoid,以提高SRv6网络的收敛性能和健壮性。

PE采用BGP EVPN作为Overlay路由协议,基于Loopback IPv6地址建立域内BGP EVPN Peer,并选用SRv6隧道封装。用户VPN路由通过BGP EVPN Type5 NLRI+ BGP Prefix-SID发布,后者对应END.DT4/6 VPN SID。

假设PE已经从控制器收到SRv6 Policy,BGP EVPN路由会根据Color+Nexthop迭代到正确的SRv6 Policy上,数据平面调用H.Encaps Behavior封装VPN报文,SRH=SRv6 Policy Segment List+VPN SID,外层IPv6 SA=PE Loopback,IPv6 DA=Segment[n-1]。如果没有收到SRv6 Policy,则采用SRv6 BE转发,外层IPv6 SA=PE Loopback,IPv6 DA=VPN SID。无论哪种方式,目标PE收到报文后,根据IPv6 DA定位到VPN,剥离SRv6封装,查找VPN路由表转发。

(三)南向协议规划

控制器与转发之间用到SNMP、NETCONF、BGP-LS、BGP SR Policy等多种南向协议,这里重点介绍BGP-LS、BGP SR Policy的规划。
RR与控制器之间建立BGP-LS Peer,将ISIS的链路状态信息转换后上报控制器。RR与PE之间也要建立BGP-LS Peer,将PE传递过来的SRv6 Policy状态反射给控制器。
控制器与RR之间建立BGP SR Policy Peer,将SRv6 Policy下发给RR,RT为Headend:0。RR与PE之间也要建立BGP SR Policy Peer,将SRv6 Policy反射给PE,PE收到后根据RT导入自己始发的SRv6 Policy。

(四)控制器规划

骨干网上传输的流量根据业务类别和安全等级,分为STORAGE、INTRANET、EXTRANET三类,由相应的SRv6 Policy承载。控制器定期根据网络拓扑和流量分布,计算更新SRv6 Policy路径,通过BGP SR Policy下发给PE转发器,实现智能流量调度的目的。

一开始可以采用基于SRv6 Policy维度的简单调度策略,具体如下:

SRv6技术研究和组网设计

PE分为AB平面,同平面PE之间两两建立STORAGE、INTRANET、EXTRANET三类Policy,每个Policy初始包含1条严格路径。
以北京节点PE-A为例,控制器初始下发的路径如上图实线所示。PE-A根据VPN路由的<color, nexthop>,将业务流量映射至对应SRv6 Policy上转发。
转发器通过Telemetry实时上报接口流量信息,控制器会定期运行全局调优算法,综合线路利用率、SPF路径、SRv6 Policy优先级等多个因素,更新部分SRv6 Policy的Segment列表,并通过BGP SR Policy下发给PE-A,将相关SRv6 Policy上的流量迁移至其他低利用率线路上,路径如上图虚线所示。
如果某个节点或者链路故障,首先会触发SRv6 FRR,保证SRv6 Policy流量基本不中断,然后由BGP-LS上报链路状态变化,控制器收到后触发局部故障调优,为受影响的SRv6 Policy选择其他正常路径,最后等到全局调优周期,站在全网角度优化SRv6 Policy路径。
之后在控制器支持的情况下,可以升级为基于Segment List维度的复杂调度策略,具体如下:

SRv6技术研究和组网设计

PE分为AB平面,同平面PE之间两两建立STORAGE、INTRANET、EXTRANET三类Policy,每个Policy初始包含4条等价SL(部分SL路径可能重复)。
以北京节点PE-A的INTRANET SRv6 Policy为例,控制器初始下发的路径如上图实线所示。PE-A根据VPN路由的<color, nexthop>,将业务流量映射至对应SRv6 Policy的4条SL上负载均衡转发。
全局调优和故障调优基本思路与上一种策略类似,区别在于转发器要上报Segment List颗粒度的流量信息,控制器要基于SRv6 Policy和Segment List两个维度算路,根据计算结果更新SRv6 Policy内部某些Segment List,并通过BGP SR Policy下发给PE-A,将这些Segment List上的流量迁移至其他低利用率线路上,路径如上图虚线所示。

(五)多域组网升级

前面采用了单域SRv6 Policy组网设计,由单个ISIS提供骨干网链路状态数据,经BGP-LS上报控制器,控制器进行域内算路并下发至转发器。单域组网对网络规模、线路类型都有一定的限制,还涉及骨干网与接入网Option A跨域互联的问题,导致大量VPN和路由策略重复配置,另外将SRv6局限于骨干网,无法发挥SRv6 Policy端到端的价值,因此有必要从单域升级为多域组网,具体规划如下:

SRv6技术研究和组网设计

骨干网收缩为三个核心节点,仅由P和RR角色组成,P不感知业务和VPN,仅根据IPv6 DA路由转发,RR除了承担BGP-LS、BGP SR Policy基本功能之外,还要负责骨干网P设备Underlay和接入网PE设备Overlay路由的分发和策略控制,相当于二级控制器。
接入网为总分行各自辖内通道互联网络,核心由原骨干网的2台PE组成,与骨干网RR之间建立EBGP Peer,交换EVPN、BGP-LS、BGP SR Policy等地址簇路由,并保持Nexthop不变。
骨干网和接入网之间Underlay跨域互联,通过EBGP交换Underlay IPv4/v6路由,其中包括SRv6 Locator路由。同时双方还要使能BGP EPE,将Underlay邻居连接通过BGP-LS上报给控制器。
控制器通过BGP-LS收集骨干网、接入网的链路状态数据,结合BGP EPE的邻接信息,拼接出骨干网+接入网完整的网络拓扑,其他算路和SRv6 Policy下发过程同单域组网。

七、总结

目前业界和用户对于SRv6的研究和应用还处于价值探索的初始阶段,受益于国内IPv6规模部署行动的成果,用SRv6取代SR-MPLS已成为大家的共识,也是水到渠成的事情。风物长宜放眼量,SRv6 Policy组网和智能流量调度只是SRv6的基础应用,后续我们还要将SRv6拓展到VTN切片网络、分支机构SDWAN、应用驱动APN6、Service Chaining等更多更广的领域,可谓路漫漫其修远兮,还需要大家一起求索。

2020年11月19日:中国移动携手华为等发布基于SRv6的弹性SD-WAN技术白皮书

2020年11月19日:中国移动携手华为等发布基于SRv6的弹性SD-WAN技术白皮书

2020年11月19日-21日,华为作为重要合作伙伴,参与了中国移动在广州隆重召开的以"5G融入百业 数智引领未来"为主题的全球合作伙伴大会。会议期间,中国移动携手华为发布了基于SRv6的《弹性 SD-WAN 技术白皮书》,展示了中国移动和华为在SD-WAN领域的创新研究成果。华为作为中国移动SD-WAN解决方案的主要合作伙伴和贡献者,与移动进行了长期深度的方案探讨和设计,并共同发布了白皮书。

2020年11月19日:中国移动携手华为等发布基于SRv6的弹性SD-WAN技术白皮书

基于SRv6的SD-WAN方案:实现企业一跳入云

随着企业数字化转型加速,85%的企业业务都将上云。业务上云带来WAN流量的激增,多个应用抢占带宽,体验无法保证。然而传统专线开通周期长,运维复杂,不能很好的支撑企业业务云化需求。通过SD-WAN可以实现快速业务开通、业务体验可保证的政企专线,满足政企需求。SD-WAN网络是一种架设在现有专线和Internet之上的“Overlay”网络(覆盖网络),而专线则成为一种“Underlay”网络(基础架构网络)。传统SD-WAN主要关注Overlay网络,而Overlay网络的业务体验实际是依赖于Underlay网络的,尤其是对一些电力控制业务、医疗实时业务等需要保证确定性时延或者是按照指定路径传输的场景。

SRv6是一种基于IPv6平面的源路由技术,可以基于IPv6可达性与源路由机制,实现广泛而灵活的互连,因此尤其适用于流量工程、SFC以及SD-WAN等场景。为了进一步改善SD-WAN方案,提供更优的业务体验,中国移动与华为深入合作,共同设计了基于SRv6的SD-WAN解决方案,构筑中国移动SD-WAN差异化优势。未来基于SRv6的SD-WAN可以在SD-WAN灵活接入、灵活选路的基础上,提供Overlay到Underlay的联动,实现Overlay选路、Underlay指定路径转发,为企业应用提供确定性体验保证。解决方案整体架构如下图所示。

2020年11月19日:中国移动携手华为等发布基于SRv6的弹性SD-WAN技术白皮书

图1、基于SRv6SD-WAN整体网络架构

基于SRv6的SD-WAN网络架构是通过将SRv6技术和SD-WAN结合,将城域网、IP骨干网和数据中心网络的承载能力进行抽象,通过云网协同层把云网资源和业务应用解耦,并以标准化的API接口进行云网能力开放供SD-WAN业务按需调用,从而赋予弹性SD-WAN强大的Underlay协同和差异化服务的能力。整体方案根据场景分为面向大型企业和面向中小微型企业两种。

大型企业网络能力较强,可以自组SD-WAN网络,因此客户的流量可以通过POP节点来实现SD-WAN互连,也可以直接CPE互连。在这种方案中,企业侧的CPE节点是支持SRv6的节点,实现自主可控的数据包端到端指定路径转发。

在中小微企业互连场景,企业的流量需要先到SD-WAN骨干网的POP节点,并通过POP节点直接的SRv6隧道实现互连。

基于SRv6技术的SD-WAN在传统Overlay SD-WAN的基础上,做了以下增强:

网络资源开放和整合能力:通过把Underlay和Overlay资源统一调度,发挥Overlay资源整合的优势和Underlay业务保障的优势;

一跳入云的能力:从云到网端到端拉通网络的同时,可天然融合云内、跨云IPv6业务链;

云网WAN链路SLA保障能力:通过iFIT实现端到端链路检测,结合分片实现不同业务的SLA实时保障;

应用感知的能力:通过应用识别和检测等技术感知应用、感知网络,同时结合网络资源调度来保障业务质量。

综上所述,基于SRv6的SD-WAN能支持网络资源整合、一跳入云、WAN链路SLA保障、应用感知等,充分发挥既有网络资源优势,为客户提供有竞争力的广域网服务。

G-SRv6高效SD-WAN:链路使用率更高的SD-WAN

中国移动与华为联合研究的面向未来的G-SRv6,是开销更小且兼容SRv6的技术,可以有效提升网络的承载效率和转发效率。未来将G-SRv6网络技术和SD-WAN相结合将带来巨大的价值,为企业用户带来一跳高效入云的WAN链路。

2020年11月19日:中国移动携手华为等发布基于SRv6的弹性SD-WAN技术白皮书

图2、G-SRv6报文封装格式

华为SD-WAN已经在中国广泛商用部署,在SRv6技术、方案以及商用部署上都处于领先位置。根据IDC中国最新SD-WAN市场份额报告,华为排名第一。华为将继续与中国移动共同研发、推动基于SRv6的SD-WAN网络技术,更好的服务政企客户,助力中国移动弹性SD-WAN网络成功。

 

程伟强-段晓东-基于IPv6的SRv6技术将是未来网络的必然演进趋势

于IPv6的SRv6技术将是未来网络的必然演进趋势

移动通信:
分段路由的概念分段路由(SR:Segment Routing)是一种源路由技术,基于SDN理念,构成面向路径连接的网络架构,支撑未来网络多层次的可编程需求,可以满足5G超大连接和切片的应用场景下的连接需求。SR-MPLS是基于当前主流MPLS转发面形成的SR解决方案;SRv6是基于IPv6扩展的SR解决方案。SR-MPLS沿用MPLS转发机制,自然演进,并已经在传输网络得到广泛应用。SRv6则进一步增强了网络可编程能力,支持网络和业务可编程。

SRv6技术面临的挑战2.1. SRv6报文开销带来的挑战运营商网络中对SR标签层数要求较高。以5G承载网为例,随着5G核心网集中化部署,基站的流量需要穿过城域网以及IP骨干网。典型场景下,在城域网中,接入环有8-10个节点,汇聚环有4-8个节点,核心环也有4-8个节点;在IP骨干网,流量还需穿过多个路由器节点。同时,由于网络切片、高可靠SLA、可管可控的要求,运营商网络需要能够指定显式路径,端到端SR隧道会有10跳甚至以上。因此,目前国内外多数部署MPLS-SR的运营商都要求支持8层以上SID标签。

当前,SRv6方案基于SRH(Segment Routing Header),其SID长度为128bit Segment ID。按照8层SID,为报文带来128Byte的开销,对于平均长度256Byte的应用净荷,SRv6带来的开销超过1/3,带宽利用率则下降为67%以下。而相同场景下,SR-MPLS的开销只有32Byte,带宽利用率仍有89%。SRv6和SR-MPLS在SID个数从1-10时承载效率的对比分析如下图所示(仅简单对比SRH和SR-MPLS SID的开销):

程伟强-段晓东-基于IPv6的SRv6技术将是未来网络的必然演进趋势

图1 净荷长度256B时不同SID个数SR承载效率对比分析图

开销的增大一方面造成了网络利用率的降低,另一方面为支持深层报文深层负载均衡、In-Band Telemetry、NSH带来更大挑战。

另外,SRv6部署必然会和SR-MPLS网络共存,由于网络利用率的不同可能会导致网络边界接口不平衡的问题,从而导致投资浪费。如下图所示,在SR-MPLS网络与SRv6网络域对接时,考虑100G链路,256byte报文,8层SID的情况,由于链路利用率差异较大,SR-MPLS域中的1个100GE链路在SRv6域中可能需要2条100GE链路才能匹配。

程伟强-段晓东-基于IPv6的SRv6技术将是未来网络的必然演进趋势

图2 净荷长度256B时SR-MPLS网络域与SRv6网络域对接

2.2. SRv6复杂性带来网络芯片的挑战在运营商应用中,SRv6需要在网络芯片在报文中插入超过128Byte长度的字段,相当于32层MPLS-SR标签深度,超出了已部署网络芯片的能力,如果在芯片内部采用环回的解决方案,将大幅降低网络性能并引入更高的时延和抖动。在重新设计的网络芯片中,支持SRv6需要进一步扩大内部处理总线带宽,其是芯片成本和功耗的关键因素。

SRv6在中间节点要求网络芯片读取完整SRH,然后根据指针指示的位置提取需要处理的Segment并进行转发。对比MPLS-SR仅需读取最外层标签,引入的复杂性进一步增加网络芯片的处理时延。

低功耗和低时延是运营商5G解决方案的关键因素,SRv6复杂性对网络芯片带来的功耗、成本、时延的增加为其落地应用带来挑战。

2.3. SRv6方案平滑升级面临的挑战SRv6是自成一体的独立解决方案,与MPLS/MPLS-SR方案不存在延续性。

首先,SRv6需要规划和分配128bit SID,同时SRv6要引入的开销难以在现有设备进行支持,需要对现有业务和网络进行彻底的改造,构建一张全新的SRv6网络。在运营商的大网中难以部署。

其次,SRv6支持的业务和网络的编程特性需要全网支持SRv6功能,在SRv6和MPLS/SR-MPLS混合部署的场景下,无法发挥其核心优势。

根据以上分析,现有SRv6报文开销、网络芯片的复杂性、难以平滑升级带来的三大挑战让其难以快速部署到运营商网络中,需要在SRv6技术基础上进一步进行演进。

3. Unified SID技术IPv6技术成是新一代网络的主体技术,基于IPv6的SRv6长远考虑是未来网络的必然的演进趋势,为了解决上文提出的三大挑战,包括基于SRv6技术降低开销,简化SRv6对转发面的要求,支持从SR-MPLS平滑演进到SRv6,中国移动联合中兴、博通、盛科、新华三等提出了基于SRv6的Unified SID技术(Unified-SID【1】)。Unified SID基于标准SRv6的SRH方案进行简洁扩展,支持SR-MPLS/IP地址与SRv6基于统一的SID长度提供SR功能,加速推进SR技术广泛落地应用。

Unified SID基于原生的SRH扩展,不改变任何原生SRH的处理机制,通过在标准SRH Header中仅仅扩展2bit Unified SID类型指示,一方面与原生的SRv6保持最大的兼容性,另一方面有效解决SRv6目前存在的问题。

3.1. Unified SID基于原生SRH扩展SR-MPLS SID沿用MPLS Label格式,SID长度为20bit;SRv6则沿用了IPv6地址格式,SID长度为128bit;SR-IP当前没有标准定义,如果沿用IPv4地址格式,则SID长度为32bit。

为支持SRv6与SR-MPLS/SR-IP具备统一的SID格式,Unified SID通过在SRH扩展头的Flags中扩展出Unified SID类型指示字段(2bit),其定义如下:

0b00,标准SRv6 SID长度,即128bit SID,与SRH现有定义兼容;

0b01,IP地址SID长度,即32bit SID,可以与IPv4地址兼容或32bit短地址格式;

0b02,MPLS Label长度,也是32bit SID,可以和SR-MPLS SID定义兼容;

0b11,预留。

根据该扩展方案,标准SRv6应用SID长度指示为0,使用32bit短IP地址格式长度指示为1,使用32bit MPLS Label格式长度指示为2,实现与当前各种SR技术通过统一的SID长度进行混合组网应用。Unified SID通过32bit SID解决了报文开销带来的挑战,并结合简洁的Flags扩展,有效的降低了网络芯片的处理复杂性挑战,另外统一融合的理念解决了平滑升级带来的挑战。

3.2. Unified SID与Micro SID的区别Unified SID对比Cisco的Micro SID【3】压缩技术,具备较好的通用性和适用性。SRv6部署前需要规划Segment,通常采用共同前缀+偏移量。共同的前缀长度与可获取的IPv6地址空间以及网络大小相关,长度难以确定,但Micro SID对SRv6地址有一定要求,需要规划具备较短(建议16bit或32bit)的共同前缀,和较短的偏移量(建议16bit或32bit)区分SID,这导致其难以满足不同的网络应用中需求,特别是复杂运营商网络应用。Unified SID方案融合SRv6与SR-MPLS理念,当地址有严格规划时,可以用短地址格式的SID,当地址没有严格规划时,采用MPLS标签映射的SID,因此,Unified SID方案对引入SRv6的SID和地址没有额外约束,具备更好的通用性和适用性。

4. Unified SID方案优势

4.1. 支持SRH头压缩,提升SRv6承载效率通过Unified SID方案,一般通过32bit的SID即可表示标准128bit的SRv6 Segment,Unified SID长度压缩为标准长度的1/4,即使40跳SR-TP路径,需要的SRH也只有48B,与SR-MPLS承载效率相当。

4.2. 对转发面要求低,现有转发面即可支持SRv6部署Unified SID方案,对转发面的要求可以等同于SR-MPLS的要求,因此,当前支持SR-MPLS的硬件基本可以通过软件升级的方式支持SRv6的部署,博通和盛科基于现有芯片已经完成初步的DEMO系统。

4.3. 支持从现有网络平滑升级到SRv6能力现有MPLS/SR-MPLS/IPv4网络通过Unified SID实现最大的兼容性,在对现有网络和业务影响最小的情况下升级到支持SRv6的能力,且具备与普通IPv6节点混合组网。

4.4. 兼容现有地址规划,对引入SRv6的开销降到最低通过Unified SID方案,可以灵活适应各种地址规划的网络,基本无需专门的地址规划和改造,对引入SRv6的开销降到最低。

5. Unified SID应用Unified SID技术是一种灵活适配的解决方案,支持短地址格式的SRv6头压缩且适应各种Segment和地址规划。可以替代SR-MPLS部署,支持低开销的SRv6部署,并可以将SR-MPLS平滑升级到SRv6【3】。

在MPLS/SR-MPLS的组网应用中,SR-MPLS为业务分配MPLS格式的SID,平滑升级支持SRv6过程中Unified SID方案仍然可以沿用已分配的MPLS格式的SID,仅需在升级后网络节点中维护MPLS格式的SID与IPv6地址的映射关系。

在IPv4网络升级IPv6的组网应用中,短地址长期存在,比如现有分配的IPv4或IPv6域内除共同前缀外的区分地址。Unified SID技术可以沿用已分配的短IP地址格式的SID,仅需要在升级后的SRv6节点简单建立短地址格式与128bit IPv6地址之间的映射关系。

在独立的SRv6组网应用中,通过通过短格式的MPLS格式的32bit SID代替128bit标准的SRv6 SID实现SRH头压缩,压缩率达到1/4,具备落地应用能力。

6. Unified SID加快SRv6应用步伐中国移动联合中兴、博通、盛科、新华三等对SRv6技术的改进方案进行了深入研究,提出了unified SRv6 SID方案,并向IETF提交了技术草案,链接见参考文献。

同时,针对Unified SRv6 SID方案,研究团队已在盛科的芯片平台上进行了实现和验证,证明了Unified SID具备较强的灵活性和适应性,通过不同的SID长度指示可以在现有的SR-MPLS、IPv4/短IPv6地址网络中快速部署SRv6,同时可以具备标准SRv6的所有能力,从而加快SRv6在网络中的应用步伐。

Segment Routing第一卷 中对SR IPv6的报头简介

ipv6的网站有哪些?截止20181105

本文是读C. Filsfils et al. 所著的Segment Routing第一卷第十二章所作的总结与摘要。

当使用SR IPv6数据平面传送IPv6数据包 (通常称为SRv6) 时,Segment List被压入到数据包报头中的SR报头 (SRH) 中。该报头是新类型的路由报头,路由报头是IETF RFC 2460中描述的一种扩展报头。SRH中的指针指向编码在报头中的Segment List中的active segment。当segment完成后,该segment不是从列表中删除,而是更新指针以指向列表中的下一个segment。
SRv6中的SID使用128位的IPv6进行表示的。从信令角度来看,与MPLS数据平面相比,这更简单,不需要通告除IPv6前缀之外的任何信息。前缀就是SID。 IPv6地址不仅可以表示路由器,还可以表示接口、设备、业务和应用等,或者也可以表示上述任何一种对象的集合。

IPv6报头回顾
IPv6使用两种不同类型的报头:IPv6主报头和IPv6扩展报头 (Extension Header)。IPv6主报头等效于IPv4基本报头。IPv6报头删除了IPv4报头中的选项字段,该字段原本是用来传递与数据包有关或与数据包处理方式有关的附加信息。相应的功能通过一组称为 “扩展报头” 的附加报头实现。因此主IPv6报头具有固定大小 (40 bytes),而定制化的扩展报头可以根据需要添加。

IPv6扩展报头
使用扩展报头以允许扩展IPv6来支持未来的需求和能力。IPv6数据包可以携带一个或多个不同长度的扩展报头。典型的IPv6中不存在扩展报头。如果数据包需要对其路径上的中间结点或目的结点进行特殊处理,则可在数据包报头中添加一个或多个扩展报头。扩展报头位于数据包的主IPv6报头和上层报头之间。

路由报头 (Routing Header)
IPv6的扩展报头类型之一就是路由报头 (Routing Header),其类型号是43,。IPv6源结点使用路由报头列出一个或多个中间结点,使得数据包在去往最终目的地的路径上经过这些结点。因此源结点可以使用路由报头来实现数据包的源路由。由此可见,segment在IPv6并不是新概念。
路由报头的格式可见书P519。下面对其中的重要字段进行讲解。

扩展报头长度 (Hdr Ext Len):路由报头的长度。
路由类型 (Routing Type):该路由报头的类型。
剩余Segment (Segment Left):剩余的路由段数,即在到达最终目的地之前需要访问的中间结点数量。这一字段很重要。
类型特定数据 (type-specific data):对应于路由报头类型的数据。
通常,到数据包目的地路径上的中间结点不检查或处理扩展报头,中间结点基于IPv6的主报头中的目的地址转发数据包。有例外的情况,这里不阐述。
如果结点收到数据包,并且数据包的目的地址对应于该结点的地址,则该数据包检查扩展报头 (如果存在)。如果扩展报头中含有结点不能识别的路由类型的路由报头,结点的行为取决于 “Segment Left” 的值:

如果Segment Left = 0,则节点忽略路由报头并处理数据包的下一报头。
如果Segment Left != 0,则节点丢失数据包,并且向数据包的源地址发送ICMP “参数问题 (Parameter Problem)” 的消息。
SRH
SRH是路由报头的新类型,所建议的路由类型为4。
SRH继承路由报头属性:它应该只在数据包中出现一次,并且如果Segment Left = 0,则忽略 (但不丢弃) SRH,并且基于数据包中的下一报头来处理数据包。
SRH的格式见书P520。下面针对其中的类型特定数据进行讲解:

剩余Segment (Segment Left):虽然这个不是数据字段中的,但是因为它很重要,就在这里重申了一下。
首Segment (First Segment):SRH的Segment List所表示的路径中的第一个Segment的索引。由于Segment List的元素是逆序排序的,因此这个字段实际表示的是Segment List的最后一个元素,这有助于访问紧跟在Segment List之后的TLV。
标志字段
– C-flag (清理,Clean-up):如果置位,则必须在把数据包发往最后一个Segment前从数据包中删除SRH,这类似与MPLS倒数第二跳行为。
– P-flag (受保护,Protected):当Segment端节点通过FRR机制重新路由数据包时置位。
– O-flag (OAM):如果置位,则该数据包是操作和管理 (OAM) 数据包。
– A-flag (警告,Alert):如果置位,则SRH中存在重要的TLV对象。
– H-flag (HMAC):如果置位,则存在HMAC TLV,并且被编码为SRH的最后一个TLV。HMAC TLV用于解决安全隐患问题。
– 未使用:供未来使用。
保留 (Reserved):供未来使用。
Segment List:128位的条目,代表路径上的每个Segment。采用对路径进行逆序排序的方式对Segment List进行编码:最后一个Segment在列表的第一个位置 (Segment List[0]),第一个Segment在最后位置(Segment List[n-1])。
可选类型/长度/值对象 (Optional Type/Length/Value object):SRH中的可选TLV包含可有Segment端节点使用的信息,Segment端节点是与数据包的IPv6目的地址相对应的结点。这些TLV的主要用途是向数据包的最终目的地提供数据包的路径信息。路由层不使用TLV中的信息,但它可有用于其他目的,如OAM。
– 入口节点TLV:可选,包含一个128位字段,用于标识数据包进入SR域的入口节点。
– 出口结点TLV:可选,包含一个128位字段,用于标识数据包离开SR域的预期出口结点。
– 不透明容器TLV:可选,包含一个128位字段。此数据与路由层无关,但用于将其他信息传送到数据包的目的结点。
– 填充TLV:可选,用于将SRH对齐至8个8位字节边界。
– HMAC TLV:可选,包含HMAC信息。
SRH处理过程
SRv6路径上分为三种不同角色的结点。

源结点
源结点是可以产生带有SRH的IPv6数据包的任何结点:

产生带有SRH的IPv6数据包的主机
插入SRH或压入新的带有SRH的外部IPv6报头的SRv6域入口节点
当源结点产生数据包时,它会为数据包创建SRH,如下所示,并将其插入报头。

Segment List:采用对路径进行逆序排序的方式编码n个Segment。第一个位置是最后的Segment,最后位置是第一个Segment。
Segment Left:设置为n-1。
First Segment:设置为n-1。
Des-address:数据包地址设置为路径的第一个Segment。
HMAC TLV和 (或) 其他TLV可以添加到SRH。
事实上,SRv6主报头中的目的地址会被编码为active segment对应的IPv6地址。

Segment端节点
带有SRH的IPv6数据包的目的地址如果与结点的地址一样,则该节点称为Segment端节点。

Segment端节点接收到一个带有SRH的数据包时的操作如下:
if “Des-address == self-address” then
— if “Segment Left > 0” then
—— Segment Left - 1 (next Segment become active)
—— update Des-address to active SID (IPv6 address)
—— if “Segment Left ==0” then
——— if “C-flag == 1” then
———— remove SRH
——— endif
—— else
——— process next header
—— endif
— endif
endif

avtive Segment是Segment Left指向的Segment List中的Segment。Active Segment也被设置为数据包的目的地址。在每个Segment端节点处,通过在Segment List中找到的下一个active Segment来更新目的地址。

中转结点
中转结点是数据包路径上的一个结点,但不是Segment端节点。IPv6规范规定中转结点必须将数据包转发到其IPv6目的地址,且不改动SRH。中转结点不需要支持SRv6来转发数据包。

插入SRH与压入IPv6报头
SRv6允许多种操作模式:

在数据包的源结点插入SRH。
在SR域入口结点插入SRH。
在SR域入口结点压入新的带有SRH的外部IPv6报头 (即将带有SRH的IPv6报头封装在数据包之前)。
书中提供了这三种情形的例子,具体见P525,这里不多阐述。需要注意的是,第一种情况,SRH中的C-flag可以置为0或1,而第二种情况,C-flag必须为1,即到达最后一个Segment前必须将SRH刨除,而最后一种情况C-flag必须为0。