基于显式信令的拓扑发现的制作方法

文档序号:17655543发布日期:2019-05-15 21:57阅读:201来源:国知局

本发明的实施例涉及分组网络的领域;更具体来说,涉及网络拓扑发现和网络路由的自动创建。



背景技术:

当前,在本地/区域交换站点处集中地交换长期演进(LTE)网络中的大多数X2-切换通信。但是,第三代合作伙伴计划(3GPP)正致力于定义将通过X2接口携带的新应用,X2接口是供eNodeB(eNB)用于在LTE网络中彼此通信的接口。这些新应用包括例如协调多点(CoMP)、增强型小区间干扰消除(eICIC)、定位服务等。这些应用需要高得多的带宽,同时具有小得多的延迟容忍。因此,需要在最靠近eNB的点处有效地路由X2业务。

尽管给定eNB在给定时间可能只有20-30个相邻eNB,但是挑战是只对具有X2关系的eNB在层级多协议标签交换(H-MPLS)网络上动态地创建路径。蜂窝规划的动态性质(即,增加/删除/重组小区站点)使得非常难以并且在操作上几乎不可能对多协议标签交换(MPLS)虚拟专用网络(VPN)静态地配置所有X2成员。



技术实现要素:

用于自动执行X2拓扑发现并利用发现的X2 IP地址自动创建网络路由的示例性方法包括通信地耦合到网络中的第二网络装置的第一网络装置,其中第一网络装置通信地耦合到第一无线电基站(RBS),并且第二网络装置通信地耦合到第二RBS。根据一个实施例,由第一网络装置执行的示例性方法包括:通过接收源自第一RBS的去往第一网络装置的第一HELLO分组以及响应于接收到第一HELLO分组而传送去往第一RBS的第一HELLO分组,与第一RBS创建面向连接接口,以便交换源自第一RBS的去往第一网络装置的一个或多个分组,并交换源自第一网络装置的去往第一RBS的一个或多个分组。在一个实施例中,示例性方法包括经由面向连接接口接收源自第一RBS的去往第一网络装置的第一CONNECT(连接)分组,第一CONNECT分组包括第二RBS的第一IP地址。在一个实施例中,示例性方法包括:响应于接收到第一CONNECT分组,利用包含在第一CONNECT分组中的第二RBS的第一IP地址在第一RBS和第二RBS之间创建第一网络路由。

在至少一个实施例中,这些方法还包括:经由面向连接接口接收源自第一RBS的去往第一网络装置的第二CONNECT分组,第二CONNECT分组包括第二RBS的第一IP地址和第二RBS的第二IP地址。在本发明的一个方面中,这些方法还包括:响应于接收到第二CONNECT分组,利用包含在第二CONNECT分组中的第二RBS的第二IP地址在第一RBS和第二RBS之间创建第二网络路由。

根据一个实施例,示例性方法包括:经由面向连接接口接收源自第一RBS的去往第一网络装置的第三CONNECT分组,第三CONNECT分组包括第二RBS的第一IP地址、第二RBS的第二IP地址、第二RBS的第三IP地址和第一RBS的第一IP地址。在一个实施例中,这些方法还包括:响应于接收到第三CONNECT分组,利用包含在第三CONNECT分组中的第二RBS的第三IP地址和第一RBS的第一IP地址在第一RBS和第二RBS之间创建第三网络路由。

在一个实施例中,示例性方法包括:经由面向连接接口接收源自第一RBS的去往第一网络装置的第四CONNECT分组,第四CONNECT分组包括第二RBS的第二IP地址、第二RBS的第三IP地址和第一RBS的第一IP地址,其中从第四CONNECT分组中排除了第二RBS的第一IP地址。这些方法还包括:响应于接收到第四CONNECT分组并确定从第四CONNECT分组中排除了第二RBS的第一IP地址,移除第一RBS和第二RBS之间的第一网络路由。

在一个实施例中,通过面向连接接口利用可扩展消息传递和呈现协议(XMPP)交换源自第一RBS的去往第一网络装置的这一个或多个分组和源自第一网络装置的去往第一RBS的这一个或多个分组。在一个实施例中,通过面向连接接口利用消息验证来交换源自第一RBS的去往第一网络装置的这一个或多个分组和源自第一网络装置的去往第一RBS的这一个或多个分组。

在一个实施例中,示例性方法还包括:经由第一X2接口接收来自第一RBS的第一X2分组;基于第一X2分组的信息发现第二RBS的第四IP地址;以及响应于发现第二RBS的第四IP地址,利用第二RBS的第四IP地址在第一RBS和第二RBS之间创建第四网络路由。

在另一个实施例中,示例性方法包括:经由第二X2接口接收源自第二RBS的第二X2分组;基于第二X2分组的信息发现第二RBS的第五IP地址;以及响应于发现第二RBS的第五IP地址,利用第二RBS的第五IP地址在第一RBS和第二RBS之间创建第五网络路由。在一个实施例中,这些方法还包括:响应于确定第一网络装置在DEAD间隔内没有接收到源自第一RBS的第二HELLO分组,移除第一RBS和第二RBS之间的所有网络路由。

用于自动执行X2拓扑发现并利用发现的X2 IP地址自动创建网络路由的示例性方法包括通信地耦合到网络中的第一网络装置的第一无线电基站(RBS),第一网络装置通信地耦合到第二网络装置,第二网络装置通信地耦合到第二RBS。根据一个实施例,由第一RBS执行的示例性方法包括:通过传送去往第一网络装置的第一HELLO分组以及接收源自第一网络装置的第一HELLO分组,与第一网络装置创建面向连接接口,以便交换源自第一RBS的去往第一网络装置的一个或多个分组,并交换源自第一网络装置的去往第一RBS的一个或多个分组。示例性方法包括:响应于确定需要创建从第一RBS到第二RBS的第一网络路由,经由面向连接接口传送去往第一网络装置的第一CONNECT分组,第一CONNECT分组包括第二RBS的第一IP地址,其中第一CONNECT分组使得第一网络装置利用第二RBS的第一IP地址创建第一网络路由。

在一个实施例中,示例性方法包括:响应于确定需要创建从第一RBS到第二RBS的第二网络路由,经由面向连接接口传送去往第一网络装置的第二CONNECT分组,第二CONNECT分组包括第二RBS的第一IP地址和第二RBS的第二IP地址,其中第二CONNECT分组使得第一网络装置利用第二RBS的第二IP地址创建第二网络路由。

在至少一个实施例中,示例性方法包括:响应于确定需要创建从第一RBS到第二RBS的第三网络路由,经由面向连接接口传送去往第一网络装置的第三CONNECT分组,第三CONNECT分组包括第二RBS的第一IP地址、第二RBS的第二IP地址、第二RBS的第三IP地址和第一RBS的第一IP地址,其中第三CONNECT分组使得第一网络装置利用第二RBS的第三IP地址和第一RBS的第一IP地址创建第三网络路由。

在一个实施例中,示例性方法还包括:响应于确定需要移除从第一RBS到第二RBS的第一网络路由,经由面向连接接口传送去往第一网络装置的第四CONNECT分组,第四CONNECT分组包括第二RBS的第二IP地址、第二RBS的第三IP地址和第一RBS的第一IP地址,其中第四CONNECT分组排除了第二RBS的第一IP地址,其中通过排除第二RBS的第一IP地址,第四CONNECT分组使得第一网络装置移除第一网络路由。

在一个实施例中,通过面向连接接口利用可扩展消息传递和呈现协议(XMPP)交换源自第一RBS的去往第一网络装置的这一个或多个分组和源自第一网络装置的去往第一RBS的这一个或多个分组。在本发明的另一个方面中,通过面向连接接口利用消息验证来交换源自第一RBS的去往第一网络装置的这一个或多个分组和源自第一网络装置的去往第一RBS的这一个或多个分组。

附图说明

附图的各图中举例而非限制性地示出本发明的实施例,图中类似参考数字指示类似元素。

图1是示出根据一个实施例的网络的框图。

图2是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图3是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图4是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

图5是示出根据一个实施例的SCTP INIT ACK分组的框图。

图6是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图7是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图8是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

图9是示出根据一个实施例的SCTP X2-AP分组的框图。

图10是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图11是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图12是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

图13是示出根据一个实施例的SCTP X2-AP HANDOVER REQUEST(SCTP X2-AP切换请求)分组的框图。

图14是示出根据一个实施例的SCTP X2-AP HANDOVER REQUEST分组的伪代码的图。

图15是示出根据一个实施例的SCTP X2-AP HANDOVER REQUEST ACK(SCTP X2-AP切换请求确认)分组的框图。

图16是示出根据一个实施例的SCTP X2-AP HANDOVER REQUEST ACK分组的伪代码的图。

图17是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

图18是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图19A是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图19B是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图20A是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图20B是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图21A是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图21B是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图22A是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图22B是示出根据一个实施例用于执行X2拓扑发现的过程流的事务图。

图23是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

图24是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

图25是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

图26是示出根据一个实施例用于执行X2拓扑发现的方法的流程图。

具体实施方式

在以下描述中,阐述了众多具体细节。但是,将理解,没有这些具体细节也可实践本发明的实施例。在其它情况下,没有详细示出公知的电路、结构和技术,以免使本描述变得模糊。

本说明书中提到“一个实施例”、“实施例”、“示例实施例”等时表示,描述的实施例可包括特定特征、结构或特性,但不是每个实施例都一定包括该特定特征、结构或特性。此外,这些短语不一定指相同实施例。此外,当结合一个实施例描述特定特征、结构或特性时,认为本领域技术人员知道结合其它实施例实现所述特征、结构或特性,而不管是否有明确描述。

在以下描述和权利要求书中,可使用术语“耦合”和“连接”及其派生词。应理解,这些术语不是要彼此同义的。“耦合”用于指示两个或两个以上元件彼此共同协作或交互,这两个或两个以上元件可以或者可以不彼此直接物理或电接触。“连接”用于指示在彼此耦合的两个或两个以上元件之间建立通信。

电子装置(例如,端站、网络装置)利用机器可读介质(在内部和/或通过网络与其它电子装置)存储和传送代码(由软件指令组成)和数据,机器可读介质可以是例如非暂时性机器可读介质(例如,诸如磁盘、光盘、只读存储器、闪速存储器装置、相变存储器的机器可读存储介质)和暂时性机器可读传送介质(例如,电、光、声或其它形式的传播信号,如载波、红外信号)。另外,在一些情况下,这些电子装置包括诸如耦合到一个或多个其它组件的一个或多个处理器的集合的硬件,这一个或多个其它组件可以是例如一个或多个非暂时性机器可读存储介质(用于存储代码和/或数据)和网络连接(用于利用传播信号传送代码和/或数据)、以及用户输入/输出装置(例如,键盘、触摸屏和/或显示器)。处理器集合和其它组件的耦合通常通过电子装置内的一个或多个互连(例如,总线和可能的桥接器)。因此,给定电子装置的非暂时性机器可读介质通常存储指令以便在该电子装置的一个或多个处理器上执行。本发明的实施例的一个或多个部分可利用软件、固件和/或硬件的不同组合来实现。

如本文中所使用,网络装置(例如,路由器、交换机、桥接器)是一台包括硬件和软件的网络设备,它通信地互连网络上的其它设备(例如,其它网络装置、端站)。一些网络装置是对多个联网功能(例如,路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或对多个应用服务(例如,数据、语音和视频)提供支持的“多服务网络装置”。订户端站(例如,服务器、工作站、膝上型计算机、上网本、掌上型计算机、移动电话、智能电话、多媒体电话、互联网语音协议(VOIP)电话、用户设备、终端、便携式媒体播放器、GPS单元、游戏系统、机顶盒)访问在互联网上提供的内容/服务和/或在敷设在(例如,穿隧通过)互联网上的虚拟专用网络(VPN)上提供的内容/服务。这些内容和/或服务通常由属于服务或内容供应商的一个或多个端站(例如,服务器端站)或参与对等(P2P)服务的端站提供,并且可包括例如公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供email服务的用户名/密码访问的网页)、和/或VPN上的公司网络。通常,订户端站(例如,通过(有线或无线地)耦合到接入网络的客户驻地设备)耦合到边缘网络装置,边缘网络装置(例如,通过一个或多个核心网络装置)耦合到其它边缘网络装置,这些其它边缘网络装置耦合到其它端站(例如,服务器端站)。

网络装置通常分隔成控制平面和数据平面(有时称为转发平面或媒体平面)。在网络装置是路由器(或实现路由功能性)的情况下,控制平面通常确定将如何路由数据(例如,分组)(例如,数据的下一个跳和该数据的外发端口),而数据平面则负责转发该数据。例如,控制平面通常包括与其它网络装置通信以便交换路由并基于一个或多个路由度量选择那些路由的一个或多个路由协议(例如,诸如边界网关协议(BGP)(RFC 4271)的外部网关协议、内部网关协议(IGP)(例如,开放式最短路径优先(OSPF)(RFC 2328和5340)、中间系统到中间系统(IS-IS)(RFC 1142)、路由信息协议(RIP)(版本1 RFC 1058、版本2 RFC 2453和下一代RFC 2080))、标签分发协议(LDP)(RFC 5036)、资源预留协议(RSVP)(RFC 2205、2210、2211、2212以及RSVP-业务工程(TE):用于LSP隧道的RSVP的扩展RFC 3209、通用多协议标签交换(GMPLS)信令RSVP-TE RFC 3473、RFC 3936、4495和4558))。

如本文中所使用,节点在IP分组中的一些IP报头信息的基础上转发IP分组;其中IP报头信息包括源IP地址、目的地IP地址、源端口、目的地端口(其中,对照网络装置的物理端口,“源端口”和“目的地端口”在本文中指协议端口)、传输协议(例如,用户数据报协议(UDP)(RFC 768、2460、2675、4113和5405))、传送控制协议(TCP)(RFC 793和1180)以及区分服务(DSCP)值(RFC 2474、2475、2597、2983、3086、3140、3246、3247、3260、4594、5865、3289、3290和3317)。节点在网络装置中实现。物理节点直接在网络装置上实现,而虚拟节点是在网络装置上实现的软件和可能的硬件抽象。因此,可以在单个网络装置上实现多个虚拟节点。

网络接口可以是物理的或虚拟的;并且如果它是物理网络接口或虚拟网络接口,那么接口地址是指派给网络接口的IP地址。物理网络接口是网络装置中用于(例如,通过无线网络接口控制器(WNIC)无线地或通过在电缆中插入到连接至网络接口控制器(NIC)的端口)进行网络连接的硬件。通常,网络装置具有多个物理网络接口。虚拟网络接口可以与物理网络接口、与另一个虚拟接口相关联,或者独立存在(例如,环回接口、点到点协议接口)。网络接口(物理或虚拟)可以编号(具有IP地址的网络接口)或不编号(不具有IP地址的网络接口)。环回接口(及其环回地址)是通常用于管理目的的(物理或虚拟)节点的特定类型的虚拟网络接口(和IP地址);其中该IP地址称为节点环回地址。指派给网络装置的网络接口的IP地址称为该网络装置的IP地址;在更多粒度级,赋予指派给在网络装置上实现的节点的网络接口的IP地址可以称为该节点的IP地址。

一些网络装置对于实现VPN(虚拟专用网络)(例如,层2 VPN和/或层3 VPN)提供支持。例如,其中供应商的网络和客户的网络耦合的网络装置分别称为PE(供应商边缘)和CE(客户边缘)。在层2 VPN中,通常在VPN的任一端上的CE上执行转发,并跨越网络(例如,通过由其它网络装置耦合的一个或多个PE)发送业务。层2电路配置在CE和PE之间(例如,以太网端口、ATM永久虚拟电路(PVC)、帧中继PVC)。在层3 VPN中,通常由PE执行路由。举例来说,支持多个上下文的边缘网络装置可以作为PE部署;并且可以用VPN协议配置上下文,并且因此该上下文称为VPN上下文。

当利用基于MPLS的层3 VPN(L3VPN)提供无线电接入网络(例如,LTE无线电接入网络(RAN))连接性时,本发明的各种实施例提供通过小区站点路由器(CSR)自动发现与本地eNB具有连接性(即,X2关系)的远程eNB的IP地址的机制。本发明的实施例还提供利用发现的IP地址自动创建网络路由(例如,IPv4的虚拟专用网络(VPNv4))并在CSR中自动创建相关联的虚拟路由功能(VRF)参数以便为在eNB处定义的X2接口提供优化的连接性的机制。通过自动创建网络路由,本发明不需要在CSR、边界路由器和路由反射器处手动创建特定过滤器列表,否则需要手动创建特定过滤器列表以便控制基于H-MPLS网络的LTE传送服务中的状态的缩放。另外,本发明提供在eNB不再需要自动创建的路由时自动移除这些路由的机制。本发明的各种实施例还包括用于自动设立IP安全性(IPsec)隧道以便保护CSR之间的自动创建的网络路由的机制。在本描述中,在CSR和eNB的上下文中举例描述本发明。将明白,本发明不限于此,而是可以扩展至应用于通信地耦合到任何无线电网络中的任何无线电基站的任何网络装置。

本发明提供多个优点,包括:

• 使得能够操作简单并减少CSR处的配置努力。

• 降低CSR处的存储器要求。

• 降低CSR处的CPU要求。

• 减少X2-业务的等待时间。

• 消除到本地/区域交换站点的发夹型(hair-pin)100-500 Mbps业务的需要。

• 对于CSR之间的新的VPNv4短程路由自动启用IPsec安全性。

• 消除无线电和传送网络规划之间的相依性。

根据本发明的一些实施例,本地CSR发现与本地CSR的自己的本地连接的eNB具有X2关系(即,连接)的远程eNB X2主机IP地址。这在本文中应当称为X2拓扑发现。在本描述中,术语“本地”和“远程”用于描述各种网络装置。如本文中所使用,术语“本地”和“远程”是相对于诸如CSR的网络装置而言的,并且将在下文进一步详细描述。本地eNB处的X2关系可以用数种方式创建,包括例如但不限于通过常规操作和维护(OAM)、邻居关系(NR)和传输网络层(TNL)自动邻居关系(ANR)。响应于发现远程X2 IP地址,本地CSR可接着对于对应于发现的X2 IP地址的X2业务流设立到远程CSR的新的“短”路径/路由。在远程CSR处对于由本地CSR支持的X2主机地址也需要这个过程。在本描述中,术语“长”和“短”用于描述网络路由。如本文中所使用,术语“长”用于描述在发起分组的第一网络装置和该分组预计前往的第二装置之间包含多个网络跳的网络路由。术语“短”用于描述包括很少的网络跳的网络路由。下文将进一步详细地举例解释这些术语。

在一些实施例中,通过在本地和远程eNB之间交换的本地CSR“窥探”X2业务(例如,X2-C业务)来执行X2拓扑发现。如本文中所使用,“窥探”是指剖析/处理分组以便实现各种目的,例如确定分组的分组类型。在这些实施例中,本地CSR通过分析/剖析X2-C分组确定是否需要X2-C或X2-U更优路径/路由。利用流播控制传送协议(SCTP)协议在eNB之间交换所有X2-C分组。X2 SCTP IP分组的一般格式由3GPP规定,并将在下文进一步详细描述。

在通过窥探X2-C业务来执行X2拓扑发现的实施例中,本地CSR标识,通过X2-C接口交换SCTP INIT ACK块。通常,当eNB在创建所有未来的X2-AP业务都将流过的新的SCTP关联(或重新启动关闭的SCTP关联)时,交换SCTP INIT ACK分组。在一些实施例中,一旦建立了SCTP关联,本地CSR还标识通过X2-C接口在eNB之间交换的X2-AP消息以便实现X2 IP发现目的。本地CSR通过访问包含在SCTP INIT ACK和X2-AP消息的各个字段中的IP地址来发现IP地址。基于各种准则确定从中访问IP地址的字段,这些准则将在下文进一步详细描述。

在通过窥探X2-C业务来执行X2-U拓扑发现的实施例中,从远处CSR接收本地CSR X2-AP HANDOVER REQUEST ACK消息(即,这些HANDOVER消息源自远程eNB)。在一个实施例中,X2-AP HANDOVER REQUEST ACK消息包含远程eNB正命令本地eNB在切换过程期间用于在X2-U接口上穿隧用户分组的远程GPRS穿隧协议用户平面(GTP-U)传输网络层(TNL)地址。在该实施例中,本地CSR通过访问GTP-U TNL地址来发现远程eNB的IP地址。换句话说,利用GTP-U TNL地址作为远程eNB的IP地址。下文将进一步详细论述通过窥探进行的X2拓扑发现。在本描述中,将各种X2分组描述为是为了X2拓扑发现的目的而进行窥探。将明白,举例而非限制性地描述这些X2分组。在不偏离本发明的更宽范围和精神的情况下,可以为了X2拓扑发现的目的窥探其它分组。

在一个实施例中,通过eNB和它们的本地CSR之间的显式通信执行X2拓扑发现。在该实施例中,CSR和本地附连的eNB建立专用的面向连接接口,eNB通过该专用的面向连接接口将远程X2 IP地址显式地传达给本地CSR。下文将进一步详细论述通过显式通信进行的X2拓扑发现。

图1是示出根据一个实施例的网络100的框图。网络100可以是任何网络,例如3G或LTE网络。网络100包括通信地通过网络103(在一个实施例中,它是MPLS网络)耦合到网络装置102-B(在一个实施例中,它是CSR)的网络装置102-A(在一个实施例中,它是CSR)。在本描述中,网络装置102-A可互换地称为CSR 101-A、CSRA或CSR[A],而网络装置102-B可互换地称为CSR 102-B、CSRB或CSR[B]。在一个实施例中,网络装置102-A和102-B通信地经由网络103耦合到路由反射器160。在一个实施例中,路由反射器160是配置成充当内部边界网关协议(IGBP)会话的焦点的网络路由器。例如,多个边界网关协议(BGP)路由器可与路由反射器160对等,而不是与网络中的每个其它BGP路由器对等。这为大型网络提供了IBGP可伸缩性。路由反射器在本领域中众所周知,并且为了简单起见,这里将不再一一赘述。

网络装置102-A和102-B分别通信地耦合到无线电基站(RBS)101-A和101-B。在一个实施例中,RBS 101-A和101-B是LTE网络的eNB。RBS 101-A和101-B与网络装置102-A和102-B通信地经由/通过X2接口(例如,由3GPP定义的X2接口)耦合。X2接口用于最佳无线电切换、ICIC和CoMP,以便携带控制和用户平面流。X2接口包括用于携带控制数据的控制平面(称为X2-C接口)。X2接口还包括用于携带用户数据的用户平面(称为X2-U接口)。如图1所示,RBS 101-A和101-B与网络装置102-A和102-B通信地通过X2-C接口120和X2-U接口130耦合。通过X2-C接口120交换的业务在本文中应当简称为X2-C业务,而通过X2-U接口130交换的业务在本文中应当简称为X2-U业务。X2-C和X2-U业务在本文中应当统称为X2业务。

在一个实施例中,X2-C接口120和X2-U接口130用于在RBS 101-A和101-B之间携带互联网协议(IP)流。因此,每个RBS通常与一个或多个IP地址相关联以便通过X2接口彼此通信。如图1所示,分别用IP地址“a.b.c.d”和“e.f.g.h”配置RBS 101-A和101-B,以便通过X2-C接口120交换IP业务。同时分别用IP地址“s.t.u.v”和“w.x.y.z”配置RBS 101-A和101-B,以便通过X2-U接口130交换IP业务。用于通过X2-C接口120交换IP业务的IP地址在本文中应当简称为X2-C IP地址。用于通过X2-U接口130交换IP业务的IP地址在本文中应当简称为X2-U IP地址。X2-C IP地址和X2-U IP地址在本文中应当统称为X2 IP地址。尽管图中将每个RBS示为对于每个X2接口只具有一个IP地址,但是将明白,可配置更多IP地址。

传统上,RBS利用未经优化的网络路由(即,RBS之间的网络路由/路径“较长”)交换X2业务。在本描述中,利用术语“长”和“短”来描述网络路由。如本文中所使用,如果路由在发起分组的网络装置和分组去往的网络装置之间包含多个跳/节点,那么该路由“较长”。另一方面,如果路由在源和目的地网络装置之间包含很少的跳/节点,那么该路由“较短”。例如,与RBS 101-A和RBS 101-B之间的“短”路由相比,这两个RBS之间的“长”路由在这两个RBS之间包含更多跳。本发明的实施例通过发现远程X2-C和/或X2-U IP地址并利用发现的IP地址自动创建网络路由(例如,VPN路由)以便优化路由(即,路由“较短”)来克服经历长路由的X2业务的限制。

在一个实施例中,网络装置102-A和102-B包括用于发现远程RBS的IP地址的IP地址发现模块110-A和110-B。在本描述中,术语“远程”和“本地”将用于描述RBS和IP地址。如本文中所使用,术语“本地”和“远程”是相对于网络装置102-A或102-B而言的。例如,如图1所示,网络装置102-A具有一个本地RBS(即,RBS 101-A)和一个远程RBS(即,RBS 101-B)。同样地,网络装置102-B具有一个本地RBS(即,RBS 101-B)和一个远程RBS(即,RBS 101-A)。但是,将明白,可以有更多个RBS通信地耦合到网络装置102-A和/或102-B。在一个实施例中,网络装置102-A和102-B还分别包括路由表111-A和111-B,以便分别存储利用由IP地址发现模块110-A和110-B发现的IP地址自动创建的路由。IP地址发现模块110-A和110-B与路由表111-A和111-B将在下文进一步详细描述。

传统上,RBS和CSR不具有允许它们直接彼此通信的专用接口。本发明通过提供使得RBS和CSR能够建立专用的面向连接接口并交换信息的机制克服该限制。如图1所示,RBS 101-A和网络装置102-A通信地经由面向连接接口140耦合。类似地,RBS 101-B和网络装置102-B通信地经由面向连接接口141耦合。因此,例如,可通过面向连接接口140将由RBS 101-A发起的去往网络装置102-A的消息从RBS 101-A传送到网络装置102-A。反之,可通过面向连接接口140将由网络装置102-A发起的去往RBS 101-A的消息从网络装置102-A传送到RBS 101-A。如本文中所使用,如果通过某个网络装置创建/生成消息,那么该消息“源自”该网络装置。如本文中所使用,如果某个消息预计前往某个网络装置,那么该消息“去往”该接收装置。

在一个实施例中,RBS利用面向连接接口140-141将远程X2 IP地址显式地传达给相应的网络装置。例如,IP地址通知器150-A利用面向连接接口140显式地告知网络装置102-A远程RBS(例如,RBS 101-B)的X2 IP地址。同样地,IP地址通知器150-B利用面向连接接口141显式地告知网络装置102-B远程RBS(例如,RBS 101-A)的X2 IP地址。因此,面向连接接口140-141使得网络装置102-A和102-B能够通过与相应的本地RBS的显式通信发现远程X2 IP地址。

在一个实施例中,通过面向连接接口140-141利用可扩展消息传递和呈现协议(XMPP)交换分组/消息。在一个实施例中,利用诸如开放式最短路径优先(OSPF)的消息验证来验证通过面向连接接口140-141交换的消息。消息验证防止或至少降低了获得网络访问权的攻击者假冒RBS的概率。在没有消息验证的情况下,这类攻击者可借以通过向网络装置102-A和/或102-B发送伪造的消息运行拒绝服务或其它类似类型的攻击而损坏网络性能。

在一个实施例中,网络装置102-A和102-B分别包括网络接口112-A和112-B,以便交换网络业务(例如,X2-C接口120、X2-U接口130、面向连接接口140-141上的分组)。

X2拓扑发现选项1:利用窥探进行X2 IP地址发现

图2是示出根据一个实施例用于执行X2拓扑发现的过程流200的事务图。将参考图1描述过程流200。在事务205,启用网络装置102-A以便为了远程X2-C IP地址窥探X2-C接口120。在事务210,RBS 101-A通过传送去往RBS 101-B的SCTP INIT分组来启动流控制传送协议(SCTP)关联。在事务211-212,网络装置102-A和102-B分别将SCTP INIT分组转发给RBS 101-B,在事务213,RBS 101-B接收该分组。在一个实施例中,每个网络装置(例如,网络装置102-A和/或102-B)配置成窥探X2-C分组以便通过例如确定X2-C分组是否是SCTP INIT ACK或X2-AP分组来确定是否可从X2-C分组发现远程X2-C IP地址。在一个实施例中,网络装置102-A配置成窥探所有X2-C分组。在备选实施例中,网络装置102-A配置成窥探一些、但非所有X2分组。例如,网络装置102-A可配置成窥探M个X2-C分组中的N个分组,其中N和M可由系统管理员配置。或者,网络装置102-A可配置成在每个预定时间周期窥探N个分组。

在事务215,网络装置102-A窥探SCTP INIT分组,并确定该分组既不是SCTP INIT ACK也不是X2-AP分组。因此,网络装置102-A没有从SCTP INIT分组发现任何远程X2-C IP地址。在事务220,响应于接收到SCTP INIT,RBS 101-B启动去往RBS 101-A的SCTP INIT ACK分组。在事务221-222,网络装置102-B和网络装置102-A分别将SCTP INIT ACK分组转发给RBS 101-A,在事务223,RBS 101-A接收该分组。

在事务225,网络装置102-A窥探在事务222处接收的分组,并确定该分组是SCTP INIT ACK。在事务230,响应于确定分组是SCTP INIT ACK,网络装置102-A基于SCTP INIT ACK的信息发现远程X2-C IP地址。在事务235,网络装置102-A利用发现的IP地址在RBS 101-A和RBS 101-B之间创建网络路由(例如,VPN路由)。

图3是示出根据一个实施例用于执行X2拓扑发现的过程流300的事务图。现在将参考图1描述过程流300。在事务305,启用网络装置102-A以便为了远程X2-C IP地址窥探X2-C分组。

在事务310,RBS 101-B通过传送去往RBS 101-A的SCTP INIT分组启动SCTP关联。在事务311-312,网络装置102-B和102-A分别将SCTP INIT分组转发给RBS 101-A,在事务313,RBS 101-A接收该分组。在一个实施例中,网络装置102-A和/或网络装置102-B配置成窥探X2-C分组以便确定是否可从诸如SCTP INIT ACK和X2-AP分组的X2-C分组发现远程X2-C IP地址。

在事务315,网络装置102-A窥探SCTP INIT分组,并确定该分组既不是SCTP INIT ACK也不是X2-AP分组。因此,网络装置102-A没有从SCTP INIT分组发现任何远程X2-C IP地址。在事务320,响应于接收到SCTP INIT,RBS 101-A启动去往RBS 101-B的SCTP INIT ACK分组。在事务321-322,网络装置102-A和网络装置102-B分别将SCTP INIT ACK分组转发给RBS 101-B,在事务323,RBS 101-B接收该分组。

在事务325,网络装置102-A窥探在事务321处接收的分组,并确定该分组是SCTP INIT ACK。在事务330,网络装置102-A基于SCTP INIT ACK的信息发现远程X2-C IP地址。在事务335,网络装置102-A利用发现的IP地址在RBS 101-A和RBS 101-B之间创建网络路由(例如,VPN路由)。

图4是示出根据一个实施例用于执行X2拓扑发现的方法400的流程图。例如,方法400可由网络装置102-A(例如,网络装置102-A的IP地址发现模块110-A)或网络装置102-B(例如,网络装置102-B的IP地址发现模块110-B)来执行,这两个网络装置中的任一个网络装置都可作为软件、固件、硬件或其任意组合来实现。现在将参考其它图的示例性实施例描述这个流程图和其它流程图的操作。但是,应了解,这些流程图的操作可通过参考这些其它图论述的实施例以外的本发明的实施例来执行,并且参考这些其它图论述的本发明的实施例可执行与参考这些流程图论述的操作不同的操作。

现在将参考之前论述的图来论述方法400。在框405,启用网络装置(例如,网络装置102-A)以便为了远程X2-C IP地址窥探X2-C分组。在框410,网络装置接收X2-C分组。在框415,网络装置确定X2-C分组是否是SCTP INIT ACK。

SCTP分组可携带各种类型的分组,例如SCTP INIT、SCTP INIT ACK、X2-AP分组/消息(而它们又可携带不同类型的分组/消息,例如HANDOVER REQUEST和HANDOVER REQUEST ACK)。为了简短起见,应当直接提及这些类型的分组,而不是对SCTP分组本身的任何提及。例如,携带SCTP INIT ACK的SCTP分组应简称为SCTP INIT ACK。类似地,携带一个或多个X2-AP分组的SCTP分组应简称为X2-AP分组。此外,携带HANDOVER REQUEST ACK的X2-AP分组应分别简称为HANDOVER REQUEST ACK。在整篇描述中,提到这些分组的各种字段。本描述举例而非限制性地将这些分组描述为具有如3GPP定义的特定格式。将明白,本发明可适用于具有其它预定格式的分组。

图5是示出携带如3GPP定义的SCTP INIT ACK分组的SCTP分组500的框图。每个SCTP分组包括IP报头、SCTP报头和一个或多个SCTP块,每个块由块类型/ID标识。在SCTP INIT或SCTP INIT ACK分组的情况下,每个SCTP分组只有一个SCTP块。

SCTP INIT ACK分组由SCTP分组定义,SCTP分组包含具有值132的协议字段(例如,协议字段505)、均具有值36422的SCTP源端口字段(例如,SCTP源端口字段520)和SCTP目的地端口字段(例如,SCTP目的地端口字段525)、以及具有值2的块类型/ID(例如,块类型字段530)。每个SCTP分组包含源IP地址字段(例如,源IP地址字段510)和目的地IP地址字段(例如,目的地IP地址字段515)作为它的IP报头的一部分。取决于SCTP INIT ACK是源自本地RBS还是源自远程RBS,网络装置访问包含在源IP地址字段(例如,源IP地址字段510)中的IP地址或包含在目的地IP地址字段(例如,目的地IP地址字段515)中的目的地IP地址,并利用它作为发现的远程X2-C IP地址。图5举例而非限制性地示出SCTP INIT ACK分组的格式。将明白,在不偏离本发明的更宽范围和精神的情况下,可使用其它格式。

现在返回参考图4,如果X2-C分组不是SCTP INIT ACK分组,那么方法400在框440结束。在框420,如果X2-C分组是SCTP INIT ACK分组,那么网络装置确定SCTP INIT ACK是否是源自本地RBS(例如,RBS 101-A)。在事务425,响应于确定SCTP INIT ACK来自本地RBS,网络装置通过访问包含在目的地IP地址字段(例如,目的地IP地址字段515)中的IP地址来发现远程X2-C IP地址。在事务430,响应于确定SCTP INIT ACK不是源自本地RBS(例如,SCTP INIT ACK源自远程RBS 101-B),网络装置通过访问包含在源IP地址字段(例如,源IP地址字段510)中的IP地址来发现远程X2-C IP地址。

在事务435,响应于发现远程X2-C IP地址,网络装置利用发现的IP地址创建从本地RBS到与发现的IP地址相关联的远程RBS的网络路由(例如,VPN路由)。在一个实施例中,只有当路由表(例如,路由表111-A)中本来不存在该网络路由时,网络装置才创建该网络路由。在一个实施例中,响应于创建该网络路由,网络装置将路由信息存储在路由表中,以便防止为发现的每个远程X2 IP地址冗余地创建路由。

图6是示出根据一个实施例用于执行X2拓扑发现的过程流600的事务图。过程流600假设,RBS 101-A和101-B之前已经建立SCTP关联。现在将参考图1描述过程流600。在事务605,启用网络装置102-A以便为了远程X2-C IP地址窥探X2-C分组。

在事务610,RBS 101-A通过将去往RBS 101-B的SCTP X2-AP分组传送给网络装置102-A来启动该分组。在事务611-612,网络装置102-A和102-B分别将X2-AP分组转发给RBS 101-B,在事务613,RBS 101-B接收该分组。在一个实施例中,网络装置102-A和/或网络装置102-B配置成窥探X2-C分组以便通过例如确定X2-C分组是否是SCTP INIT ACK或X2-AP分组来确定是否可从X2-C分组发现远程X2-C IP地址。

在事务615,网络装置102-A窥探在事务611处接收的分组,并确定该分组是X2-AP分组。在事务620,响应于确定分组是X2-AP分组,网络装置102-A基于X2-AP分组的信息发现远程X2-C IP地址。在事务625,网络装置102-A利用发现的IP地址在RBS 101-A和RBS 101-B之间创建网络路由(例如,VPN路由)。

图7是示出根据一个实施例用于执行X2拓扑发现的过程流700的事务图。过程流700假设,RBS 101-A和101-B之前已经建立SCTP关联。现在将参考图1描述过程流700。在事务705,启用网络装置102-A以便为了远程X2-C IP地址窥探X2-C分组。

在事务710,RBS 101-B通过将去往RBS 101-A的SCTP X2-AP分组传送给网络装置102-B来启动该分组。在事务711-712,网络装置102-B和102-A分别将X2-AP分组转发给RBS 101-A,在事务713,RBS 101-A接收该分组。在一个实施例中,网络装置102-A和/或网络装置102-B配置成窥探X2-C分组以便通过例如确定X2-C分组是否是SCTP INIT ACK或X2-AP分组来确定是否可从X2-C分组发现远程X2-C IP地址。

在事务715,网络装置102-A窥探在事务712处接收的分组,并确定该分组是X2-AP分组。在事务720,响应于确定分组是X2-AP分组,网络装置102-A基于X2-AP分组的信息发现远程X2-C IP地址。在事务725,网络装置102-A利用发现的IP地址在RBS 101-A和RBS 101-B之间创建网络路由(例如,VPN路由)。

图8是示出根据一个实施例用于执行X2拓扑发现的方法800的流程图。例如,方法800可由网络装置102-A(例如,网络装置102-A的IP地址发现模块110-A)或网络装置102-B(例如,网络装置102-B的IP地址发现模块110-B)来执行,这两个网络装置中的任一个网络装置都可作为软件、固件、硬件或其任意组合来实现。

现在将参考之前的图来论述方法800。在框805,启用网络装置(例如,网络装置102-A)以便为了远程X2-C IP地址窥探X2-C分组。在框810,网络装置接收X2-C分组。在框815,网络装置确定X2-C分组是否是X2-AP分组。图9是示出携带如3GPP定义的两个X2-AP分组(一个在SCTP块2中,另一个在SCTP块3中)的SCTP分组900的框图。通过SCTP分组定义X2-AP分组,SCTP分组包含具有值132的协议字段(例如,协议字段905)、均具有值36422的SCTP源端口字段(例如,SCTP源端口字段920)和SCTP目的地端口字段(例如,SCTP目的地端口字段925)、以及具有值0的块类型/ID(例如,块类型字段930或块类型字段935)。每个SCTP分组包含源IP地址字段(例如,源IP地址字段910)和目的地IP地址字段(例如,目的地IP地址字段915)。取决于X2-AP是源自本地RBS还是源自远程RBS,网络装置访问源IP地址字段或目的地IP地址字段,并利用它作为发现的X2-C IP地址。图9举例而非限制性地示出X2 AP分组的格式。将明白,在不偏离本发明的更宽范围和精神的情况下,可使用其它X2 AP分组格式。

现在返回参考图8,如果X2-C分组不是X2-AP分组,那么方法800在框840结束。在框820,如果X2-C分组是X2-AP分组,那么网络装置确定X2-AP是否源自本地RBS(例如,RBS 101-A)。在事务825,响应于确定X2-AP来自本地RBS,网络装置通过访问包含在目的地IP地址字段(例如,目的地IP地址字段915)中的IP地址来发现远程X2-C IP地址。在事务830,响应于确定X2-AP不是来自本地RBS(例如,X2-AP分组源自远程RBS 101-B),网络装置通过访问包含在源IP地址字段(例如,源IP地址字段910)中的IP地址来发现远程X2-C IP地址。

在事务835,响应于发现远程X2-C IP地址,网络装置利用发现的IP地址并创建从本地RBS到远程RBS的网络路由(例如,VPN路由)。在一个实施例中,只有当路由表(例如,路由表111-A)中本来不存在该网络路由时,网络装置才创建该网络路由。在一个实施例中,响应于创建网络路由,网络装置将路由信息存储在路由表中,以便防止为发现的每个远程X2 IP地址冗余地创建路由。

图10是示出根据一个实施例用于执行X2拓扑发现的过程流1000的事务图。过程流1000假设,RBS 101-A和101-B之前已经建立SCTP关联。现在将参考之前的图描述过程流1000。在事务1005,启用网络装置102-A以便为了远程X2-U IP地址窥探X2-C分组。

在事务1010,RBS 101-A通过将去往RBS 101-B的HANDOVER REQUEST分组传送给网络装置102-A来启动该分组。通常在诸如附连/连接到本地RBS的移动装置的用户设备(UE)需要附连/连接到另一个/远程RBS时传送HANDOVER REQUEST。在事务1011-1012,网络装置102-A和102-B分别将HANDOVER REQUEST分组转发给RBS 101-B,在事务1013,RBS 101-B接收该分组。在一个实施例中,网络装置102-A和/或网络装置102-B配置成窥探X2-C分组以便通过例如确定X2-C分组是否是HANDOVER REQUEST ACK分组来确定是否可从X2-C分组发现远程X2-U IP地址。

在事务1015,网络装置102-A确定X2-C分组不是HANDOVER REQUEST ACK。因此,网络装置102-A没有从HANDOVER REQUEST ACK分组发现任何远程X2-U IP地址。在事务1020,响应于接收到HANDOVER REQUEST,RBS 101-B启动去往RBS 101-A的HANDOVER REQUEST ACK分组。在事务1021-1022,网络装置102-B和网络装置102-A分别将HANDOVER REQUEST ACK分组转发给RBS 101-A,在事务1023,RBS 101-A接收该分组。

在事务1025,网络装置102-A确定在事务1022处接收的分组是从RBS 101-B接收的HANDOVER REQUEST ACK。在事务1030,响应于确定接收的分组是来自远程RBS的HANDOVER REQUEST ACK,网络装置102-A基于HANDOVER REQUEST ACK的信息发现远程X2-U IP地址。在事务1035,网络装置102-A利用发现的IP地址在RBS 101-A和RBS 101-B之间创建网络路由(例如,VPN路由)。在一个实施例中,只有当路由表111-A中本来不存在该网络路由时,网络装置102-A才创建该网络路由。在一个实施例中,当利用发现的IP地址自动创建网络路由时,网络装置102-A将网络路由信息存储在路由表111-A中以便防止在发现X2 IP地址时冗余地创建网络路由。

图11是示出根据一个实施例用于执行X2拓扑发现的过程流1100的事务图。过程流1100假设,RBS 101-A和101-B之前已经建立SCTP关联。现在将参考之前论述的图描述过程流1100。在事务1105,启用网络装置102-A以便为了远程X2-U IP地址窥探X2-C分组。

在事务1110,RBS 101-B通过将去往RBS 101-A的HANDOVER REQUEST分组传送给网络装置102-B来启动该分组。通常在诸如附连/连接到本地RBS的移动装置的用户设备(UE)需要附连/连接到另一个/远程RBS时传送HANDOVER REQUEST。在事务1111-1112,网络装置102-B和102-A分别将HANDOVER REQUEST分组转发给RBS 101-A,在事务1113,RBS 101-A接收该分组。在一个实施例中,网络装置102-A和/或网络装置102-B配置成窥探X2-C分组以便确定是否可从X2-C分组发现远程X2-U IP地址。在一个实施例中,网络装置102-A和/或网络装置102-B配置成从源自远程RBS的HANDOVER REQUEST ACK分组发现远程X2-U IP地址。

在事务1115,网络装置102-A确定在事务1112处接收的分组是从远程RBS 101-B接收的HANDOVER REQUEST。响应于确定接收的分组不是来自远程RBS的HANDOVER REQUEST ACK,网络装置102-A不执行任何X2 IP地址发现。

图12是示出根据一个实施例用于执行X2拓扑发现的方法1200的流程图。例如,方法1200可由网络装置102-A(例如,网络装置102-A的IP地址发现模块110-A)或网络装置102-B(例如,网络装置102-B的IP地址发现模块110-B)来执行,这两个网络装置中的任一个网络装置都可作为软件、固件、硬件或其任意组合来实现。现在将参考之前论述的图来论述方法1200。

在框1205,启用网络装置(例如,网络装置102-A)以便为了远程X2-U IP地址窥探X2-C分组。在框1210,网络装置接收X2-C分组。在框1215,网络装置确定X2-C分组是否是HANDOVER REQUEST。如果是,那么方法1200在框1240处结束。图13是示出在SCTP块2-3中携带X2-AP分组的SCTP分组1300的框图。X2-AP分组由SCTP分组定义,SCTP分组包含具有值132的协议字段(例如,协议字段1305)、均具有值36422的SCTP源端口字段(例如,SCTP源端口字段1320)和SCTP目的地端口字段(例如,SCTP目的地端口字段1325)、以及具有值0的块类型/ID(例如,块类型1330)。每个X2-AP有效载荷(例如,X2-AP有效载荷1335)携带各种类型的分组/消息,包括例如HANDOVER REQUEST、HANDOVER REQUEST ACK、CELL ACTIVATION REQUEST等。如图13中所示,X2-AP有效载荷1335携带HANDOVER REQUEST分组。图13举例而非限制性地示出X2 AP分组的格式。将明白,在不偏离本发明的更宽范围和精神的情况下,可使用其它X2 AP分组格式。

图14示出根据一个实施例携带HANDOVER REQUEST分组的X2-AP分组1400的伪代码。HANDOVER REQUEST分组由X2-AP分组定义,X2-AP分组包含具有值0的过程代码字段(例如,过程代码字段1405)和具有值HandoverRequest的消息值字段(例如,消息值字段1415)。

现在返回参考图12,在框1220,响应于确定X2-C分组不是HANDOVER REQUEST,网络装置确定X2-C分组是否是从远程RBS接收的HANDOVER REQUEST ACK分组。图15是示出根据一个实施例在SCTP块2-3中携带X2-AP分组的SCTP分组1500的框图。X2-AP分组由SCTP分组定义,SCTP分组包含具有值132的协议字段(例如,协议字段1505)、均具有值36422的SCTP源端口字段(例如,SCTP源端口字段1520)和SCTP目的地端口字段(例如,SCTP目的地端口字段1525)、以及具有值0的块类型/ID(例如,块类型字段1530)。每个X2-AP有效载荷(例如,X2-AP有效载荷1535)携带各种类型的分组/消息,包括例如HANDOVER REQUEST、HANDOVER REQUEST ACK、CELL ACTIVATION REQUEST等。如图15中所示,X2-AP有效载荷1535携带HANDOVER REQUEST ACK分组。图15举例而非限制性地示出携带X2-AP分组的SCTP分组的格式。将明白,在不偏离本发明的更宽范围和精神的情况下,可使用其它格式。

图16示出根据一个实施例携带HANDOVER REQUEST ACK分组的X2-AP分组1600的伪代码。HANDOVER REQUEST ACK分组由X2-AP分组定义,X2-AP分组包含具有值0的过程代码字段(例如,过程代码字段1605)和具有值HandoverRequestAcknowledge的消息值字段(例如,消息值字段1615)。每个HANDOVER REQUEST ACK消息包括包含传输网络层(TNL)信息的信息元素(IE),以使得目标/远程RBS在将数据转发给启动HANDOVER REQUEST ACK分组的本地RBS时用于GPRS穿隧协议-用户平面(GTP-U)隧道。TNL信息包括例如传输层地址(例如,传输层地址字段1610)。在一个实施例中,当从远程RBS接收HANDOVER REQUEST ACK时,接收网络装置(例如,网络装置102-A或网络装置102-B)通过访问包含在传输层地址中的IP地址来发现远程RBS的X2-U IP地址。图16举例而非限制性地示出携带HANDOVER REQUEST ACK分组的X2-AP分组的格式。将明白,在不偏离本发明的更宽范围和精神的情况下,可使用其它格式。

现在返回参考图12,在框1230,响应于确定X2-C分组是来自远程RBS的HANDOVER REQUEST ACK,网络装置通过访问包含在所接收的HANDOVER REQUEST ACK分组的传输层地址字段(例如,传输层地址字段1610)中的IP地址来发现远程X2-U IP地址。

在事务1235,响应于发现远程X2-U IP地址,网络装置利用发现的IP地址在本地RBS(例如,网络装置102-A)和远程RBS(例如,RBS 101-B)之间创建网络路由(例如,VPN路由)。在一个实施例中,只有当路由表(例如,路由表111-A)中本来不存在该网络路由时,网络装置才创建该网络路由。在一个实施例中,响应于创建网络路由,网络装置将路由信息存储在路由表中,以便防止为发现的每个远程X2 IP地址冗余地创建路由。在框1240,如果接收的X2-C分组不是从远程RBS接收的HANDOVER REQUEST ACK,那么网络装置完成该过程,而没有发现任何远程X2-U IP地址。方法1200示为是操作序列。将明白,只是举例而不是限制性地示出执行这些操作的顺序。在不偏离本发明的更宽范围和精神的情况下,图12中示出的操作可按其它顺序次序或并行地执行。

图17是示出根据一个实施例用于执行X2拓扑发现的方法1700的流程图。例如,方法1700可由网络装置102-A或网络装置102-B来执行,这两个网络装置中的任一个网络装置都可在软件、固件、硬件或其任意组合中实现。现在将参考之前论述的图来描述方法1700。

现在参考图17,在框1705,网络装置(例如,网络装置102-A)接收多个分组,其中所述多个分组中的每个分组通过X2-C接口(例如,X2-C接口120)接收,其中所述多个分组中的每个分组包含互联网协议(IP)报头、流控制传送协议(SCTP)报头和一个或多个SCTP块。

在框1710,网络装置确定所接收的多个分组中的一个或多个分组的分组类型。例如,网络装置确定接收的分组是否是SCTP INIT ACK分组、X2-AP分组、HANDOVER REQUEST分组或HANDOVER REQUEST ACK分组。

在框1715,网络装置利用所接收的多个分组中的这一个或多个分组的信息发现第二RBS(例如,远程RBS 101-B)的一个或多个IP地址,其中基于这一个或多个分组的确定的分组类型确定用于发现这一个或多个IP地址的信息。例如,响应于确定接收的分组是从另一个网络装置(例如,网络装置102-B)接收的SCTP INIT ACK,即源自远程RBS(例如,远程RBS 101-B)的SCTP INIT ACK,网络装置102-A通过访问包含在源IP地址字段(例如,源IP地址字段510)中的IP地址来发现第二RBS的IP地址。

在框1720,网络装置为发现的一个或多个IP地址中的每个IP地址在第一RBS(例如,本地RBS 101-A)和第二RBS(例如,远程RBS 101-B)之间创建网络路由。在一个实施例中,只有当路由表(例如,路由表111-A)中本来不存在该网络路由时,网络装置才创建该网络路由。在一个实施例中,响应于创建网络路由,网络装置将路由信息存储在路由表中,以便防止为发现的每个远程X2 IP地址冗余地创建路由。

X2拓扑发现选项2:利用RBS和CSR之间的显式通信进行X2 IP地址发现

图18是示出根据一个实施例用于执行X2拓扑发现的过程流1800的事务图。过程流1800假设,已经在RBS 101-A上配置了网络装置102-A的IP地址。在事务1805,RBS 101-A决定通过利用网络装置102-A的预先配置的IP地址向网络装置102-A传送HELLO消息来与网络装置102-A建立面向连接接口。在事务1810,响应于接收到HELLO消息,网络装置102-A将HELLO消息传送回给RBS 101-A。此时,创建了面向连接接口(例如,面向连接接口140),从而允许RBS 101-A和网络装置102-A彼此显式地通信。尽管事务1805和1810示出通过RBS 101-A启动面向连接接口,但是将明白,也可通过网络装置102-A启动面向连接接口。

在一个实施例中,RBS 101-A和网络装置102-A配置有预定HELLO INTERVAL(HELLO间隔),从而要求RBS 101-A和网络装置102-A在HELLO INTERVAL期间向彼此传送HELLO消息至少一次。在一个实施例中,RBS 101-A和网络装置102-A配置有预定DEAD间隔,从而使得如果在DEAD间隔内没有检测/接收到HELLO消息,那么宣布面向连接接口关闭,并清除所有之前获取的状态信息。在这种情况下,如果仍需要通信,那么RBS 101-A或网络装置102-A必须重新建立面向连接接口。

在事务1815,响应于确定需要连接到另一个IP子网,RBS 101-A向网络装置102-A传送CONNECT消息。当将要为X2接口建立SCTP关联时,或者当远程RBS已经向本地RBS发信号通知新的用户平面GTP-U IP地址时,通常会发生这种情况。在一个实施例中,CONNECT消息包括“远程IP地址”的列表。“远程IP地址”的列表包括RBS 101-A需要与其进行X2连接的一个或多个远程X2 IP地址。如果利用IPsec隧道模式并在RBS的两端终止IPsec隧道,那么CONNECT消息还必须包含用于RBS 101-A具有其定义的每个X2接口的远程隧道端点地址以作为“远程IP地址”的列表的一部分。

在一个实施例中,CONNECT消息还包括“自己的IP地址”的可选列表。“自己的IP地址”的列表包括RBS 101-A的一个或多个IP地址。在一个实施例中,CONNECT消息总是包含“自己的IP地址”和“远程IP地址”的完整集合/列表。为了传达自己的/远程IP地址的移除或改变,RBS 101-A传送具有自己的/远程IP地址的新列表的新CONNECT消息。在该实施例中,网络装置102-A通过将包含在最新CONNECT消息中的自己的/远程IP地址的列表与包含在之前接收的CONNECT消息中的自己的/远程IP地址的列表进行比较来推断新的和/或移除的IP地址。

在一些情况下,当需要拆卸网络装置和/或RBS(例如,为了维护或替换)时,面向连接接口将中断。当重新建立面向连接接口时,RBS重新传送CONNECT消息,该CONNECT消息是之前的CONNECT消息的副本(即,CONNECT消息包含完全相同的IP地址)。在一个实施例中,网络装置检测该副本CONNECT消息并忽略它。

在事务1820,网络装置102-A为包含在“远程IP地址”的列表中的每个IP地址在本地RBS 101-A和远程RBS之间创建网络路由。在一个实施例中,只有当对于对应的远程IP地址在本地和远程RBS之间不存在网络路由时,才创建网络路由。

图19A-19B是分别示出根据一个实施例用于执行X2拓扑发现的过程流1900和1901的事务图。过程流1900和1901假设,RBS 101-A和RBS 101-B配置有如图1所示的X2-C IP地址和X2-U IP地址。例如,RBS 101-A配置有X2-C IP地址“a.b.c.d”和X2-U IP地址“s.t.u.v”,而RBS 101-B配置有X2-C IP地址“e.f.g.h”和X2-U IP地址“w.x.y.z”。此外,过程流1900和1901假设,在RBS 101-A和网络装置102-A之间建立了第一面向连接接口(例如,面向连接接口140),并在RBS 101-B和网络装置102-B之间建立了第二面向连接接口(例如,面向连接接口141)。

现在参考图19A,在事务1905,响应于确定需要连接到远程RBS 101-B,RBS 101-A向网络装置102-A传送CONNECT消息。CONNECT消息包括“e.f.g.h”和“w.x.y.z”的“远程IP地址”的列表,这两个IP地址分别是远程RBS 101-B的X2-C和X2-U IP地址。如图所示,CONNECT消息还包括“a.b.c.d”和“s.t.u.v”的“自己的IP地址”的可选列表,这两个IP地址分别是本地RBS 101-A的X2-C和X2-U IP地址。响应于接收到CONNECT消息,网络装置102-A为每个远程IP地址创建网络路由,并本地存储路由信息(例如,作为路由表111-A的一部分)。

现在参考图19B,在事务1910,响应于确定需要连接到远程RBS 101-A,RBS 101-B向网络装置102-B传送CONNECT消息。CONNECT消息包括“a.b.c.d”和“s.t.u.v”的“远程IP地址”的列表,这两个IP地址分别是远程RBS 101-A的X2-C和X2-U IP地址。如图所示,CONNECT消息还包括“e.f.g.h”和“w.x.y.z”的“自己的IP地址”的可选列表,这两个IP地址分别是本地RBS 101-B的X2-C和X2-U IP地址。响应于接收到CONNECT消息,网络装置102-B为每个远程IP地址创建网络路由,并本地存储路由信息(例如,作为路由表111-B的一部分)。图19A-19B中举例而非限制性地示出这些IP地址。将明白,可包含更多或更少的IP地址以作为CONNECT消息的一部分。

图20A-20B是分别示出根据一个实施例用于执行X2拓扑发现的过程流2000和2001的事务图。过程流2000和2001假设,已经执行了过程流1900和1901的一些或所有事务。现在参考图20A,在事务2005,响应于确定本地添加了新的远程X2 IP地址(例如,IP地址“s2.t2.u2.v2”),RBS 101-A向网络装置102-A传送CONNECT消息。新的X2 IP地址可以是通过OAM操作添加的新的CoMP用户平面IP地址。CONNECT消息包括“e.f.g.h”和“w.x.y.z”的“远程IP地址”的列表,这两个IP地址分别是远程RBS 101-B的X2-C和X2-U IP地址。如图所示,CONNECT消息还包括“a.b.c.d”、“s.t.u.v”和“s2.t2.u2.v2”的“自己的IP地址”的可选列表,这三个IP地址分别是本地RBS 101-A的X2-C、X2-U和X2-U IP地址。注意,尽管CONNECT消息中包含所有的自己的/远程IP地址,但是只有IP地址“s2.t2.u2.v2”是新的。

现在参考图20B,在事务2010,响应于确定需要到新的远程X2 IP地址(例如,IP地址“s2.t2.u2.v2”)的新路由,RBS 101-B向网络装置102-B传送CONNECT消息。在一个实施例中,RBS 101-B通过与RBS 101-A的X2信令了解新的远程X2 IP地址。或者,RBS 101-B通过OAM操作了解新的远程X2 IP地址。CONNECT消息包括“a.b.c.d”、“s.t.u.v”和“s2.t2.u2.v2”的“远程IP地址”的列表,这三个IP地址分别是远程RBS 101-A的X2-C、X2-U和X2-U IP地址。如图所示,CONNECT消息还包括“e.f.g.h”和“w.x.y.z”的“自己的IP地址”的可选列表,这两个IP地址分别是本地RBS 101-B的X2-C和X2-U IP地址。注意,尽管CONNECT消息中包含所有的自己的/远程IP地址,但是只有IP地址“s2.t2.u2.v2”是新的。响应于接收到CONNECT消息,网络装置102-B为每个远程IP地址创建网络路由,并本地存储路由信息,例如作为路由表111-B的一部分。在一个实施例中,只有当对应于远程IP地址的现有网络路由尚未创建(例如,基于本地存储在路由表111-B中的路由信息)时,网络装置102-B才创建网络路由。例如,在该图示中,网络装置102-B确定之前已经创建了远程X2 IP地址“a.b.c.d”和“s.t.u.v”的网络路由。因此,CSR 102-B只为远程X2 IP地址“s2.t2.u2.v2”创建新的网络路由。图20A-20B中举例而非限制性地示出这些IP地址。将明白,可包含更多或更少的IP地址以作为CONNECT消息的一部分。

图21A-21B是分别示出根据一个实施例用于执行X2拓扑发现的过程流2100和2101的事务图。过程流2100和2101假设,已经执行了过程流2000和2001的一些或所有事务。现在参考图21A,在事务2105,响应于确定本地删除了本地X2 IP地址(例如,IP地址“s.t.u.v”),RBS 101-A向网络装置102-A传送CONNECT消息。本地X2 IP地址可通过例如OAM操作来删除。CONNECT消息包括“e.f.g.h”和“w.x.y.z”的“远程IP地址”的列表,这两个IP地址分别是远程RBS 101-B的X2-C和X2-U IP地址。如图所示,CONNECT消息还包括“a.b.c.d”和“s2.t2.u2.v2”的“自己的IP地址”的可选列表,这两个IP地址分别是本地RBS 101-A的X2-C和X2-U IP地址。注意,已经从CONNECT消息中的“自己的IP地址”的列表中排除了本地X2 IP地址“s.t.u.v”(示为)。通过从列表中排除本地IP地址“s.t.u.v”,RBS 101-A告知网络装置102-A该IP地址已经删除。

现在参考图21B,在事务2110,响应于确定不再需要连接到远程X2 IP地址(例如,IP地址“s.t.u.v”),RBS 101-B向网络装置102-B传送CONNECT消息。在一个实施例中,RBS 101-B通过与RBS 101-A的X2信令了解不再需要连接到远程X2 IP地址。或者,RBS 101-B通过OAM操作了解不再需要连接到远程X2 IP地址。CONNECT消息包括“a.b.c.d”和“s2.t2.u2.v2”的“远程IP地址”的列表,这两个IP地址分别是远程RBS 101-A的X2-C和X2-U IP地址。注意,已经从CONNECT消息中的“远程IP地址”的列表中排除了远程X2 IP地址“s.t.u.v”(示为)。通过排除该远程X2 IP地址,RBS 101-B显式地向网络装置102-B传达不再需要连接到排除的X2 IP地址。

如图所示,CONNECT消息还包括“e.f.g.h”和“w.x.y.z”的“自己的IP地址”的可选列表,这两个IP地址分别是本地RBS 101-B的X2-C和X2-U IP地址。响应于接收到CONNECT消息,网络装置102-B确定不再需要远程IP地址“s.t.u.v”的网络路由。例如,网络装置102-B将在事务2110处接收的最新CONNECT消息中的“远程IP地址”的列表与之前在事务2010处接收的CONNECT消息中的“远程IP地址”的列表进行比较,并确定已经排除了远程IP地址“s.t.u.v”。响应于确定已经从“远程IP地址”的最新列表中排除了远程X2 IP地址“s.t.u.v”,网络装置102-B移除对应于排除的远程IP地址的网络路由。图21A-21B中举例而非限制性地示出这些IP地址。将明白,可包含更多或更少的IP地址以作为CONNECT消息的一部分。

图22A-22B是分别示出根据一个实施例用于执行X2拓扑发现的过程流2200和2201的事务图。过程流2200和2201假设,已经执行了过程流2100和2101的一些或所有事务。现在参考图22A,在事务2205,响应于确定由于不再需要与远程RBS 101-B连接而需要释放连接,RBS 101-A向网络装置102-A传送CONNECT消息。远程X2 IP地址可通过例如OAM操作来释放。为了释放与远程RBS的所有连接,本地RBS将传送具有“远程IP地址”的空列表的CONNECT消息。例如,如图所示,CONNECT消息包括“远程IP地址”的空列表,因为RBS 101-A决定释放与远程RBS 101-B相关联的所有连接。图22A还示出,CONNECT消息还包括“a.b.c.d”和“s2.t2.u2.v2”的“自己的IP地址”的可选列表,这两个IP地址分别是本地RBS 101-A的X2-C和X2-U IP地址。

在一个实施例中,响应于接收到具有“远程IP地址”的空列表的CONNECT消息,网络装置102-A移除之前在RBS 101-A和RBS 101-B之间建立的所有网络路由。例如,网络装置102-A移除之前为远程X2 IP地址“e.f.g.h”和“w.x.y.z”创建的网络路由。在一个实施例中,网络装置102-A通过将在事务2205处接收的最新CONNECT消息中的“远程IP地址”的列表与之前在事务2105处接收的CONNECT消息中的“远程IP地址”的列表进行比较来确定移除哪些网络路由,并确定已经排除远程IP地址“e.f.g.h”和“w.x.y.z”。响应于确定已经从“远程IP地址”的最新列表排除了远程X2 IP地址“e.f.g.h”和“w.x.y.z”,网络装置102-A移除对应于排除的远程IP地址的网络路由。

现在参考图22B,在事务2210,响应于确定远程RBS 101-A释放了与RBS 101-B的所有连接,RBS 101-B向网络装置102-B传送CONNECT消息以便释放它与RBS 101-A的所有连接。在一个实施例中,RBS 101-B通过与RBS 101-A的X2信令知道RBS 101-A已经释放了这些连接。在备选实施例中,RBS 101-B通过OAM操作知道RBS 101-A释放了这些连接。如图所示,CONNECT消息包括“远程IP地址”的空列表。通过排除所有远程X2 IP地址,RBS 101-B显式地向网络装置102-B传达不再需要连接到排除的X2 IP地址。如图所示,CONNECT消息还包括“e.f.g.h”和“w.x.y.z”的“自己的IP地址”的可选列表,这两个IP地址分别是本地RBS 101-B的X2-C和X2-U IP地址。响应于接收到具有“远程IP地址”的空列表的CONNECT消息,网络装置102-B移除之前在RBS 101-A和RBS 101-B之间建立的所有网络路由。例如,网络装置102-B移除之前为远程X2 IP地址“a.b.c.d”和“s2.t2.u2.v2”创建的网络路由。在一个实施例中,网络装置102-B通过将在事务2210处接收的最新CONNECT消息中的“远程IP地址”的列表与之前在事务2110处接收的CONNECT消息中的“远程IP地址”的列表进行比较来确定移除哪些网络路由,并确定已经排除远程IP地址“a.b.c.d”和“s2.t2.u2.v2”。响应于确定已经从“远程IP地址”的最新列表中排除了远程X2 IP地址“a.b.c.d”和“s2.t2.u2.v2”,网络装置102-B移除对应于排除的远程IP地址的网络路由。图22A-22B中举例而非限制性地示出这些IP地址。将明白,可包含更多或更少的IP地址以作为CONNECT消息的一部分。

上文关于RBS 101-A和101-B以及网络装置102-A和102-B描述了过程流1800-2201。但是,将明白,本发明不限于此。本文中所论述的通过RBS和网络装置之间的显式通信发现X2拓扑的机制同样适用于任何网络中的任何RBS和网络装置。此外,这些机制不限于两对RBS/网络装置,而是可延伸至任何网络中的任意对RBS/网络装置。

如上所述,在一些情况下,RBS(例如,RBS 101-A和/或101-B)或网络装置(例如,网络装置102-A和/或102-B)未能在DEAD间隔内接收到HELLO分组。在这种情况下,宣布面向连接接口关闭,并且如果仍需要通信,那么必须重新建立面向连接接口。在一个实施例中,当宣布面向连接接口关闭时,网络装置清除所有状态信息,包括例如移除在本地RBS和远程RBS之间创建的所有网络路由。

图23是示出根据一个实施例用于执行X2拓扑发现的方法2300的流程图。例如,方法2300可由RBS 101-A(例如,RBS 101-A的IP地址通知器150-A)或RBS 101-B(例如,RBS 101-B的IP地址通知器150-B)来执行,任一RBS都可作为软件、固件、硬件或其任意组合来实现。现在将参考之前论述的图来论述方法2300。

现在参考图23,在框 2305,RBS与本地CSR创建面向连接接口。例如,RBS 101-A通过向网络装置102-A发送HELLO消息(作为事务1805的一部分)而与网络装置102-A创建面向连接接口140。

在框2310,RBS确定需要与远程RBS创建网络路由/连接(例如,VPNv4路由)。例如,RBS 101-A确定需要与RBS 101-B创建网络路由,或RBS 101-B确定需要与RBS 101-A创建网络路由。

在框2315,响应于确定需要与远程RBS创建网络路由,RBS向本地网络装置传送CONNECT分组/消息,以便向本地网络装置提供远程RBS IP地址。例如,在事务1905,响应于确定需要与远程RBS 101-B创建网络路由,RBS 101-A传送CONNECT消息,其中“远程IP地址”的列表至少包括远程RBS 101-B的IP地址。可选地,RBS 101-A还可包括它自己的IP地址中的一个或多个IP地址以作为CONNECT消息中的“自己的IP地址”的列表的一部分。

在框2320,RBS确定需要与远程RBS创建新的网络路由,或需要移除与远程RBS的现有网络路由。在框2325,响应于确定需要创建新的网络路由或需要移除现有路由,RBS向本地网络装置传送CONNECT消息,以便向本地网络装置提供自己的/远程RBS IP地址的更新列表。例如,在事务2010,响应于确定需要为远程X2 IP地址“s2.t2.u2.v2”与远程RBS 101-A创建网络路由,RBS 101-B向网络装置102-B传送CONNECT消息,其中“远程IP地址”的列表包括IP地址“s2.t2.u2.v2”。还举例来说,在事务2110,响应于确定需要为IP地址“s.t.u.v”移除与远程RBS 101-A的现有网络路由,RBS 101-B向网络装置102-B传送CONNECT消息,其中从“远程IP地址”的列表排除IP地址“s.t.u.v”。

在框2330,RBS确定本地增加了新的IP地址或删除了现有本地IP地址。在框2335,响应于确定本地增加了新的IP地址或删除了现有IP地址,RBS向本地网络装置传送CONNECT消息,以便向本地网络装置提供“自己的IP地址”的更新列表。例如,在事务2005,响应于确定本地增加了IP地址“s2.t2.u2.v2”,RBS 101-A向网络装置102-A传送CONNECT消息,其中CONNECT消息中的“自己的IP地址”的列表包含新的IP地址“s2.t2.u2.v2”。还举例来说,在事务2105,响应于确定本地删除了现有本地IP地址“s.t.u.v”,RBS 101-A传送CONNECT消息,其中从“自己的IP地址”的列表中排除删除的IP地址“s.t.u.v”。方法2300示为是操作序列。将明白,只是举例而非限制性地示出执行这些操作的顺序。在不偏离本发明的更广范围和精神的情况下,图23中示出的操作可按其它顺序次序或并行地执行。

图24是示出根据一个实施例用于执行X2拓扑发现的方法2400的流程图。例如,方法2400可由网络装置102-A(例如,网络装置102-A的IP地址发现模块110-A)或网络装置102-B(例如,网络装置102-B的IP地址发现模块110-B)执行,这两个网络装置中的任一网络装置都可作为软件、固件、硬件或其任意组合来实现。现在将参考之前论述的图来论述方法2400。

现在参考图24,在框2405,网络装置与本地RBS创建面向连接接口。例如,作为事务1810的一部分,响应于接收到来自本地RBS 101-A的HELLO消息,网络装置102-A向RBS 101-A传送HELLO消息。在框2410,网络装置接收来自本地RBS的CONNECT消息。例如,作为事务2005的一部分,网络装置102-A接收来自本地RBS 101-A的CONNECT消息。

在框2415,网络装置确定接收的CONNECT消息是否包含远程RBS的IP地址,其中所述IP地址与现有网络路由无关联。例如,对于CONNECT消息中所包含的每个远程IP地址,网络装置查找本地路由表(例如,路由表111-A)以便确定网络路由是否存在。

在框2420,响应于确定CONNECT消息包含与现有网络路由无关联的一个或多个远程IP地址,网络装置为与现有网络路由无关联的每个远程IP地址创建网络路由。

在框2425,网络装置确定CONNECT消息是否排除远程RBS的IP地址,其中所述排除的IP地址与现有网络路由相关联。例如,网络装置102-A通过将“远程IP地址”的列表与作为事务2005的一部分接收的CONNECT消息中的“远程IP地址”的列表进行比较来确定是否在作为事务2105的一部分接收的CONNECT消息中排除了远程RBS 101-B的IP地址。基于比较,网络装置102-A确定从事务2105的CONNECT消息中排除了远程IP地址“s.t.u.v”。在一个实施例中,网络装置通过查找本地路由表(例如,路由表111-A)确定对于排除的IP地址网络路由是否存在。

在框2430,响应于确定对于排除的IP地址当前存在网络路由,网络装置移除与排除的远程IP地址相关联的网络路由。在一个实施例中,这还包括从本地路由表中移除相关联的网络路由信息。在框2435,过程结束。

图25是示出根据一个实施例用于执行X2拓扑发现的方法2500的流程图。例如,方法2500可由RBS 101-A(例如,RBS 101-A的IP地址通知器150-A)或RBS 101-B(例如,RBS 101-B的IP地址通知器150-B)来执行,任一RBS都可作为软件、固件、硬件或其任意组合来实现。现在将参考之前论述的图来论述方法2500。

现在参考图25,在框2505,通过传送去往第一网络装置的第一HELLO分组(例如,作为事务1805的一部分)并接收源自第一网络装置的第二HELLO分组(例如,作为事务1810的一部分),第一RBS(例如,RBS 101-A)与第一网络装置(例如,网络装置102-A)创建面向连接接口(例如,面向连接接口140),以便交换源自第一RBS的去往第一网络装置的一个或多个分组(例如,作为事务1905的一部分),并交换源自第一网络装置的去往第一RBS的一个或多个分组。

在框2510,响应于确定需要创建从第一RBS到第二RBS(例如,RBS 101-B)的第一网络路由,第一RBS经由面向连接接口传送去往第一网络装置的第一CONNECT分组(例如,作为事务1905的一部分),第一CONNECT分组包含第二RBS的第一IP地址(例如,作为第一CONNECT分组的“远程IP地址”的列表的一部分),其中第一CONNECT分组使得第一网络装置利用第二RBS的第一IP地址创建第一网络路由(例如,作为框2420的一部分)。

图26是示出根据一个实施例用于执行X2拓扑发现的方法2600的流程图。例如,方法2600可由网络装置102-A(例如,网络装置102-A的IP地址发现模块110-A)或网络装置102-B(例如,网络装置102-B的IP地址发现模块110-B)来执行,这两个网络装置中的任一网络装置都可作为软件、固件、硬件或其任意组合来实现。现在将参考之前论述的图来论述方法2600。

现在参考图26,在框2605,通过接收源自第一RBS的去往第一网络装置的第一HELLO分组(例如,作为事务1805的一部分)并响应于接收第一HELLO分组而传送去往第一RBS的第二HELLO分组(例如,作为事务1810的一部分),第一网络装置(例如,网络装置102-A)与第一RBS(例如,RBS 101-A)创建面向连接接口(例如,面向连接接口140),以便交换源自第一RBS的去往第一网络装置的一个或多个分组,并交换源自第一网络装置的去往第一RBS的一个或多个分组。

在框2610,第一网络装置经由面向连接接口接收源自第一RBS的去往第一网络装置的第一CONNECT分组(例如,作为事务1905的一部分),第一CONNECT分组包含第二RBS的第一IP地址(例如,作为CONNECT分组中的“远程IP地址”的列表的一部分)。

在框2615,响应于接收到第一CONNECT分组,第一网络装置利用包含在第一CONNECT分组中的第二RBS的第一IP地址在第一RBS和第二RBS(例如,RBS 101-B)之间创建第一网络路由(例如,作为事务2420的一部分)。

自动VRF配置

在一个实施例中,响应于发现远程X2 IP地址,CSR(它可作为网络装置102-A和/或102-B的一部分实现)配置成在它的本地虚拟路由功能(VRF)中自动增加新的短网络路由(例如,VPN路由),前提条件是VRF中本来不存在该网络路由。在一个实施例中,VRF作为路由表(例如,路由表111-A和/或111-B)的一部分实现。在一个实施例中,到远程X2 IP地址的短路径的安装只限于具有用CSR的本地RBS定义的X2接口的安装。本发明的各种实施例提供允许CSR通过利用BGP的有限传播或本地CSR处的有限安装来限制这些安装的机制。

VRF配置选项1:利用导入路由图的短路由安装

在一个实施例中,CSR利用作为CSR的VRF的一部分包含的导入路由图安装短路径。在该实施例中,CSR配置成向路由反射器(例如,路由反射器160)发出BGP ROUTE-REFRESH消息,以便在经历配置改变之后请求来自它的多协议内部边界网关协议(MP-IBGP)同伴的路由更新。在增加、删除或修改VRF或它们的相关联配置的情况下,路由刷新能力使得CSR能够更新它们的路由表。响应于接收到BGP ROUTE-REFRESH消息,路由反射器通过向CSR传送BGP UPDATE消息作出应答。

在该实施例中,在给定地理区域“X2_Area”内,CSR将把它们的具有相同路由目标(RT)“X2_Area”的本地子网导出到MP-BGP中。在本地已了解时,CSR将不会导出X2的更多特定路由。在一个实施例中,“X2_Area”是在CSR处启用自动VRF配置时由操作人员定义的特殊RT值。在一个实施例中,CSR还将另外的X2驱动的选择性导入路由图应用于在以该特殊RT值标记的BGP UPDATE消息中接收的路由。

在一个实施例中,由给定CSR接收的BGP UPDATE消息包括由导出它们的具有全区域RT“X2_Area”的本地可达子网的所有CSR广告的所有子网。尽管BGP UPDATE消息包括所有CSR的本地可达子网,但是在它的VRF中实际只安装同时出现在本地CSR的导入路由图中的路由。

在一个实施例中,由本地CSR基于通过上文所论述的X2拓扑发现机制了解的信息自动创建本地导入路由图。当本地CSR发现新的远程X2地址时,在它的本地导入路由图中增加另外的条目。如上所述,也可从VRF和导入图中删除路由。因此,在该实施例中,该VRF选项的操作可总结如下:

1. CSR安装发现的远程IP地址子网以作为它的VRF内的路由图的一部分。

2. CSR向路由反射器传送BGP ROUTE-REFRESH消息以便请求重新广告BGP路由。

3. 响应于接收到BGP ROUTE-REFRESH消息,路由反射器向请求ROUTE-REFRESH的CSR传送BGP UPDATE消息。BGP UPDATE消息包含所有小区站点子网。

4. 只有当宣告的路由同与配置的RT匹配的RT值相关联时,CSR才将宣告的路由导入到VRF中,并将路由包含在路由导入图中。

VRF配置选项2:利用外出路由过滤(ORF)的短路由安装

根据一个实施例,响应于发现远程X2 IP地址,CSR利用ORF安装从本地RBS到远程RBS的短路由。ORF使得CSR能够向它的同伴广告对等CSR或路由反射器可在向CSR发送信息时使用的外出路由过滤器。在该实施例中,ORF特征与路由刷新BGP能力一起起作用。

在该实施例中,在给定地理区域“X2_Area”内,CSR将把它们的具有相同RT“X2_Area”的本地子网导出到MP-BGP中。VRF配置选项1和VRF配置选项2之间的主要差异是,在选项2的情况下,通过在路由反射器中使用ORF来限制从路由反射器到CSR的短路由的传播。因此,从路由反射器发送到CSR的BGP UPDATE消息的内容对于每个CSR都将是唯一的,并且只包含给定CSR所请求的X2路由。当本地CSR了解新的远程X2地址时,它更新它在路由反射器处的ORF,以便作为a/32子网增加该新地址。因此,VRF选项2可总结如下:

1. 网络中的每个CSR向路由反射器传送ORF请求,以便将新发现的远程X2 IP地址作为a/32路由添加到它在路由反射器处维持的ORF。

2. 每个CSR向路由反射器传送BGP ROUTE-REFRESH消息以便请求重新广告BGP路由。

3. 响应于接收到BGP ROUTE-REFRESH消息,路由反射器向请求ROUTE-REFRESH的每个CSR传送BGP UPDATE消息。BGP UPDATE消息包括新发现的X2路由。传送给每个CSR的BGP UPDATE消息将有所不同,因为每个CSR请求在路由反射器中安装不同ORF。

4. 假设用RT“X2_Area”标记X2路由,每个CSR将导入新宣告的X2路由。

VRF配置选项3:利用X2特定个别RT导入/导出的短路由安装

在该实施例中,当CSR知道本地RBS的X2 IP地址时,CSR将它作为a/32路由发布到MP-BGP中,并用唯一的RT值对它进行标记。唯一RT值通过在了解的本地X2 IP地址上应用诸如哈希或循环冗余校验(CRC)的预定算法自动生成。此外,当CSR发现需要新的短程路由的新的远程X2 IP地址时,CSR通过在发现的远程RBS的X2 IP地址上应用相同的预定算法生成RT值。于是,CSR包括生成的RT值以作为它的本地导入语句的一部分。然后,可利用本地导入语句中的RT值来标识需要将BGP ROUTE-REFRESH消息中的哪些路由导入到VRF中。因此,可举例地如下总结VRF配置选项3。当本地CSR(例如,网络装置102-A)了解本地RBS(例如,RBS 101-A)的新的X2 IP地址时:

1. 利用预定义算法,本地CSR从本地X2 IP地址生成唯一的RT值。

2. 本地CSR更新它的导出规则以便包含从新了解的本地X2 IP地址生成的RT。

3. 本地CSR将新了解的本地X2 IP地址作为a/32路由广告到MP-BGP中,并用生成的RT值对它进行标记。

例如,假设如图1所示的配置,在了解这两个本地X2 IP地址之后,网络装置102-A将这两个新路由广告到MP-BGP中,一个针对具有RT=F(x)[a.b.c.d]的X2-C IP地址“a.b.c.d/32”,另一个针对具有RT=F(x)[s.t.u.v]的X2-U IP地址“s.t.u.v/32”,其中F(x)是诸如哈希或CRC的预定算法。将明白,网络装置102-B对本地X2 IP地址“e.f.g.h/32”和“w.x.y.z”执行类似操作。

此外,当远程CSR(例如,网络装置101-B)了解远程RBS(例如,RBS 101-A)的新的远程X2 IP地址时:

1. 利用本地CSR所使用的相同预定义算法,远程CSR从新发现的远程X2 IP地址生成RT值。

2. 远程CSR更新它的导入规则以便包含从新发现的远程X2 IP地址生成的RT值。

3. 远程CSR将BGP ROUTE-REFRESH消息传送给路由反射器。

4. 响应于接收到BGP ROUTE-REFRESH消息,路由反射器将BGP UPDATE消息传送给远程CSR。BGP UPDATE消息包括由网络中的其它CSR广告的所有路由和任何特定/32路由。

5. 远程CSR利用它自己的更新的导入语句处理BGP UPDATE消息。假设自从本地CSR第一次广告特定/32路由以来过去足够时间,BGP UPDATE消息将包含新/32路由。如果是,那么远程CSR将安装新的短程路由,因为新的短路由包括包含在更新后的导入规则中的RT值。

继续以上示例,在了解这两个远程X2 IP地址之后,网络装置102-B将用两个新的RT更新它的导入语句,一个针对具有RT=F(x)[a.b.c.d]的X2-C IP地址“a.b.c.d”,另一个针对具有RT=F(x)[s.t.u.v]的X2-U IP地址“s.t.u.v”,其中F(x)是网络装置102-A所使用的相同的预定算法。将明白,网络装置102-A对远程X2 IP地址“e.f.g.h”和“w.x.y.z”执行类似操作。

在支持BGP RT约束的路由分发特征的实施例中,路由反射器可基于RT-过滤执行路由的选择性分发。在该实施例中,将减轻对于给定X2会话不需要短程路由的CSR的基于它们的RT导入列表过滤BGP UPDATE消息的负担。

上文用计算机存储器内的数据位上的事务的算法和符号表示描述了以上详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来向本领域其它技术人员最有效地传达它们的工作实质的方式。算法在这里一般视为是导致期望结果的事务的独立序列。事务是需要物理操纵物理量的东西。通常,但非必需地,这些量采用能够存储、传送、组合、比较以及以其它方式进行操纵的电或磁信号的形式。主要出于常用的原因,有时将这些信号称为位、值、元素、符号、字符、项、数字等经证实是便利的。

但是,应记住,所有这些和类似术语都将与合适的物理量相关联,并且只是应用于这些量的便利标记。除非另外特别指出,否则从以上论述显而易见,将明白,在整篇说明书中,利用诸如“处理”或“计算”或“演算”或“确定”或“显示”等术语的论述是指操纵表示为计算机系统的寄存器和存储器内的物理(如电子)量的数据并将这些数据变换为类似地表示为计算计系统的存储器、寄存器或其它这样的信息存储、传送或显示装置内的物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本文中所介绍的算法和显示不是与任何特定计算机或其它设备固有地相关的。各种通用系统可与根据本文的教导的程序一起使用,或者构造更专门的设备以便执行所需的方法事务经证实是便利的。各种这些系统的所需结构将从以上描述可见。另外,没有参考任何特定编程语言来描述本发明的实施例。将明白,可利用各种编程语言来实现本文中所描述的本发明的实施例的教导。

在以上说明书中,参考本发明的特定示例性实施例描述了本发明的实施例。将显而易见,在不偏离如随附权利要求中所述的本发明的更广精神和范围的情况下,可对其进行各种修改。因此,说明书和附图应视为是说明性意义而不是限制性意义。

在整篇描述中,通过流程图介绍了本发明的实施例。将明白,这些流程图中描述的事务顺序和事务只是为了说明性的目的,而不是要限制本发明。本领域技术人员将意识到,在不偏离如随附权利要求中所述的本发明的更广精神和范围的情况下,可对这些流程图进行各种改变。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1