一种sptn域三层域和二层域互通的方法与系统的制作方法

文档序号:9754463阅读:581来源:国知局
一种sptn域三层域和二层域互通的方法与系统的制作方法
【技术领域】
[0001]本发明涉及通信领域中的软件定义分组传送网,S卩SPTN网络,是一种软件定义分组传送网中三层域和二层域互通的方法与系统。
【背景技术】
[0002]由于在计算机网络的五层协议中数据链路层是第二层,对应于数据包的二层头部,网络层是第三层,对应于数据包的三层头部,因此在本专利中,将匹配MAC地址的设备所组成的区域简称为二层域,将匹配IP地址的设备所组成的区域简称为三层域。
[0003]软件定义分组传送网,简称SPTN,在二层域的应用已经得到了较为广泛,然而,SPTN在三层域的应用还不是十分广泛。随着软件定义网络的思想不断深入,将SDN思想融入现行网络的趋势也越来越明显。目前,将SDN思想融入到无源光网络的应用已逐渐成熟,SPTN也会随之慢慢发展起来。随着SPTN在三层域的应用逐渐发展与完善,如何将业务流从二层域传入三层域,以及如何将业务从三层域传入二层域成为了一个技术难点。SPTN三层域和二层域的业务流互通是运营商需要长期面对的一个重要问题。本方案就致力于解决SPTN域三层域和二层域之间的互通问题。
[0004]目前存在的方法大多集中在解决多个同层域之间的互通问题,很少考虑到跨层的情景,并且具备的功能较简单,难以应用到实际网络。

【发明内容】

[0005]本发明提供了一种软件定义分组传送网中三层域和二层域之间的互通方法,以解决现有软件定义分组传送网中三层域和二层域之间通信效率低下的问题。
[0006]为解决上述问题,本发明实例提供了一种互通方法,包括:
[0007]1、软件定义分组传送网是否需要获知外部路由器或是主机的地址信息,如果是,则通过在二级控制单元运行边界信息收集模块,收集边界信息。当SPTN域收到来自外部路由器或是主机发来的ARP包时,收到ARP包的交换机就被定义为边界交换机,边界交换机会将ARP上传给二级控制单元,二级控制单元通过解析ARP包获取外部路由器或是主机的IP或是MAC地址,再和上传ARP包的交换机的dp id以及接收到ARP包的端口号,一同上传给一级控制器,存入一级数据库。同时为了避免重复上传同样的ARP包,二级控制单元的信息收集模块有一张特定的表格,用于记录收到的ARP包的源和目的IP地址。当二级控制单元收到交换机上传上来的ARP包时,会在这张表格查找是否之前收到过同样的ARP包,如果收到过,就不处理这个ARP包,否则,仍然会上传相关信息。
[0008]2、软件定义分组传送网是否需要根据网管下发的任务给各个交换机下发流表,如果是,那么当网管给一级控制单元下发业务建立请求后,一级控制单元的任务接收模块会接收到任务请求,并存入数据库当中,然后将任务请求传入任务分析模块,结合数据库中已获得到的外部路由和地址等信息,生成一组任务下发所需的参数,再传给任务下发模块。任务下发模块将分析后的参数通过restful协议封装后,下发给二级控制单元。二级控制单元的任务执行模块接收到参数后,结合自身的二级数据库得到域内的完整路径,即需要经过的交换机,再分析每个交换机所需执行的流表操作,用特定的消息格式封装任务后,给这条路径上的所有交换机下发流表。
[0009]3、软件定义分组传送网是否需要传输二层业务和三层业务,如果是,那么在二级控制单元给交换机下发流表时,会给三层域的边缘交换机下发匹配IP域的流表,并且添加修改MAC地址的动作,给二层域的边缘交换机下发匹配。为了能够在三层域边缘修改MAC地址,控制器会给边缘交换机下发多级流表,当业务流到达边缘交换机时,会执行去标签的动作,然后执行goto动作前往下一级流表匹配IP地址,并执行相应的修改MAC地址的动作,最后从出端口发出。第二级的流表由ARP模块下发,当ARP模块收到来自二层域的ARP包时,会下发匹配这个IP地址并修改MAC的流表。
[0010]4、软件定义分组传送网是否需要数据库实时更新机制,如果是,那么在二级控制单元的信息收集模块会周期性地向底层转发设备发送查询信息,包括交换机与链路状态,并将反馈及时上传给一级控制单元,同时,当二级控制器收到ARP包时,会触发事件处理函数,将ARP内的信息,即外部设备的信息也会及时上报。二级控制单元的事件触发机制使得一级数据库和二级数据库的信息的实时性得到了保证。
[0011]5、软件定义分组传送网是否需要链路保护机制,如果是,则在一级控制单元运行链路保护应用。链路保护模块与数据库连接,从数据库实时获取链路的状态,当检测到链路断开时,链路保护模块就会启动,任务调用单元也随之启动。将断开链路两端的交换机的dpid输入至任务调用单元,任务调用单元启动任务分析模块和任务下发模块,传入参数后,就会给二级控制单元下发新的任务,从而为两台交换机建立新的路径。
[0012]6、软件定义分组传送网是否需要告警机制,如果是,则运行告警模块。告警模块与一级数据库连接,实时获取交换机状态或是链路状态等信息,网络管理员在该模块中为重要的性能指标设置安全值,如链路最大流量、端口最大队列数等,当出现链路断开、交换机断掉或是链路流量超标等情况时,告警模块就会从数据库的实时信息中得知,然后将告警信息通过任务上传模块用restful接口上传给网络管理员。
[0013]7、软件定义分组传送网的二层域是否存在环路,如果存在,通过在二层域的二级控制单元运行MSTP应用,在二层域运行MSTP协议。在二级控制单元内为每个交换机和它的端口设置优先级,确定交换机的BLOCK端口,阻止了环路的形成,从而避免了广播风暴的发生。
[0014]本发明的系统如下,包括:
[0015]a、一级多层控制单元,包括:
[0016]1、任务接收模块,用于接收从网管下发下来的任务,并将其存储在自身的数据库的特定位置;
[0017]2、任务分析模块,接收从任务接收模块传来的参数,结合数据库中储存的路由信息以及外部信息,生成任务执行模块所需的参数,同时,启动QoS设置模块,通过网络管理员设置的QoS参数生成相关参数,一同传递给任务执行模块;
[0018]3、任务下发模块,接收从任务分析模块输出的参数,根据特定的函数和算法,结合数据库信息,生成针对于不同二级控制单元的任务,并下发给二级控制单元;
[0019]4、进一步,由于二层和三层的不同,一级控制单元向二层和三层的二级控制单元下发的任务参数类型也有所不同,比如,三层控制单元给转发面下发任务时只会匹配IP字段,而二层控制单元下发任务时只会匹配MAC字段;
[0020]5、链路保护模块,用于在主链路由于意外故障断掉的情况下启动副链路以保证两点之间的链路状态不受影响;
[0021 ] 6、进一步,链路保护模块可以从数据库中获取实时的链路状态,当获取到的链路状态显示为断开时,就会启动特定的函数执行链路保护模块,向断开链路的交换机下发新的路径建立任务;
[0022]7、进一步,链路保护模块还包括任务调用单元,当链路保护模块启动后,任务调用单元也随之启动,任务调用单元通过调用任务分析和任务执行模块,执行如上所述的模块执行流程,向断开链路的交换机下发新的路径建立任务;
[0023]8、告警模块,运行在一级控制单元,从数据库实时获取域内的交换机和链路状态,当出现某种特定情况,比如链路流量超标、交换机突然断掉或是出现ARP攻击,该模块会向任务上传模块发出告警信息,并包含具体的告警内容;
[0024]9、一级数据库,存在于一级控制单元中,用于储存所管辖范围内的所有交换机的拓扑和域内所有虚拟节点之间的拓扑,以及交换机工作状态和连接的链路状态,包括交换机各个端口的流量统计,各个交换机的路由信息匹配次数,以及链路的流量、时延、QoS等信息;
[0025]10、任务上传模块,存在于一级控制单元,当网管需要获知交换机运行状态时,控制单元会通过这个模块将交换机的相关信息通过restful接口上传;当出现告警情况时,告警模块也会调用这个模块将告警消息上传给网管。
[0026]b、二级控制单元,包括:
[0027]1、二级任务下发模块,接收一级控制单元发来的任务参数,根据参数,在二级数据库中查找对应信息,将查找出的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1