转发报文的方法和网络设备转让专利
申请号 : CN200710127523.2
文献号 : CN100583835C
文献日 : 2010-01-20
发明人 : 辛阳 , 刘利锋 , 郑志彬 , 朱洪亮 , 赵凯 , 杨义先
申请人 : 华为技术有限公司 , 北京邮电大学
摘要 :
权利要求 :
1.一种转发报文的方法,其特征在于,包括:
接收携带联系地址的会话初始协议注册请求消息,所述联系地址为会话 初始协议注册请求消息中的联系域的统一资源标识符的地址;
获取所述会话初始协议注册请求消息携带的联系地址;
若确定所述联系地址为预先保存的网络中的会话初始协议代理服务器地 址,则对所述会话初始协议注册请求消息进行异常处理。
2.根据权利要求1所述的方法,其特征在于,所述接收携带联系地址的会 话初始协议注册请求消息的步骤之前,所述方法还包括:从其它网络设备获取网络中的会话初始协议代理服务器地址;
保存所述网络中的会话初始协议代理服务器地址。
3.根据权利要求1所述的方法,其特征在于,所述接收携带联系地址的会 话初始协议注册请求消息的步骤之前所述方法还包括;
接收携带路径地址的会话初始协议响应消息;
所述路径地址作为网络中的会话初始协议代理服务器地址,保存所述会 话初始协议代理服务器地址。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述联系地址 为域名地址和/或因特网地址;所述会话初始协议代理服务器地址为域名地址 和/或因特网地址。
5.一种网络设备,其特征在于,包括:
代理服务器地址保存单元,用于保存网络中的会话初始协议代理服务器 地址;
注册请求消息接收单元,用于接收携带联系地址的会话初始协议注册请 求消息,所述联系地址为会话初始协议注册请求消息中的联系域的统一资源 标识符的地址;
联系地址获取单元,用于获取所述注册请求消息接收单元接收到的会话 初始协议注册请求消息携带的联系地址;
注册请求消息处理单元,用于确定所述联系地址获取单元获取的联系地 址为所述代理服务器地址保存单元保存的会话初始协议代理服务器地址后, 对所述会话初始协议注册请求消息进行异常处理。
6.根据权利要求5所述的网络设备,其特征在于,所述的网络设备进一步 包括:代理服务器地址获取单元,用于从其它网络设备获取网络中的会话初始 协议代理服务器地址,向所述代理服务器地址保存单元发送所述获取的会话 初始协议代理服务器地址。
7.根据权利要求5所述的网络设备,其特征在于,进一步包括:响应消息接收单元,用于接收携带路径地址的会话初始协议响应消息;
代理服务器地址获得单元,用于获取所述响应消息接收单元接收到的会 话初始协议响应消息携带的路径地址,把所述路径地址作为网络中的会话初 始协议代理服务器地址,向所述代理服务器地址保存单元发送所述会话初始 协议代理服务器地址。
8.根据权利要求5所述的网络设备,其特征在于,进一步包括:告警日志单元,用于当所述注册请求消息处理单元对所述会话初始协议 注册请求消息进行异常处理时,存储异常处理的信息。
9.根据权利要求5所述的网络设备,其特征在于,所述联系地址为域名地 址和/或因特网地址;所述会话初始协议代理服务器地址为域名地址和/或因特 网地址。
10.根据权利要求5至9任意一项所述的网络设备,其特征在于,所述网 络设备具体为,会话初始协议代理服务器或入侵检测系统。
说明书 :
技术领域
本发明涉及数据通信领域,尤其涉及转发报文的方法和网络设备。
背景技术
为解决SIP Loop循环攻击的问题,现有技术对SIP注册请求消息定义了 一个Max-Forwards域,该域值规定了SIP注册请求消息在网络中的最大跳数; SIP代理服务器接收到SIP注册请求消息后,获取Max-Forwards值,判断 Max-Forwards值是否为0,如果是,丢弃该消息,否则,将Max-Forwards值 减1,转发该消息;当存在SIP Loop循环攻击时,SIP消息循环Max-Forwards 次后,SIP代理服务器可以丢弃该消息。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题,为避 免正常报文到达目的地址之前被丢弃,Max-Forwards值不能太小,当存在SIP Loop循环攻击时,SIP Loop循环进行Max-Forwards次,直到Max-Forwards值 为0,循环攻击才会停止,这个循环过程损耗了SIP代理服务器的资源。
发明内容
为解决上述技术问题,本发明实施例的目的是通过以下技术方案实现的:
一种转发报文的方法,包括:接收携带联系地址的会话初始协议注册请 求消息,所述联系地址为会话初始协议注册请求消息中的联系域的统一资源 标识符的地址;获取会话初始协议注册请求消息携带的联系地址;若确定联 系地址为预先保存的网络中的会话初始协议代理服务器地址,则对会话初始 协议注册请求消息进行异常处理。
一种网络设备,包括:代理服务器地址保存单元,用于保存网络中的会 话初始协议代理服务器地址;注册请求消息接收单元,用于接收携带联系地 址的会话初始协议注册请求消息,所述联系地址为会话初始协议注册请求消 息中的联系域的统一资源标识符的地址;联系地址获取单元,用于获取注册 请求消息接收单元接收到的会话初始协议注册请求消息携带的联系地址;注 册请求消息处理单元,用于确定联系地址获取单元获取的联系地址为代理服 务器地址保存单元保存的会话初始协议代理服务器地址后,对会话初始协议 注册请求消息进行异常处理。
从以上的技术方案可以看出,在本发明实施例中,接收携带联系地址的 SIP注册请求消息;获取SIP注册请求消息携带的联系地址;确定联系地址为 预先保存的网络中的SIP代理服务器地址,则对SIP注册请求消息进行异常处 理;本技术方案可以预防SIP Loop循环攻击,提高SIP代理服务器的处理性 能。
附图说明
图2为本发明实施例二的转发报文方法流程图;
图3为本发明实施例三的网络设备示意图;
图4为本发明实施例四的网络设备示意图。
具体实施方式
实施例一:
请参考图1,为本发明实施例一的转发报文方法流程图。
步骤101.SIP代理服务器在系统初始化的时候,设置网络中的SIP代理服 务器地址;其中,SIP代理服务器地址可以为域名地址和/或因特网(Internet Protocol,IP)地址。
SIP代理服务器向其它SIP代理服务器发送广播消息或者直接向核心控制 设备发送请求消息,获取网络中的SIP代理服务器地址,将获取的SIP代理服 务器地址保存到合法代理服务器数据库中。
当SIP代理服务器A发生故障或退出时,可以向其它SIP代理服务器发送 状态信息或错误信息;其它SIP代理服务器接收到该状态信息或错误信息后, 从合法代理服务器数据库中删除SIP代理服务器A的地址信息。每个SIP代 理服务器可以与网络中其它SIP代理服务器共享自身的合法代理服务器数据 库,SIP代理服务器在初始化的时候,只需向与自己直接通信的SIP代理服务 器发送注册请求消息即可,而不需要向所有SIP代理服务器发送广播消息, 从而为不支持广播的网络提供兼容。SIP代理服务器之间的信息交互可以采用 已有的通信协议,或采用自定义协议。
可以理解的是,在系统初始化的时候,可以手工设置网络中的SIP代理 服务器地址,而不需要从其它设备获取。
合法代理服务器数据库能够以表格的形式保存,表1为本实施例的格式:
序号 代理服务器名 IP地址 域名 修改日期 1 Proxyl 192.168.1.10 domain1.com 2006.10.10 ... ... ... ... ...
表1
步骤102.接收到携带联系地址的SIP注册请求消息,获取该SIP注册请 求消息携带的联系地址。联系地址指,SIP注册请求消息中的联系域(Contact) 的统一资源标识符(URI)的地址。联系地址可以为域名地址和/或因特网IP 地址。
SIP注册请求消息中的Contact域的URI地址包括:域名地址,比如格式 为alice@client.example.com;IP地址,比如格式为,alice@10.110.225.23。IP 地址可以包括第4版本因特网协议地址(Ipv4)和第6版本因特网协议地址 (Ipv6),本实施例不仅可以支持Ipv4,也可以支持Ipv6。当接收到SIP注册请 求消息时,提取该SIP注册请求消息的Contact域值,获得该域值的@字符 之后的地址信息。
步骤103.查询合法代理服务器数据库,将获取的联系地址与合法代理服 务器数据库进行匹配,判断该联系地址是否为预先保存的SIP代理服务器地 址,如果是,继续步骤104;否则继续步骤105。
在进行匹配的时候,如果匹配串为IP地址,按照字符匹配原则在数据库 中IP地址栏查找匹配串,然后根据匹配结果进行相应处理;如果匹配串为域 名地址,而数据库中未保存该域名地址,只有其它IP地址,这时可以向域名 服务器提出域名查询请求,获取域名地址相对应的IP地址,然后按照字符匹 配原则在数据库中IP地址栏进行查找匹配串,如果查到了匹配的IP地址,则 将域名地址存入该IP地址对应的域名地址栏,从而可以使得下次匹配串为同 一域名地址时,无需再次查找域名服务器。
步骤104.对该SIP注册请求消息进行异常处理。异常处理可以为丢弃该 SIP注册请求消息。可以存储异常处理产生的告警信息。
步骤105.对该SIP注册请求消息进行正常转发。
实施例二:
请参考图2,为本发明实施例二的转发报文方法流程图。
步骤201.SIP代理服务器接收携带路径地址的SIP响应消息;获取该SIP 响应消息携带的路径地址,把该路径地址作为网络中的SIP代理服务器地址, 判断合法代理服务器数据库中是否已经存在该SIP代理服务器地址,如果是, 不需要将该SIP代理服务器地址保存到合法代理服务器数据库中;如果否, 则将该SIP代理服务器地址保存到合法代理服务器数据库中。路径地址指, SIP响应消息中的路由域(Via)的链接地址。
为保证SIP响应消息的合法性,可以配合会话事务检测机制来避免攻击 者伪造SIP响应消息。会话事务检测机制能检测出SIP响应消息是否符合正常 会话流程,如果攻击者发送响应消息而没有注册请求消息的话,该响应消息 不符合正常的会话流程,将会被过滤。入侵检测系统(Intrusion Detection System,IDS)可以实现会话事务检测机制。可以理解的是,获取SIP响应消息 携带的路径地址前,可以使用会话事务检测机制来检测SIP响应消息是否合 法,以保证路径地址的合法性。
步骤202.接收到携带联系地址的SIP注册请求消息,获取该SIP注册请 求消息携带的联系地址。
步骤203.查询合法代理服务器数据库,将获取的联系地址与合法代理服 务器数据库进行匹配,判断该联系地址是否为预先保存的SIP代理服务器地 址,如果是,继续步骤204;否则继续步骤205。
步骤204.对该SIP注册请求消息进行异常处理。
步骤205.对该SIP注册请求消息进行正常转发。
上述实施例一在系统初始化时配置合法代理服务器信息,可以看成静态 的配置方式;上述实施例二在系统运行时通过获取路由地址不断更新合法代 理服务器信息,可以看成动态的配置方式。需要指出的是,在具体实施本技 术方案的时候,可以采用静态和动态相结合的方式,在系统初始化时配置合 法代理服务器信息,在系统运行时,不断更新合法代理服务器信息;这样, 不仅可以在运行前保存完整的网络中SIP代理服务器地址,还可以在运行时 使得保存的SIP代理服务器地址随着网络的变化而变化。
从以上实施例一和实施例二可以看出,接收携带联系地址的SIP注册请 求消息;获取SIP注册请求消息携带的联系地址;确定联系地址为预先保存 的网络中的SIP代理服务器地址,则对SIP注册请求消息进行异常处理;从而 预防SIP Loop循环攻击,提高SIP代理服务器的处理性能。本技术方案通过 检测用户的SIP注册请求消息中的联系地址是否为代理服务器地址,即在预 准备阶段对Loop循环攻击行为进行检测,一旦发现Loop循环攻击行为,则 对用户的SIP注册请求消息进行异常处理,从而在预准备阶段即排除Loop循 环攻击行为,真正做到防患于未然。
实施例三:
请参考图3,为本发明实施例三的网络设备示意图。该网络设备300包括: 代理服务器地址获取单元301,用于从其它网络设备获取网络中的SIP代理服 务器地址,向代理服务器地址保存单元发送SIP代理服务器地址;代理服务 器地址保存单元302,用于保存网络中的SIP代理服务器地址;注册请求消息 接收单元303,用于接收携带联系地址的SIP注册请求消息;联系地址获取单 元304,用于获取注册请求消息接收单元303的话初始协议注册请求消息携带 的联系地址;注册请求消息处理单元305,用于确定联系地址获取单元304获 取的联系地址为代理服务器地址保存单元302保存的SIP代理服务器地址, 对SIP注册请求消息进行异常处理;告警日志单元306,用于当注册请求消息 处理单元305对SIP注册请求消息进行异常处理时,存储异常处理的信息。
其中,上述联系地址可以为域名地址和/或因特网地址;上述SIP代理服 务器地址可以为域名地址和/或因特网地址;上述网络设备300可以为,SIP 代理服务器或入侵检测系统。
代理服务器地址获取单元301从其它网络设备获取网络中的SIP代理服 务器地址,向代理服务器地址保存单元302发送SIP代理服务器地址。代理 服务器地址保存单元302保存网络中的SIP代理服务器地址。注册请求消息 接收单元303接收携带联系地址的SIP注册请求消息。联系地址获取单元304 获取注册请求消息接收单元303的SIP注册请求消息携带的联系地址。注册 请求消息处理单元305确定联系地址获取单元304获取的联系地址为代理服 务器地址保存单元302保存的SIP代理服务器地址,对SIP注册请求消息进行 异常处理。当注册请求消息处理单元305对SIP注册请求消息进行异常处理 时,告警日志单元306存储异常处理的信息。
从以上实施例三可以看出,代理服务器地址获取单元从其它网络设备获 取网络中的SIP代理服务器地址,代理服务器地址保存单元保存网络中的SIP 代理服务器地址,注册请求消息接收单元接收携带联系地址的SIP注册请求 消息,联系地址获取单元获取SIP注册请求消息携带的联系地址,注册请求 消息处理单元305确定获取的联系地址为保存的SIP代理服务器地址,对SIP 注册请求消息进行异常处理;从而预防SIP Loop循环攻击,提高SIP代理服 务器的处理性能。
实施例四:
请参考图4,为本发明实施例四的网络设备示意图。该网络设备400包括: 响应消息接收单元401,用于接收携带路径地址的SIP响应消息;代理服务器 地址获得单元402,用于获取响应消息接收单元401接收到的SIP响应消息携 带的路径地址,把路径地址作为网络中的SIP代理服务器地址,向代理服务 器地址保存单元发送SIP代理服务器地址;代理服务器地址保存单元403,用 于保存网络中的SIP代理服务器地址;注册请求消息接收单元404,用于接收 携带联系地址的SIP注册请求消息;联系地址获取单元405,用于获取注册请 求消息接收单元404的SIP注册请求消息携带的联系地址;注册请求消息处 理单元406,用于确定联系地址获取单元405获取的联系地址为代理服务器地 址保存单元403保存的SIP代理服务器地址,对SIP注册请求消息进行异常处 理;告警日志单元407,用于当注册请求消息处理单元406对SIP注册请求消 息进行异常处理时,存储异常处理的信息。
其中,上述联系地址可以为域名地址和/或因特网地址;上述SIP代理服 务器地址可以为域名地址和/或因特网地址;上述网络设备400可以为,SIP 代理服务器或入侵检测系统。
响应消息接收单元401接收携带路径地址的SIP响应消息。代理服务器 地址获得单元402获取响应消息接收单元401接收到的SIP响应消息携带的 路径地址,把路径地址作为网络中的SIP代理服务器地址,向代理服务器地 址保存单元403发送SIP代理服务器地址。代理服务器地址保存单元403保 存网络中的SIP代理服务器地址。注册请求消息接收单元404接收携带联系 地址的SIP注册请求消息。联系地址获取单元405获取注册请求消息接收单 元404的SIP注册请求消息携带的联系地址。注册请求消息处理单元406确 定联系地址获取单元405获取的联系地址为代理服务器地址保存单元403保 存的SIP代理服务器地址,对SIP注册请求消息进行异常处理。当注册请求消 息处理单元406对SIP注册请求消息进行异常处理时,告警日志单元407存 储异常处理的信息。
从以上实施例四可以看出,响应消息接收单元接收携带路径地址的SIP 响应消息,代理服务器地址获得单元获取SIP响应消息携带的路径地址,把 路径地址作为网络中的SIP代理服务器地址,代理服务器地址保存单元保存 网络中的SIP代理服务器地址,注册请求消息接收单元接收携带联系地址的 SIP注册请求消息;联系地址获取单元获取SIP注册请求消息携带的联系地址, 注册请求消息处理单元确定联系地址为SIP代理服务器地址,对SIP注册请求 消息进行异常处理;从而预防SIP Loop循环攻击,提高SIP代理服务器的处 理性能。
结合实施例三和实施例四的另一个实施例如下:该实施例的网络设备包 括,代理服务器地址获取单元,代理服务器地址保存单元,响应消息接收单 元,代理服务器地址获得单元,注册请求消息接收单元,联系地址获取单元, 注册请求消息处理单元和告警日志单元。该网络设备的工作过程如下:代理 服务器地址获取单元从其它网络设备获取网络中的会话初始协议代理服务器 地址,向代理服务器地址保存单元发送获取的会话初始协议代理服务器地址。 代理服务器地址保存单元保存网络中的会话初始协议代理服务器地址。响应 消息接收单元接收携带路径地址的会话初始协议响应消息。代理服务器地址 获得单元获取响应消息接收单元接收到的会话初始协议响应消息携带的路径 地址,把路径地址作为网络中的会话初始协议代理服务器地址,向代理服务 器地址保存单元发送会话初始协议代理服务器地址。代理服务器地址保存单 元保存网络中的会话初始协议代理服务器地址。注册请求消息接收单元接收 携带联系地址的会话初始协议注册请求消息。联系地址获取单元获取注册请 求消息接收单元接收到的会话初始协议注册请求消息携带的联系地址。注册 请求消息处理单元确定联系地址获取单元获取的联系地址为代理服务器地址 保存单元保存的会话初始协议代理服务器地址,对会话初始协议注册请求消 息进行异常处理。当注册请求消息处理单元对会话初始协议注册请求消息进 行异常处理时,告警日志单元存储异常处理的信息。上述的网络设备不仅可 以在运行前保存完整的网络中SIP代理服务器地址,还可以在运行时使得保 存的SIP代理服务器地址随着网络的变化而变化。
需要指出的是,本发明实施例可以应用在基于软交换为核心的NGN网 络,可以应用在基于IP多媒体子系统(IP Multimedia System,IMS)的NGN 网络。
以上对本发明实施例所提供的转发报文的方法和网络设备进行了详细介 绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实 施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改 变之处,综上所述,本说明书内容不应理解为对本发明的限制。