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的更多相关文章

  1. 服务链(Service Chaining,or Service Function Chaining,SFC,功能服务链)

    Software-configured  service  chaining  provides  the  capability  to  dynamically include best-of-b ...

  2. Service Function Chaining Resource Allocation: A Survey

    摘要: 服务功能链(SFC)是未来Internet的一项关键技术. 它旨在克服当前部署模型的僵化和静态限制. 该技术的应用依赖于可以将SFC最佳映射到衬底网络的算法. 这类算法称为"服务功能 ...

  3. [1-2] Dependence-Aware Service Function Chain Design and Mapping

    文献名称:Dependence-Aware Service Function Chain Design and Mapping 文献类型(期刊.硕论.博论):会议:Globecom 发表年份:2017 ...

  4. NFV论文集(三)综述

    一 文章名称:Dependability of the NFV Orchestrator: State of the Art and Research Challenges 发表时间:2018 期刊来 ...

  5. NFV论文集(二)

    一 文章名称:VNF Placement with Replication for Load Balancing in NFV Networks 发表时间:2017 期刊来源:ICC: IEEE In ...

  6. OpenStack 业务链networking-sfc介绍 (1) - 概述

    原文链接:https://blog.csdn.net/bc_vnetwork/article/details/65630355 1.  Service Function Chain概述 Neutron ...

  7. Lithium中关键特性更新

    Lithium中关键特性更新 1. Lithium特性更新概述 Lithium相对于Helium更新特性共27项,其中原有特性提升或增强13项,新增特性14项,如下表所示 特性类型 相对于Helium ...

  8. 基于组的策略(GBP)开启新型网络设计时代

    在传统物理网络环境下,划分VLAN,分配网段,设置路由是个网工应该熟悉的内容.在SDN环境下,比如neutron虚拟网络,我们用API创建网络,子网,虚拟路由器,负载均衡和防火墙,这些还是太网络化了. ...

  9. ZZ:SDNLAB技术分享(一):ODL的SFC入门和Demo

    在网络通信过程中,包含各式各样的网络服务功能.既可以包含传统的像防火墙,NAT等功能,也有包含特定的网络应用功能(Service Function).将特定的网络应用功能有序地组合起来,接着让流量通过 ...

随机推荐

  1. 接口测试jemeter使用

    使用jemeter5时要先添加环境变量,需要有JDK1.8及以上版本支持.这里主要对接口测试做一些说明. 以上就是常见的设置问题.在window上我们通常是不需要改动配置文件的,如果要在生产上执行测试 ...

  2. 在docker中运行elasticsearch时go程序无法连接到节点

    错误信息: panic: no active connection found: no Elasticsearch node available 在docker中运行es时,默认启动sniffing  ...

  3. 批量复制windows文件夹下所有文件名

    第一步,打开文件夹 第二步,在该文件夹下新建一个txt文件,然后将“.txt”后缀名修改为“.bat” txt文件内容“DIR *.* /B >LIST.TXT” 第三步,双击“.bat”,直接 ...

  4. python实现文件夹的排序

    我的github地址. 代码: # -*- coding: utf-8 -*- __author__ = "YuDian" ''' v1.0: 2018/3/19 21:39 完成 ...

  5. postgres 输出数据集的自定义函数

    定义一个可输出数据集自定义函数有多种方法 1,先定义结构,再使用结构输出结果 CREATE TYPE compfoo AS (f1 int, f2 text); CREATE FUNCTION get ...

  6. 20155320 2016-2017-2《Java程序设计》第九周学习总结

    20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...

  7. 多级反馈序列c语言模拟实现

    多级反馈队列调度算法: 1.设置多个就绪队列,并给队列赋予不同的优先级数,第一个最高,依次递减. 2.赋予各个队列中进程执行时间片的大小,优先级越高的队列,时间片越小. 3.当一个新进程进入内存后,首 ...

  8. 20145207李祉昂《网络对抗技术》可选实验 shellcode注入与Return-to-libc攻击实验

    1.0 实践内容 Return-to-libc攻击是一种特殊的缓冲区溢出攻击,通常用于攻击有“栈不可执行”保护措施的目标系统.本实验中我们放弃了让漏洞程序执行堆栈中的shellcode,将用syste ...

  9. 什么是thinkphp

    ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验 ...

  10. 【转载】CPU阿甘

    原文:CPU阿甘  前言 上帝为你关闭了一扇门,就一定会为你打开一扇窗这句话来形容我最合适不过了.我是CPU, 他们都叫我阿甘, 因为我和<阿甘正传>里的阿甘一样,  有点傻里傻气的.上帝 ...