Traffic Steering for Service Function Chaining
Introduction
- 目前通过vlan标签来把流量引向对应的sfc
- 以前的sfc静态(SFs相邻组成SFC),有了sdn之后具有动态性。(SFs不需要彼此相邻。将流量动态地导向所需的SFs。)
- 流量转向方法的分类分为三类:
- 基于包标头
- 基于包标记
- 基于个性化的SDN交换机。
SFC介绍
- SFC定义为三层架构;一个数据平面,一个SFC覆盖层,和一个控制平面。
- 第一层:互联的网络设备。(硬件)
- 第二层:SFC元素,比如,业务分类器(CL)、服务功能转发器(SFF)和SFs。应该由软件实现,配置在通用硬件上。实现了灵活性。可以部署在任何的硬件上,任意的组成SFC。
- 第三层:负责管理一层和二层。
- SFC工作流程:
控制平面配置流量分类器、计算Service Function Paths (SFP),配置好的流量分类器对流量过滤并识别出对应的SFC,转发给SFF(Service Function Forwarder),通过SFF发送给SFs。
- SFs之间通过隧道技术连接。
NFV介绍
- NFV框架由三个核心组件组成:
- 虚拟网络功能(VNF)
- 网络功能虚拟化基础设施(NFVI)
- 管理和编制架构框架(NFV- MANO)
- VNFs是网络功能的软件设备,将部署在NFVI中。NFVI由VNFs内置的环境组成,包括硬件和软件系统。这个环境是由NFV-MANO管理和安排的。
SFC中的流量导向问题
- 顾名思义,流量的指挥官,一般放在CL和SFF中。
- 流量转向方法的分类分为三类:
- 基于包标头
- 基于包标记
- 基于个性化的SDN交换机
the first is based on packet headers for traffic steering,
the second is based on specific tags or re-interpreting some packet fields,
the third is based on personalized switching functionalities and daemons
- SFC的转发或流量导向包括以下操作:分类、识别、路由,有时还包括封装。
- 分类:分类过程允许根据策略配置文件,过滤流量。
- 识别:避免重复的执行分类,其他的SFC元素根据分类结果来进行识别。
- 路由:SFs之间的隧道技术。路由操作就是选择SFP中的下一个SFC元素。
- 两种封装:
- 传输封装:用于SFs之间的隧道。
- SFC封装:数据包中封装有关SFP的路径信息。
基于包头的流量导向方法
- NSH:SFC中的一个转发协议,CL在数据包上加入NSH头部来标识流量路径并共享元数据。
- SCH:与NSH类似,SCH包含两种类型的字段,一个强制字段和一个可选字段。对于强制字段,代表流量的标识符,SFF和SF用它来进行流量导向。可选字段用于区分不同的元数据。
- IPv6扩展:扩展IPv6头部来进行流量导向。
- SRH:对SFP进行编码。SFC元素的IPv6地址写在报头。因此,CL插入相应的报头,SFFs根据报头中编码的IP地址来控制流量。
- IP协议扩展:ip头部用一个标识符来代表路径。
缺点:这么多方法,很难具有普遍性。而且怎加包头也会增加开销。
基于包标记的流量导向方法
- 原理就是使用现有字段。
- 基于MAC地址
- 基于Vlan标签
- 基于MPLS标签
缺点:原来的字段可能用于其他策略,假如被修改什么的可能会导致错误的导向。
基于可编程交换机方法
- 用SDN交换机充当CL和SFF,有了流表机制,流量导向更加灵活。
缺点:规则数量的增加影响了交换机的内存、处理和总体交换机性能,从而增加了包的交付时间。
Never forget your original intention
Traffic Steering for Service Function Chaining的更多相关文章
- 服务链(Service Chaining,or Service Function Chaining,SFC,功能服务链)
Software-configured service chaining provides the capability to dynamically include best-of-b ...
- Service Function Chaining Resource Allocation: A Survey
摘要: 服务功能链(SFC)是未来Internet的一项关键技术. 它旨在克服当前部署模型的僵化和静态限制. 该技术的应用依赖于可以将SFC最佳映射到衬底网络的算法. 这类算法称为"服务功能 ...
- [1-2] Dependence-Aware Service Function Chain Design and Mapping
文献名称:Dependence-Aware Service Function Chain Design and Mapping 文献类型(期刊.硕论.博论):会议:Globecom 发表年份:2017 ...
- NFV论文集(三)综述
一 文章名称:Dependability of the NFV Orchestrator: State of the Art and Research Challenges 发表时间:2018 期刊来 ...
- NFV论文集(二)
一 文章名称:VNF Placement with Replication for Load Balancing in NFV Networks 发表时间:2017 期刊来源:ICC: IEEE In ...
- OpenStack 业务链networking-sfc介绍 (1) - 概述
原文链接:https://blog.csdn.net/bc_vnetwork/article/details/65630355 1. Service Function Chain概述 Neutron ...
- Lithium中关键特性更新
Lithium中关键特性更新 1. Lithium特性更新概述 Lithium相对于Helium更新特性共27项,其中原有特性提升或增强13项,新增特性14项,如下表所示 特性类型 相对于Helium ...
- 基于组的策略(GBP)开启新型网络设计时代
在传统物理网络环境下,划分VLAN,分配网段,设置路由是个网工应该熟悉的内容.在SDN环境下,比如neutron虚拟网络,我们用API创建网络,子网,虚拟路由器,负载均衡和防火墙,这些还是太网络化了. ...
- ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo
在网络通信过程中,包含各式各样的网络服务功能.既可以包含传统的像防火墙,NAT等功能,也有包含特定的网络应用功能(Service Function).将特定的网络应用功能有序地组合起来,接着让流量通过 ...
随机推荐
- echarts 地图 免费离线js,json包分享
最近,项目中需要用到地图,由于项目的特殊性,只能使用内网获取数据. 然而,echarts官网上的离线地图包(http://echarts.baidu.com/download-map.html)早在一 ...
- daterangepicker的个性化使用技巧
由于该模板不自动将时间戳添加到input中去,始终为NaN,所以,自己选取起始时间与截止时间 var startTime =new Date(new Date().toLocaleDateString ...
- 使用tp3.2和mbUploadify.js上传图片的代码,记录一下
HTML: <div class="form-group"> <label class="col-sm-1 control-label no-paddi ...
- LVM实操
说明 以下所有操作都基于centos6.9 什么是LVM LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬 ...
- ARM开发---Keil注册+JLink维修详解
在ARM开发中,经常使用的开发环境就是Keil uVision集成开发环境+JLink仿真器,本文就是就是介绍.总结使用该开发环境中遇到的问题,并在问题后方附上亲测可行的解决方法.如果各位看官在开发过 ...
- 接口与协议学习笔记-Ethernet UDP通信协议(一)
总线(BUS,即公共汽车,数据的公共传输路线)分类的方式有很多,如被分为外部和内部总线.系统总线和非系统总线等等,下面是几种最常用的分类方法.另外,总线的传输核心思想是多路复用:时分多路复用-TDMA ...
- C++与C#的多态
C++ 多态 多态按字面的意思就是多种形态.当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态. C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数. 下面的实例 ...
- 20155231 实验二 Java面向对象程序设计
20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...
- Postgresql 远程连接配置
原文地址:http://blog.chinaunix.net/uid-20684384-id-1895247.html 1. 设置远程访问认证机制 编辑 $POSTGRES/data/pg_hba.c ...
- C# JSON和对象之间互相转换
1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数 Address ...