一种转发表项创建方法及BRAS与流程

文档序号:17845128发布日期:2019-06-11 21:38阅读:288来源:国知局
一种转发表项创建方法及BRAS与流程

本申请涉及通信技术领域,特别是涉及一种转发表项创建方法及bras(broadbandremoteaccessserver,宽带远程接入服务器)。



背景技术:

iptv(交互式网络电视)是利用宽带网络向家庭用户提供包括数字电视在内的多种交互式服务的技术,因此,宽带网络是iptv业务实现的基础,其中,宽带接入的设备是bras。bras支持用户管理功能以及对用户数据报文的转发功能,目前为了充分发挥用户管理功能和转发功能,将bras实现转控分离。具体地,将bras上的用户管理功能抽取出来并集中,形成一个控制面(controlplane,简称cp),将bras上的用户数据报文的转发功能抽取形成一个转发面(dataplane,简称dp)。其中,控制面用于实现用户管理、pppoe/ipoe接入控制、地址管理等功能,转发面则主要用于对用户数据报文进行转发。控制面由虚拟化bras(即vbras)承载。

iptv业务分为点播业务和直播业务,其中,点播业务通过单播技术实现,直播业务主要通过组播技术实现。目前在转控分离的bras架构中,单播技术需要单播转发表项支持,即bras的转发面需要有单播转发表项才能对单播数据报文进行转发,组播技术需要组播转发表项支持,即bras的转发面需要有组播转发表项才能对组播数据报文进行转发。

如图1所示的bras实现转控分离后的结构示意图,对bras进行转控分离后得到基于通用基于交换机的转发节点和x86服务器的控制节点。用户终端与转发节点连接,转发节点与控制节点可以进行交互,并且,视频服务器与转发节点、控制节点也可以进行交互。具体的交互过程结合图2进行说明。

用户终端向转发节点发送用于请求ip地址的dhcp(dynamichostconfigurationprotocol,动态主机设置协议)请求报文,转发节点将该dhcp请求报文转发给控制节点进行处理。控制节点为该用户终端分配ip地址并将携带该ip地址的dhcp响应报文通过转发节点下发至用户终端。用户终端获取到ip地址后,与转发节点进行组播协议交互,转发节点生成组播转发表项并存储于本地。转发节点根据组播转发表项中记录的转发路径对视频服务器发送的组播数据报文进行转发。

另外,控制节点下发ip地址时,还会获取单播转发表项,单播转发表项中记录ip地址和端口号的对应关系。控制节点通过openflow协议将单播转发表项转换成openflow转发表项,并将所生成的openflow转发表项下发至转发节点,转发节点将openflow转发表项存储于本地,当转发节点接收到openflow转发表项中的ip地址发送的单播数据请求报文后,转发节点可以不再转发至控制节点,而直接将单播数据请求报文根据openflow转发表项中的端口号转发至视频服务器。视频服务器接收到单播数据请求报文后会向转发节点反馈单播数据响应报文,由转发节点将单播数据响应报文转发至用户终端。

然而,转发节点的openflow表项资源是有限的,比如转发节点的openflow表项资源是1万条,即该转发节点最多只能存储1万条openflow转发表项。而目前每一个用户终端只要上线请求ip地址,转发节点便会生成组播转发表项,并且,控制节点会生成单播转发表项,并将单播转发表项生成openflow转发表项,通过openflow协议将openflow转发表项下发至转发节点,转发节点接收到openflow转发表项之后存储在本地。而此时可能并没有观看点播业务。也就是说,当有1万个用户终端上线后,转发节点会存储1万条openflow转发表项,此时转发节点的openflow表项资源已消耗完,而这1万个用户终端中可能只有不到50%的用户终端用来观看点播业务,而其他用户终端用来观看直播业务,而直播业务不需要openflow转发表项,这样造成了openflow表项资源的浪费。



技术实现要素:

本申请实施例的目的在于提供一种转发表项创建方法及bras,以解决转发节点中openflow表项资源浪费的问题。具体技术方案如下:

第一方面,本申请实施例提供了一种转发表项创建方法,应用于bras,所述bras进行转控分离后得到转发节点和控制节点;

所述转发节点接收用户终端在获取到ip地址后发送的第一单播数据请求报文;

所述转发节点基于本地存储的第一路由表项,将所述第一单播数据请求报文转发至视频服务器;

所述控制节点接收所述视频服务器根据所述视频服务器本地存储的第二路由表项发送的第一单播数据响应报文,其中,所述第一单播数据响应报文为针对所述第一单播数据请求报文的响应报文;

所述控制节点将所述第一单播数据响应报文发送至所述用户终端,并将所述用户终端对应的openflow转发表项发送至所述转发节点;

所述转发节点将所述openflow转发表项存储于本地。

可选地,所述第一路由表项包括:所述视频服务器的目的地址和/或端口号;

所述第二路由表项包括:所述控制节点的目的地址和/或端口号。

可选地,所述视频服务器在接收到所述第一单播数据请求报文时,所述第二路由表项为所述视频服务器本地存储的路由表中的默认转发表项;所述方法还包括:

所述转发节点接收到所述openflow转发表项后,向所述视频服务器发送通知信息,以使得所述视频服务器将包括所述转发节点的目的地址和/或端口号的第三路由表项确定为所述默认转发表项。

可选地,所述转发节点将所述openflow转发表项存储于本地之后,还包括:

所述转发节点接收所述用户终端发送的第二单播数据请求报文;

所述转发节点根据本地存储的所述openflow转发表项将所述第二单播数据请求报文发送给所述视频服务器;

所述转发节点接收所述视频服务器根据所述第三路由表项发送的第二单播数据响应报文,并将所接收到的第二单播数据响应报文发送至所述用户终端;其中,所述第二单播数据响应报文为针对所述第二单播数据请求报文的响应报文。

可选地,所述控制节点将所述用户终端对应的openflow转发表项发送至所述转发节点,包括:

所述控制节点判定所述第一单播数据响应报文所携带数据的数据量大于预设数据量阈值时,将所述用户终端对应的openflow转发表项发送至所述转发节点。

第二方面,本申请实施例提供了一种bras,所述bras进行转控分离后得到转发模块和控制模块;

所述转发模块接收用户终端在获取到ip地址后发送的第一单播数据请求报文;

所述转发模块基于本地存储的第一路由表项,将所述第一单播数据请求报文转发至视频服务器;

所述控制模块接收所述视频服务器根据所述视频服务器本地存储的第二路由表项发送的第一单播数据响应报文,其中,所述第一单播数据响应报文为针对所述第一单播数据请求报文的响应报文;

所述控制模块将所述第一单播数据响应报文发送至所述用户终端,并将所述用户终端对应的openflow转发表项发送至所述转发模块;

所述转发模块将所述openflow转发表项存储于本地。

可选地,所述第一路由表项包括:所述视频服务器的目的地址和/或端口号;

所述第二路由表项包括:所述控制模块的目的地址和/或端口号。

可选地,所述视频服务器在接收到所述第一单播数据请求报文时,所述第二路由表项为所述视频服务器本地存储的路由表中的默认转发表项;

所述转发模块还用于接收到所述openflow转发表项后,向所述视频服务器发送通知信息,以使得所述视频服务器将包括所述转发模块的目的地址和/或端口号的第三路由表项确定为所述默认转发表项。

可选地,所述转发模块将所述openflow转发表项存储于本地之后,还用于接收所述用户终端发送的第二单播数据请求报文;

所述转发模块根据本地存储的所述openflow转发表项将所述第二单播数据请求报文发送给所述视频服务器;

所述转发模块接收所述视频服务器根据所述第三路由表项发送的第二单播数据响应报文,并将所接收到的第二单播数据响应报文发送至所述用户终端;其中,所述第二单播数据响应报文为针对所述第二单播数据请求报文的响应报文。

可选地,所述控制模块判定所述第一单播数据响应报文所携带数据的数据量大于预设数据量阈值时,将所述用户终端对应的openflow转发表项发送至所述转发模块。

第三方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述任一所述的转发表项创建方法步骤。

本申请实施例提供的技术方案中,转发节点接收用户终端在获取到ip地址后发送的第一单播数据请求报文,基于本地存储的第一路由表项,将第一单播数据请求报文转发至视频服务器,控制节点接收视频服务器根据视频服务器本地存储的第二路由表项发送的第一单播数据响应报文,并将第一单播数据响应报文发送至用户终端,并将该用户终端对应的openflow转发表项发送至转发节点,转发节点将该openflow转发表项存储于本地。通过本申请实施例提供的技术方案,控制节点在为用户终端分配ip地址之后并不会马上下发openflow转发表项给转发节点,而是在控制节点接收到视频服务器发送的第一单播数据响应报文之后,将openflow转发表项下发给转发节点,转发节点再将openflow转发表项存储于本地。也就是说,转发节点只对发送第一单播数据请求报文的用户终端的openflow转发表项进行存储,而不需要存储那些发送组播请求报文的用户终端的openflow转发表项。这样,节省了转发节点中的openflow表项资源,提高了openflow表项资源的利用率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的bras实现转控分离后的一种结构示意图;

图2为用户终端、转发节点、控制节点和视频服务器之间的一种信令图;

图3为本申请实施例提供的转发表项创建方法的一种流程图;

图4为本申请实施例提供的用户终端、转发节点、控制节点和视频服务器之间的一种信令图;

图5为本申请实施例提供的bras的一种结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了解决转发节点中openflow表项资源浪费的问题,本申请实施例提供了一种转发表项创建方法及bras,其中,该转发表项创建方法应用于bras,bras进行转控分离后得到转发节点和控制节点;

转发节点接收用户终端在获取到ip地址后发送的第一单播数据请求报文;

转发节点基于本地存储的第一路由表项,将第一单播数据请求报文转发至视频服务器;

控制节点接收视频服务器根据视频服务器本地存储的第二路由表项发送的第一单播数据响应报文,其中,第一单播数据响应报文为针对第一单播数据请求报文的响应报文;

控制节点将第一单播数据响应报文发送至用户终端,并将用户终端对应的openflow转发表项发送至转发节点;

转发节点将openflow转发表项存储于本地。

通过本申请实施例提供的技术方案,控制节点在为用户终端分配ip地址之后并不会马上下发openflow转发表项给转发节点,而是在控制节点接收到视频服务器发送的第一单播数据响应报文之后,将openflow转发表项下发给转发节点,转发节点再将openflow转发表项存储于本地。也就是说,转发节点只对发送第一单播数据请求报文的用户终端的openflow转发表项进行存储,而不需要存储那些发送组播请求报文的用户终端的openflow转发表项。这样,节省了转发节点中的openflow表项资源,提高了openflow表项资源的利用率。

下面首先对本申请实施例提供的转发表项创建方法进行介绍。本申请实施例提供了一种转发表项创建方法,应用于bras,bras进行转控分离后可以得到转发节点和控制节点。如图3所示,本申请实施例提供的一种转发表项创建方法包括如下步骤。

s301,转发节点接收用户终端在获取到ip地址后发送的第一单播数据请求报文。

其中,用户终端可以为机顶盒、电视盒子等设备。用户终端与转发节点连接,并且可以与转发节点通信。

用户终端上电后,会向转发节点发送dhcp请求报文,以用来请求ip地址。转发节点接收到dhcp请求报文后,将dhcp请求报文转发给控制节点。控制节点接收到dhcp请求报文后,根据dhcp请求报文为用户终端分配ip地址。控制节点将所分配的ip地址发送给转发节点,转发节点再将该ip地址转发至用户终端。所分配的ip地址即为用户终端使用的ip地址。

用户终端在获取到ip地址后,便可以通过该ip地址将第一单播数据请求报文发送至转发节点。其中,第一单播数据请求报文中可以携带用户终端的ip地址、所请求视频的信息等。第一单播数据请求报文用于请求通过单播路径传输的视频流量。

一种实现方式中,第一单播数据请求报文用于请求点播业务的视频流量。例如,当用户通过用户终端使用点播业务时,用户终端可以生成针对所点播视频的第一单播数据请求报文,并将所生成的第一单播数据请求报文发送至转发节点。

s302,转发节点基于本地存储的第一路由表项,将第一单播数据请求报文转发至视频服务器。

其中,第一路由表项是转发节点中预先存储的,第一路由表项中可以包括目的地址和/或端口号。第一路由表项用于记录针对单播数据请求报文的转发路径,转发路径可以是由端口号和/或目的地址确定,即包括以下三种情况:转发路径可以由端口号确定,还可以由目的地址确定,还可以由端口号和目的地址确定。基于此,当目的地址可以唯一确定视频服务器时,则第一路由表项可以包括视频服务器的ip地址;当端口号可以唯一确定视频服务器时,则第一路由表项可以包括视频服务器的端口号;当目的地址和端口号可以唯一确定视频服务器时,则第一路由表项可以包括视频服务器的ip地址和端口号。

转发节点在接收到第一单播数据请求报文后,从第一路由表项中获取视频服务器的目的ip地址和端口号,并根据所获取的视频服务器的目的ip地址和端口号,将第一单播数据请求报文转发至视频服务器。

另外,第一路由表项中还可以包括网络掩码、优先级、下一跳ip地址等。

s303,控制节点接收视频服务器根据视频服务器本地存储的第二路由表项发送的第一单播数据响应报文。

其中,第一单播数据响应报文为针对第一单播数据请求报文的响应报文。具体地,视频服务器接收到第一单播数据请求报文之后,可以获取第一单播数据请求报文所请求的点播视频数据,生成携带点播视频数据的第一单播数据响应报文,并将所生成的第一单播数据响应报文发送至控制节点。

其中,视频服务器将第一单播数据响应报文发送至控制节点的一种方式可以是根据视频服务器本地存储的第二路由表项,该第二路由表项可以包括控制节点的目的地址和/或端口号。当目的地址可以唯一确定控制节点时,则第二路由表项可以包括目的地址;当端口号可以唯一确定控制节点时,则第二路由表项可以包括端口号;当目的地址和端口号可以唯一确定控制节点时,则第二路由表项可以包括目的地址和端口号。

s304,控制节点将第一单播数据响应报文发送至用户终端,并将用户终端对应的openflow转发表项发送至转发节点。

控制节点接收到视频服务器发送的第一单播数据响应报文后,可以从本地获取ip地址的单播转发表项,并依据openflow协议将单播转发表项转换成openflow转发表项。其中,单播转发表项中记录有目的ip地址与端口号的对应关系,目的ip地址即为用户终端的ip地址,端口号为用户终端对应的端口号。其中,openflow协议为一种网上通信协议,能够控制网上交换器或路由器的转发面,借此改变网上数据包所走的网上路径。

控制节点在完成转换后可以得到openflow转发表项,该openflow转发表项即为用户终端对应的openflow转发表项。另外,控制节点还可以将第一单播数据响应报文转发至用户终端,这样,用户终端可以获取到请求的点播视频数据。

s305,转发节点将openflow转发表项存储于本地。

转发节点本地存储有openflow转发表项之后,转发节点利用openflow转发表项,可以对单播数据请求报文和单播数据响应报文进行转发。

针对单播数据请求报文的转发,openflow转发表项中可以记录视频服务器的目的地址和/或端口号,视频服务器的目的地址和/或端口号即表示对单播数据请求报文进行转发的转发路径,其中,对单播数据请求报文进行转发的转发路径,可以由视频服务器的端口号确定,还可以由视频服务器的目的地址确定,还可以由视频服务器的端口号和目的地址共同确定。

具体地,转发节点接收到用户终端发送的单播数据请求报文之后,可以基于openflow转发表项中记录的视频服务器的目的地址和/或端口号,将用户终端发送的单播数据请求报文转发至视频服务器。

针对单播数据响应报文的转发,openflow转发表项还可以记录匹配域与转发动作的对应关系,匹配域可以包括入端口、源mac地址、目的mac地址、源ip地址、目的ip地址等匹配信息,用于对视频服务器发送的单播数据响应报文进行匹配,进而确定用户终端。其中,转发动作可以是转发给一个或多个端口,还可以是转发给所有端口。

openflow转发表项为转发视频服务器发送的单播路径的报文提供支持,也就是说,对于视频服务器发送的单播路径的报文,转发节点通过匹配openflow转发表项,并根据匹配成功的openflow转发表项中记载的转发动作,对单播路径的报文进行转发。

转发节点在接收到openflow转发表项之后,可以从openflow转发表项中获取匹配信息与端口号的对应关系。转发节点可以将匹配信息与端口号的对应关系转换成匹配域与端口号的对应关系,并以openflow转发表项形式进行存储。

转发节点在将openflow转发表项存储于本地后,若用户终端再发送单播数据请求报文,且视频服务器反馈单播数据响应报文至转发节点,则转发节点可以根据openflow转发表项中记载的转发动作,将单播数据响应报文转发至该用户终端。

一种实施方式中,视频服务器在接收到第一单播数据请求报文时,第二路由表项为视频服务器本地存储的路由表中的默认转发表项。

其中,视频服务器本地存储的路由表中可以包括多个路由表项,每一路由表项可以表示一个转发路径,每一路由表项对应有一个优先级。路由表项的优先级越高,越易被选取作为视频服务器进行转发的转发路径。当视频服务器需要转发报文时,可以将路由表中优先级较高的路由表项所表示的路径确定为转发该报文的转发路径。

一种实现方式中,可以将路由表中优先级最高的路由表项,作为默认转发表项。当视频服务器需要转发报文时,可以直接根据默认转发表项所表示的路径进行转发。基于此,当第二路由表项为默认转发表项时,视频服务器根据第二路由表项发送第一单播数据响应报文。

转发节点在接收到openflow转发表项后,即表示转发节点可以对视频服务器发送的单播数据响应报文进行转发。因此,转发节点在接收到openflow转发表项后可以向视频服务器发送通知信息。其中,转发节点发送通知信息的一种方式可以是基于第一路由表项,将通知信息发送至视频服务器。

通知信息用于通知视频服务器,转发节点已存储有用户终端的openflow转发表项,对于发送至用户终端的报文,优先的转发路径是发送至转发节点,即视频服务器发送的报文可以通过转发节点转发至用户终端。

对于视频服务器来说,在接收到转发节点发送的通知信息之后,可以对本地存储的路由表中各路由表项的优先级进行调整。具体地,可以将包括转发节点的目的地址和/或端口号的第三路由表项的优先级设置为最高优先级,即将第三路由表项确定为默认转发表项。这样,视频服务器转发针对该用户终端的单播数据响应报文时,所依据的默认转发表项为第三路由表项,即直接将该单播数据报文发送至转发节点。

其中,当转发节点的目的地址可以唯一确定转发节点时,第三路由表项可以包括转发节点的目的地址。当转发节点的端口号可以唯一确定转发节点时,第三路由表项可以包括转发节点的端口号。当转发节点的目的地址和端口号两者可以共同唯一确定转发节点时,第三路由表项可以包括转发节点的目的地址和端口号。

其中,视频服务器在调整优先级时,若视频服务器本地存储的路由表中存在包括转发节点的目的地址和/或端口号的第三路由表项时,则可以直接将该第三路由表项的优先级设置为最高优先级。若视频服务器本地存储的路由表中不存在包括转发节点的目的地址和/或端口号的第三路由表项时,则可以建立包括转发节点的目的地址和/或端口号的第三路由表项,并将该第三路由表项的优先级设置为最高优先级。

一种实施方式中,转发节点将openflow转发表项存储于本地后,还可以包括如下步骤。

转发节点还可以接收用户终端发送的第二单播数据请求报文,转发节点根据本地存储的openflow转发表项将第二单播数据请求报文发送给视频服务器。

此时,视频服务器的默认转发表项为第三路由表项,在视频服务器生成第二单播数据响应报文之后,可以根据第三路由表项将第二单播数据响应报文发送至转发节点。其中,第二单播数据响应报文为针对第二单播数据请求报文的响应报文。

转发节点在接收到视频服务器根据第三路由表项发送的第二单播数据响应报文之后,可以将所接收到的第二单播数据响应报文发送至用户终端。

一种实施方式中,控制节点将用户终端对应的openflow转发表项发送至转发节点的步骤,可以包括如下步骤。

控制节点在判定第一单播数据响应报文所携带数据的数据量大于预设数据量阈值时,可以将用户终端对应的openflow转发表项发送至转发节点。

其中,预设数据量阈值用于区分单播视频流量数据和单播浏览数据,其中,单播视频流量数据是视频点播业务所产生的较大流量的点播视频数据,比如,用户观看点播视频时会产生较大流量的单播视频流量数据。单播浏览数据是浏览视频网页或视频节目单时产生的较小流量的数据,比如,用户在视频网页搜索视频时会产生较小流量的单播浏览数据。

可以认为,单播数据响应报文所携带数据的数据量大于预设数据量阈值时,即可以认为单播数据响应报文所携带的数据为点播视频数据,单播数据响应报文所携带数据的数据量不大于预设数据量阈值时,即可以认为单播数据响应报文所携带的数据为浏览网页或视频节目单的数据。

其中,预设数据量阈值可以是自定义设定的。一种设定方式中,可以根据经验确定预设数据量阈值,使得大于预设数据量阈值的数据量为单播视频流量数据的较大数据量,小于或者等于预设数据量阈值的数据量为单播浏览数据的较小数据量。

一种实现方式中,控制节点接收到单播数据响应报文之后,可以确定单播数据响应报文所携带数据的数据量,并判断单播数据响应报文所携带数据的数据量是否大于预设数据量阈值。

当判断出单播数据响应报文所携带数据的数据量大于预设数据量阈值时,即所产生的是单播视频流量数据,则将用户终端对应的openflow转发表项发送至转发节点。当判断出单播数据响应报文所携带数据的数据量不大于预设数据量阈值时,即所产生的是单播浏览数据,此时则将单播数据响应报文转发至用户终端,可以不发送openflow转发表项。

在该实施方式中,通过设定的预设数据量阈值,可以将用户点播视频所产生的单播视频流量数据和用户浏览网页所产生的单播浏览数据进行区分,控制节点在单播数据响应报文携带的数据为单播视频流量数据时才向转发节点下发openflow转发表项,而在单播数据响应报文携带的数据为单播浏览数据时不会向转发节点下发openflow转发表项,进而节省了转发节点中的openflow表项资源。

通过本申请实施例提供的技术方案,控制节点在为用户终端分配ip地址之后并不会马上下发openflow转发表项给转发节点,而是在控制节点接收到视频服务器发送的第一单播数据响应报文之后,将openflow转发表项下发给转发节点,转发节点再将openflow转发表项存储于本地。也就是说,转发节点只对发送第一单播数据请求报文的用户终端的openflow转发表项进行存储,而不需要存储那些发送组播请求报文的用户终端的openflow转发表项。这样,节省了转发节点中的openflow表项资源,提高了openflow表项资源的利用率。

本申请实施例还提供针对用户终端、转发节点、控制节点以及视频服务器之间的信令图,如图4所示。用户终端上电后,可以向转发节点发送dhcp请求报文,转发节点接收到dhcp请求报文后,将dhcp请求报文转发给控制节点。控制节点接收到dhcp请求报文后,根据dhcp请求报文为用户终端分配ip地址。控制节点将携带所分配ip地址的dhcp响应报文发送给转发节点,转发节点再将dhcp响应报文转发至用户终端。用户终端接收到dhcp响应报文,即获取到ip地址。

用户终端通过ip地址与转发节点进行组播协议交互,与转发节点建立基于组播协议的连接。转发节点生成针对该ip地址的组播转发表项,并将所生成的组播转发表项存储于本地。

当转发节点接收到视频服务器发送的组播数据报文时,转发节点根据本地存储的组播转发表项,将组播数据报文转发至用户终端。

当用户观看点播视频时,用户终端生成第一单播数据请求报文,并将第一单播数据请求报文发送至转发节点。转发节点在接收到第一单播数据请求报文后,根据本地存储的第一路由表项,将该第一单播数据请求报文转发至视频服务器。

视频服务器接收到第一单播数据请求报文之后,获取第一单播数据请求报文所请求的数据,生成携带数据的第一单播数据响应报文,并根据视频服务器中本地存储的第二路由表项将第一单播数据响应报文发送至控制节点。

控制节点接收到视频服务器根据第二路由表项发送的第一单播数据响应报文后,将第一单播数据响应报文发送至用户终端,并且在判定第一单播数据响应报文所携带数据的数据量大于预设数据量阈值时,则可以确定第一单播数据响应报文所携带的数据是单播视频流量数据,控制节点获取针对ip地址的单播转发表项,依据openflow协议将该单播转发表项转换成openflow转发表项,并将openflow转发表项发送至转发节点。在判定第一单播数据响应报文所携带数据的数据量不大于预设数据量阈值时,则可以对ip地址的单播转发表项不进行处理,这样控制节点也不会下发ip地址的openflow转发表项。

转发节点接收到openflow转发表项后可以将openflow转发表项存储于本地,并可以向视频服务器发送通知信息。视频服务器接收到该通知信息之后,可以将包括转发节点的目的地址和/或端口号的第三路由表项确定为默认转发表项。这样,用户终端再向转发节点发送第二单播数据请求报文时,转发节点可以根据根据本地存储的openflow转发表项,将该第二单播数据请求报文发送至视频服务器。视频服务器根据第三路由表项将第二单播数据响应报文发送至转发节点,转发节点再将所接收到的第二单播数据响应报文发送至用户终端。

相应于上述转发表项创建方法实施例,本申请实施例还提供一种bras,如图5所示,bras进行转控分离后可以得到转发模块510和控制模块520;

转发模块510接收用户终端在获取到ip地址后发送的第一单播数据请求报文;

转发模块510基于本地存储的第一路由表项,将第一单播数据请求报文转发至视频服务器;

控制模块520接收视频服务器根据视频服务器本地存储的第二路由表项发送的第一单播数据响应报文,其中,第一单播数据响应报文为针对第一单播数据请求报文的响应报文;

控制模块520将第一单播数据响应报文发送至用户终端,并将用户终端对应的openflow转发表项发送至转发模块510;

转发模块510将openflow转发表项存储于本地。

一种实施方式中,第一路由表项包括:视频服务器的目的地址和/或端口号;

第二路由表项包括:控制模块520的目的地址和/或端口号。

一种实施方式中,视频服务器在接收到第一单播数据请求报文时,第二路由表项为视频服务器本地存储的路由表中的默认转发表项;

转发模块510还用于接收到openflow转发表项后,向视频服务器发送通知信息,以使得视频服务器将包括转发模块510的目的地址和/或端口号的第三路由表项确定为默认转发表项。

一种实施方式中,转发模块510将openflow转发表项存储于本地之后,还用于接收用户终端发送的第二单播数据请求报文;

转发模块510根据本地存储的openflow转发表项将第二单播数据请求报文发送给视频服务器;

转发模块510接收视频服务器根据第三路由表项发送的第二单播数据响应报文,并将所接收到的第二单播数据响应报文发送至用户终端;其中,第二单播数据响应报文为针对第二单播数据请求报文的响应报文。

一种实施方式中,控制模块520判定第一单播数据响应报文所携带数据的数据量大于预设数据量阈值时,将用户终端对应的openflow转发表项发送至转发模块510。

通过本申请实施例提供的技术方案,控制节点在为用户终端分配ip地址之后并不会马上下发openflow转发表项给转发节点,而是在控制节点接收到视频服务器发送的第一单播数据响应报文之后,将openflow转发表项下发给转发节点,转发节点再将openflow转发表项存储于本地。也就是说,转发节点只对发送第一单播数据请求报文的用户终端的openflow转发表项进行存储,而不需要存储那些发送组播请求报文的用户终端的openflow转发表项。这样,节省了转发节点中的openflow表项资源,提高了openflow表项资源的利用率。

相应于上述应用于转发节点的转发表项创建方法实施例,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述转发表项创建方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于bras以及机器可读存储介质实施例而言,由于其基本相似于转发表项创建方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1