用于实现服务链的方法和装置制造方法及图纸

技术编号:12386284 阅读:48 留言:0更新日期:2015-11-25 18:34
公开了一种用于实现服务链的方法、相应装置和SDN控制器,该方法包括:修改步骤,响应于接收到属于服务链的包并且要将该包发送到该服务链中下一跳的交换机,将该包的原始目标MAC地址修改为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始源MAC地址修改为编码有该包的状态信息的编码数据;以及恢复步骤,响应于要将该包发送到该服务链中当前跳的中间盒,将该包的修改后的目标MAC地址恢复为该包的原始目标MAC地址,并将该包的修改后的源MAC地址恢复为该包的原始源MAC地址。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体涉及基于SDN(SoftwareDefinedNetworking,软件定义网络)的服务链(servicechaining),更具体涉及一种用于实现服务链的方法和装置
技术介绍
近年来,随着云计算的日益普及,云安全特别是网络安全成为一个十分突出的问题。人们付出越来越多的努力利用新兴技术来提供云网络中的动态和灵活的安全功能。一个典型的例子是使用基于SDN的服务链动态地提供虚拟网络安全服务。SDN是一种新兴的计算机网络技术,其将做出关于将通信流发送到哪儿的决策的系统(称为控制面)与将通信流转发到选定目标的底层系统(称为数据面)解耦。控制面通常包括SDN控制器,而数据面通常包括一组互连的交换机。控制面使用例如OpenFlow等通信机制与数据面进行通信。服务链是指一组服务构成的链,即一组服务的有序集合。这些服务可称为中间盒(middlebox),其可执行对通信流的转换、检查、过滤等各种操作,从而可提供例如防火墙等网络安全功能。中间盒通常通过一组交换机相互物理连接。服务链提供了受限制的点到点的转发服务,其中从特定源到特定目标的通信流必须以给定顺序经过由一组给定中间盒构成的第二层(L2)路径。基于SDN的服务链技术面临如下几个挑战:中间盒可以位于网络中的任何位置,甚至可以动态迁移;中间盒难以被寻址,因为很多中间盒表现得像黑洞,对于任何侦听、探测都不会进行响应;传统的第二层(以太网)转发是无状态的,其转发仅根据目标MAC地址,因此,例如在中间盒A和B都没有MAC地址的情况下,很难知道应当在访问A之后访问B。目前存在着基于SDN的服务链的实现方案,例如使用CiscovPath封装的CiscoNexus1000v等。但这些方案存在几个缺点,包括:中间盒接收的数据包并非原始的数据包,因此需要特殊的中间盒硬件或软件;无法解决不支持MAC地址的中间盒的处理问题;一个交换机上挂载多个中间盒时可能出现的重入问题;使用私有协议;性能不足;最大传输单元(MTU)过大等。因此,本领域中需要一种改进的基于SDN的服务链的实现方案。
技术实现思路
在本专利技术的一个方面,提供了一种用于实现服务链的方法,包括:修改步骤,响应于接收到属于服务链的包并且要将该包发送到该服务链中下一跳的交换机,将该包的原始目标MAC地址修改为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始源MAC地址修改为编码有该包的状态信息的编码数据;以及恢复步骤,响应于要将该包发送到该服务链中当前跳的中间盒,将该包的修改后的目标MAC地址恢复为该包的原始目标MAC地址,并将该包的修改后的源MAC地址恢复为该包的原始源MAC地址。在本专利技术的另一个方面,提供了一种用于实现服务链的方法,包括:响应于在交换机处接收到包,根据该包的源MAC地址、目标MAC地址和接收端口在转发表中查找匹配的规则,其中,转发表中的规则指定了包的源MAC地址、目标MAC地址和接收端口与将对包的源MAC地址和目标MAC地址执行的修改或恢复操作和包的转发端口之间的映射;响应于在转发表中找到匹配的规则,对该包的源MAC地址和目标MAC地址执行匹配的规则中指定的修改或恢复操作,并通过匹配的规则中指定的转发端口转发该包,其中,所述修改操作包括:将该包的原始目标MAC地址修改为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始源MAC地址修改为编码有该包的状态信息的编码数据;并且其中,所述恢复操作包括:将该包的修改后的目标MAC地址恢复为该包的原始目标MAC地址,并将该包的修改后的源MAC地址恢复为该包的原始源MAC地址。在本专利技术的又一个方面,提供了一种用于实现服务链的装置,包括:修改装置,被配置为响应于接收到属于服务链的包并且要将该包发送到该服务链中下一跳的交换机,将该包的原始目标MAC地址修改为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始源MAC地址修改为编码有该包的状态信息的编码数据;以及恢复装置,被配置为响应于要将该包发送到该服务链中当前跳的中间盒,将该包的修改后的目标MAC地址恢复为该包的原始目标MAC地址,并将该包的修改后的源MAC地址恢复为该包的原始源MAC地址。在本专利技术的再一个方面,提供了一种用于实现服务链的装置,包括:被配置为响应于在交换机处接收到包,根据该包的源MAC地址、目标MAC地址和接收端口在转发表中查找匹配的规则的装置,其中,转发表中的规则指定了包的源MAC地址、目标MAC地址和接收端口与将对包的源MAC地址和目标MAC地址执行的修改或恢复操作和包的转发端口之间的映射;被配置为响应于在转发表中找到匹配的规则,对该包的源MAC地址和目标MAC地址执行匹配的规则中指定的修改或恢复操作,并通过匹配的规则中指定的转发端口转发该包的装置,其中,所述修改操作包括:将该包的原始目标MAC地址修改为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始源MAC地址修改为编码有该包的状态信息的编码数据;并且其中,所述恢复操作包括:将该包的修改后的目标MAC地址恢复为该包的原始目标MAC地址,并将该包的修改后的源MAC地址恢复为该包的原始源MAC地址。在本专利技术的还一个方面,提供了一种SDN控制器,包括:中间盒管理器,被配置为管理中间盒及其伪MAC地址;服务链管理器,被配置为通过维护服务链表管理服务链,所述服务链表包含服务链标识与服务链的中间盒列表之间的映射;会话管理器,被配置为通过维护会话表管理会话,所述会话表包含会话标识、服务链标识、包的原始目标MAC地址、原始源目标MAC地址之间的映射;包处理模块,被配置为:响应于从交换机接收到包,根据该包的源MAC地址和目标MAC地址以及所述会话表和服务链表确定包所属的服务链和会话以及包当前在服务链中的位置,从而确定将对包的源MAC地址和目标MAC地址执行的修改或恢复操作以及包的转发端口,并形成包含包的源MAC地址、目标MAC地址、接收端口与将对包的源MAC地址和目标MAC地址执行的修改或恢复操作和转发端口之间的映射的规则;对包的源MAC地址和目标MAC地址执行所确定的修改或恢复操作,并通过所确定的转发端口转发该包;将所形成的规则发送到交换机,以便由交换机存储到转发表中,以用于对后续包的处理和转发,其中,所述修改操作包括:将该包的原始目标MAC地址修改为该服务链中下一跳的中间盒的指定M本文档来自技高网
...
用于实现服务链的方法和装置

【技术保护点】
一种用于实现服务链的方法,包括:修改步骤,响应于接收到属于服务链的包并且要将该包发送到该服务链中下一跳的交换机,将该包的原始目标MAC地址修改为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始源MAC地址修改为编码有该包的状态信息的编码数据;以及恢复步骤,响应于要将该包发送到该服务链中当前跳的中间盒,将该包的修改后的目标MAC地址恢复为该包的原始目标MAC地址,并将该包的修改后的源MAC地址恢复为该包的原始源MAC地址。

【技术特征摘要】
1.一种用于实现服务链的方法,包括:
修改步骤,响应于接收到属于服务链的包并且要将该包发送
到该服务链中下一跳的交换机,将该包的原始目标MAC地址修改
为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始
源MAC地址修改为编码有该包的状态信息的编码数据;以及
恢复步骤,响应于要将该包发送到该服务链中当前跳的中间
盒,将该包的修改后的目标MAC地址恢复为该包的原始目标
MAC地址,并将该包的修改后的源MAC地址恢复为该包的原始
源MAC地址。
2.根据权利要求1的方法,其中,所述包的状态信息包括包
所属的会话的标识以及包当前在服务链中所处的位置,且所述编
码数据还包括编码数据指示器。
3.一种用于实现服务链的方法,包括:
响应于在交换机处接收到包,根据该包的源MAC地址、目
标MAC地址和接收端口在转发表中查找匹配的规则,其中,转发
表中的规则指定了包的源MAC地址、目标MAC地址和接收端口
与将对包的源MAC地址和目标MAC地址执行的修改或恢复操作
和包的转发端口之间的映射;
响应于在转发表中找到匹配的规则,对该包的源MAC地址和
目标MAC地址执行匹配的规则中指定的修改或恢复操作,并通过
匹配的规则中指定的转发端口转发该包,
其中,所述修改操作包括:将该包的原始目标MAC地址修改
为该服务链中下一跳的中间盒的指定MAC地址,并将该包的原始
源MAC地址修改为编码有该包的状态信息的编码数据;并且
其中,所述恢复操作包括:将该包的修改后的目标MAC地址
恢复为该包的原始目标MAC地址,并将该包的修改后的源MAC

\t地址恢复为该包的原始源MAC地址。
4.根据权利要求3的方法,其中,所述包的状态信息包括包
所属的会话的标识以及包当前在服务链中所处的位置,且所述编
码数据还包括编码数据指示器。
5.根据权利要求4的方法,还包括:
响应于在转发表中没有找到匹配的规则,将该包发送到SDN
控制器;
在SDN控制器处,根据该包的源MAC地址和目标MAC地
址确定包所属的服务链和会话以及包当前在服务链中的位置,从
而确定将对包的源MAC地址和目标MAC地址执行的修改或恢复
操作以及包的转发端口,并形成包含包的源MAC地址、目标MAC
地址、接收端口与将对包的源MAC地址和目标MAC地址执行的
修改或恢复操作和转发端口之间的映射的规则;
对包的源MAC地址和目标MAC地址执行所确定的修改或恢
复操作,并通过所确定的转发端口转发该包;
将所形成的规则发送给交换机以便交换机存储到转发表中,
以用于对后续包的处理和转发。
6.根据权利要求5的方法,其中,所述在SDN控制器处根
据该包的源MAC地址和目标MAC地址确定包所属的服务链和会
话以及包当前在服务链中的位置包括:
响应于判断包的源MAC地址包括指示该源MAC地址为编码
数据的所述编码数据指示器,从编码数据中获得包所属的会话的
标识以及包当前在服务链中的位置,并根据所述会话的标识从
SDN控制器中维护的会话表中获得包所属的服务链的标识;
响应于判断包的源MAC地址不包括指示该源MAC地址为编
码数据的所述编码数据指示器,使用SDN控制器中维护的会话表
和服务链表来确定包所属的服务链和会话以及包当前在服务链中
的位置,
其中,所述会话表包含会话标识、服务链标识、包的原始目
标MAC地址、原始源目标MAC地址之间的映射,且所述服务链
表包含服务链标识和服务链的中间盒列表之间的映射。
7.根据权利要求6的方法,其中,
所述在SDN控制器处根据该包的源MAC地址和目标MAC
地址确定包所属的会话包括:确定该包为流中的第一个包,并创
建会话;
所述形成包含包的源MAC地址、目标MAC地址、接收端口
与将对包的源MAC地址和目标MAC地址执行的修改或恢复操作
和转发端口之间的映射的规则包括:形成包在服务链中通过所需
的全部规则;以及
所述将所形成的规则下载并存储到交换机的转发表中以用于
对后续包的处理和转发包括:将包在服务链中通过所需的全部规
则下载并存储到相应的交换机的转发表中以用于对后续包的处理
和转发。
8.一种用于实现服务链的装置,包括:
修改装置,被配置为响应于接收到属于服务链的包并且要将
该包发送到该服务链中下一跳的交换机,将该包的原始目标MAC
地址修改为该服务链中下一跳的中间盒的指定MAC地址,并将该
包的原始源MAC地址修改为编码有该包的状态信息的编码数据;
以及
恢复装置,被配置为响应于要将该包发送到该服务链中当前
跳的中间盒,将该包的修改后的目标MAC地址恢复为该包的原始
目标MAC地址,并将该包的修改后的源MAC地址恢复为该包的
原始源MAC地址。
9.根据权利要求8的装置,其中,所述包的状态信息包括包
所属的会话的标识以及包当前在服务链中所处的位置,且所述编
码数据还包括编码数据指示器。
10.一种用于实现服务链的装置,包括:
被配置为响应于在交换机处接收到包,根据该包的源MAC地
址、目标MAC地址和接收端口在转发表中查找匹配的规则的装
置,其中,转发表中的规则指定了包的源MAC地址、目标MAC
地址和接收端口与将对包的源MAC地址和目标MAC地址执行的
修改或恢复操作和包的转发端口之间的映射;
被配置为响应于在转发表中找到匹配的规则...

【专利技术属性】
技术研发人员:杨保华郑凯张跃刘天成
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1