任播服务的实现方法、发送任播请求的方法、任播路由器的制作方法

文档序号:7667577阅读:247来源:国知局

专利名称::任播服务的实现方法、发送任播请求的方法、任播路由器的制作方法
技术领域
:本发明涉及通信领域,尤其涉及任播服务的实现方法、发送任播请求的方法、任播路由器。
背景技术
:目前Internet上应用最广泛的IP服务模式是单播(unicast)和多播(multicast)服务。单播通信中发送者和接收者是确定的一对一关系;多播通信中一个发送者对应多个接收者。随着网络通信的发展,人们提出任播(anycast)服务模式,它允许一个发送者和一组具有相同anycast地址的接收者中的任一成员进行通信。并且IPv6正式将anycast服务作为IP服务的模式之一,将其定义为用一个anycast地址标识一组提供某种服务的主机,发送到该anycast地址的分组将被传送给这组主机中的任意一台。参见图1,该图表示了anycast服务的基本相无念,Memberl和Member2构成一个anycast组,邗li殳该组为GroupA。Memberl和Member2提供相同的服务,具有相同的anycast地址,称之为anycast服务器。服务请求者Senderl和Sender2发送目的地址为该anycast组地址的IP分组来获得服务,也就是说从,Memberl或Member2处获得服务。通过anycast机制,Senderl从距离自己较近的Memberl处获得服务,Sender2从Member2处获得服务。在许多实际应用中,通过使用anycast服务模式可以提高网络的使用效率和服务质量。anycast的具体实现目标简单地i充可以是1)anycast组lt量可扩展。人们希望anycast可以处理分布在全球范围的anycast服务器而不是局限于自治域内部。自治域是指在单一实体管理控制下的一个或多个网络的集合,每个自治域对应一个自治域编号由因特网地址授权委员会(IANA,InternetAssignedNumbersAuthority)统一分配。将anycast限制在自治域内部可以获得很多优势例如有统一的管理政策、使用内部网关协议进行路由、网络的规模相对较小,网络拓朴已知等等。目前很多方法可以用来实现自治域内的anycast。2)组成员数量可扩展。应当能通过增加组成员的数量来提高服务质量,例如全球DNS服务器的数量巨大,anycast服务机制应该可以支持成员数目不受限制的anycast组。3)最优组成员高效选择。任何情况下,anycast服务都应选择到最优或者是近似最优的通信节点。这就要求路由器了解更多的anycast组及其成员的信息。显然这是与可扩展性相矛盾的目标。4)对网络的其它协议透明、对应用层软件透明。目标4)的重要性在于至今已经对互联网发展投入了巨大的成本,任何对现有协议的改变都需要花费巨大代价。同样,如果需要应用层软件进行修改来使用anycast服务也会大大降低anycast的生命力。最早的anycast服务通过在IPv4地址空间中直接划分anycast地址在网络层中实现,但这样做会使路由表会无限制膨胀;从而导致网络性能急剧下降。当每台路由器都需要为每一个anycast组和组成员维护单独的路由信息时,全球anycast服务将会很难实现。目前较为流行的实现IP-anycast服务的方法是GIA(GlobleIPAnycast,全球IP任播)。GIA要求每个路由器能够区分anycast地址与unicast地址。发送者通过在unicast地址中加入anycast前缀来标识anycast分组,路由器在收到分组时通过对anycast前缀的变换可以快速的找到位于家乡域(GIA中假设在每一中anycast服务都会有一个最初的服务提供者,它一定有一个确切的位置,这个位置所在的域就该是anycast服务的家乡域)的anycast服务器。参见图2,该图描述了GIA对地址的映射过程当服务器收到一个目的地址带有anycast前缀的分组时首先去掉该前缀,然后在地址的末尾补0,最后通过事先划分好的anycast组的被访问频率来利用映射后的地址。GIA将anycast地址区分为内部的(对路由器而言,如果该anycast地址的家乡域与其所在自治域相同,这个地址就称为内部地址)、常用的和不常用的。对内部地址的路由很简单,直接到家乡域的服务器。对内部的anycast地址由于其最优服务器位于家乡域的单播地址前缀所标识的网络内,且与unicast路由完全相同,因此可以直接通过组ID找到最优服务器。对经常访问的anycast地址,路由器在一定范围内进行扩散式的查找,并对查找到的结果进行有选择的缓存,这样可以对后续的该类anycast分组进行快速的转发。而对于不经常访问的anycast地址直接将分组路由到位于家乡域的anycast服务器。由于不需要维护不常用的anycast地址信息,因此在一定程度上解决了路由表的膨胀问题。GIA潜在的问题是,将不经常访问的anycast请求全部路由到主anycast域而不论请求者周围是否存在更优的服务器,对这些anycast请求很难找到最优服务器,因此不能高效率的实现最优组成员高效选择;同时由于区分了anycast地址和unicast地址无法在现有的网络地址结构中应用,不利于全球范围的使用,降低了IP-anycast服务的生命力。
发明内容本发明实施例要解决的技术问题是提供一种全球可扩展IP_anycast服务可扩展方法,为解决上述技术问题,本发明实施例提供了一种任播服务实现方法,该方法包才舌接收分组P,所述分组P为任播请求数据包;根据所述分组P的目的地址查找任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。本发明还提供了一种任播路由器,该任播服务器包括第一接收单元,用于接收分组P,所述分组P为任播请求数据包;第一处理单元,用于根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组p的目的地址变换为所述任播服务器的单播地址,形成第二分组p;第一发送单元,用于将所述第二分组p发送至所述任播服务器。本发明还提供了一种发送任播请求的方法,该方法包括接收分组p,所述分组p为任播请求数据包;根据所述分组p的目的地址查找任播路由表选择任播服务器;将所述分组p封装为第一分组p,所述第一分组p的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组p的有效载荷为所述分组p;发送所述第一分组p。本发明还提供了一种任播路由器,该任播路由器包括第二接收单元,用于接收分组p,所述分组p为任播请求数据包;第二处理单元,用于根据所述分组p的目的地址查找任播路由表选择任播服务器;将所述分组p封装为第一分组p,所述第一分组p的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组p的有效载荷为所述分组p;第二发送单元,用于发送所述第一分组p。本发明还提供了一种处理任播请求的方法,该方法包括接收第一分组p,将所述第一分组p解封装为分组p,所述的分组p为所述的第一分组p的有效载荷;根据所述分组p的目的地址查找所述任播服务器的单播地址;将所述分组p的目的地址变换为所述任播服务器的单播地址,形成第二分组p;将所述第二分组p发送至所述任播服务器。本发明还提供了一种任播路由器,该任播路由器包括第三接收单元,用于接收第一分组p;第三处理单元,用于将所述第一分组P解封装为分组P,所述的分组P为所述的第一分组P的有效载荷;根据所述分纽P的目的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;第三发送单元,用于将所述第二分组P发送至所述任播服务器。本发明还提供了一种处理任播请求的方法,该方法包括接收第一分组P;判断出所述第一分组P的目的地址不为自身的任播地址,通过查找本地路由表将所述第一分组P按照单播路由进行转发。本发明还提供了一种任播路由器,该任播路由器包括第四接收单元,用于接收第一分组p;第四处理单元,用于判断出所述第一分组P的目的地址不为自身的任播地址;第四发送单元,用于通过查找本地路由表将所述第一分组P按照单播路由进行转发。本发明还提供了一种处理响应任播请求的方法,该方法包括接收第二分组P的响应分组;将所述第二分组P的响应分组的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P;发送所述第三分组P。本发明还提供了一种任播路由器,该任播服务器包括第五接收单元,用于接收第二分组P的响应分组;第五处理单元,用于将所述第二分组P的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P;第五发送单元,用于发送所述第三分组P。本发明还提供了一种处理响应任播请求的方法,该方法包括接收第二分组P;处理第二分组P后,形成第二分组P的响应分组,所述响应分组的源地址为任播服务器的单播地址、目的地址为发送分组P的任播路由器的任播地址;发送第二分组P的响应分组。本发明还提供了一种任播服务器,该任播服务器包括第六接收单元,用于接收第二分组P;第六处理单元,用于处理第二分组P后,形成第二分组P的响应分组,所述响应分组的源地址为任播服务器的单播地址、目的地址为发送分组P的任播路由器的任播地址;第六发送单元,用于发送第二分组P的响应分组。本发明还提供了一种任播服务实现的系统,该系统包括第一任播路由器,用于接收分组P,所述分组P为任播请求数据包;根据所述分组P的目的地址查找任播路由表选择任播服务器;将所述分组P封装为第一分组P,所述第一分組P的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组P的有效栽荷为所述分组P;发送所述第一分组P;第二任播路由器,用于接收第一分组P;将所述第一分组P解封装为分组P,也就是说将有效载荷恢复成分组P;根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。任播服务器,用于接收所述的第二分组P,按照所述的第二分组P的内容提供相应的任播服务。以上技术方案可以看出,由于本发明实施例采用了通过执行封装、地址变换、解封装等技术,使得anycast分组P具备了unicast的优点,同时实现了在所有AS中高效率的实现最优组成员选择。图1为anycast服务示意图2为GIA的地址映射过程示意图;图3为本发明实施例1方法流程图;图4为anycast转发示例;图5为本发明实施例2结构图图6为本发明实施例3结构图图7为本发明实施例4结构图图8为本发明实施例5结构图图9为本发明实施例6结构图图10为本发明实施例7结构图;图11为本发明实施例最优路径选择效率图。具体实施例方式本发明无需改变网络的现有地址结构,在全球范围内部署anycast服务器,anycast服务的基础条件。本发明要求当部署一个新的anycast服务时,首先需要部署该anycast服务的HAS(HomeAnycastServer,本地anycast服务器,ASAfASuid的AS),并在HAS前端部署一个FAR(FirsthopAnycastRouter,第一跳路由器,距离AS最近的AR)使HAS通过FAR接入网络。初始运行时,HAS会主动向其FAR注册。在部署好新的anycast服务、HAS和FAR时,为该anycast服务增加新的AS(AnycastServer,anycast服务器)时,在每个AS前端部署一个FAR,AS通过其FAR^妄入网络。对于一个anycast服务,可以根据实际需求在全球互联网上的不同位置适当部署AS。可以按照如下规则部署AR(AnycastRouter,Anycast路由器,支持基于隧道的IP-anycast的IR):(1)尽量在连接数比较多的自治域边界部署AR;(2)当某个自治域内没有相应anycast服务的AS,并且自治域内对该anycast服务的请求频繁发生时,应该在该自治域的边界部署AR;应该从全球的角度部署AR,尽量使AR均匀的分布在全球互联网中。这样部署的目的都是为了能够使更多的anycast请求在AMP上能获得比HAS更优的anycast服务器信息。为了实现全球anycast服务,每个AR的ART(AnycastRoutingTable,Anycast路由表,AR中记录AS信息的路由表)中都会记录一定的信息,例如AS的anycast地址ASAid(ASAid,anycastaddress,任播地址),unicast地址ASUid(ASUid,unicastaddress,单播地址),该AS对应的FARUid,FAR距离当前AR的跳数L(L取正整数),AS的选择评价值V(V取正整数)等。V可以是AR到AS的实际距离,AS的繁忙程度或AS的处理能力等信息;在本发明假设取V为AR到AS的跳数。并且由于不同的AS具有不通的ASAid,因此在ART中,每一条记录都代表一个AS。在本发明中,可以控制FAR距离当前AR的跳数L(L取正整数)及取V为AR到AS的跳数,本发明一般要每个AR掌握其V跳自治域内的AS信息;可以将V控制在4或5内,这样每个AR都知道一定的信息,那么所有的AR连接起来就能够提供全球anycast服务。并且通过控制这种记录信息,同时就从一定程度上降低了ART路由表信息的存储容量,从而提高的anycast组数量的可扩展性。下面通过一个实施例来具体介绍在具备了全球anycast服务网络结构以后实现anycast服务的方法。实施例1,IP网络上每个分组发出时必然会携带源地址和目的地址,设网络层分组P(Internetprotocolpacket网络协议包)的源地址和目的地址分别为src和dest。如果分组P为anycast分组,则dest是该anycast月良务的Aid(Aid,anycastaddress,任播地址)。参见图3,该实施例具体过程如下框图101:ARJ妄收分组P;该分组P的源地址和目的地址分别为src和dest;框图102:判断分组P是否为TP(TunnelPacketanycast隧道分组);若分组P为TP,则执行框图103,若分组P不是TP则执行框图107;隧道分组指的是经过封装以后的IP分组,也可以称为第一分組P。所谓封装指的是将分组P作为新IP分组的有效载荷的IP隧道技术。AR对分组P进行封装的过程为(1)根据AR的ART记录的V值选择最优的AS;(2)将分组P作为封装以后分组的有效载荷,也就是作为封装后IP数据包的数据部分;经过封装后分组P的源地址和目的地址分别是src和最优AS的FARAid。(3)标记该分组P为anycast隧道分组,以便FAR识别;在IPV6中可以通过定义新的NextHeader来标记隧道分组,IPV4中可以将某个保留位位置用来标记anycast隧道分组。由于通过上述的方法将分组P进行了标记,因此在该框图102中可以通过NextHeader或者是某个保留位来判断是否TP。当某个AR对分组P执行了封装过程以后,实际上也就知道了anycast服务的目的地址,也就是说封装过程改变分组P在原来IR环境中的转发路径。这也是本发明新定义的anycast隧道^支术,更加确切的i兌anycast隧道4支术是指通信的双方用一条逻辑隧道进行连接,通过anycast技术找到一条最优的路径,而将应该在原有IR传输的路线程隐藏起来。框图103:若分组P为TP,则说明该分组P是经过封装的,其携带的dest为AS对应的AR,该对应的AR可以为其目的AS的FAR,因此该AR通过其存储的ART信息判断分组P的dest是否就是为其自身的ARuid;若是因为分组P的目的地址是最优AS的FARAid,则i兑明该AR是分组P的目的AS的FAR,那么执行框图104;若否则执行框图106;框图104:由于框图103中涉及的分组P是经过封装的,也就是该分组P为TP,经过了地址变换等过程,因此将该分组P解封装,4丸行地址变换过程,形成第二分组p。该框图104中提到的解封装过程是从封装后的分组中恢复出原分组P的过程,也就是说去掉头部信息将有效载荷恢复成原分组P;然后进行地址变换,将分组P封装后的地址dest变换为查询其ART得到的ASUid。框图105:发送第二分组P至AR的网络层,由网络层按照unicast服务规则将该分组P发送至目的地。框图106:i兌明该AR只是anycast分组传送过程中一个途经的AR,应继续通过AR沿其unicast服务规则进行转发。框图107:由于AR判断出该分组P不是TP,也就是说该分组P还不知道其最优的目的AS地址;那么AR通过ART中存储的信息继续查询是否存在与该分组P的dest相同的ASAid;若查找到则执行框图108,没有查找到则执行框图111或框图111A;框图108:若该AR找到与分组P的dest相同的ASAid则il明分组P的最优AS的对应的AR在AR的K跳范围以内,该对应的AR可以为其目的AS的FAR;那么继续判断是否该AR的ARuid等于选出的最优AS的FARuid;若是则执行框图109,若否则执行框图110;该框图中提到的最优的AS可以为距离发出分组P的AR最近的AS。框图109:执行地址变换过程,将分组P的目的地址dest变换为通过查询AR的ART得到的ASuid,形成第二分组P;执行框图105;同时若该AR的ARuid等于选出的最优AS的FARuid,则说明选出的最优AS为该anycast服务分组的HAS;框图110:因为AR收到的分组P不是TP,但在AR的K跳范围内存在最优的AS,那么对该分组P执行封装过程形成第二分组P,执行框图105;执行封装过程也就是上文提到过的对于该分组P:(1)根据AR的ART记录的V值选择最优的AS;(2)将分组P作为封装以后分组的有效载荷,也就是指作为封装以后IP数据包的数据部分;经过封装以后分组P的源地址和目的地址分别是src和最优AS的FARAid。(3)标记该分组P为anycast隧道分组,以便FAR和AR识别;在IPV6中可以通过定义新的头部信息来标记隧道分组,IPV4中可以将分组P的某个保留位位置用来标记anycast隧道分组。框图111:当AR接收到的分组P既不是TP,也查询不到与分组P中dest相同的ASAid时可能收到的组P为unicast分組或者是分组P请求的anycast组的AS是该AR不了解的,说明该AR只是anycas分组传送过程中一个途经的AR,应继续通过AR沿其unicast服务规则将分组P进行转发。当anycast通信的发起方成功将第一个IP包发送到最优anycast服务器后,后续的数据包也都按此路径进行传输。当anycast服务器需要向通信发起方发送数据包时,设为AS的响应过程,是指AS发送响应分组至最先发出分组P的AR。由于anycast分组P转发到最优AS的FAR时执行了地址变换过程,因此最优AS收到分组P的目的地址为ASuid,它响应的分组的原地址必然是ASuid,而开始响应过程是使用ASAid进行通信,因此FAR必须将ASUid变为ASAid,这个过程只需要进行一次。当出现响应分组时,为了区分出这种情况,于分组P中dest相同的ASAid时进一步进行判断;那么框图111可以用下述框图代替;框图111A:判断AR的ART中是否能查询到与分组P的src相应的ASAid;请求分组,无需进行处理执行框图106;查询到则执行框图112;框图112:进一步判断该AR是否为分组P中src代表的AS的FAR;若否则执行框图113,若是则执行框图114;框图113:il明该分组P虽然是来自某个AS的响应分组《旦这个AS没有将当前AR注册为FAR,分组的地址逆变换过程应由FAR来进行,因此只需将分组P按照unicast机制进行转发;框图114:此时是AS响应anycast请求的过程,由于anycast分组P转发到最优AS的FAR时执行了地址变换过程,因此最优AS收到分组的目的地址为ASuid,它响应的分组的原地址必然是ASuid,而开始响应过程是使用ASAid进行通信,因此FAR必须将ASUid变为ASAid,也就是执行地址逆变换过程,形成第三分组P。此处提到的地址逆变换过程指的是AR将分组P的源地址src变为发出响应的ASAid,而目的地址不变。为了使本发明实施例1的方法更加清楚,下面列举一个例子进行辅助说明参见图4,该图为anycast转发示例的一个网络拓朴图。HAS和AS2组成一个anycast组,地址为ASAid。。部署ARl-AR5以处理anycast请求,其他IR按照Internet的标准转发分组。AR1和AR4分别是AS2和HAS的FAR。AC1—AC3是anycast服务请求者,每个请求者对应的最优服务器取决于V的值。假设HAS是AC2和AC3的最优AS,AS2是AC1的最优AS,并假设k二3。首先介绍AC1的请求过程ACl发出anycast请求分组P,其目的地址为ASAid。P首先经过IR3,由于IR3没有经过改造,不能识别出分组P为一个anycast分组,因此将P视为普通unicast分组进行转发。P到达AR3,根据转发机制,AR3对P净丸行封装过程生成源地址和目的地址分别是AClUid和ARlUid的anycast隧道分组TP并转发,最后TP到达AR1。由于AR1的ART中记录了AS2对应的FARUid是其自身,因此根据AR1的ART判断,AR1就是AS2的FAR。因此执行解封装过程,从TP中恢复出分组P。然后执行地址变换过程,以AS2Uid替换P的目的地址并发送到AS2。AS2返回源地址为AS2Uid,目的地址为AClUid的响应分组RP(Responsepacket)。由于AR1是AS2的FAR,因此AR1执行逆地址变换过程,将RP的源地址替换成ASAid并发送出去,经过的所有IR和AR都直接转发该分组,不作特殊处理。最后RP到达ACl,完成整个anycast通信过程。上述转发过程中对P和RP的处理对AS和AC都是透明的。在本发明实施例中,对anycast分组P的封装在传送过程中只进行一次。这是因为封装后分组的目的地址变成某个FAR的unicast地址,这样它就不是任何ASAid,因此不可能被再次封装。通过图4可以#合出下面的表一anycast转发实例表<table>tableseeoriginaldocumentpage20</column></row><table>由表一中的隧道路径与分组主路径的比较,也可以进一步的了解隧道技术的概念通信的双方用一条逻辑隧道进行连接,通过anycast技术找到一条最优的路径,而将应该在原有IR传输的路线程隐藏起来。—实施例2,本发明实施例还提供了一种anycast路由器;参见图5,该anycast路由器包括第一接收单元201,用于接收分组P,所述分组P为任播请求数据包;第一处理单元202,用于根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;第一发送单元203,用于将所述第二分组P发送至所述任播服务器。所述任播服务器还可以进一步包括第一判断单元204,用于根据所述分组P的地址查找所述任播服务器的单播地址之前,先判断所述分组P不是隧道分组TP。所述隧道分组的表示方法为对所述分组P定义新的头部信息或将所述分组P的某一保留位位置作为标识来表示隧道分组TP,相应地,判断所述分组P不是隧道分组具体包括当所述分组P中不含有所述标识时,则判断所述分组P不是隧道分组。实施例3,本发明还提供了一种任播该任播路由器,参见图6,该任播路由器包括第二接收单元301,用于接收分组P,所述分组P为任播请求数据包;第二处理单元302,用于根据所述分组P的目的地址查找任播路由表选择任播服务器;将所述分组P封装为第一分组P,所述第一分组P的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组P的有效载荷为所述分组P;第二发送单元303,用于发送所述第一分组P。接收所述分组P后,所述的第二处理单元302进一步判断所述分组P不是隧道分组;所述隧道分组的表示方法为对所述分组P定义新的头部信息或将所述分组P的某一保留位位置作为标识来表示隧道分组TP,相应地,判断所述分组P不是隧道分组具体包括当所述分组P中不含有所述标识时,则判断所述分组P.不是隧道分组。所述的第二处理单元302根据所述分组P的目的地址查找任播路由表选择任播服务器具体为根据所述分组P的目的地址查找任播路由表选择离自己最近的任播服务器。所述的第二处理单元302选择的任播路由器可以为任播服务器的第一跳路由器。实施例4,本发明还提供了一种任播该任播路由器,参见图7,该任播路由器包括第三接收单元401,用于接收第一分组P;第三处理单元402,用于将所述第一分组P解封装为分组P,所述的分组P为所述的第一分组P的有效载荷;根据所述分组P的目的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单4番地址,形成第二分组P;第三发送单元403,用于将所述第二分组P发送至所述任播服务器。实施例5,本发明还提供了一种任播该任播路由器,参见图8,该任播路由器包括第四接收单元501,用于接收第一分组P;第四处理单元502,用于判断出所述第一分组P的目的地址不为自身的任播地址;第四发送单元503,用于通过查找本地路由表将所述第一分组P按照单播路由进行转发。该任播路由器还可以进一步包括第二判断单元504,用于所述查找本地路由表将所述第一分组P进行转发之前,先判断所述第一分组P的源地址对应的任播服务器的任播地址不在本地任播路由表。实施例6,本发明还提供了一种任播该任播路由器,参见图9,该任播路由器包括第五接收单元601,用于接收第二分组P的响应分组;第五处理单元602,用于将所述第二分组P的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P;第五发送单元603,用于发送所述第三分组P。所述的第五处理单元602将第二分组P的响应分组的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P之前,可以进一步先判断出所述第一分组P的目的地址不为自身的任播地址,判断所述第一分组P的源地址对应的任播服务器的任播地址在本地任播路由表。实施例7,本发明还提供了一种任播该任播服务器,参见图10,该任播服务器包括第六接收单元701,用于接收第二分组P;第六处理单元702,用于处理第二分组P后,形成第二分组P的响应分组,所述响应分组的源地址为任播服务器的单播地址、目的地址为发送分组P的任播路由器的任播地址;第六发送单元703,用于发送第二分组P的响应分组。实施例8,本发明还提供了一种任播服务实现的系统,该系统包括第一任播路由器,用于接收分组P,所述分组P为任播请求数据包;根据所述分组P的目的地址查找任播路由表选择任播服务器;将所述分组P封装为第一分组P,所述第一分组P的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组P的有效载荷为所述分组P;发送所述第一分组P;第二任播路由器,用于接收第一分组P;将所述第一分组P解封装为分组P,也就是说将有效载荷恢复成分组P;根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。任播服务器,用于接收所述的分組P,按照分组P的内容提供相应的任播服务。所述的第一任播路由器将所述第一分组P的有效载荷为所述分组P后,将所述分组P标记为隧道分组;所述隧道分组的表示方法为对所述分组P定义新的头部信息或将所述分组P的某一保留位位置作为标识来表示隧道分组TP。所述的第一任播路由器执行封装时所述的任播服务器对应的任播路由器为任播服务器的第一跳路由器。该系统可以进一步包括第三任播路由器,用于接收第一分组P;判断出所述第一分组P的目的地址不为自身的任播地址,通过查找本地路由表将所述第一分组P按照单播路由进行转发。该系统可以进一步包括第四任播服务器,用于接收分组P,所述分组P为任播请求数据包;根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。所述的任播服务器还可以进一步用于按照第二分组P的内容提供相应的任播服务后,形成第二分组P的响应分组,所述响应分组的源地址为任播服务器的单播地址、目的地址为发送分组P的任播路由器的任播地址;发送第二分组P的响应分组;相应的所述的系统可以进一步包括第五任播路由器,用于"J矣收第二分组P的响应分组;将所述第二分组P的响应分组的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P;发送所述第三分组P。以上技术方案可以看出,由于本发明采用了通过执行封装、地址变换、解封装等技术,使得anycast分组P具备了unicast的优点,同时实现了在所有AS中高效率的实现最优组成员选择。并且通过封装过程一般只要每个AR掌握其V跳自治域内的AS信息;可以将V控制在4或5内,这样每个AR都知道一定的信息,那么所有的AR连接起来就能够提供全球anycast服务。并且通过控制这种记录信息,同时就从一定程度上降低了ART路由表信息的存储容量,从而提高的anycast组数量的可扩展性;进一步的,由于目前阶段很难在Internet的实际环境中大规模的部署本发明的网络环境,因此申请人通过仿真试验验证了本发明的效率。仿真的拓朴取自UniversityofOregon的RouteOverview项目所获得的真实Internet拓朴结构.该项目收集全球50多个地区的主干路由器的BGP表并每天进行更新,因此反映了最真实的Internet拓朴结构.结合IA&A对自治域的划分,从中提取出5939个自治域连接信息用于仿真。首先从自治域邻接关系中求得任意两个自治域的最短路经.这里不考虑自治域之间的路由策略,如成本和距离等,仅以最少跳数作为路由选择的依据.得到的最短路经平均值是4.03,其中最长路径为9,这符合Internet的小世界性质.然后为整个网络分派100个anycast组,组成员数量在[1,1000]间均匀分布.对每一个anycast组我们在网络中随机的选择HAS并假设其它组成员也是随机分布的。本发明实施例并不保证所有的anycast请求都被路由到全局最优的AS.定义P为AC到AS的实际路径长度,Pf为AC到anycast所有组成员的最短路径长度,定义最优服务发现效率4^P/P气参见图11说明随着网络中AR数量的增多最优服务的发现效率不断提高.当AR占IR总数的45%及其以上时anycast分组基本上可以找到最优路径.与GIA相比,由于对部分anycast分组,不管请求者周围是否有该组的成员,GIA直接将anycast分组路由到家乡域.因此GIA的效率成直线,取决于前面i兌的不常用anycast组地址的访问频度.可见在大多数情况下本发明的效率都得到了明显改善。以上对本发明所提供的任播服务的实现方法、任播路由器进行了详细介施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种任播服务实现方法,其特征在于,该方法包括接收分组P,所述分组P为任播请求数据包;根据所述分组P的目的地址查找任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。2、如权l所述的方法,其特征在于,所述根据所述分组P的地址查找所述任播服务器的单播地址之前还包括判断所述分组P不是隧道分组TP。3、根据权利要求2所述的任播服务实现方法,其特征在于,所述隧道分组的表示方法为对所述分组P定义新的头部信息或将所述分组P的某一保留位位置作为标识来表示隧道分组TP,相应地,判断所述分组P不是隧道分组具体包括当所述分组P中不含有所述标识时,则判断所述分组P不是隧道分组。4、一种任播路由器,其特征在于,该任播服务器包括第一接收单元,用于接收分组p,所述分组P为任播请求^t据包;第一处理单元,用于根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;第一发送单元,用于将所述第二分组P发送至所述任播服务器。5、根据权利要求4所述的任播服务器,其特征在于,所述任播服务器进一步包括第一判断单元,用于根据所述分组P的地址查找所述任播服务器的单播地址之前,先判断所述分组P不是隧道分组TP。6、根据权利要求5所述的任播服务器,其特征在于,所述隧道分组的表示方法为对所述分组P定义新的头部信息或将所述分组P的某一保留位位置作为标识来表示隧道分组TP,相应地,判断所述分组p不是隧道分组具体包括当所述分组p中不含有所述标识时,则判断所述分组p不是隧道分组。7、一种发送任播请求的方法,其特征在于,该方法包括接收分组p,所述分组p为任播请求数据包;根据所述分组p的目的地址查找任播路由表选择任播服务器;将所述分组p封装为第一分组p,所述第一分组p的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组p的有效载荷为所述分组p;发送所述第一分组p。8、根据权利要求7所述的发送任播请求的方法,其特征在于,接收所述分组p后,进一步判断所述分组p不是隧道分组;所述隧道分组的表示方法为对所述分组p定义新的头部信息或将所述分组p的某一保留位位置作为标识来表示隧道分组tp,相应地,判断所述分组p不是隧道分组具体包括当所述分组p中不含有所述标识时,则判断所述分组p不是隧道分组。9、根据权利要求7所述的发送任播请求的方法,其特征在于,所述根据所述分组p的目的地址查找任播路由表选择任播服务器具体为根据所述分组p的目的地址查找任播路由表选择离自己最近的任播服务器。10、根据权利要求7至9其中之一所述的发送任播请求的方法,其特征在于,所述的任播服务器对应的任播路由器为任播服务器的第一跳路由器。11、一种任播路由器,其特征在于,该任播路由器包括第二接收单元,用于接收分组p,所述分组p为任播请求数据包;第二处理单元,用于根据所述分组p的目的地址查找任播路由表选择任播服务器;将所述分组p封装为第一分组p,所述第一分组p的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组p的有效载荷为所述分组p;第二发送单元,用于发送所述第一分组P。12、根据权利要求11所述的任播路由器,其特征在于,接收所述分组P后,所述的第二处理单元进一步判断所述分组P不是隧道分组;所述隧道分组的表示方法为对所述分组P定义新的头部信息或将所述分组P的某一保留位位置作为标识来表示隧道分组TP,相应地,判断所述分组P不是隧道分组具体包括当所述分组P中不含有所述标识时,则判断所述分组P不是隧道分组。13、根据权利要求11所述的任播路由器,其特征在于,所述的第二处理单元根据所述分组P的目的地址查找任播路由表选择任播服务器具体为根据所述分组P的目的地址查找任播路由表选择离自己最近的任播服务器。14、根据权利要求11至13其中之一所述的任播路由器,其特征在于,所述的第二处理单元选择的任播路由器为任播服务器的第一跳路由器。15、一种处理任播请求的方法,其特征在于,该方法包括接收第一分组P,将所述第一分组P解封装为分组P,所述的分组P为所述的第一分組P的有效载荷;根据所述分组P的目的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。16、一种任播路由器,其特征在于,该任播路由器包括第三接收单元,用于接收第一分组P;第三处理单元,用于将所述第一分组P解封装为分组P,所述的分组P为所述的第一分组P的有效载荷;根据所述分组P的目的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;第三发送单元,用于将所述第二分组P发送至所述任播服务器。17、一种处理任播请求的方法,其特征在于,该方法包括接收第一分组P;判断出所述第一分组P的目的地址不为自身的任播地址,通过查找本地路由表将所述第一分组P按照单播路由进行转发。18、根据权利要求17所述的处理任播请求的方法,其特征在于,所述查找本地路由表将所述第一分组P进行转发之前进一步包括判断所述第一分组P的源地址对应的任播服务器的任播地址不在本地任播路由表。19、一种任播路由器,其特征在于,该任播路由器包括第四接收单元,用于接收第一分组P;第四处理单元,用于判断出所述第一分组P的目的地址不为自身的任播地址;第四发送单元,用于通过查找本地路由表将所述第一分组P按照单播路由进行转发。20、根据权利要求19所述的任播路由器,其特征在于,该任播路由器进一步包括第二判断单元,用于所述查找本地路由表将所述第一分组P进行转发之前,先判断所述第一分组P的源地址对应的任播服务器的任播地址不在本地任播路由表。21、一种处理响应任播请求的方法,其特征在于,该方法包括接收第二分组P的响应分组;将所述第二分组P的响应分组的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P;发送所述第三分组P。22、如权利要求21所述的方法,其特征在于,所述将第二分组P的响应分组的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P之前还包括判断出所述第一分组P的目的地址不为自身的任播地址,判断所述第一分组P的源地址对应的任播服务器的任播地址在本地任播路由表。23、一种任播路由器,其特征在于,该任播服务器包括第五接收单元,用于接收第二分组P的响应分组;第五处理单元,用于将所述第二分组P的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P;第五发送单元,用于发送所述第三分组P。24、根据权利要求23所述的任播路由器,其特征在于,所述的第五处理单元将第二分组P的响应分组的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P之前,先判断出所述第一分组P的目的地址不为自身的任播地址,判断所述第一分组P的源地址对应的任播服务器的任播地址在本地任播路由表。25、一种处理响应任播请求的方法,其特征在于,该方法包括接收第二分组p;处理第二分组P后,形成第二分组P的响应分组,所述响应分组的源地址为任播服务器的单播地址、目的地址为发送分组P的任播路由器的任播地址;发送第二分组P的响应分组。26、一种任播服务器,其特征在于,该任播服务器包括第六接收单元,用于接收第二分组P;第六处理单元,用于处理第二分组P后,形成第二分組P的响应分组,所述响应分組的源地址为任播服务器的单播地址、目的地址为发送分组P的任播路由器的任播地址;第六发送单元,用于发送第二分组P的响应分组。27、一种任播服务实现的系统,其特征在于,该系统包括第一任播路由器,用于接收分组P,所述分组P为任播请求数据包;根据所述分组P的目的地址查找任播路由表选择任播服务器;将所述分组P封装为第一分组p,所述第一分组p的目的地址为所述任播服务器对应的任播路由器的地址,所述第一分组P的有效载荷为所述分组P;发送所述第一分组P;第二任播路由器,用于接收第一分组P;将所述第一分组P解封装为分组P,也就是说将有效载荷恢复成分组P;根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。任播服务器,用于接收所述的第二分组P,按照所述的第二分组P的内容提供相应的任播服务。28、根据权利要求27所述的任播服务实现的系统,其特征在于,所述的第一任播路由器将所述第一分组P的有效载荷为所述分组P后,将所述分组P标记为隧道分组;所述隧道分组的表示方法为对所述分组P定义新的头部信息或将所述分组P的某一保留位位置作为标识来表示隧道分组TP。29、根据权利要求27所述的任播服务实现的系统,其特征在于,所述的第一任播路由器执行封装时所述的任播服务器对应的任播路由器为任播服务器的第一跳路由器。30、根据权利要求27所述的任播服务实现的系统,其特征在于,所述的系统进一步包括第三任播路由器,用于接收第一分组P;判断出所述第一分组P的目的地址不为自身的任播地址,通过查找本地路由表将所述第一分组P按照单播路由进行转发。31、根据权利要求27所述的任播服务实现的系统,其特征在于,所述的系统进一步包括第四任播服务器,用于接收分组P,所述分组P为任播请求数据包;根据所述分组P的地址查找所述任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。32、根据权利要求27所述的任播服务实现的系统,其特征在于,所述的任播服务器进一步用于按照第二分组P的内容提供相应的任播服务后,形成第二分组P的响应分组,所述响应分组的源地址为任播服务器的单播地址、目的地址为发送分组P的任播路由器的任播地址;发送第二分组P的响应分纟且;所述的系统进一步包括第五任播路由器,用于接收第二分组P的响应分组;将所述第二分组P的响应分组的源地址变换为发出所述第二分组P的任播服务器的任播地址,形成第三分组P;发送所述第三分组P。全文摘要本发明实施例公开了任播服务实现方法,该方法包括接收分组P,所述分组P为任播请求数据包;根据所述分组P的目的地址查找任播服务器的单播地址;将所述分组P的目的地址变换为所述任播服务器的单播地址,形成第二分组P;将所述第二分组P发送至所述任播服务器。本发明实施例还公开了发送任播请求的方法、处理任播请求的方法、处理响应任播请求的方法、任播路由器、任播服务器、以及任播服务实现的系统。由于本发明实施例采用了通过执行封装、地址变换、解封装等技术,使得anycast分组P具备了unicast的优点,同时实现了在所有AS中高效率的实现最优组成员选择。文档编号H04L12/18GK101174970SQ200710195498公开日2008年5月7日申请日期2007年11月30日优先权日2007年11月30日发明者杰周,夏忠其,凌张,马震远,高雪松申请人:华为技术有限公司;华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1