发明内容
本发明提供一种监控系统中信息的传输方法和系统,以获知发生拥塞的网络设备。
为了达到上述目的,本发明提供一种监控系统中信息的传输方法,应用于包括编码设备、网络设备、接收端设备和管理服务器的系统中,该方法包括以下步骤:
所述编码设备向所述网络设备发送TCP数据,所述TCP数据中携带用于表示需要对拥塞节点进行控制的指定标识;
当所述网络设备确定发生拥塞的TCP数据中携带所述指定标识时,所述网络设备将所述TCP数据的出接口地址信息添加到所述TCP数据中,并将所述TCP数据发送给所述接收端设备;
当所述接收端设备确定所述TCP数据中携带所述指定标识时,所述接收端设备从所述TCP数据中获得所述出接口地址信息,并将所述出接口地址信息通知给所述管理服务器。
所述方法进一步包括:所述编码设备在所述TCP数据的IP头中设置IP选项,并将所述指定标识添加到所述IP选项中;
所述网络设备将所述出接口地址信息添加到所述IP选项。
所述网络设备将所述TCP数据的出接口地址信息添加到所述TCP数据中,具体包括:
所述网络设备接收到所述TCP数据后,获得所述TCP数据的源地址信息和目的地址信息;如果当前记录有所述源地址信息、所述目的地址信息、以及所述出接口地址信息的对应关系,所述网络设备确定不需要将所述出接口地址信息添加到所述TCP数据中;否则,所述网络设备将所述出接口地址信息添加到所述TCP数据中,并记录所述源地址信息、所述目的地址信息、以及所述出接口地址信息的对应关系。
所述接收端设备将所述出接口地址信息通知给所述管理服务器,包括:
所述接收端设备接收到所述TCP数据后,获得所述TCP数据的源地址信息和目的地址信息,并将所述源地址信息、所述目的地址信息、以及所述出接口地址信息通知给所述管理服务器。
所述接收端设备将所述源地址信息、所述目的地址信息、以及所述出接口地址信息通知给所述管理服务器,之后还包括:
所述管理服务器记录所述源地址信息、所述目的地址信息、所述出接口地址信息、以及生存时间的对应关系;
当所述对应关系的生存时间到达预设阈值时,所述管理服务器通知管理员所述源地址信息对应的设备与所述目的地址信息对应的设备之间的流量,在所述出接口地址信息对应的网络设备发生拥塞。
本发明提供一种用于信息传输的监控系统,包括:编码设备、网络设备、接收端设备和管理服务器,其中:
所述编码设备,用于向所述网络设备发送TCP数据,所述TCP数据中携带用于表示需要对拥塞节点进行控制的指定标识;
所述网络设备,用于在接收到TCP数据后,当确定发生拥塞的TCP数据中携带所述指定标识时,将所述TCP数据的出接口地址信息添加到所述TCP数据中,并将所述TCP数据发送给所述接收端设备;
所述接收端设备,用于在接收到TCP数据后,当确定所述TCP数据中携带所述指定标识时,从所述TCP数据中获得所述出接口地址信息,并将所述出接口地址信息通知给所述管理服务器。
所述编码设备,具体用于在所述TCP数据的IP头中设置IP选项,并将所述指定标识添加到所述IP选项中;
所述网络设备,具体用于将所述出接口地址信息添加到所述IP选项。
所述网络设备,具体用于获得所述TCP数据的源地址信息和目的地址信息;如果当前记录有所述源地址信息、所述目的地址信息、以及所述出接口地址信息的对应关系,则确定不需要将所述出接口地址信息添加到所述TCP数据中;否则,将所述出接口地址信息添加到所述TCP数据中,并记录所述源地址信息、所述目的地址信息、以及所述出接口地址信息的对应关系。
所述接收端设备,具体用于获得所述TCP数据的源地址信息和目的地址信息,并将所述源地址信息、所述目的地址信息、以及所述出接口地址信息通知给所述管理服务器。
所述管理服务器,用于记录所述源地址信息、所述目的地址信息、所述出接口地址信息、以及生存时间的对应关系;当所述对应关系的生存时间到达预设阈值时,通知管理员所述源地址信息对应的设备与所述目的地址信息对应的设备之间的流量,在所述出接口地址信息对应的网络设备发生拥塞。
与现有技术相比,本发明至少具有以下优点:编码设备在发送的TCP数据中使用指定标识表示需要对拥塞节点进行控制,当网络设备识别出拥塞的TCP数据中携带指定标识后,在TCP数据中添加拥塞出接口的IP地址,使得接收端可以获知拥塞出接口的IP地址,并将拥塞出接口的IP地址通知给管理服务器,使得管理服务器可以发现IP视频监控网络中的拥塞状况,并通知管理员具体的拥塞节点,有利于管理员改善网络。
具体实施方式
本发明提出一种监控系统中信息的传输方法,该方法应用于包括编码设备(如EC)、网络设备(如交换机)、接收端设备(如IPSAN、MS、DC、VC等多种TCP流量的接受处理端设备)和管理服务器(如VM服务器)的监控系统中,如图2所示,该方法包括以下步骤:
步骤201,编码设备向网络设备发送TCP数据,该TCP数据中携带用于表示需要对拥塞节点进行控制的指定标识。
本发明中,编码设备可以在TCP数据的IP头中设置自定义的IP选项,并将指定标识添加到IP选项中,且可以设置IP头的分片标志位为不可分片;如图3所示的一种优选的在TCP数据的IP头中设置IP选项的示意图,可以在选项部分设置自定义的IP选项,该IP选项包括1个字节的类型;1个字节的长度(长度为包括前3个字节在内的整个IP选项);1个字节的指针,指针的值从1开始计数,指向IP选项的内容(本发明中该内容为拥塞节点的IP地址),该指针的值可以为4(跳过前面3个字节)。
需要注意的是,基于上述定义方式,在1个字节的类型中,第2、3位的1,3取值为保留值,因此可以选取0x21作为EC的业务流选项,即选取0x21为指定标识,用于表示需要对拥塞节点进行控制。
综上所述,在IP头中设置的IP选项的选项内容可以为:0x21,0x07,0x04,0x00000000,0x00;0x21为指定标识,0x07表示IP选项的长度(共8个字节),0x04(即指针的值)表示从第4个字节开始指向IP选项的内容,0x00000000为IP选项的内容(该值表示出接口地址选项,后续过程中该值可以进行调整);0x00为后续的1个补充字节(由于选项共有8个字节,前面为7个字节,该1个字节用于补足8个字节)。
步骤202,网络设备接收来自编码设备的TCP数据,并检查出该TCP数据发生拥塞。当接收到TCP数据后,网络设备可检查该TCP数据是否发生拥塞,本发明中以发生拥塞为例进行说明。
步骤203,当网络设备确定发生拥塞的TCP数据中携带指定标识时,网络设备将TCP数据的出接口地址信息添加到TCP数据中。
具体的,针对检查到的发生拥塞的TCP数据,网络设备可查看TCP数据的IP头的IP选项中是否包含有指定标识0x21,如果有指定标识,则将TCP数据的出接口地址信息添加到IP选项的内容中,即将出接口IP地址填入0x21选项的0x00000000数据区中。
需要说明的是,在实际应用中,针对编码设备和接收端设备之间的TCP数据,可以只将拥塞TCP数据流的第一个报文的出接口IP地址添加到TCP数据中,因此还可以在网络设备上维护表1所示的记录,在表1中,定时器T1为老化时间(默认值可为5秒),即到达5s后删除该记录。
表1
源地址 |
源端口 |
目的地址 |
目的端口 |
老化时间 |
拥塞节点IP |
1.1.1.1 |
10000 |
2.2.2.2 |
20000 |
T1 |
3.3.3.3 |
网络设备将TCP数据的出接口地址信息添加到TCP数据中,具体包括:网络设备接收到TCP数据后,获得TCP数据的源地址信息(包括源地址和源端口)和目的地址信息(包括目的地址和目的端口);如果当前记录有源地址信息、目的地址信息、以及出接口地址信息的对应关系,则不需要将出接口地址信息添加到TCP数据中;否则,需要将出接口地址信息添加到TCP数据中,并记录源地址信息、目的地址信息、以及出接口地址信息的对应关系。
基于表1维护的内容,如果获得TCP数据的源地址为1.1.1.1、源端口为10000、目的地址为2.2.2.2、目的端口为20000,则当前记录有源地址信息、目的地址信息、以及出接口地址信息的对应关系,不需要将出接口地址信息添加到TCP数据中,只更新老化时间T1即可。
如果获得TCP数据的源地址为1.1.1.2、、源端口为10001、目的地址为2.2.2.2、目的端口为20000,则当前未记录源地址信息、目的地址信息、以及出接口地址信息的对应关系,此时需要获得出接口地址选项,并将出接口地址信息添加到TCP数据中,并记录源地址信息、目的地址信息、以及出接口地址信息的对应关系,如表2所示。
表2
源地址 |
源端口 |
目的地址 |
目的端口 |
老化时间 |
拥塞节点IP |
1.1.1.1 |
10000 |
2.2.2.2 |
20000 |
T1 |
3.3.3.3 |
1.1.1.2 |
10001 |
2.2.2.2 |
20000 |
T1 |
3.3.3.3 |
步骤204,网络设备将TCP数据发送给接收端设备。
需要说明的是,各网络设备上均使能有ECN特性,基于当前的ECN特征,网络设备还需要在TCP数据中打上CE标记(即拥塞标记),接收端在收到携带拥塞标记的TCP数据后,通知编码设备降低发送速度,编码设备在收到通知后降低发送速度,以提高TCP传输的效率,该过程本发明中不再赘述。
步骤205,接收端设备接收TCP数据,并当TCP数据中携带指定标识时,从TCP数据中获得出接口地址信息,并将出接口地址信息通知给管理服务器。
具体的,针对接收到的TCP数据,接收端设备需要检查接收到的TCP数据的IP选项标记,如果其包含有0x21选项,则需要提取出选项中的数据内容,即拥塞节点的出接口IP地址。之后,接收端设备可以通过SIP(Session InitiationProtocol,会话初始协议)的notify(通知)消息将拥塞节点的IP地址通知给管理服务器。
需要说明的是,在将出接口地址信息通知给管理服务器的过程中,接收端设备还需要获得TCP数据的源地址信息和目的地址信息,并将源地址信息、目的地址信息、以及出接口地址信息一起通知给管理服务器。
步骤206,管理服务器记录源地址信息、目的地址信息、出接口地址信息、以及生存时间的对应关系,并当该对应关系的生存时间到达预设阈值时,通知管理员源地址信息对应的设备与目的地址信息对应的设备之间的流量,在出接口地址信息对应的网络设备发生拥塞。
需要注意的是,管理服务器可以在管理员上线时直接通知管理员哪条流量在哪个网络设备发生拥塞;也可以在管理员离线时通过短信或者邮件等方式通知管理员哪条流量在哪个网络设备发生拥塞;之后由管理员根据拥塞节点信息规划网络改良拥塞节点,并改善网络状况。
本发明中,管理服务器记录的对应关系如表3所示,在表3中,定时器T1为老化时间(默认值可为5秒),即到达5s后删除该记录;定时器T3为生存时间,即该记录存在的时间。
表3
源地址 |
源端口 |
目的地址 |
目的端口 |
拥塞节点IP |
生存时间 |
老化时间 |
1.1.1.1 |
10000 |
2.2.2.2 |
20000 |
3.3.3.3 |
T3 |
T1 |
4.4.4.4 |
10000 |
5.5.5.5 |
20000 |
3.3.3.3 |
T3 |
T1 |
当记录一条对应关系后,生存时间T3和老化时间T1均开始计时,如果后续收到<源地址,源端口,目的地址,目的端口,拥塞节点IP>五元组与表3中记录的相同,则更新该记录的老化时间。
以预设阈值为8s、老化时间为5s为例,针对记录1(源地址1.1.1.1对应的记录),生存时间T3和老化时间T1的计时过程中,如果老化时间到达5s后,该生存时间未到达8s,则删除记录1;如果老化时间到达5s前又收到记录1对应的五元组,则老化时间从0开始重新计时;如果老化时间到达5s前,该生存时间到达预设阈值8s,即可以认为该记录对应的拥塞情况确实发生,之后通知管理员进行相应处理。
为了实现上述方案,另一种优选的实施方式为:管理服务器设置两个定时器,一个为轮巡定时器T2,默认值为15秒;一个为消息老化定时器T3,默认值为10秒。管理服务器接收到各接收端设备发送过来的拥塞消息后记录表4所示的内容。
表4
源地址 |
源端口 |
目的地址 |
目的端口 |
拥塞节点IP |
生存时间 |
1.1.1.1 |
10000 |
2.2.2.2 |
20000 |
3.3.3.3 |
T3 |
4.4.4.4 |
10000 |
5.5.5.5 |
20000 |
3.3.3.3 |
T3 |
在表4的记录中,生存时间自动减小,如果后续收到<源地址,源端口,目的地址,目的端口,拥塞节点IP>五元组与表4中记录的相同,则更新该记录的生存时间为T3;否则,该记录的生存时间一直减小,减小到零后此记录老化被删除,删除信息计入日志。管理服务器通过启动轮巡线程,对表4中的记录进行轮巡,如果发现表4中记录生存时间超过预设阈值(如8s),则管理服务器记录日志,并通知管理员进行相应处理。
基于与上述方法同样的发明构思,本发明还提出了一种用于信息传输的监控系统,如图4所示,该系统包括:编码设备11、网络设备12、接收端设备13和管理服务器14,其中:
所述编码设备11,用于向所述网络设备12发送TCP数据,所述TCP数据中携带用于表示需要对拥塞节点进行控制的指定标识;
所述网络设备12,用于在接收到TCP数据后,当确定发生拥塞的TCP数据中携带所述指定标识时,将所述TCP数据的出接口地址信息添加到所述TCP数据中,并将所述TCP数据发送给所述接收端设备13;
所述接收端设备13,用于在接收到TCP数据后,当确定所述TCP数据中携带所述指定标识时,从所述TCP数据中获得所述出接口地址信息,并将所述出接口地址信息通知给所述管理服务器14。
所述编码设备11,具体用于在所述TCP数据的IP头中设置IP选项,并将所述指定标识添加到所述IP选项中;
所述网络设备12,具体用于将所述出接口地址信息添加到所述IP选项。
所述网络设备12,具体用于获得所述TCP数据的源地址信息和目的地址信息;如果当前记录有所述源地址信息、所述目的地址信息、以及所述出接口地址信息的对应关系,则确定不需要将所述出接口地址信息添加到所述TCP数据中;否则,将所述出接口地址信息添加到所述TCP数据中,并记录所述源地址信息、所述目的地址信息、以及所述出接口地址信息的对应关系。
所述接收端设备13,具体用于获得所述TCP数据的源地址信息和目的地址信息,并将所述源地址信息、所述目的地址信息、以及所述出接口地址信息通知给所述管理服务器14。
所述管理服务器14,用于记录所述源地址信息、所述目的地址信息、所述出接口地址信息、以及生存时间的对应关系;当所述对应关系的生存时间到达预设阈值时,通知管理员所述源地址信息对应的设备与所述目的地址信息对应的设备之间的流量,在所述出接口地址信息对应的网络设备12发生拥塞。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。