[0024] 为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
[0025] SDN是一种新型的网络架构,其可以通过OpenFlow(开放流)技术将网络设备的实施面与数据面进行分离,从而实现对网络流量的灵活实施。在SDN中,包含实现实施面功能的控制器和若干实现数据面功能的交换机。
[0026] 本发明实施方式提供一种基于SDN的IRDP系统,如图2所示,SDN网络中包括控制器和交换机,其中SDN网络中的交换机由集中的控制器管理。此外,Host(主机)分别和交换机连接,通过SDN网络进行通讯。
[0027] 本发明实施方式提供一种基于SDN的实施IRDP的方法。请参阅图3,所述方法应用于SDN中的控制器上,包括以下步骤:
[0028] 步骤S31:控制器预先设置基于SDN的IRDP算法配置任务序列。
[0029] 在本实施方式中,控制器预先设置基于SDN的IRDP算法配置任务序列,该任务序列的配置项包括基于SDN的IRDP算法功能,用于打开或关闭基于SDN的IRDP算法功能。具体如表1所示。
[0030] 表1
[0031]
[0032] 步骤S32:控制器接收交换机上报的未匹配流表的报文和私有报文,所述私有报文包括网关和用户端口信息。
[0033] 在本实施方式中,当报文进入到SDN网络后,入口交换机查询流表,如果所述报文匹配流表,则将所述报文根据流表中的转发路径进行转发;如果所述报文未匹配流表,则将所述报文上报给控制器。
[0034] 控制器还接收交换机通过私有Experimenter报文上报的网关和用户端口信息。
[0035] 和现有技术相比,本实施方式对Experimenter报文进行了扩展,扩展的Experimenter报文格式如图4所示,Experimenter值为255需要向ONF组织申请;Experimenter type值为1表明是从交换机到控制器。此外,在扩展的Experimenter报文中扩展了交换机ID和交换机用户端口的端口ID,其中交换机ID为交换机MAC地址,端口ID表示接收到未匹配流表的用户报文的交换机用户端口。
[0036] 步骤S33:根据所述私有报文中的网关和用户端口信息,生成私有的网关表。
[0037] 在本实施方式中,控制器预先配置老化时间和周期时间,所述老化时间表示Experimenter报文的老化时间,周期时间表示发送路由公告消息的周期时间。
[0038] 根据交换机上报的Experimenter报文中交换机ID和交换机用户端口的端口ID,以及配置的老化时间和周期时间生成私有的网关表,该私有的网关表的配置项包括交换机ID、交换机用户端口、老化时间和周期时间,具体如表2所示。
[0039] 表2
[0040]
[0041] 步骤S34:控制器扫描所述私有的网关表,并根据所述私有的网关表触发交换机向指定的用户端口发送路由公告消息。
[0042] 在本实施方式中,控制器扫描所述私有的网关表,根据所述私有的网关表中的周期时间,控制器定时触发交换机向指定的用户端口发送路由公告消息,所述指定的用户端口根据所述私有的网关表中的交换机ID和交换机用户端口的端口ID确定。
[0043] 此外,控制器在私有的网关表中还预先配置了老化时间,例如老化时间为30秒。如果超过老化时间没有Experimenter报文更新,则所述交换机ID和交换机用户端口的端口ID对应的私有的网关表中的表项信息老化。
[0044] 请参考图5,本发明的一个应用实例中,Host通过SDN网络与服务器连通,控制器配置基于SDN的IRDP算法配置任务序列。交换机上报未匹配流表的报文和Experimenter报文,控制器根据交换机上报的Experimenter报文中交换机ID和交换机用户端口的端口ID,以及用户配置的老化时间和周期时间生成私有的网关表的表项。根据表项中的交换机ID和交换机用户端口的端口ID,以及配置的周期时间,控制器触发交换机向用户端口发送路由公告消息,即S1和S3为网关,都会定时向Host发送RA消息。
[0045] 如果链路负载发生变化,例如断掉S3到Host链路,若超过预先设置的30秒的老化时间,则控制器通知S3停止向Host发送RA消息。
[0046] 请继续参阅图1。本发明实施方式提供一种基于SDN的实施IRDP的系统,包括:
[0047] 交换机,用于向控制器上报的未匹配流表的报文和私有报文,所述私有报文包括网关和用户端口信息;
[0048] 控制器,用于预先设置基于软件定义网络的网际报文控制路由器发现协议算法配置功能;当所述基于软件定义网络的网际报文控制路由器发现协议算法配置功能打开时,接收交换机上报的未匹配流表的报文和私有报文;根据所述私有报文中的网关和用户端口信息,生成私有的网关表;扫描所述私有的网关表,并根据所述私有的网关表触发交换机向指定的用户端口发送路由公告消息。
[0049] 其中,
[0050] 所述控制器,具体用于:
[0051] 预先配置老化时间和周期时间,所述老化时间表示Experimenter报文的老化时间,周期时间表示发送路由公告消息的周期时间;根据交换机上报的私有报文中交换机ID和交换机用户端口的端口ID,以及配置的老化时间和周期时间生成私有的网关表;扫描所述私有的网关表,根据所述私有的网关表中的周期时间,定时触发交换机向指定的用户端口发送路由公告消息,所述指定的用户端口根据所述私有的网关表中的交换机ID和交换机用户端口的端口ID确定;
[0052] 所述控制器还用于:
[0053] 如果超过所述私有的网关表中的老化时间,则将所述交换机ID和交换机用户端口的端口ID对应的私有的网关表中的表项老化。
[0054] 请参阅图6。本发明实施方式提供一种实施基于SDN的实施IRDP的装置,包括:
[0055] 第一处理模块,用于预先设置基于软件定义网络的网际报文控制路由器发现协议算法配置功能;
[0056] 第二处理模块,用于当所述基于软件定义网络的网际报文控制路由器发现协议算法配置功能打开时,接收交换机上报的未匹配流表的报文和私有报文,所述私有报文包括网关和用户端口信息;
[0057] 第三处理模块,用于根据所述私有报文中的网关和用户端口信息,生成私有的网关表;
[0058] 第四处理模块,用于扫描所述私有的网关表,并根据所述私有的网关表触发交换机向指定的用户端口发送路由公告消息。
[0059] 其中,
[0060] 所述第三处理模块,具体用于:
[0061] 预先配置老化时间和周期时间,所述老化时间表示Experimenter报文的老化时间,周期时间表示发送路由公告消息的周期时间;根据交换机上报的私有报文中交换机ID和交换机用户端口的端口ID,以及配置的老化时间和周期时间生成私有的网关表;
[0062] 所述第四处理模块,具体用于:
[0063] 扫描所述私有的网关表,根据所述私有的网关表中的周期时间,定时触发交换机向指定的用户端口发送路由公告消息,所述指定的用户端口根据所述私有的网关表中的交换机ID和交换机用户端口的端口ID确定;如果超出所述私有的网关表中的老化时间,则将所述交换机ID和交换机用户端口的端口ID对应的私有的网关表中的表项老化。
[0064] 上述的涉及到的基于SDN的实施IRDP装置和系统的具体技术细节和基于SDN的实施IRDP方法中的类似,故在此不再具体赘述。
[0065] 由上可见,本发明实施方式中控制器预先配置基于软件定义网络的实施路由器发现协议的算法功能,并通过扩展私有报文上报的交换机ID和交换机用户端口的端口ID,从而控制器可以根据交换机ID和交换机用户端口的端口ID,以及预先配置的老化时间和周期时间生成私有的网关表,并根据该私有的网关表触发交换机向指定的用户端口发送路由公告消息,由此可看出,只需要控制器集中配置,就可以动态计算网关,网络的维护简单而有效。
[0066] 本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。
[0067] 最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。