美文网首页
SDN中的服务链(SFC)闲聊

SDN中的服务链(SFC)闲聊

作者: 蝎子看互联网 | 来源:发表于2017-04-11 16:44 被阅读0次

在网络场景下,一个数据流通常需要通过多个网络服务设备,例如IDS/IPS,防火墙,LB,等,最终才能到达目的端。这就是服务链(SFC, Service Function Chain)最常用的场景。SFC对于传统硬件网络,或者SDN(什么?你还不知道SDN,那看看这吧SDN闲聊)都是很常见的。但是在传统网络中,SFC存在以下几个问题:

1. 受限于网络拓扑。你的网络服务设备能不能,怎么摆放很大程度上取决于你的网络拓扑。

2. SFC相对固定。一旦设备接好之后,不能轻易改动,改动涉及到重新布线。并且所有的数据流都必须流经固定的Chain。比如说防火墙部署好之后,如果只想让首包过防火墙,其他的包直接进入数据中心。这在传统网络中不太可能,一般情况下,所有的包都会流经防火墙设备。

3. 扩容较为麻烦,已有的拓扑在扩容的时候必须考虑如何不影响现有业务。

如果是基于SDN,那问题都将迎刃而解。SDN的灵活性,能使SFC的作用得到更大的发挥。

之前的文章里说过的,SDN主要提供的服务可以分为两类:

Networking Infrastructure:提供网络基础架构功能。或者说,提供SDN中各个终端设备(例如VM)的网络连通性功能。

Networking Service:提供网络服务功能。向SDN的用户提供网络服务(Networking As A Service),Load Balance,Firewall,QoS等等,都可以认为是网络服务功能。

SFC将会是实现Networking Service的一种很灵活的方式。由云服务运营商提供各种各样的Service Function,由SDN管理SFC,将Service Function加入到网络流量路径中,即能实现Networking Service(L4-L7)。

接下来看一下SFC里面的几个主要概念:

SFC Classifier: 识别网络流量,并将其分配到不同的SFC。Classifier可以运行在任意设备上,并且一条SFC中可以有多个Classifier,通常情况下,Classifier存在于SFC的头结点。SFC Classifier还将给网络流量包加上SFC识别符。具体的说,它会在网络包里加上一个SFC Header,也就是说它会改变包的结构。这个Header包含一个SFC的唯一识别ID。

SFI(Service Function Instance):一个Service Function的实例,可以是个进程,也可以就是一个server。最近很火的NFV也可以认为是一个SFI(2017-04-09纠正,SFI 对应的应该是NFV中的VNF概念)。

SFF(Service Function Forwarder):提供服务层的转发。SFF接收带有SFC Header的网络包,利用SFC Header,将网络包转发给相应的SFI。在某些场合,SFF也可以不基于SFC Header,例如基于五元组。

SF Proxy:任何不能理解SFC的设备,在SFC中都必须配合proxy使用。因为传统的SF设备没有SFC的概念,proxy将会把网络包中的SFC Header去掉,并把原始的数据包转发给传统的SF设备,当网络包处理完之后,proxy还将负责把SFC Header加回到网络包中,并发回到SFC中。

SFF与SFI的连接:

SFF可以是与SFI独立的设备,也可以是两者集成在一起。SFF与SFI的连接方式,可以是以下两种:

单臂模式(one-armed):在这种模式下,SFF将网络流量包转发给SFI,SFI处理完成之后再转发回给SFF,由同一个SFF发送回SFC。

串联模式(bump-in-the-wire):这种模式下,SFI处理完成之后,会将网络流量包转发给SFC中的下一个SFF。

综合看起来SFC的逻辑抽象如下图所示:

绿线和蓝线的路径分别是两个SFC,Classifier负责识别网络流量,并分发给不同的SFC,SFF负责将网络流量转发至SFI。为什么会有多个SFF?因为SFI可能连接在不同的交换设备上,每个交换设备可能都需要一个SFF做转发。图中SFI和SFF的连接都是one-armed模式。其实标题配图也能从逻辑上很好的说明SFC。

SFC Header

这个可以说是SFC的Magic所在了。SFC Header的意义是:在网络包遍历整个Chain时,携带的以供Service Function使用的的信息。 SFC Header可以是基于现有的网络协议中的Header,例如IPv4 header中的DSCP bits,或者是MPLS labels。据说IETF也正在制定为SFC专用的header,以期实现更多的功能。

SFC、SDN、NFV:

NFV就是将网络服务部署成VM,这样的虚机可以认为是一个SFI。SDN可以方便的将SFC需要的网络控制功能下发到Classifier,SFF和SFI。这三者是共同发展的,可以说SFC是一种实现Networking Service的标准方式,借助SDN和NFV能更好的实现SFC。尤其是在公有云场景中,用户对L4-L7服务的需求是多种多样的,如果都由SDN实现,将加大SDN的复杂性,借助NFV和SFC,能够更加灵活实现Networking Service。

OpenStack有一个专门的SFC项目,networking-sfc in Launchpad。以后有机会结合这个项目讲一些SFC更实际的东西。

相关文章

  • SDN中的服务链(SFC)闲聊

    在网络场景下,一个数据流通常需要通过多个网络服务设备,例如IDS/IPS,防火墙,LB,等,最终才能到达目的端。这...

  • SDN闲聊

    软件定义网络(Sofeware Define Networking,SDN)是近年来涌现的新兴网络技术。SDN的核...

  • SDN交换机产品介绍

    SDN交换机 产品背景 产品简介 SDN交换机基于公司SDN技术,创造性的简历了计算体系区块链架构,即无中心协同并...

  • 中国联通SDN/NFV的思考与实践

    编者按:2015中国SDN/NFV大会在北京召开,本次大会围绕SDN/NFV展开讨论,来自运营商、服务提供商等业界...

  • 百度SDN实践与思考

    编者按:2015中国SDN/NFV大会在北京召开,本次大会围绕SDN/NFV展开讨论,来自运营商、服务提供商等业界...

  • 基于SDN,NFV的服务感知网络架构下篇

    编者按:本篇文章是继《基于SDN,NFV的服务感知网络架构上篇》对DPI进行进一步的深入解析,分析了在SDN中可能...

  • 网络服务 - Neutron

    1.Neutron的简介: Neutron是openstack中负责提供网络服务的组件,基于软件定义网络(SDN)...

  • 从理论到实践,带你捋一遍当下最火的服务设计

    写在前面 2019年4月23、24日,全球服务设计联盟(SDN)联合桥中设计咨询公司(CBi)在沪举办了首届服务设...

  • svc的访问方式

    基于router设置策略路由,svc网关经router转发。 缺点 链路较长 基于sdn subnet lb 结合...

  • SDN概述:简介、工具、环境部署

    一、前言: 本文初步接触 SDN 的相关概念。需要依次完成下面几项任务: SDN 简介 SDN 工具 SDN 环境...

网友评论

      本文标题:SDN中的服务链(SFC)闲聊

      本文链接:https://www.haomeiwen.com/subject/isduattx.html