CN108667754A - 支持网络控制的内容分发网络中的交换机 - Google Patents
支持网络控制的内容分发网络中的交换机 Download PDFInfo
- Publication number
- CN108667754A CN108667754A CN201810291642.XA CN201810291642A CN108667754A CN 108667754 A CN108667754 A CN 108667754A CN 201810291642 A CN201810291642 A CN 201810291642A CN 108667754 A CN108667754 A CN 108667754A
- Authority
- CN
- China
- Prior art keywords
- routing table
- content
- request
- interchanger
- layers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种支持网络控制的内容分发网络中的交换机,所述内容分发网络中还包括用户端、内容节点以及控制器,所述交换机用于捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2‑L7层信息,根据所述L2‑L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点;接收所述控制器下发的路由表管理指令,根据所述路由表管理指令对所述本地存储的路由表进行管理。本发明实施例的交换机够识别七层信息,可以捕获并解析http请求和DNS请求,并根据内容路由表处理http及DNS请求,增加了内容层面的调度能力,使OpenvSwitch更有效得运用于CDN网络。
Description
技术领域
本发明涉及内容分发网络技术领域,更具体地,涉及支持网络控制的内容分发网络中的交换机。
背景技术
OpenvSwitch是一种支持OpenFlow协议的多层虚拟交换机,旨在通过编程扩展,使庞大的网络自动化配置、管理和维护。OpenvSwitch是XenServer、Xen Cloud Platform中默认的虚拟交换机,同时支持Xen、KVM、Proxmox VE和VirtualBox等多种虚拟化平台。OpenvSwitch主要由三大模块构成:内核模块OpenvSwitch.ko、用户空间守护进程模块ovs-vswitchd以及轻量级的数据库服务器模块ovsdb-server。
传统的交换机只能识别2层信息,根据目的MAC选择需要转发的端口,而新型的七层交换机可以通过识别、分析应用层信息,根据应用类型而非仅仅根据IP和端口号做出更智能的决定。七层交换机主要用于信息安全领域及负载均衡设备。
OpenvSwitch的不足在于它不能识别七层信息,因此不能提供内容层面的调度,这样就存在网络运营商无法为不同的应用提供差异化的服务。另外,七层交换机更多的被用于负载均衡,但是七层交换机不支持集中控制,不能根据负载状况从全局角度出发生成最优的调度策略,同时,七层交换机不能提供完善的用户行为及缓存状态统计信息,不具备可编程性、拓展性差。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的支持网络控制的内容分发网络中的交换机。
根据本发明的一个方面,提供一种支持网络控制的内容分发网络中的交换机,所述内容分发网络中还包括用户端、内容节点以及控制器,所述交换机用于:
捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2-L7层信息,根据所述L2-L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点;
接收所述控制器下发的路由表管理指令,根据所述路由表管理指令对所述本地存储的路由表进行管理。
优选地,所述内容请求的类型包括http请求和DNS请求;相应地,所述将所述内容请求重定向到拥有该内容资源的内容节点的步骤包括:
对http请求构造重定向报文,以将http流重定向到内容节点,或者
对DNS请求构造DNS反馈报文并回复客户端,以将客户端的流量导向到内容节点。
优选地,所述捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2-L7层信息的步骤,具体包括:
捕获用户端发送的请求的类型;
若所述请求的类型为http请求,读取并解析所述http请求的每一行信息,直至获取该http请求中的URL、Host及User Agent字段;
当所述请求的类型为DNS请求时,提取所述DNS请求需要查询的域名。
优选地,所述本地存储的路由表包含若干个哈希桶,每个哈希桶以请求的URL的哈希值为key值,每个哈希桶中含有哈希值相同的若干个表项;
对于任意一个表项,该表项由Entry条目和动作列表组成,所述Entry条目为L2-L4层信息、L7层信息中的URI、Host、User Agent字段或域名的哈希值。
优选地,所述根据所述L2-L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点的步骤,具体包括:
对所述L2-L7层信息进行哈希运算,获得对应的哈希值;
在所述本地存储的路由表中查询所述哈希值;
若所述路由表中存在与该哈希值对应的动作列表,则根据命中的动作列表将所述内容请求重定向到拥有该内容资源的内容节点,其中所述动作列表中记录有拥有该内容资源的内容节点的IP地址。
优选地,所述交换机还用于:
若所述路由表中不存在与该哈希值对应的动作列表,则将所述请求上报至控制器。
优选地,所述路由表管理指令的类型具体包括:对路由表进行添加、删除和查询表项;
相应地,所述根据所述路由表管理指令对所述本地存储的路由表进行管理的步骤,包括:
当接收对所述路由表进行添加表项的路由表管理指令时,检查待添加表项的正确性,然后遍历路由表,若路由表中没有重复的表项,则在路由表中添加该表项;
当接收对所述路由表进行删除表项的路由表管理指令时,检查待添加表项的正确性,然后遍历路由表,若路由表中存在该表项,则对该表项进行删除;
当接收到查询表项的路由表管理指令,且指令中的筛选条件不为空时,向控制器返回符合筛选条件的表项。
根据本发明的另一个方面,还提供一种内容分发网络中的交换机,所述交换机包括:
请求信息提取模块,用于接收并解析请求,提取所述请求中的L2-L7层信息;
路由表查询模块,用于在所述路由表中查询与所述L2-L7层信息对应的表项;
路由表动作执行模块,用于根据所述对应的表项,将所述内容请求重定向到拥有该内容资源的内容节点;
路由表管理模块,用于根据所述控制器下发的路由表管理指令,对所述本地存储的路由表进行管理。
优选地,所述的交换机还包括:
路由表模块,用于存储路由表,所述路由表包含若干个哈希桶,每个哈希桶以URL的哈希值为key值,每个哈希桶中含有哈希值相同的若干个哈希表项,并采用环形链表的组织形式;
每一个表项内容包括Entry条目和动作列表,所述Entry条目为L2-L4层信息、L7层信息中的URI、Host、User Agent字段或域名的哈希值。
优选地,所述的交换机还包括:
代理模块,用于与所述控制器连接,并接收所述控制器下发的所述路由表管理指令。
本发明实施例提出的交换机用于捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2-L7层信息,根据所述L2-L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点;接收所述控制器下发的路由表管理指令,根据所述路由表管理指令对所述本地存储的路由表进行管理。本发明实施例的交换机够识别七层信息,可以捕获并解析http请求和DNS请求,并根据内容路由表处理http及DNS请求,增加了内容层面的调度能力,使OpenvSwitch更有效得运用于CDN网络。
附图说明
图1为根据本发明实施例的内容分发网络***的***架构图;
图2为根据本发明实施例的路由表组织形式示意图;
图3为根据本发明实施例的路由表表项示意图;
图4为根据本发明实施例的交换机的功能模块图;
图5为根据本发明实施例的内容分发网络***的交互示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
应当理解,本发明实施例的内容分发网络***,内容节点可以为客户端提供客户端所需要的内容资源,交换节点可以向客户端提供具有其所需要内容资源的内容节点,而控制器可以向交换节点和内容节点下发相应的内容路由策略和内容资源管理策略,可以理解的是,内容路由策略即确定了当消息到达内容分发网络***中的各执行模块(例如内容节点和交换节点)时,执行模块的后续处理动作,而内容资源管理策略则表示各执行模块对于内容资源的管理策略,例如删除内容资源、添加内容资源、查询内容资源等等。
请参阅图1,图1示出了本发明实施例的内容分发网络的***架构图,如图所示,本发明实施例的内容分发网络***包括应用服务层、控制平面层以及数据平面层,其中应用服务层是进行网络服务自动化部署与运维执行者,用于提供应用服务,这些应用服务根据自身的业务逻辑,实现对数据平面的各设备的控制。应用服务层中,比较常见的例如包括Elastic CDN、Mobile CDN、Content-Aware TE以及APP等等。控制平面由北向接口、控制功能抽象层以及南向接口层组成,控制平面提供了对网络与内容的细粒度操作,应用服务的业务逻辑往往涉及复杂的北向接口组合调用以完成一系列自动化的数据平面控制,最终实现完整的网络服务提供。设备层是数据平面的具体承载者,包含能够支持使用控制平面南向接口协议与控制平面的承载实体——控制器进行交互,并根据控制平面下发的流表策略执行数据平面功能——数据交换、内容路由、内容存储与分发的数据平面节点。
在传统SDN解决方案的数据平面中,通常只包含一种类型必选节点——数据转发节点,其具体承载实体为SDN交换机,与传统SDN转发节点不同的是,本发明实施例的内容分发网络***中的交换机(也称之为交换节点)在具备支持控制平面分离的L2-L4层数据报文转发能力的同时,支持针对L7层的“转发”能力,即内容路由能力。交换节点支持使用控制平面面向内容资源控制的南向接口协议与控制平面承载实体交互,接收来自控制器的内容路由策略并记录于本地,当内容请求相关数据报文到达时,提取数据报文的L2-L7层信息并与记录于本地的内容路由策略匹配域L2-L7层信息进行匹配,当存在匹配的内容路由策略时,通过内容路由技术将内容请求转发至内容路由决策中指定的目的节点,后续数据报文(如TCP连接中的数据报文)根据L2-L4层转发策略进行转发。另一方面,数据平面还提供内容资源的存储及相关控制管理,以支持SDN可控的内容资源的分发与调度。本发明实施例中的L2-L4层信息包括:源MAC地址、目的MAC地址、源IP地址、目的IP地址、协议、源端口和目的端口,L7层信息包括URL、Host和User Agent。
在本发明实施例中,交换机用于:
捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2-L7层信息,根据所述L2-L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点;
接收所述控制器下发的路由表管理指令,根据所述路由表管理指令对所述本地存储的路由表进行管理。
需要说明的是,发送请求的源节点不局限于客户端,同样也可以是内容节点或其他见好就收在本发明实施例中,内容节点即提供内容的节点。比如,用户(可以理解为客户端)从一个视频网站(称作内容源或源站)获取一个视频时,直接从源站获取,但当网络比较拥堵时,用户体验会比较差,内容网络的解决方法是在网络边缘放置缓存服务器,即在网络边缘缓存视频网站的内容以反向代理视频站服务器。因为本发明实施例的内容分发网络是面向内容,所以这要求交换机在路由时必须支持对内容的识别。内容节点作用同服务器(实际上是个缓存服务器),交换节点作用同路由器。
OSI七层模型:是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放***互连参考模型,为开放式互连信息***提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
本发明实施例中,L2-L4层为数据链路层,包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、源端口、目的端口以及协议http或DNS;L7层为应用层,对于http请求来说,L7层消息是指Uri、Host、User Agent;对于DNS请求来说,L7层消息是指域名。
在上述实施例的基础上,所述内容请求的类型包括http请求和DNS请求;相应地,所述将所述内容请求重定向到拥有该内容资源的内容节点的步骤包括:
对http请求构造重定向报文,以将http流重定向到内容节点,或者
对DNS请求构造DNS反馈报文并回复客户端,以将客户端的流量导向到内容节点。
需要说明的是,本发明实施例的交换机与现有的七层内容交换机存在以下区别:
1、应用场景的不同:现有的七层交换机都是数据中心的负载均衡设备,在一个数据中心中,负载均衡设备通常直连多个服务器,根据各服务器的负载情况将请求定向到合适的服务器上;而本专利的七层交换机则应用于CDN场景中,连接多个数据中心,根据控制器的调度选择合适的内容节点来服务请求。
2、原理不同:现有的七层服务器周期性地查询所连服务器的负载均衡情况,当接收到请求时,选择一个负载最轻的服务器为请求提供服务;而本发明实施例的交换机采用302重定向和DNS响应返回合适服务节点的IP,用户接收到响应后再去指定服务节点获取内容。302重定向机制通常适用于大文件,DNS响应通常大小文件都适用。
在上述各实施例的基础上,所述捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2-L7层信息的步骤,具体包括:
捕获用户端发送的请求的类型;
若所述请求的类型为http请求,读取并解析所述http请求的每一行信息,直至获取该http请求中的URL、Host及User Agent字段;
当所述请求的类型为DNS请求时,提取所述DNS请求需要查询的域名。
需要说明的是,本发明实施例的交换机基于OpenvSwitch开发,当接收到请求后,对请求报文进行解析,原OpenvSwitch可以解析并获取L2-L4层信息,而L7层信息则通过解析http的头部,获取Uri、Host、User Agent信息;或解析DNS头部,获取域名。
在上述各实施例的基础上,所述本地存储的路由表包含若干个哈希桶,每个哈希桶以请求的URL的哈希值为key值,每个哈希桶中含有哈希值相同的若干个表项;
对于任意一个表项,该表项由Entry条目和动作列表组成,所述Entry条目为L2-L4层信息、L7层信息中的URI、Host、User Agent字段或域名的哈希值。
需要说明的,动作列表指对匹配了Entry条目的请求流执行一种或多种操作。表项通常是Entry条目+动作列表,也就是说,如果请求提取L2-L7层信息哈希运算后匹配了Entry条目,则执行Entry条目对应的动作列表规定的动作。
图2示出了本发明实施例的路由表组织形式示意图,如图所示,哈希表中含有若干个哈希桶(英文名称:bucket),每个哈希桶以URL的哈希值为key值,以哈希桶1为例,哈希桶1采用环形链表组织,具有表项(英文名称:item)1,表项2以及表项3,表项中的next是链表的指针,即下一个表项的地址,指示下一个表项的位置。表项3指回表项1。
图3示出了本发明实施例的路由表表项示意图,L2到l4的信息包括:源MAC地址、目的MAC地址、源IP地址、目的IP地址、协议、源端口、目的端口,表项中的七层信息存储的是URL、Host、User Agent的哈希值。本发明实施例中路由表的存储方式是以哈希值存储,使用哈希函数来进行哈希运算。
在上述各实施例的基础上,所述根据所述L2-L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点的步骤,具体包括:
对所述L2-L7层信息进行哈希运算,获得对应的哈希值;
在所述本地存储的路由表中查询所述哈希值;
若所述路由表中存在与该哈希值对应的动作列表,则根据命中的动作列表将所述内容请求重定向到拥有该内容资源的内容节点,其中所述动作列表中记录有拥有该内容资源的内容节点的IP地址。
需要说明的是,重定向目的节点IP在路由表中,路由表实际上要告诉请求下一跳的路径,所以肯定要有它接下来去的地方的地址。重定向用于将http请求导向到拥有该资源的内容节点,这样一来,用户就可以直接从邻近的内容节点下载资源,提升用户下载文件的速度。当客户端收到重定向报文后就会重定向到指定的目的节点下载资源。
在上述实施例的基础上,所述交换机还用于:
若所述路由表中不存在与该哈希值对应的动作列表,则将所述请求上报至控制器。需要说明的是,当请求的类型不属于http请求或DNS请求中的任意一种时,则根据OpenvSwitch协议的流表做相应的转发处理。需要说明的是,OpenvSwitch协议的流表属于SDN机制的一部分,只需要匹配L2-L4层信息。
在上述各实施例的基础上,所述路由表管理指令的类型具体包括:对路由表进行添加、删除和查询表项;
相应地,所述根据所述路由表管理指令对所述本地存储的路由表进行管理的步骤,包括:
当接收对所述路由表进行添加表项的路由表管理指令时,检查待添加表项的正确性,然后遍历路由表,若路由表中没有重复的表项,则在路由表中添加该表项;
当接收对所述路由表进行删除表项的路由表管理指令时,检查待添加表项的正确性,然后遍历路由表,若路由表中存在该表项,则对该表项进行删除;
当接收到查询表项的路由表管理指令,且指令中的筛选条件不为空时,向控制器返回符合筛选条件的表项。
图4示出了本发明实施例的一种内容分发网络中的交换机的功能框图,如图所示,交换机包括:
请求信息提取模块401,用于接收并解析请求,提取所述请求中的L2-L7层信息;
需要说明的是,本发明实施例中,L2-L4层为数据链路层,包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、源端口、目的端口以及协议http或DNS;L7层为应用层,对于http请求来说,L7层消息是指Uri、Host、User Agent;对于DNS请求来说,L7层消息是指域名,本发明实施例的交换机与现有技术中CDN网络中的交换机的不同在于实现了对L7层内容的识别。
路由表查询模块402,用于在所述路由表中查询与所述L2-L7层信息对应的表项;
路由表动作执行模块403,用于根据所述对应的表项,将所述内容请求重定向到拥有该内容资源的内容节点;
路由表管理模块404,用于根据所述控制器下发的路由表管理指令,对所述本地存储的路由表进行管理。
需要说明的是,本发明实施例的交换机从数据层面和控制层面实现了对请求的内容路由和路由控制。
在上述实施例的基础上,交换机还包括:
路由表模块,用于存储路由表,所述路由表包含若干个哈希桶,每个哈希桶以URL的哈希值为key值,每个哈希桶中含有哈希值相同的若干个哈希表项,并采用环形链表的组织形式;
每一个表项内容包括Entry条目和动作列表,所述Entry条目为L2-L4层信息、L7层信息中的URI、Host、User Agent字段或域名的哈希值。
在上述实施例的基础上,交换机还包括:
代理模块(也称作Agent模块),用于与所述控制器连接,并接收所述控制器下发的所述路由表管理指令。控制器通过代理模块来对路由表进行管理,即下达增、删、改、查的命令。
在上述各实施例的基础上,路由表查询模块具有用于:
对L2-L7层信息进行哈希运算,获得对应的哈希值,并在本地存储的路由表中查询哈希值,获得与该哈希值匹配的哈希桶;
从匹配的哈希桶中查找进一步匹配L2-L4层信息、URL哈希值、Host哈希值、UserAgent哈希值的表项,获取对应该表项的动作列表。
需要注意的是,若未命中表项则直接作为普通的二层交换机进行转发。
在上述各实施例的基础上,对http请求构造重定向报文的步骤,具体包括:提取路由表中重定向目的节点的IP地址(重定向目的节点IP在路由表中,路由表实际上要告诉请求下一跳的路径,所以肯定要有它接下来去的地方的地址,且该地址是由控制器通过Agent模块和路由表模块进行管理),构造302响应作为重定向报文。
需要说明的是,重定向用于将http请求导向到拥有该资源的内容节点,这样一来,用户就可以直接从邻近的内容节点下载资源,提升用户下载文件的速度。当客户端收到重定向报文后就会重定向到指定的目的节点下载资源。
对DNS请求构造DNS反馈报文的步骤,具体包括:获取用户查询的域名,如果路由表匹配命中,从路由表中提取目的节点的IP地址,将目的节点的IP地址封装到DNS响应中的回答字段。
上报控制器的步骤,具体包括:将L2-L7层信息进行封装,将封装后的数据包上传至控制器,由控制器指示下一步的动作。
图5示出了本发明实施例的内容分发网络***的交互示意图,本实施例中客户端、交换机(图中称之为交换节点)、内容节点、控制器以及内容源服务器的个数仅为示例,在实际应用时,上述各执行单元的数量可以为多个。
如图所示,客户端向交换节点1发出请求,交换节点1通过基于DNS解析的路由机制或HTTP重定向的路由方式向客户端返回存有请求内容的内容节点IP(设为内容节点1),客户端再向内容节点1发出请求,内容节点1通过基于HTTP反向代理的内容路由机制返回客户端请求的内容。具体来说,根据内容节点1是否缓存了请求内容,有如下几种情况:
若内容节点1有缓存,则内容节点1将内容返回给客户端。在此情况下,***的交互流程可参考图5中的①-②-⑤-⑥。
若内容节点1无缓存,且查询本地路由表有对应的路由信息,则内容节点1去相应内容节点获取内容(设为内容节点2),取到内容后,内容节点1在本地进行缓存,并同时返回客户端。在此情况下,***的交互流程可参考图5中的①-②-⑤-⑦-⑧-⑥;
若内容节点1无缓存,且查询本地路由表无对应的路由信息,则内容节点1直接去内容源网站获取内容,取到内容后,内容节点1在本地进行缓存,并同时返回客户端。在此情况下,***的交互流程可参考图5中的①-②-⑤-⑨-⑩-⑥。
由上述实施例可知,客户端向交换节点1发出请求,交换节点1还可以向客户端返回其他交换节点IP(设为交换节点2),此时客户端再向交换节点2发出请求,交换节点2通过基于DNS解析的路由机制或HTTP重定向的路由方式向客户端返回存有请求内容的内容节点IP(设为内容节点1),内容节点1再通过基于HTTP反向代理的内容路由机制返回客户端请求的内容。根据内容节点1有无缓存以及对应的路由信息,有3种情况,分别是:①-②-③-④-⑤-⑥、①-②-③-④-⑤-⑦-⑧-⑥和①-②-③-④-⑤-⑨-⑩-⑥。
如果交换节点1或交换节点2内均查找不到对应于请求的路由信息,则通知客户端回内容源网站获取内容,即和
在图5中的实施例中,控制器还对内容节点和交换节点进行配置,下发路由信息(如),进而调控内容流在网络中的传输路径和QoS。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种支持网络控制的内容分发网络中的交换机,所述内容分发网络中还包括用户端、内容节点以及控制器,其特征在于,所述交换机用于:
捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2-L7层信息,根据所述L2-L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点;
接收所述控制器下发的路由表管理指令,根据所述路由表管理指令对所述本地存储的路由表进行管理。
2.如权利要求1所述的交换机,其特征在于,所述内容请求的类型包括http请求和DNS请求;相应地,所述将所述内容请求重定向到拥有该内容资源的内容节点的步骤包括:
对http请求构造重定向报文,以将http流重定向到内容节点,或者
对DNS请求构造DNS反馈报文并回复客户端,以将客户端的流量导向到内容节点。
3.如权利要求1或2所述的交换机,其特征在于,所述捕获并解析所述用户端发送的请求内容资源的请求,提取所述内容请求的L2-L7层信息的步骤,具体包括:
捕获用户端发送的请求的类型;
若所述请求的类型为http请求,读取并解析所述http请求的每一行信息,直至获取该http请求中的URL、Host及User Agent字段;
当所述请求的类型为DNS请求时,提取所述DNS请求需要查询的域名。
4.如权利要求3所述的交换机,其特征在于,所述本地存储的路由表包含若干个哈希桶,每个哈希桶以请求的URL的哈希值为key值,每个哈希桶中含有哈希值相同的若干个表项;
对于任意一个表项,该表项由Entry条目和动作列表组成,所述Entry条目为L2-L4层信息、L7层信息中的URI、Host、User Agent字段或域名的哈希值。
5.如权利要求4所述的交换机,其特征在于,所述根据所述L2-L7层信息以及本地存储的路由表,将所述内容请求重定向到拥有该内容资源的内容节点的步骤,具体包括:
对所述L2-L7层信息进行哈希运算,获得对应的哈希值;
在所述本地存储的路由表中查询所述哈希值;
若所述路由表中存在与该哈希值对应的动作列表,则根据命中的动作列表将所述内容请求重定向到拥有该内容资源的内容节点,其中所述动作列表中记录有拥有该内容资源的内容节点的IP地址。
6.如权利要求5所述的交换机,其特征在于,所述交换机还用于:
若所述路由表中不存在与该哈希值对应的动作列表,则将所述请求上报至控制器。
7.如权利要求4所述的交换机,其特征在于,所述路由表管理指令的类型具体包括:对路由表进行添加、删除和查询表项;
相应地,所述根据所述路由表管理指令对所述本地存储的路由表进行管理的步骤,包括:
当接收对所述路由表进行添加表项的路由表管理指令时,检查待添加表项的正确性,然后遍历路由表,若路由表中没有重复的表项,则在路由表中添加该表项;
当接收对所述路由表进行删除表项的路由表管理指令时,检查待添加表项的正确性,然后遍历路由表,若路由表中存在该表项,则对该表项进行删除;
当接收到查询表项的路由表管理指令,且指令中的筛选条件不为空时,向控制器返回符合筛选条件的表项。
8.一种支持网络控制的内容分发网络中的交换机,其特征在于,所述交换机包括:
请求信息提取模块,用于接收并解析请求,提取所述请求中的L2-L7层信息;
路由表查询模块,用于在所述路由表中查询与所述L2-L7层信息对应的表项;
路由表动作执行模块,用于根据所述对应的表项,将所述内容请求重定向到拥有该内容资源的内容节点;
路由表管理模块,用于根据所述控制器下发的路由表管理指令,对所述本地存储的路由表进行管理。
9.如权利要求8所述的交换机,其特征在于,还包括:
路由表模块,用于存储路由表,所述路由表包含若干个哈希桶,每个哈希桶以URL的哈希值为key值,每个哈希桶中含有哈希值相同的若干个哈希表项,并采用环形链表的组织形式;
每一个表项内容包括Entry条目和动作列表,所述Entry条目为L2-L4层信息、L7层信息中的URI、Host、User Agent字段或域名的哈希值。
10.如权利要求9所述的交换机,其特征在于,还包括:
代理模块,用于与所述控制器连接,并接收所述控制器下发的所述路由表管理指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810291642.XA CN108667754A (zh) | 2018-03-30 | 2018-03-30 | 支持网络控制的内容分发网络中的交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810291642.XA CN108667754A (zh) | 2018-03-30 | 2018-03-30 | 支持网络控制的内容分发网络中的交换机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108667754A true CN108667754A (zh) | 2018-10-16 |
Family
ID=63783008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810291642.XA Pending CN108667754A (zh) | 2018-03-30 | 2018-03-30 | 支持网络控制的内容分发网络中的交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108667754A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445719A (zh) * | 2019-07-16 | 2019-11-12 | 中国第一汽车股份有限公司 | 一种路由表管理方法、装置、设备和存储介质 |
CN111813499A (zh) * | 2020-07-08 | 2020-10-23 | 赛特斯信息科技股份有限公司 | 针对容器网络实现策略校验的方法及其应用*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
US20140188885A1 (en) * | 2012-12-27 | 2014-07-03 | Broadcom Corporation | Utilization and Power Efficient Hashing |
CN104158763A (zh) * | 2014-08-29 | 2014-11-19 | 重庆大学 | 一种基于软件定义的内容中心网络架构 |
CN106888270A (zh) * | 2017-03-30 | 2017-06-23 | 网宿科技股份有限公司 | 回源选路调度的方法和*** |
-
2018
- 2018-03-30 CN CN201810291642.XA patent/CN108667754A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188885A1 (en) * | 2012-12-27 | 2014-07-03 | Broadcom Corporation | Utilization and Power Efficient Hashing |
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
CN104158763A (zh) * | 2014-08-29 | 2014-11-19 | 重庆大学 | 一种基于软件定义的内容中心网络架构 |
CN106888270A (zh) * | 2017-03-30 | 2017-06-23 | 网宿科技股份有限公司 | 回源选路调度的方法和*** |
Non-Patent Citations (1)
Title |
---|
刘春佳: ""软件定义网络介绍"", 《科研信息化技术与应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445719A (zh) * | 2019-07-16 | 2019-11-12 | 中国第一汽车股份有限公司 | 一种路由表管理方法、装置、设备和存储介质 |
CN110445719B (zh) * | 2019-07-16 | 2021-08-17 | 中国第一汽车股份有限公司 | 一种路由表管理方法、装置、设备和存储介质 |
CN111813499A (zh) * | 2020-07-08 | 2020-10-23 | 赛特斯信息科技股份有限公司 | 针对容器网络实现策略校验的方法及其应用*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | ECCN: Orchestration of edge-centric computing and content-centric networking in the 5G radio access network | |
US10728176B2 (en) | Ruled-based network traffic interception and distribution scheme | |
CN1875585B (zh) | 利用mac限制来控制动态未知l2泛滥的方法和*** | |
CN106416147B (zh) | 一种用于软件定义协议网络节点的***和方法 | |
US20090259736A1 (en) | Label-based target host configuration for a server load balancer | |
US20080177896A1 (en) | Service insertion architecture | |
US20030099237A1 (en) | Wide-area content-based routing architecture | |
CN104486402B (zh) | 一种基于大型网站组合均衡的方法 | |
CN109937401A (zh) | 经由业务旁路进行的负载均衡虚拟机的实时迁移 | |
CN110392108A (zh) | 一种公有云网络负载均衡***架构及实现方法 | |
CN107005584A (zh) | 内联服务交换机 | |
Li et al. | Advancing software-defined service-centric networking toward in-network intelligence | |
CN106797384A (zh) | 以不同的协议将请求路由到集群中的相同端点 | |
CN108769097A (zh) | 支持网络控制的内容分发网络*** | |
CN108667754A (zh) | 支持网络控制的内容分发网络中的交换机 | |
CN105281987B (zh) | 路由器及数据上传方法、装置、*** | |
Dimolianis et al. | Mitigation of multi-vector network attacks via orchestration of distributed rule placement | |
Wang et al. | Low-latency service chaining with predefined NSH-based multipath across multiple datacenters | |
CN115412482B (zh) | 算力路由方法、装置、电子设备和存储介质 | |
Bifulco et al. | CATENAE: A scalable service function chaining system for legacy mobile networks | |
Nascimento et al. | Evaluation of cache for bandwidth optimization in ICN through software-defined networks | |
Adeppady et al. | ONVM-5G: a framework for realization of 5G core in a box using DPDK | |
TWI644536B (zh) | User group-based process item management system and method thereof for SDN network | |
Zharfan et al. | Comparison of Caching Replacement Policies in Changing the Number of Interest Packets on Named Data Networks Using Mininet-NDN | |
Atienza et al. | A framework for performance analysis of various load balancing techniques in a software-defined networking environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181016 |
|
RJ01 | Rejection of invention patent application after publication |