CN1801770A - Sip网络中的拓扑发现方法和系统 - Google Patents

Sip网络中的拓扑发现方法和系统 Download PDF

Info

Publication number
CN1801770A
CN1801770A CNA2005100002120A CN200510000212A CN1801770A CN 1801770 A CN1801770 A CN 1801770A CN A2005100002120 A CNA2005100002120 A CN A2005100002120A CN 200510000212 A CN200510000212 A CN 200510000212A CN 1801770 A CN1801770 A CN 1801770A
Authority
CN
China
Prior art keywords
sip
topology
territory
terminal
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100002120A
Other languages
English (en)
Other versions
CN100486210C (zh
Inventor
刘军
陆薇
杨博
英春
王庆波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CNB2005100002120A priority Critical patent/CN100486210C/zh
Priority to US11/326,006 priority patent/US8009585B2/en
Publication of CN1801770A publication Critical patent/CN1801770A/zh
Application granted granted Critical
Publication of CN100486210C publication Critical patent/CN100486210C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种用于SIP网络中的拓扑发现的方法和系统。依据该方法,SIP网络被分成由对应的SIP代理管理的区域,一个管理系统为每个SIP域生成一个拓扑终端,并通过每个SIP域的所述管理代理注册该拓扑终端,由每个拓扑终端产生给其他终端的拓扑探索消息并累积来自其他终端的拓扑探索消息,根据所采集的所述拓扑探索消息收集SIP网络的路由选择信息,以演绎出所述SIP网络的拓扑。

Description

SIP网络中的拓扑发现方法和系统
技术领域
本发明一般地涉及一种用于管理通信网络的方法和系统。具体地,本发明涉及一种在SIP网络中的拓扑发现的方法和系统。
背景技术
VoIP(IP语音(Voice over Internet Protocol))是一组用于采用分组网络中的因特网协议来提供语音服务的技术。与传统的基于电路交换的语音传送技术相比,VoIP具有一系列优点,包括使用和维护的低成本、升级和扩展的灵活性以及易于集成和会聚。因此,VoIP成为通信领域中的一个新生技术,对电话网络和服务带来一场革命。会话初始化协议(SIP)是VoIP中的应用层信令协议,用于创建、修改和终止通信会话。SIP具有简单、灵活以及可扩充性等特点,使得它在通信领域越来越流行。
SIP网络是由大量相互协作为用户提供一定功能的SIP使能的实体相连在一起构成的。近年来,在企业和通信运营领域已经部署了许多SIP网络来提供VoIP服务。随着SIP VoIP网络规模的扩大,对于网络管理员提出了管理方面的挑战。为了有效地管理SIP网络,管理员需要知道SIP网络的一个重要方面——拓扑。SIP网络拓扑指的是所连接的SIP实体之间的连接关系和路由信息的应用层布局。拓扑信息对网络管理和网络规划有着重要的意义。利用拓扑信息,网络管理员可以更加高效地管理网络,提高网络性能。例如,SIP设备发生故障时的告警信息可以直观地在拓扑图上显示出来,网络管理员可以很快找到故障设备的所在位置,并预见到该故障引起的网络性能下降将导致的问题,然后结合拓扑信息进行调整和设置,避免这样的情况出现。
如何获得网络的拓扑信息是网络管理中的重要问题。拓扑发现是一种获得和报告网络拓扑信息的技术。最直接的拓扑发现方法是要求网络管理员手工输入设备的位置信息和它们之间的连接链路,然后将网络拓扑图直接画出来。这种方法虽然简单,但当设备数量很多时将变得非常乏味和低效,并且难以控制质量,因此需要利用自动拓扑发现技术来完成这项任务。以往的一些与自动拓扑发现相关的技术成果包括:
美国专利US6,205,122公开了一种通过将来自与网络相连的计算机的信息相关联来自动检测物理网络拓扑的系统和方法,这种信息是通过多个终端的操作收集的,这些终端在整个网络中分布并由与网络相连的计算机来操作。终端交换信息以便至少部分地确定网络的物理拓扑。
美国专利US6,697,338公开了一种确定一个多子集通信网络中的单元的物理连接的方法,为网络单元的每个接口产生地址集合,其中一给定地址集合的成员对应于从为其产生所给定地址集合的对应的接口可以到达的网络单元。确定一给定网络单元的接口与其他网络单元的一个或多个接口之间的一组备选连接。如果确定了不止一个备选连接,则从该集合中去除与所给定网络单元在同一子集中的网络单元的连接。
美国专利6,681,248公开了一种用于透明高带宽网络中的端口连接发现的方法。在这个方法中,网络管理员生成网络中的端口的列表,并使用这个列表来跟踪连接关系。对于每个端口,管理员首先检查是否有一个当前连接,如果有,则记录该连接。对于未连接的端口,管理员使其发出一个识别发送端口的跟踪消息,当从一个端口接收到一个跟踪检测消息时,网络管理员用刚刚报告的连接更新端口列表,并禁止被检测到的跟踪消息。
但是,这些方法针对的是物理层和网络层的拓扑连接关系,而不能解决SIP网络中的拓扑发现问题。SIP协议是一个应用层信令协议,与上述方法中所涉及的网络层和物理层协议相比,SIP网络拓扑在协议消息的格式、实体鉴别方法上都不同,并且,SIP网络中的实体间存在逻辑连接关系,这与物理层和网络层的连接关系是不同的,SIP消息在SIP网络实体间的传递路径与物理层和网络层不在一个层次上,原有的物理层和网络层路由不能表示。因此,原有的一些拓扑发现方法不能应用到SIP网络中,希望提供一种新的能够用于SIP网络的拓扑发现方法和系统。
发明内容
因此,本发明的目的是提供一种用于SIP网络中的拓扑发现的方法的系统。
依据本发明的一个方面,在本发明中提供了一种用于SIP网络中的拓扑发现的方法,其中所述SIP网络中包括多个SIP实体,所述方法包括如下步骤:确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和至少一个用户终端;为每个SIP域生成一个拓扑终端,并通过每个SIP域的所述管理代理注册所述拓扑终端;由所述拓扑终端产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及,根据所述路由选择信息确定所述SIP网络的拓扑。
依据本发明的另一个方面,在本发明中提供了一种用于发现SIP网络的拓扑的系统,其中所述SIP网络中包括多个SIP实体,所述系统包括:SIP域确定装置,用于确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和一个或多个用户终端;拓扑终端控制装置,用于为每个SIP域分配一个拓扑终端并将其注册到每个特定的SIP-域;对应于每个SIP域并通过每个SIP域的所述管理代理注册的拓扑终端,用于产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及拓扑确定装置,用于根据所述路由选择信息确定所述SIP网络的拓扑。
在本发明中还提供了一种计算机可读介质,其中包含计算机可执行的程序代码,所述程序代码用于实现本发明SIP网络拓扑发现方法
本发明具有如下优点:
-自动识别SIP网络中的SIP实体;
-自动发现SIP实体之间的互连关系;
-自动发现SIP-域彼此之间是如何连接的。
附图说明
为了更全面地理解本发明,下面将参照附图详细描述本发明,在附图中:
图1是显示一个SIP网络的例子的示意图;
图2a是显示本发明的SIP网络拓扑发现体系结构的示意图;
图2b是显示本发明的SIP网络拓扑发现系统的更详细的方框图;
图3是显示本发明的SIP网络拓扑发现方法的流程图;
图4是显示本发明的SIP实体识别阶段的流程图;
图5是显示本发明的SIP-域划分阶段的流程图;
图6是显示本发明的拓扑终端产生阶段的流程图;
图7是显示本发明的拓扑探索消息产生阶段的流程图;
图8是显示本发明的拓扑探索消息累积阶段的流程图;
图9是显示本发明的拓扑确定阶段的流程图;以及
图10是显示本发明的SIP网络拓扑的例子的示意图。
具体实施方式
在详细描述本发明的优选实施例之前,将首先对本说明书中所采用的术语作出如下说明:
-SIP网络和SIP-域
SIP网络是一组互连的通过通信链路彼此通信的SIP使能(SIP-enabled)的实体。在SIP网络中有两种类型的SIP实体,代理(proxy)和用户终端(useragent)(UA)。代理是一个用于代表其他客户机发出请求的目的的、既用作服务器又用作客户机的中间实体。代理的功能是进行路由选择和注册。路由选择是将一个请求从源实体传送到目标实体。注册是接受用户终端注册请求,并将请求中规定的位置信息放在一个位置数据库中以供用户联系。用户终端是一个端点实体,通过交换SIP请求和响应来启动和终止通信对话。一些用户终端例子是IP电话、计算机中的软电话和电话网关等。一个SIP网络可以被分成由相应的SIP代理管理的多个区域。我们将这种类型的区域称为“SIP-域”。每个SIP-域包括一个管理代理和一组用户终端。在一个SIP-域中的每个用户终端都通过该SIP-域中的代理进行注册。
图1显示了SIP网络的一个例子。在这个SIP网络中有两个SIP-域,SIP-域101和SIP-域111。SIP-域101包括一个代理102和一个通过代理102注册的用户终端103。SIP-域111包括一个代理112和一个通过代理112注册的用户终端113。通信链路120-122连接这些SIP实体。
-SIP网络拓扑
SIP网络拓扑是所连接的SIP实体之间的互连和路由选择信息的应用层布局。它包括两个部分:一个是所有SIP实体之间的互连。另一个是SIP-域如何彼此连接。例如,图1中的SIP网络拓扑包括:代理102和用户终端103之间的链路121,代理112和用户终端113之间的链路122,代理102和代理112之间的链路120,以及,SIP-域101和111由代理102和代理112通过链路120连接。
-拓扑终端
拓扑终端是一个与一个特定SIP-域相联系的用户终端。它由管理系统生成,并通过该特定SIP-域中的管理代理注册。拓扑终端的主要工作是产生和收集拓扑探索消息。这些消息用于为管理系统收集路由选择信息,以便推导出网络拓扑。
-拓扑探索消息
拓扑探索消息是OPTIONS方法的一个标准SIP请求。OPTIONS方法允许一个用户终端在不打扰另一方的情况下查询另一个用户终端或代理的能力,例如其支持的媒体编码格式等。
表1是由一个拓扑终端发出的拓扑探索消息的一个例子。
  OPTIONS sip:topology_agent_002@b.example.com SIP/2.0Via:SIP/2.0/UDP station.example.com;branch=z9hG4bKhjhs8ass877;received=192.0.2.1Max-Forwards:70To:<sip:topology_agent_002@b.example.com>From:topology_agent_001<sip:topology_agent_001@a.example.com>;tag=1928301774Call-ID:a84b4c76e66710CSeq:63104OPTIONSContact:<sip:admin@station.example.com>Accept:application/sdpContent-Length:0
表1:拓扑探索消息1
在该拓扑探索消息中包含着发出该消息的起始终端的信息(FROM标题字段)以及该消息将要到达的目的终端的信息(TO标题字段)。
表2是由一个拓扑终端接收到的拓扑探索消息的一个例子。
  OPTIONS sip:topology_agent_002@b.example.com SIP/2.0Via:SIP/2.0/UDP proxy_b.b.exapmle.com;branch=z9hG4bKnashds8;received=192.0.2.3Via:SIP/2.0/UDP proxy_a.a.example.com;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2Via:SIP/2.0/UDP station.example.com;branch=z9hG4bKhjhs8ass877;received=192.0.2.1Max-Forwards:70To:<sip:topology_agent_002@b.example.com>From:topology_agent_001<sip:topology_agent_001@a.example.com>;tag=1928301774Call-ID:a84b4c76e66710CSeq:63104OPTIONSContact:<sip:admin@station.example.com>Accept:application/sdpContent-Length:0
表2:拓扑探索消息2
当一个拓扑终端接收到拓扑探索消息时,它可以检索出路由选择信息,包括来自FROM标题字段的起始终端(OA)、来自TO标题字段的目的终端(DA)、以及来自VIA标题字段的路径信息(P)。拓扑探测消息中的路径信息是由消息经过的每一个SIP节点自动加入的,然后由收到的拓扑终端提取出来。
表3显示了从表2的例子中检索出的路由选择信息。
  OA:topology_agent_00l@a.example.comDA:topology_agent_002@b.example.comP:proxy_a.a.example.com;proxy_b.b.exapmle.com;
                    表3路由选择信息
下面,首先结合附图2a和2b详细描述本发明的SIP网络拓扑发现系统的体系结构。
图2a是显示本发明的SIP网络拓扑发现系统的体系结构的示意图。在整个SIP网络中,显示了四个SIP-域211、221、231和241,在每个SIP-域中包含着一个代理和多个用户终端,每个用户终端通过所在的SIP-域中的代理来进行注册。管理系统201由三个部分组成,拓扑探索器202、拓扑终端204-207以及数据库203。拓扑终端204-207分别对应于各个SIP-域211、221、231和241,并通过该SIP-域中的代理进行注册。
在图2b中显示了本发明的SIP网络拓扑发现系统的更详细的方框图。为了简化起见,在图2b中仅仅示意性地显示了一个拓扑终端204。应该理解,在本发明的管理系统中的拓扑终端的数量是与SIP网络中的SIP-域的个数相对应的,其他的拓扑终端具有与拓扑终端204相同的结构及功能。
在图2b中,拓扑探索器202进一步包括:SIP-域确定装置2020、拓扑终端控制装置2026和拓扑确定装置2028。SIP域确定装置2020用于确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和一个或多个用户终端。拓扑终端控制装置2026用于为每个SIP域分配一个拓扑终端并将其注册到每个特定的SIP-域。拓扑确定装置2028用于根据每个拓扑终端收集的路由选择信息确定所述SIP网络的拓扑。
SIP域确定装置2020进一步包括SIP实体识别装置2022和SIP域划分装置2024。SIP实体识别装置2022对SIP网络中的每个SIP实体进行识别,判断该SIP实体是否是一个代理或是一个用户终端。SIP域划分装置2024将识别出的代理和用户终端划分到各个SIP域中,从而形成SIP网络中的多个SIP域。
拓扑终端204进一步包括:拓扑探索消息产生装置2040和拓扑探索消息采集装置2042。拓扑探索消息产生装置2040产生给所有其他终端的拓扑探索消息,以探索所有路径。拓扑探索消息采集装置2042采集来自所有其他终端的拓扑探索消息,根据所采集的拓扑探索消息检索出路由选择信息,提供给拓扑探索器202中的拓扑确定装置2028。
数据库203用于存储拓扑发现的相关记录。
本领域技术人员可以理解的是,虽然上面将拓扑探索器描述为包含SIP实体识别装置、SIP域确定装置、拓扑终端配置装置、拓扑确定装置等装置,将拓扑终端描述为包括拓扑探索消息产生装置和拓扑探索消息采集装置,但上述装置并不仅限于用硬件的方式来实现,事实上,本发明中所提到的各个装置都既可以用软件来实现,也可以用硬件来实现。
-总体流程
图3显示了本发明的用于SIP网络中的拓扑发现的方法的总体流程,该方法包括五个阶段:SIP实体识别302,SIP-域划分304,拓扑终端产生306,拓扑探索308,以及拓扑确定314。拓扑探索阶段308包括两个部分,拓扑探索消息产生310和拓扑探索消息累积312。在SIP实体识别阶段302,对SIP网络中的所有SIP使能的实体进行识别和记录。在SIP-域划分阶段304,将SIP网络分成一组SIP-域,并将所有的SIP实体指定给相应的SIP-域。在拓扑终端产生阶段306,为每个SIP-域生成一个拓扑终端,并通过该SIP-域的管理代理注册该拓扑终端。在拓扑探索阶段308,每个拓扑终端产生拓扑探索消息并采集来自所有其他拓扑终端的拓扑探索消息,以收集路由选择信息。在拓扑确定阶段314,根据由拓扑终端收集的路由选择信息汇编SIP网络拓扑。
下面我们将参考图4-9的流程图以图2a所示的例示性SIP网络200为例详细描述这五个阶段。
-SIP实体识别
在这个阶段,SIP网络中的所有SIP使能的实体都被识别和记录。拓扑探索器(例如,图2a中的202)执行识别和记录的操作。
图4是显示本发明的SIP实体识别阶段的流程图。
参看图4,在步骤401初始化了三个列表。第一个列表(LIST_1)包括要处理的网络节点的标识。这些标识可以是已经由其他网络管理系统发现的节点的标识或一些手工输入的节点标识。第二个列表(LIST_2)包括已经发现的SIP代理的标识。第三个列表(LIST_3)包括已经发现的用户终端的标识。最初LIST_2和LIST_3是空的。
在步骤402,从LIST_1中选择一个节点标识作为要处理的当前实体。例如,从LIST_1选择SIP实体212或213。
在步骤406,识别当前实体是否是一个SIP代理。为了实现这一点,拓扑探索器可以向当前实体发送一个标准的SIP注册(REGISTER)请求,以执行一个注册尝试。如果注册尝试成功地完成,则当前实体被识别为SIP代理。否则,它不是SIP代理。如果当前实体是SIP代理,拓扑探索器进行到步骤408以便将当前实体添加到LIST_2中,并从LIST_1中移去当前实体。在本实施例中,SIP实体212被识别为是一个SIP代理并添加到LIST_2中。
如果在步骤406判断出当前实体不是一个SIP代理,则进行到步骤410。在步骤410,识别当前实体是否是一个用户终端。为了实现这一点,拓扑探索器可以向当前实体发送一个标准的SIP选项(OPTION)请求,以执行一个SIP探测。如果SIP探测成功完成,则当前实体被识别为是一个用户终端。否则,它不是用户终端。如果当前实体是用户终端,则进行到步骤412以便将当前实体添加到LIST_3中,并从LIST_1中移去当前实体。如果当前实体不是用户终端,则进行到步骤414以便将当前实体从LIST_1中移去。在本实施例中,SIP实体213被识别为是一个用户终端并添加到LIST_3中。
在步骤416,确定LIST_1是否是空的。如果LIST_1不是空的,为LIST_1中的每个标识重复步骤402-416,以识别所有SIP实体。否则,在步骤418将代理列表LIST_2和用户终端列表LIST_3存储在数据库中。然后,完成SIP实体识别阶段。
-SIP-域划分
在这个阶段,SIP网络被分成一组SIP-域,所有的SIP实体被指定到相应的SIP-域。拓扑探索器(例如,图2a中的202)执行这些操作。图5是显示本发明的SIP-域划分阶段的流程图。
参考图5,在步骤501,从数据库检索出在上一个阶段发现的SIP代理列表LIST_1和用户终端列表LIST_2。
在步骤502,初始化一组空的SIP-域(SET_1),以存储所处理的SIP-域。
在步骤504,将一个空的SIP-域初始化为当前的SIP-域。在例示的SIP网络中,假定SIP-域211被初始化为当前的SIP-域。
在步骤506,从LIST_1获得一个SIP代理作为当前代理。在本实施例中,代理212是当前代理。
在步骤508,将当前代理作为管理代理添加到当前的SIP-域中,并从LIST_1移去当前代理。在当前例子中,代理212被添加到SIP-域211,并从LIST_1移去。
在步骤510,检索出LIST_2中所有的通过当前代理注册的用户终端,以组成LIST_3。当前代理的注册信息可以由标准SNMP协议从代理的管理信息库(MIB)或由程序基于命令行接口(CLI)检索出来。在本实施例中,检索出用户终端213和214是通过当前代理212注册的用户终端,从而组成LIST_3。
在步骤512,将LIST_3中的用户终端添加到当前的SIP-域,并从LIST_2移去LIST_3中的所有用户终端。然后,在步骤514将当前的SIP-域添加到SET_1中。在本实施例中,将包括212、213和214的SIP-域211添加到SET_1中。
在步骤516,确定LIST_1是否是空的。如果LIST_1不是空的,重复步骤504-516,直到LIST_1是空的,以便确定所有的SIP-域。在LIST_1是空的之后,在步骤518将SIP-域集合SET_1存储到数据库中。然后,完成SIP-域划分阶段。
事实上,上述的SIP实体识别以及SIP-域划分阶段并不是唯一的确定SIP-域的方式,我们也可以通过其他方式来确定SIP-域,例如通过获得已有的关于SIP-域的划分的信息来直接得到在每个SIP域中的SIP实体。
-拓扑终端产生
在这个阶段,为每个SIP-域生成一个拓扑终端,并通过该SIP-域中的管理代理进行注册。拓扑探索器(例如,图2a中的例子202)执行这些操作。图6是显示本发明的拓扑终端产生阶段的流程图。
参考图6,在步骤601从数据库检索出在上一阶段确定的SIP-域的集合(SET_1)。
在步骤602,初始化一个空的拓扑终端列表LIST_1,以存储在下面的步骤中生成的拓扑终端。
在步骤604,从SET_1选择一个SIP-域作为当前的SIP-域。在本实施例中,SIP-域211是当前的SIP-域。
在步骤606,从当前的SIP-域中获得SIP代理作为当前的代理。在本实施例中,代理212是当前的代理。
在步骤608,生成一个拓扑终端作为当前的拓扑终端。在本实施例中,生成拓扑终端204。
然后,在步骤610,通过当前代理来注册当前的拓扑终端,其中,当前的拓扑终端通过向当前代理发送一个标准SIP注册(REGISTER)请求来进行注册。在本实施例中,拓扑终端204通过代理212注册。
在步骤612,将当前的拓扑终端添加到LIST_1。在本实施例中,拓扑终端204被添加到LIST_1中。
在步骤614,从SET_1中移去当前的SIP-域。在本实施例中,从SET_1中移去SIP-域211。
在步骤616,确定SET_1是否是空的。如果SET_1不是空的,重复步骤604-616,直到SET_1是空的,以便为所有的SIP-域生成和注册拓扑终端。否则,在步骤618将拓扑终端列表LIST_1存储到数据库中。然后,完成拓扑终端注册阶段。
-拓扑探索
在这个阶段,每个拓扑终端产生到所有其他拓扑终端的拓扑探索消息,并从所有其他拓扑终端采集拓扑探索消息以收集路由选择信息。拓扑探索阶段包括两个部分,拓扑探索消息产生和拓扑探索消息累积。这两个部分由每个拓扑终端执行来完成这个阶段。
-拓扑探索消息产生
在这个部分,拓扑终端产生到所有其他拓扑终端的拓扑探索消息,以便探索SIP网络中的路径。图7是显示在这个部分中的步骤的流程图。
参考图7,在步骤701,一个拓扑终端从数据库获得拓扑终端列表作为LIST_1,以便产生到所有其他拓扑终端的拓扑探索消息。例如,执行拓扑探索消息产生的拓扑终端204获得拓扑终端列表204-207作为LIST_1。
在步骤702,从LIST_1选择一个拓扑终端作为当前的拓扑终端。
在步骤704,确定当前的拓扑终端是否等于执行拓扑探索消息产生的拓扑终端本身。如果是,执行拓扑探索消息产生的拓扑终端进行到步骤708以避免自循环。
否则,在步骤706,执行拓扑探索消息产生的拓扑终端构造一个拓扑探索消息,并将其发送给当前的拓扑终端。在这个例子中,如果当前的拓扑终端是204,则拓扑终端204进行到步骤708。如果当前的拓扑终端是205,则拓扑终端204构造一个拓扑探索消息并将其发送给拓扑终端205。
在步骤708,从LIST_1中移去当前的拓扑终端。
在步骤710,确定LIST_1是否是空的。如果LIST_1不是空的,重复步骤702-710,直到LIST_1是空的,以产生拓扑探索消息并向所有其他终端发送。否则,完成这个拓扑终端的拓扑探索消息产生部分。
对每个拓扑终端重复上述步骤,直到所有的拓扑终端都产生了拓扑探索消息并向所有其他终端发送了拓扑探索消息。
-拓扑探索消息累积
在这个部分,拓扑终端从所有其他拓扑终端采集拓扑探索消息,以便收集SIP网络的路由选择信息。图8是显示在这个部分中的步骤的流程图。
参考图8,在步骤801,一个拓扑终端从数据库获得拓扑终端列表作为LIST_1,并将其本身从LIST_1中移去。例如,拓扑终端204获得拓扑终端列表204-207作为LIST_1,并将204从LIST_1中移去。
然后,在步骤802,拓扑终端等待来自其他拓扑终端的拓扑探索消息到来。
在步骤804,确定拓扑探索消息是否到达。如果没有拓扑探索消息到达,拓扑终端返回步骤802等待。否则,拓扑终端将进行到步骤804来处理接收到的拓扑探索消息。例如,拓扑终端204从拓扑终端207接收到一个拓扑探索消息。
在步骤806,拓扑终端从接收的拓扑探索消息中检索出FROM_URI作为起始终端(OA),检索出TO_URI作为目的终端(DA)。在本实施例中,拓扑终端204获得拓扑终端207的SIP URI作为OA,获得拓扑终端204的SIP URI作为DA。
在步骤808,确定OA是否在LIST_1中。如果OA不在LIST_1中,这意味着检索出的拓扑探索消息是一个重复的拓扑探索消息,拓扑代理返回步骤802去等待另一个消息。否则,拓扑终端进行到步骤810以便从接收到的拓扑探索消息检索出路径信息(P)。在本实施例中,OA 207在LIST_1中。从拓扑探索消息检索出的路径信息P是“242;222;212”。
在步骤812,由OA、DA和P组成的路由选择信息被存储到数据库中。在本实施例中,路由选择信息R是(207,204,“242;222;212”),被存储到数据库中。
在步骤814,从LIST_1移去OA。在本实施例中,从LIST_1移去拓扑终端207。在步骤816,确定LIST_1是否是空的。如果LIST_1不是空的,重复步骤802-816,直到LIST_1是空的,以便从所有其他拓扑终端采集拓扑探索消息。否则,完成这个拓扑终端的拓扑探索消息累积部分(步骤718)。
对每个拓扑终端重复上述步骤,直到所有的拓扑终端都从其他拓扑终端中采集了拓扑探索消息。
-拓扑确定
在这个阶段,根据由拓扑终端收集的路由选择信息来汇编SIP网络拓扑。拓扑探索器(例如,图2a中的202)执行该确定。图9是显示在这个阶段中的步骤的流程图。
参考图9,在步骤901,从数据库中检索出由拓扑终端收集的所有路由选择信息。在步骤902,拓扑探索器根据上述路由选择信息演绎出SIP网络的拓扑。如何根据所述路由选择信息演绎出网络的拓扑是本技术领域的已有技术,因此在这里不进行详细说明。在步骤904,将拓扑信息存储到数据库中。在步骤906,输出SIP网络的拓扑,并完成拓扑确定(步骤808)。在本实施例中,将发现的拓扑显示在图10中。从图10可以看出,经过拓扑确定阶段之后所产生的拓扑能够表现出SIP网络中的各个SIP-域中的SIP实体、SIP实体之间的互连关系以及SIP-域彼此之间是如何连接的。
这里已经公开了用于SIP网络中的拓扑发现的方法和系统。为实现本发明而写的软件将存储在某种形式的计算机可读介质中,例如存储器、CD-ROM或通过网络传输,并由处理器执行。作为选择,可以用硬件实现本发明的部分或全部。
虽然这里用优选实施例描述了本发明,显然这些实施例仅仅是为了说明本发明,并不能限制本发明的保护范围。本领域的技术人员将很容易理解对所示的实施方案可以有多种变化,而且这些变化应该在本发明的精神和范围之内。因此,本领域的技术人员可以在不背离所附权利要求书的情况下进行很多更改。

Claims (17)

1.一种用于SIP网络中的拓扑发现的方法,其中所述SIP网络中包括多个SIP实体,所述方法包括如下步骤:
确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和至少一个用户终端;
为每个SIP域生成一个拓扑终端,并通过每个SIP域的所述管理代理注册所述拓扑终端;
由所述拓扑终端产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及
根据所述路由选择信息确定所述SIP网络的拓扑。
2.如权利要求1所述的方法,其特征在于所述确定所述SIP网络中的多个SIP域的步骤包括如下步骤:
识别所述SIP网络中的每个SIP实体,以得到包括所述SIP网络中的所有管理代理的代理列表以及包括所述SIP网络中的所有用户终端的用户终端列表;
确定分别属于同一个SIP域的SIP实体,从而形成所述SIP网络中的多个SIP域。
3.如权利要求2所述的方法,其特征在于所述识别所述SIP网络中的每个SIP实体的步骤包括如下步骤:
向所述SIP实体发送一个标准的SIP注册请求来进行注册尝试,如果注册尝试成功,则将所述SIP实体识别为一个管理代理。
4.如权利要求3所述的方法,其特征在于所述识别所述SIP网络中的每个SIP实体的步骤包括如下步骤:
如果所述SIP注册尝试不成功,向所述SIP实体发送一个标准的SIP选项请求来执行SIP探测,如果成功完成SIP探测,则将所述SIP实体识别为一个用户终端。
5.如权利要求2至4中的任何一个所述的方法,其特征在于所述确定分别属于同一个SIP域的SIP实体、从而形成所述SIP网络中的多个SIP域的步骤包括如下步骤:
a)从所述代理列表中选择一个代理作为当前的代理;
b)检索出通过所述当前的代理注册的所有用户终端;
c)将所述当前的代理以及所述通过所述当前的代理注册的所有用户终端添加到一个SIP-域中;以及
d)重复步骤a)到c),直到所述代理列表中的所有代理以及相应的用户终端都已经被处理,从而形成所述SIP网络中的多个SIP域。
6.如权利要求1所述的方法,其特征在于所述为每个SIP域生成一个拓扑终端并通过每个SIP域的管理代理注册所述拓扑终端的步骤包括如下步骤:
a)选择所述SIP网络中的一个SIP-域作为当前的SIP-域;
b)为所述当前的SIP-域生成一个拓扑终端;
c)通过所述SIP-域的管理代理注册所述拓扑终端;
d)重复步骤a)到c),直到所述SIP网络中的每个SIP-域都具有一个相应的通过管理代理注册的拓扑终端。
7.如权利要求1所述的方法,其特征在于所述由所述拓扑终端产生并采集拓扑探索消息的步骤包括如下步骤:
由每个拓扑终端产生到所有其他拓扑终端的拓扑探索消息并发送所述拓扑探索消息;以及
由每个拓扑终端采集来自所有其他拓扑终端的拓扑探索消息。
8.如权利要求7所述的方法,其特征在于所述由每个拓扑终端采集来自所有其他拓扑终端的拓扑探索消息的步骤包括如下步骤:
每个拓扑终端从所述接收到的拓扑探索消息检索出起始终端、目的终端和路径信息,组成路由选择信息。
9.一种用于发现SIP网络的拓扑的系统,其中所述SIP网络中包括多个SIP实体,所述系统包括:
SIP域确定装置,用于确定所述SIP网络中的多个SIP域,其中每个SIP域包含一个管理代理和一个或多个用户终端;
拓扑终端控制装置,用于为每个SIP域分配一个拓扑终端并将其注册到每个特定的SIP-域;
对应于每个SIP域并通过每个SIP域的所述管理代理注册的拓扑终端,用于产生并采集拓扑探索消息,以便根据所采集的所述拓扑探索消息收集所述SIP网络的路由选择信息;以及
拓扑确定装置,用于根据所述路由选择信息确定所述SIP网络的拓扑。
10.如权利要求9所述的系统,其特征在于所述SIP域确定装置包括:
SIP实体识别装置,用于识别所述SIP网络中的每个SIP实体,以得到包括所述SIP网络中的所有管理代理的代理列表以及包括所述SIP网络中的所有用户终端的用户终端列表;以及
SIP域划分装置,用于确定分别属于同一个SIP域的SIP实体,从而形成所述SIP网络中的多个SIP域。
11.如权利要求10所述的系统,其特征在于所述SIP实体识别装置向所述SI P实体发送一个标准的SIP注册请求来进行注册尝试,如果注册尝试成功,则将所述SIP实体识别为一个管理代理。
12.如权利要求11所述的系统,其特征在于所述SIP实体识别装置进一步配置为,如果所述SIP注册尝试不成功,所述SIP实体识别装置向所述SIP实体发送一个标准的SIP选项请求来执行SIP探测,如果成功完成SIP探测,则将所述SIP实体识别为一个用户终端。
13.如权利要求10至12中的任何一个所述的系统,其特征在于所述SIP域划分装置检索出通过所述代理列表中的一个管理代理注册的所有用户终端,将所述管理代理以及所述通过所述管理代理注册的所有用户终端添加到一个SIP-域中。
14.如权利要求9所述的系统,其特征在于所述拓扑终端进一步包括:拓扑探索消息产生装置,用于产生到所有其他拓扑终端的拓扑探索消息并发送所述拓扑探索消息;以及,拓扑探索消息采集装置,用于采集来自所有其他拓扑终端的拓扑探索消息。
15.如权利要求9所述的系统,其特征在于每个拓扑终端从所述接收到的拓扑探索消息检索出起始终端、目的终端和路径信息,组成路由选择信息。
16.如权利要求9所述的系统,其特征在于还包括一个数据库,用于存储拓扑相关信息。
17.一种计算机可读介质,其中包含计算机可执行的程序代码,所述程序代码用于实现如权利要求1-8所述的SIP网络中的拓扑发现的方法。
CNB2005100002120A 2005-01-05 2005-01-05 Sip网络中的拓扑发现方法和系统 Expired - Fee Related CN100486210C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB2005100002120A CN100486210C (zh) 2005-01-05 2005-01-05 Sip网络中的拓扑发现方法和系统
US11/326,006 US8009585B2 (en) 2005-01-05 2006-01-05 Method and system for topology discovery in an SIP network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100002120A CN100486210C (zh) 2005-01-05 2005-01-05 Sip网络中的拓扑发现方法和系统

Publications (2)

Publication Number Publication Date
CN1801770A true CN1801770A (zh) 2006-07-12
CN100486210C CN100486210C (zh) 2009-05-06

Family

ID=36811539

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100002120A Expired - Fee Related CN100486210C (zh) 2005-01-05 2005-01-05 Sip网络中的拓扑发现方法和系统

Country Status (2)

Country Link
US (1) US8009585B2 (zh)
CN (1) CN100486210C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008037203A1 (en) * 2006-09-28 2008-04-03 Huawei Technologies Co., Ltd. Method and node device for realizing the network topology discovery
WO2009062352A1 (fr) * 2007-11-13 2009-05-22 Zte Corporation Procédé de routage de commutateurs par mise en file d'attente
CN1901541B (zh) * 2006-07-21 2010-08-11 华为技术有限公司 具sip中继群组的系统和通信方法
CN102907052A (zh) * 2012-08-02 2013-01-30 华为技术有限公司 拓扑信息处理方法及设备
CN103731358A (zh) * 2012-10-12 2014-04-16 北京信威通信技术股份有限公司 一种基于sip消息自动生成路由信息的方法
CN105872784A (zh) * 2015-12-29 2016-08-17 乐视网信息技术(北京)股份有限公司 视频播放器及其多业务控制方法
WO2018120960A1 (zh) * 2016-12-28 2018-07-05 华为技术有限公司 基于代理的业务处理方法、装置及网元设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081818B2 (en) * 2012-03-13 2015-07-14 Hewlett-Packard Development Company, L.P. SAS fabric discovery
US9300541B2 (en) 2012-09-28 2016-03-29 Time Warner Cable Enterprises Llc System and method for automatically learning and maintaining IP address allocation topology
US11262990B2 (en) 2020-05-26 2022-03-01 International Business Machines Corporation Application topology discovery

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5049873A (en) 1988-01-29 1991-09-17 Network Equipment Technologies, Inc. Communications network state and topology monitor
US5715396A (en) 1992-10-13 1998-02-03 Bay Networks, Inc. Method for providing for automatic topology discovery in an ATM network or the like
US5850397A (en) 1996-04-10 1998-12-15 Bay Networks, Inc. Method for determining the topology of a mixed-media network
JP3554134B2 (ja) 1997-04-22 2004-08-18 株式会社日立製作所 ネットワーク接続経路探索方法、計算機、ネットワークシステム及び記憶媒体。
US5996513A (en) 1997-08-26 1999-12-07 Nihon Tensaiseito Kabushiki Kaisha Machine for transplanting seedlings
US6205122B1 (en) 1998-07-21 2001-03-20 Mercury Interactive Corporation Automatic network topology analysis
US6584093B1 (en) * 1998-08-25 2003-06-24 Cisco Technology, Inc. Method and apparatus for automatic inter-domain routing of calls
US6483812B1 (en) 1999-01-06 2002-11-19 International Business Machines Corporation Token ring network topology discovery and display
US6654802B1 (en) 1999-02-12 2003-11-25 Sprint Communications Company, L.P. Network system and method for automatic discovery of topology using overhead bandwidth
US6614764B1 (en) 1999-05-03 2003-09-02 Hewlett-Packard Development Company, L.P. Bridged network topology acquisition
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US6574663B1 (en) 1999-08-31 2003-06-03 Intel Corporation Active topology discovery in active networks
US6697338B1 (en) 1999-10-28 2004-02-24 Lucent Technologies Inc. Determination of physical topology of a communication network
EP1137235A1 (en) * 2000-03-24 2001-09-26 BRITISH TELECOMMUNICATIONS public limited company Processing network communication control messages
US6681248B1 (en) 2000-04-12 2004-01-20 Sycamore Networks, Inc. Method for port connectivity discovery in transparent high bandwidth networks
US20060098586A1 (en) * 2001-03-09 2006-05-11 Farrell Craig A Method and apparatus for application route discovery
US7529359B2 (en) * 2001-03-20 2009-05-05 Verizon Business Global Llc Caller treatment in a SIP network
US8543681B2 (en) 2001-10-15 2013-09-24 Volli Polymer Gmbh Llc Network topology discovery systems and methods
JP4018638B2 (ja) * 2002-03-04 2007-12-05 オペラックス エービー Ipネットワーク内でトポロジー認識情報を提供する方法
US7412521B2 (en) * 2003-03-12 2008-08-12 Microsoft Corporation End-point identifiers in SIP
SE526257C2 (sv) * 2003-12-22 2005-08-09 Operax Ab Metod för att kontrollera vidarebefordringskvaliteten i ett datanät
US7738397B2 (en) * 2004-02-19 2010-06-15 Intel Corporation Generating topology information identifying devices in a network topology
US7542461B2 (en) * 2004-04-19 2009-06-02 Cisco Technology, Inc. Method and apparatus for dynamically determining when to use quality of service reservation in internet media applications
US7506369B2 (en) * 2004-05-27 2009-03-17 Microsoft Corporation Secure federation of data communications networks
US7474632B2 (en) * 2004-06-30 2009-01-06 International Business Machines Corporation Method for self-configuring routing devices in a network
US8571011B2 (en) * 2004-08-13 2013-10-29 Verizon Business Global Llc Method and system for providing voice over IP managed services utilizing a centralized data store
US7496188B2 (en) * 2004-09-20 2009-02-24 International Business Machines Corporation N-ways conference system using only participants' telephony devices without external conference server

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1901541B (zh) * 2006-07-21 2010-08-11 华为技术有限公司 具sip中继群组的系统和通信方法
WO2008037203A1 (en) * 2006-09-28 2008-04-03 Huawei Technologies Co., Ltd. Method and node device for realizing the network topology discovery
WO2009062352A1 (fr) * 2007-11-13 2009-05-22 Zte Corporation Procédé de routage de commutateurs par mise en file d'attente
CN102907052A (zh) * 2012-08-02 2013-01-30 华为技术有限公司 拓扑信息处理方法及设备
WO2014019196A1 (zh) * 2012-08-02 2014-02-06 华为技术有限公司 拓扑信息处理方法及设备
CN103731358A (zh) * 2012-10-12 2014-04-16 北京信威通信技术股份有限公司 一种基于sip消息自动生成路由信息的方法
CN105872784A (zh) * 2015-12-29 2016-08-17 乐视网信息技术(北京)股份有限公司 视频播放器及其多业务控制方法
WO2018120960A1 (zh) * 2016-12-28 2018-07-05 华为技术有限公司 基于代理的业务处理方法、装置及网元设备
CN108259527A (zh) * 2016-12-28 2018-07-06 华为技术有限公司 基于代理的业务处理方法、装置及网元设备
US11019508B2 (en) 2016-12-28 2021-05-25 Huawei Technologies Co., Ltd. Proxy-based service processing method and apparatus, and network element device

Also Published As

Publication number Publication date
CN100486210C (zh) 2009-05-06
US8009585B2 (en) 2011-08-30
US20090103451A1 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
US8009585B2 (en) Method and system for topology discovery in an SIP network
US11025584B2 (en) Client subnet efficiency by equivalence class aggregation
CN1770718A (zh) 用于建立双向隧道的方法和系统
CN1741471A (zh) 用于分析网络传输事件的方法和系统
CN1808426A (zh) 一种通用的文件搜索系统及方法
CN1805388A (zh) 一种建立对等直连通道的方法
KR100814401B1 (ko) 유니캐스트 기반의 VoIP 시스템에서의 멀티캐스트 처리방법 및 시스템
CN1416064A (zh) 负载平衡器
CN108881066A (zh) 一种路由请求的方法、接入服务器以及存储设备
KR20070076361A (ko) 애드 혹 네트워크를 위한 분산 서비스 컴포지션 모델을제공하는 방법 및 장치
CN1773926A (zh) 联系信息管理装置和联系信息管理方法
CN101053211A (zh) 用于配置和管理健壮覆盖多播树的方法和设备
CN1767506A (zh) 使用即时消息传递设施关联系统管理信息的方法和设备
CN1606312A (zh) 与sip和web系统协同工作的服务提供系统及其方法
CN110336752B (zh) 一种提高局部广播推送效率的方法及系统
CN1977509A (zh) 从服务器集中选择一个服务器的方法
CN1595890A (zh) 与预订通知服务的虚拟连接
CN115080272A (zh) 一种业务数据处理方法、电子设备及存储介质
CN1152516C (zh) Ip网络节点发现方法
CN1750667A (zh) 获取移动终端更新能力信息的方法
CN1490995A (zh) 用于使无线网络与至少一个其他网络连接的设备
CN101834737B (zh) 一种ip电话的发现方法和设备
US20050071361A1 (en) System and method for associating a device with a user
CN1968148A (zh) 用于实现应用软件系统与主机资源综合监管的网管系统
CN101057456A (zh) 确定需求的方法、设备和软件

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090506