CN102714839A - 网络中的分组路由选择 - Google Patents
网络中的分组路由选择 Download PDFInfo
- Publication number
- CN102714839A CN102714839A CN2010800626392A CN201080062639A CN102714839A CN 102714839 A CN102714839 A CN 102714839A CN 2010800626392 A CN2010800626392 A CN 2010800626392A CN 201080062639 A CN201080062639 A CN 201080062639A CN 102714839 A CN102714839 A CN 102714839A
- Authority
- CN
- China
- Prior art keywords
- node
- bloom filter
- network node
- grouping
- ibf
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/10—Routing in connection-oriented networks, e.g. X.25 or ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
网络节点(4)适合于将收集布隆过滤器插入分组,并且根据逐跳路由选择协议向第二网络节点(8)发送分组。网络节点(4)随后接收第二网络节点(8)发送的分组,第二网络节点发送的分组的报头包含编码从第二网络节点(8)到网络节点(4)的转发信息的布隆过滤器或布隆过滤器等同体。在网络节点(4)接收的布隆过滤器或布隆过滤器等同体也可编码从网络节点(4)到第二网络节点(8)的转发信息。在此情况下,网络节点(4)随后可从布隆过滤器或布隆过滤器等同体中的转发信息来确定用于向第二节点(8)转发分组的第一跳。
Description
技术领域
本发明涉及网络中的分组转发。具体地说,它涉及其中在分组报头中包含转发信息、以便网络节点可从分组报头中的转发信息来确定应沿哪个(哪些)链路转发分组的方法。
背景技术
因特网是基于开放的“不安全”逐跳路由选择,其中,每个路由器基于分组中携带的目的地IP地址(以及有时其它报头信息),基本上分别为每个分组做出路由选择判定。在此类联网环境内,任何端节点(主机)能够发送分组到任何其它端节点,仅受诸如防火墙或状态保留网络地址转换器(NAT)等特定额外网络元件施加的安全性措施影响。网络在网络内的节点(路由器)不能从接收器确实想接收业务的意义上验证业务是否“被授权”的意义上是“不安全的”。
因此,众所周知,因特网模型易受各种不想要的业务攻击,诸如公知的分布式服务拒绝(DDoS)攻击,其中,多个所谓的“bot”端节点将不想要的分组发送到攻击目标。因此,诸如移动IPv6协议等更新的因特网协议已在它们不为发送不想要的业务开启新可能性的此类方式中被设计。
在因特网中,并且更一般而言基于开放式“不安全的”逐跳路由选择方案的任何网络中,端对端移动性信令安全性要求(弱)端对端认证和反向可路由性测试[Aura2004](Tuomas
Aura、Pekka
Nikander和Gonzalo
Camarillo的“Effects
of Mobility and Multihoming on Transport-Layer Security,”(Proceedings of IEEE
Symposium on Security and Privacy, Berkeley/Oakland, California, 2004年5月9-12日, IEEE
Computer Society))和[RFC
4225](P. Nikander、J.
Arkko、T. Aura、G.
Montenegro、E.
Nordmark的“Mobile
IP Version 6 Route Optimization Security Design Background”(RFC4225, Internet
Engineering Task Force, 2005年12月))。需要端对端认证属性以确保移动性信令始发于移动主机本身。要求进行反向可路由性测试是为了确保移动主机在它声称为其新位置的IP地址可到达。这对于防止不诚实的移动主机(的集合)声称在它们未处于的位置、由此造成无辜的邻近主机(by-host)发送不想要的业务到攻击目标是重要的。
移动IP [RFC
3775](Johnson、D.、Perkins、C和J.
Arkko的“Mobility
Support in IPv6”(RFC 3775, 2004年6月))和HIP
[RFC 5201](Moskowitz、Nikander、Jokela、Henderson的“Host
Identity Protocol”( RFC 5201, Internet Engineering Task Force, 2008年4月))及[RFC5202](Nikander、Henderson、Vogt、Arkko的“End-Host
Mobility and Multihoming with the Host Identity Protocol”( RFC 5206, Internet
Engineering Task Force, 2008年4月))提议了两种用于因特网范围移动性信令的稍微不同的解决方案。
PCT/EP
2008/061167和PCT/EP
2009/62785提议了一种基于包括布隆(Bloom)过滤器到分组报头中的新分组转发方法。这些分组中布隆过滤器(下文称为“iBF”)各自编码分组可采用及通过网络将采用的特定路径。每个转发节点检查分组报头中的iBF和其它字段,从其确定分组接下来需要转发通过的链路。
通常,iBF方案能够在以下意义上视为优于基于IP的逐跳路由选择和转发方法:在iBF方案中,转发标识符被绑定到发送器的位置,并且可选地也绑定到从发送器到接收器的特定路径、特定流或甚至各个分组,如PCT/SE2010/050001中所公开的。因此,虽然IP地址能够用于从任何位置发送任何业务到IP地址指示的接收器(位置),但iBF能够用于从特定位置只发送特定业务到iBF指示的接收器(位置)。从该意义上而言,通常能够说iBF方法比IP逐跳方法是更“安全的”。
iBF方法的另一优点是iBF能够指定(小的)多播树,由此指示多个接收者而不是单个接收器,而不要求网络中的任何另外状态。这不同于IP多播方案,IP多播方案要求每个多播树在每个参与转发节点的状态中被表示。
原始iBF转发在[LIPSIN](P.
Jokela、A.
Zahemszky、C.
Esteve Rothenberg、S.
Arianfar、P.
Nikander的“LIPSIN:
Line speed publish/subscribe inter-networking”(in Proceedings of ACM SIGCOMM
2009))中被提出。如其中所提出的,它是利用统计上独特的链路标识符而不是端对端地址(例如,IP地址)的基于源路由选择的转发解决方案。该论文中的主要思想是使用分组中布隆过滤器将源路由的路径编码到紧凑iBF中。
在PCT/EP
2009/62785中和在[Z-FORMATION](Christian
Esteve、Petri
Jokela、Pekka
Nikander、Mikko
及Jukka
Ylitalo的“Self-routing
Denial-of-Service Resistant Capabilities using In-packet Bloom Filters”(in
proceedings of European Conference on Computer Network Defence (EC2ND) 2009))中提出了称为z形成的[LIPSIN]思想的增强、更安全的版本。在PCT/SE2010/050001中提出了增强、更高速和更灵活的变体。这些方法将称为”安全的”基于iBF的转发。
现有解决方案具有多个问题,包括如下所述:
在当前的因特网中,返回可路由性要求指移动主机在它能够恢复与其对应主机的直接通信前,至少需要3个消息和1.5次往返程时间。在移动IP中,在能够(重新)建立直接通信前,可能通过归属代理路由业务,这增加了分组延迟。在HIP中,会合(rendezvous)服务器可承担类似的角色。在任一情况下,增加的分组延迟能够为带有实时业务要求的流带来问题。
现有解决方案有关的另一问题涉及与移动主机的通信,其中,如果主机已移到新位置,则发送到移动主机的分组可能丢失。找到防止此情况的方式将是合乎需要的。
在当前的因特网中,发送分组到小的多播组是不经济的,这是因为每个多播组要求所有参与路由器中的显式状态。因此,例如,支持广泛散布的双播(将相同分组发送到两个不同位置)而不依赖路由器上的状态将要求新的分组格式,这些格式将携带两个目的地地址,以及要求在所有潜在分支点对新分组格式的支持。因此,当前仅有用于双播的广泛支持方法是发送每个分组两次,分别到两个目的地地址。
发明内容
本发明组合在当前因特网中使用的路由选择和转发模型与新的基于分组中布隆过滤器的转发模型。如下所述,所述组合例如(但不限于)在端对端移动性信令方面具有许多优点。
本发明的第一方面提供一种网络节点,它适合于将收集布隆过滤器插入分组,并且根据逐跳路由选择协议向第二网络节点发送分组。所述节点也适合于接收第二网络节点发送的分组,第二网络节点发送的分组的报头包含编码从第二节点到网络节点的转发信息的布隆过滤器或布隆过滤器等同体(equivalent)。
术语“发送”旨在包括节点是始发节点并且生成和发送分组的情况和节点从另一节点接收分组并且在插入收集布隆过滤器后继续发送(或转发)分组的情况。
编码从第二节点到网络节点的转发信息的布隆过滤器或布隆过滤器等同体因而可在分组的随后路由选择中被使用,以代替诸如逐跳路由选择等IP路由选择。
网络节点可还适合于从布隆过滤器或布隆过滤器等同体中的转发信息来确定用于向第二节点转发分组的第一跳。
网络节点可以是移动节点,并且适合于在移动节点的位置更改后发送分组。这允许生成编码到在其新位置的移动节点的转发信息的布隆过滤器或布隆过滤器等同体。
布隆过滤器或布隆过滤器等同体可编码分组流特定的转发信息。
本发明的第二方面提供一种提供分组路由选择信息的方法,该方法包括在第一网络节点将收集布隆过滤器插入分组。随后,根据逐跳路由选择协议,从第一网络节点向第二网络节点发送分组。第一网络节点随后接收第二网络节点发送的分组,第二网络节点发送的分组的报头包含编码从第二网络节点到第一网络节点的转发信息的布隆过滤器或布隆过滤器等同体。
术语“发送”同样旨在包括节点是始发节点并且生成和发送分组的情况和节点从另一节点接收分组并且在插入收集布隆过滤器后继续发送(或“转发”)分组的情况。
本发明的第三方面提供一种适合于接收由另一网络节点根据逐跳路由选择协议发送的分组的网络节点,所述分组包含收集布隆过滤器。所述网络节点从接收的分组提取布隆过滤器或布隆过滤器等同体,所述布隆过滤器或布隆过滤器等同体包含从该网络节点到另一网络节点的转发信息。
所述网络节点可适合于从提取的布隆过滤器或布隆过滤器等同体来确定用于向另一网络节点路由分组的第一跳。
第一或第三方面的网络节点可从接收的分组提取流ID,并且将提取的布隆过滤器或布隆过滤器等同体与流ID相关联。这提供了附加的安全性。
第二方面的方法可还包括在第二网络节点接收第一网络节点发送的包含收集布隆过滤器的分组。在第二网络节点从分组提取包含从第二网络节点到第一节点的转发信息的布隆过滤器或布隆过滤器等同体。
本发明的第四方面提供一种适合于接收由第一节点根据逐跳路由选择协议发送的分组的网络节点,所述分组包含收集布隆过滤器。所述节点将表示分组要从该节点被发送所通过的链路的链路标识符标记插入收集布隆过滤器,并向第二节点转发所述分组。
所述网络节点可从接收的分组提取流ID,并且生成链路标识符标记,使得链路标识符标记与流ID相关联。
所述网络节点可生成双向链路标识符标记。
第二方面的方法可还包括在中间节点接收第一节点发送的包含收集布隆过滤器的分组。在中间节点,将表示分组要从该节点被发送所通过的链路的链路标识符标记插入收集布隆过滤器。向第二节点转发所述分组。
所述方法可包括生成双向链路标识符标记以便插入收集布隆过滤器。
布隆过滤器或布隆过滤器等同体可编码从第二网络节点到第一网络节点的转发信息和从第一网络节点到第二网络节点的转发信息。
所述方法可还包括从布隆过滤器或布隆过滤器等同体中的转发信息来确定用于从第一节点转发分组到第二节点的第一跳。附加或备选的是,它可包括从布隆过滤器或布隆过滤器等同体中的转发信息来确定用于从第二节点转发分组到第一节点的第一跳。
在本发明的第三方面,另一网络节点可以是移动节点,它在移动装置的位置更改后发送分组。在此方面,布隆过滤器或布隆过滤器等同体包含从网络节点到在其新位置的移动节点的转发信息。
所述网络节点可适合于从布隆过滤器或布隆过滤器等同体中的转发信息来确定用于从网络节点转发分组到在其新位置的移动节点的第一跳。
所述网络节点可适合于使用包含从网络节点到在其新位置的移动节点的转发信息的布隆过滤器或布隆过滤器等同体和包含从网络节点到在旧位置的移动节点的转发信息的布隆过滤器或布隆过滤器等同体,向移动节点发送分组。
本发明的第五方面提供一种路由分组到移动节点的方法,该方法包括使用编码向移动节点的转发信息的第一布隆过滤器或布隆过滤器等同体,从对应节点向移动节点发送分组。在对应节点接收在移动节点的位置更改后根据逐跳路由选择协议从移动节点到对应节点发送的分组,并且分组包含收集布隆过滤器。在对应节点,从发送自移动节点的分组提取第二布隆过滤器,第二布隆过滤器包含从对应节点到在其新位置的移动节点的转发信息。
本发明的又一方面提供一种包含指令的计算机可读媒体,所述指令在由处理器运行时促使该处理器执行如第二或第五方面的方法。
本发明也提供一种提供分组路由选择信息的方法,所述方法包括从第一节点根据逐跳路由选择协议发送分组到第二节点,所述分组包含收集布隆过滤器。在中间节点,将表示所述分组要从该节点被转发所通过的链路的链路标识符标记插入收集布隆过滤器。在第二节点,从所述分组提取包含从第二节点到第一节点的转发信息的布隆过滤器或布隆过滤器等同体。
本发明也提供一种路由分组到移动节点的方法,所述方法包括使用第一布隆过滤器或布隆过滤器等同体,从对应节点路由分组到移动节点。在移动装置的位置更改后的某个时间,分组从移动节点根据逐跳路由选择协议发送到对应节点,该分组的报头包含收集布隆过滤器或布隆过滤器等同体。在对应节点,从所述分组提取第二布隆过滤器或布隆过滤器等同体,第二布隆过滤器或布隆过滤器等同体包含用于至少从对应节点到在其新位置的移动节点的路径的转发信息。
另外,iBF的使用可使得运营商能够将携带iBF的业务设置优先于其它业务,并且由此以比今天可能的更高效方式保护客户免于不想要的业务(未携带有效iBF)。
在本发明中,我们提出了一种方法,它不但无需返回可路由性测试(由此将移动性切换延迟从1.5
RTT降到0.5 RTT),而且允许高效的双播,由此降低切换情况中分组丢失的概率。
附图说明
本发明的优选实施例将通过示例、参照附图来描述,其中:
图1示出基于iBF的路由选择方法的基本原理;
图2(a)示出链路标识符的动态计算;
图2(b)是使用基于iBF的路由选择的网络节点的示意示图;
图3示出在分组使用逐跳路由选择通过网络时iBF的收集;
图4示出路由分组到移动主机;
图5是根据本发明的方法的框流程图;
图6是根据本发明的方法的框流程图;
图7是根据本发明的方法的框流程图;
图8是根据本发明的方法的框流程图;
图9是根据本发明的方法的框流程图;
图10是根据本发明的方法的框流程图;
图11是通过本发明的方法来路由分组的示意图;以及
图12(a)、12(b)和12(c)是本发明的网络节点的示意示图。
具体实施方式
本发明将参照用于分组的路由选择信息被包含在分组中布隆过滤器中的实施例进行描述。然而,本发明不限于布隆过滤器,并且包括编码路由选择信息到集合成员资格(set
membership)中的其它紧凑表示可被使用(所述集合成员资格能够被询问以识别路由选择信息,在功能性上类似于使用布隆过滤器),诸如,例如,由A
Pagh等人在“An
Optimal Bloom Filter Replacement”(Proceedings
of the sixteenth annual ACM-SIAM symposium on Discrete algorithms”,823-829页
(2005))中所述的表示。本发明也可借助于诸如由例如M.
Mitzenmacher在“Compressed
Bloom Filters”(IEEE/ACM
Transactions on Networking, Vol. 10, No. 5, p604 (2002))中所公开的修改的布隆过滤器来实现。
本发明使得组合例如在PCT/EP
2009/62785所述的”安全的”基于iBF的转发和另一例如基于IP路由选择的逐跳路由选择和转发方法成为可能。方法将作为优选实施例进行描述,其中,因特网协议(IP)并且可选的是当前因特网实现逐跳路由选择和转发。首先,对于”安全的”基于iBF的转发,本申请将描述所谓的“底层转发(underlay
forwarding)”,其中,假设每个IP路由器通过基于iBF的转发平面而得到增强。其次,本申请也将描述“叠层转发(overlay
forwarding)”,其中,选定IP路由器或中间盒通过基于iBF的转发机制而被增强。
概括而言,本发明的方法的原理如下:
1. 在第一端节点“Alice”要发送分组到第二端节点“Bob”,并且Alice不具有用于从Alice到Bob的路径的功能iBF时,Alice使用逐跳路由选择和转发机制向Bob发送分组。在这些分组通过iBF增强的节点时,任何分组可具有“收集”iBF字段,以便在分组遍历路径时,用于路径的路由选择信息可变为被编码到收集iBF字段中。
2. 在Bob接收来自Alice的具有此类“收集”iBF字段的分组时,他能够假设iBF能够用于将分组发送回到Alice,忽视使用逐跳路由选择的需要。
3. 在Alice接收来自Bob的Bob使用收集的iBF发送的分组时,有两种可能性。一种可能性是如果在分组从Alice行进到Bob时收集的iBF是“双向的”,则Alice能够假设接收的分组中的iBF能够用于将分组发送回Bob,同样忽视逐跳路由选择。如果在分组从Alice行进到Bob时收集的iBF不是双向的,则另一种可能性是Bob在他发送到Alice的分组中包括另一“收集”iBF字段;Alice随后可使用接收的分组的“收集”iBF字段中的iBF将分组发送回Bob,同样忽视逐跳路由选择协议。
本发明的一个重要方面是收集的iBF仅能够用于沿收集的路径发送业务,并且取决于前向(A→B)、反向(B→A)或两者(B«A)中收集的方向和细节。值得注意的是,由于iBF构建的方式,iBF不能用于在任何其它位置之间发送任何(有意义的)业务。(如已知的一样,在检索编码到布隆过滤器中的信息时,存在“假阳性(false
positive)”的非零概率,这在分组路由选择的上下文中将导致分组沿非预期路径及沿预期路径转发。然而,将假设本发明利用其“假阳性”的概率能够被忽略的布隆过滤器。)
因此,作为iBF如何被收集、构建和用于转发的方式的结果,基于iBF的转发和基于IP的路由选择的组合消除了对返回可路由性信令的需要,由此加快了与全球移动性管理协议的切换。
更详细地说,本发明的一优选实施例涉及以下步骤,如图11所示:
端节点A需要将分组发送到端节点B。在步骤1,节点A发送以A作为源IP地址和B作为目的地IP地址的遗留IP分组。
在图11的示例中,沿IP路由路径的第一iBF增强的节点是节点C,但在其它实现中可以是节点A本身,它尝试在其内部数据库查找用于路径A→B的iBF。如果节点C未找到用于路径A→B的iBF,则在步骤2,它添加空“收集”iBF字段到分组。随后,在步骤3,节点C通过IP路由选择协议(诸如逐跳路由选择)向节点B转发分组。
如果节点C(沿IP路由路径的第一个iBF增强的节点)确实找到用于路径A→B的iBF,则它随后能够通过将此iBF插入分组报头,并根据已知iBF路由选择技术发送分组,从而将分组发送到节点B。
如果分组具有“收集”iBF字段,则每个iBF增强的路由器在途中计算用于流的下一跳iBF,并且将标记添加到“收集”iBF字段。在图11的步骤4,节点D(是从节点C到节点B的路径上的节点)将下一跳iBF标记添加到分组的“收集”iBF字段。随后,在步骤5,节点D通过IP路由选择协议(诸如逐跳路由选择)向节点B转发分组。
一旦可以是B本身的最后的iBF使能的节点接收分组,视有关如何收集iBF的确切细节而定,分组便在“收集”iBF字段中包含能够用于沿路径B→C或沿路径C→B和B→C发送分组的收集的iBF。在图11的示例中,节点B是最后的iBF使能的节点,并且在步骤6,节点B检索收集的iBF以便在示意示为7的将来的基于iBF的路由选择中使用。(如果节点A本身是iBF使能的节点,则在7的基于iBF的路由选择将是在节点A与节点B之间。)
应注意,虽然图11将端节点B示为到节点B的最后路径上最后的iBF使能的节点,但本发明不限于此。例如,如果最后的iBF使能的节点是节点D与节点B之间的节点E,则节点E将检索收集的iBF以便沿路径E→A或沿路径A→E和路径E→A进行路由选择,并且节点E与节点B之间的路由选择将根据IP路由选择协议执行。也就是说,收集的iBF可用于通过从节点B到节点A的部分路径的路由选择,或者它可用于通过从节点B到节点A的整个路径的路由选择。
如上所述,本发明的又一特征是iBF可用于双向业务,而在基于iBF的路由选择的现有技术方法中,仅可能将iBF用于单向业务。
值得注意的是,iBF能够只用于沿路径A→B和B→A的业务。如果除A或B外的任何其它节点发送带有所述iBF的分组,则分组被丢弃的概率极高。此外,如果A或B发送带有所述iBF的分组,但带有的IP报头包含非任何其它地址而是在iBF收集阶段期间定义的地址,则同样地,分组被丢弃的概率极高。
此外,值得注意的是,如果A和B创建(匿名的)认证的端对端通信信道,则在A移动时,A能够只需发送分组到B,指示A已移动,并且B能够立即开始使用新iBF发送,且反之亦然。对于此的理由是认证的信道允许B确保无论谁声称是在新位置的A确实是A(且反之亦然),以及新iBF独自充当了从其使用iBF发送消息的网络是可到达的并因此暗示A经编码到iBF中的路由是可到达的之证据。
图1示出根据LIPSIN([LIPSIN]和PCT/EP
2009/62785)的基于布隆过滤器的路由选择的一般原理。LIPSIN描述基于链路标识符(LID)而不是IP(或其它类型的端对端)地址的分组转发机制。该原理是在拓扑层上或在分开的路径计算元件(例如拓扑管理器)构建转发路径,转发路径包含在从源到目的地的其路途上分组需要经过的节点集合。从此节点集合,确定要求的LID
- 即,组成转发路径的链路的链路标识符,并将它们用于构建布隆过滤器,形成转发树的紧凑表示。在图1中,布隆过滤器在源节点1被生成,在示例中示为实现形成转发路径的链路的LID的“或(OR-ing)”。此布隆过滤器或“iBF”被放入从源节点发出的数据分组2的报头中。分组2示为包含识别特定分组流的流ID和数据。
链路的LID可以是适合识别链路的任何标识符。例如,链路可分配有LID。作为又一示例,从第一节点到第二节点的链路的LID可完全或部分从第一节点的外出端口(或输出接口)的标识符获得,而分组通过链路从该端口(接口)被发送,和/或从第二节点的进入端口(或输入接口)的标识符获得,分组通过链路在该端口(接口)上被接收。LID一般是二进制数字的串(例如,256个数字的串)。
路径上的每个路由器3执行接收的分组中的iBF上的匹配操作,以检查是否任何其自己的外出接口的LID已被包括在分组中携带的iBF中。如果情况是如此,则从该接口转发出分组。作为此机制的结果,转发是[LIPSIN]中极为高效的操作,由(在基本形式中)一个比特式与(bit-wise
AND)和一个比较操作组成。在图1的示例中,在路由器3接收的分组包含iBF
00101001。用于链路IF1-2的LID(00100001)被包括在iBF中,因此,分组沿链路IF1-2被路由。然而,用于链路IF1-1
(01000001)和链路IF1-3
(10000100)的LID未被包括在iBF中,因此,分组不沿这些链路被路由。
在此基本的基于布隆过滤器的路由选择方法的修改中,为每个LID生成多个链路标识符标记(LIT)。例如,网络中的每个链路可具有d个LIT(LIT1、LIT2、...、LITd)。LIT是LID的紧凑表示。这使得生成d个候选布隆过滤器成为可能,其每个过滤器表示相同的转发树。根据某一策略,选择候选iBF之一(例如,可选择带有最低假阳性风险的候选iBF),并将它用于路由选择。在此修改中,分组包含使用的d值的指示,以便转发节点能够使用正确的LIT。
在[Z-FORMATION]和PCT/EP
2009/62785中开发了LIPSIN中所述的基本方法。在[Z-FORMATION]和PCT/EP
2009/62785的方法中,所述方案是基于动态计算的每流或每分组的链路标识符,而不是维护包含用于每个外出接口的多个链路标识符(或链路标识符标记)的显式转发表。对于每个进入分组,称为“Z函数”的固定函数用于通过使用以下所述来计算对应的链路标识符
(i)定期更改的机密密钥K,
(ii)一些分组中信息I(流或每分组标识符),以及
(iii)进入和外出接口索引(IN,
OUT)。
也就是说,LIT = Z
(I, K(t), IN, OUT),其中,Z表示从接口索引IN,OUT、分组中分组信息I及机密密钥K(t)来确定LIT的函数。
分组中信息可以可选地也包括“d值”以允许将d个不同的Z函数用于附加的安全性。在此情况下,如图2(a)所示:
LIT(d)
= Z (IN , OUT, I , K(t)),其中,Z是d个候选Z函数之一,并且根据进入分组中的d值来选择。
图2(a)的函数Z产生动态计算的链路标识符标记。图2(a)示出用于路径的LIT的生成,其中,分组2在转发路径上的节点,在由输入端口号IN识别的输入端口接收。分组包含识别分组或分组流的信息,并且可选包含“d值”。分组2预定要从节点从由输出端口号OUT识别的输出端口发送。如在LIPSIN中一样,根据LIT(d)
= Zd (I, K(t), IN, OUT)生成的每个LIT是长度为m的二进制数字的串。
在生成的LIT是二进制数字的串时,它能够例如使用或(OR)操作添加到布隆过滤器。这也在图2(a)中示出,该图示出包含在沿转发路径的节点接收的收集布隆过滤器的分组2'。LIT值如上所述被计算,并且随后例如使用或操作插入分组的收集布隆过滤器。
由于iBF现在使用动态链路标识符而不是静态链路标识符构建,因此,除如在[LIPSIN]中一样绑定到输出接口索引外,结果iBF变得绑定到流ID或其它分组中信息I、特定的时间期和输入接口索引。尤其是,具有流ID或其它分组中信息I作为输入参数将给定iBF联系到仅携带指定流ID的那些分组,并因此提供了附加的安全性。
图2(b)是能够使用基于iBF的路由选择的网络节点的示意图。节点9包含多个输入端口10a、10b、10c和多个输出端口11a、11b、11c。(为了简明,端口示为输入端口或输出端口,但原则上,端口能够既充当输入端口又充当输出端口。)节点9还包含路由选择模块12。在输入端口10a、10b、10c之一接收分组时,路由选择模块确定分组应从哪个(哪些)输出端口被转发。例如通过查询接收的分组中的iBF以确定节点的哪些外出链路具有iBF中编码的其LIT,以及将分组转发到对应于所述链路的输出端口,路由选择模块可进行此操作。(如果查询iBF的结果未检索到用于节点的任何外出链路的LIT,则分组被丢弃。)
节点9也可包括用于如参照图2(a)所述的动态计算LIT的计算模块13。附加或备选的是,它可包括用于例如以查找表形式来存储其外出链路的LIT的存储器14。
虽然[LIPSIN]中所述方法原来设计为在带有分开的会合和拓扑功能的发布/预订式联网中使用,但也可能在其它类型的网络中使用它。从该角度而言,在本发明中,我们利用逐跳IP转发作为拓扑功能,以及每个目标端节点作为会合点。
现在将描述通过逐跳路由选择来收集iBF。根据本发明的此方面,我们考虑一种情况,其中,诸如图3中的主机A等第一端主机4具有分组要使用源IP地址IPA和目的地IP地址IPB发送到诸如图3中的主机B等第二端主机8,以及其中,所述第一端主机4没有用于发送所述分组到所述第二端主机8的任何工作iBF。在此类情况下,所述第一端主机4可通过逐跳路由选择基础设施来发送分组,并且它可将“收集”iBF附连到分组。收集iBF被初始化为零。
图8是示出在图3的方法中主要过程的框流程图。最初,第一端主机4向第二端主机8发送(1)分组,分组包含收集布隆过滤器(被初始化为零)。在路径上的转发节点,将LIT插入(2)收集布隆过滤器。分组最终在第二端主机被接收(3),第二端主机从分组提取布隆过滤器。提取的布隆过滤器编码至少从第二端主机到第一端主机的转发信息(并且可以可选地是编码从第二端主机到第一端主机的转发信息和编码从第一端主机到第二端主机的转发信息的“双向的”布隆过滤器)。
在图3的示例中,假设为描述的目的,第一端主机4和第二端主机8分别是分组的始发主机和目的地主机,以便从第一端主机4到第二端主机8的路径是整个分组路径。然而,本发明不限于此,并且备选可能是第一端主机4本身不是分组的始发主机,而是通过诸如基于IP的路由选择方法等另一路由选择方法从始发主机(未示出)接收分组,和/或第二端主机8本身不是分组的目的地主机,而通过诸如基于IP的路由选择方法等另一路由选择方法转发分组到目的地主机(未示出)。通常,即使始发主机和/或目的地主机本身不是iBF路由选择使能的主机,只要在始发主机与目的地主机之间路径的一些部分无论何处能够支持基于iBF的路由选择,本发明便可被应用。
在图3中,第一端主机4通过逐跳路由选择向第二端主机8发送分组。如图3示意所示,第一端主机发送的分组在其报头中包含至少第一端主机4的IP地址IPA、第二端主机8的IP地址IPB及在此阶段初始化为零的收集布隆过滤器。分组在转发节点5接收,该节点是从第一端主机4到第二端主机8的路径上的中间节点,并且这在图7中示为(1),图7是示出在图3的转发节点5执行的主要过程的框流程图。在分组到达逐跳路由选择基础设施内的转发节点5时,转发节点5先根据普通逐跳路由选择算法而做出路由选择判定。例如,如果分组是IP分组,并且逐跳路由选择基础设施是IP网络,则转发节点5一般情况下进行与IP分组报头中目的地IP地址的最长前缀匹配,并且在其转发表中拾取与最长匹配IP前缀相关联的外出链路。
一旦转发节点5已做出其逐跳转发判定,并且知道用于分组的外出链路,它便计算它预期在任何将来分组中看到的本地LIT值。优选是转发节点5计算流相关的本地LIT值 - 即,它计算它预期在相同流的任何将来分组中看到的本地LIT值。例如,在IP路由选择的情况中,流ID可包括源和目的地IP地址、协议值及可选地用于诸如携带协议端口号的UDP和TCP等协议的协议端口号和/或可选地来自IP或其它报头的其它字段。
在一最佳实施例中,在IP业务的情况中,为了可能将收集的iBF用于沿路径在双向分组的将来发送,源和目的地IP地址、对应的协议端口号(如果有)及输入和输出链路接口索引必须按数字或以其它方式以它们形成与分组正通过节点流动的方向无关的相同流ID的此类方式被排序。
接着,转发节点5将用于外出链路的计算的LIT值插入(图7中的(2))分组中的“收集”iBF。在一般情况下,它只在已经在收集iBF中的比特上和在新计算的LIT值中的比特上执行比特式二进制或操作(如图2所示)。备选的是,对布隆过滤器或某一其它格式进行计数可用于“收集”iBF。
随后,分组转发(图7中的(3))到下一转发节点6。第一转发节点5发送的分组包含收集布隆过滤器,该过滤器现在包括转发节点5添加的LIT - 收集布隆过滤器因此现在由“F”指示。下一转发节点6重复为转发节点5所述的过程,并且将分组转发到下一转发节点7。下一转发节点6发送的分组包含收集布隆过滤器,该过滤器现在包括转发节点5添加的LIT和转发节点6添加的LIT - 收集布隆过滤器因此现在由“F'”来指示。该过程为每个转发节点重复进行
- 每个逐跳转发节点在途中添加对应的链路身份标记(LIT)到iBF。
在分组到达其逐跳目的地,即第二端主机8时,它将在“收集”iBF字段中包含用于沿它已遍历的路径发送分组的可使用iBF。视iBF如何使用和收集阶段如何工作的细节而定,结果iBF可在反向(即,从第二端主机8到第一端主机4)或在两个方向的路径上使用。因此,如作为示出在图3的第二端主机8执行的主要过程的框流程图的图6所示,第二端主机接收(1)由第一端主机4发送的分组,并且从分组提取(2)布隆过滤器。该布隆过滤器编码至少从第二端主机到第一端主机的转发信息(并且可以可选地是编码从第二端主机到第一端主机的转发信息和编码从第一端主机到第二端主机的转发信息的“双向的”布隆过滤器)。
应注意,本发明不限于转发节点5,6,7将用于外出链路的计算的LIT值插入分组中的“收集”iBF。例如,通过反转计算和检查逻辑的相关部分,转发节点能够备选地添加用于进入链路(即在转发节点5,6,7接收分组时所通过的链路)的计算的LIT值。这称为“反向路径收集”。作为又一示例,转发节点能够备选地添加基于进入链路和外出链路而计算的LIT值,并且这称为“双向路径收集”。通常,转发节点可以任何适合方式将条目插入收集iBF,这产生可在反向(即,从第二端主机8到第一端主机4)或两个方向的路径上使用的结果iBF - 在节点生成的LIT可定义为是在节点用于计算在布隆过滤器匹配中使用的比特的功能的结果,并且每个节点将它已生成的LIT添加到收集布隆过滤器。
第二端主机随后可使用收集的iBF,根据基于iBF的路由选择方法将分组发送到第一端主机4。如果收集的iBF是“双向的”,第一端主机4可在它从B接收在其报头中包含收集的iBF的分组时从该分组检索iBF。第一端主机4和第二端主机8随后均能够在相互之间使用基于iBF的路由选择。第一端主机4能够从布隆过滤器中的转发信息来确定用于向第二端主机8转发分组的第一跳。无论第一端主机4本身是分组的源(在此情况下,第一端主机4将生成分组,将iBF插入分组报头,并且发送分组),还是第一端主机正在转发它已从另一节点接收的分组(在此情况下,第一端主机4将插入iBF到接收的分组的报头中,并且继续发送分组),这均适用。
如果收集的iBF不是“双向的”,则第二端主机8可在它将分组发送到第一端主机4时也将收集iBF插入分组,以便通过与上述过程相反的过程来收集用于方向节点A到节点B的iBF。
无论收集的iBF是否为“双向的”,第二端主机8能够从收集的iBF确定用于向第一端主机4路由分组的第一跳。无论第二端主机是分组的源(在此情况下,第二端主机8将生成分组,将iBF插入分组报头,并且发送分组),还是第二端主机正在转发它已从另一节点接收的分组(在此情况下,第二端主机8将插入iBF到接收的分组的报头中,并且继续发送分组),这均适用。
在收集的iBF是流相关的情况下,为每个流重复收集过程。
图5是示出在图3的第一端主机4执行的主要过程的框流程图。最初,第一端主机将收集布隆过滤器(它是初始化为全零的二进制数字的数组)插入(1)分组,并且向第二端主机8发送(2)分组(2)。随后,第一端主机接收(3)来自第二端主机的分组,该分组包含编码至少从第二端主机到第一端主机的转发信息的布隆过滤器(以及其可以可选地是编码从第二端主机到第一端主机的转发信息和编码从第一端主机到第二端主机的转发信息的“双向的”布隆过滤器)。第一端主机随后可以可选地提取接收的分组中的转发信息(优选的是通过提取布隆过滤器,并且存储它以便在到第二端主机的另外通信中使用它)。
如上简要提及的,一起沿路径形成iBF的LIT值一般基于外出和进入物理(或逻辑)链路的索引和来自传输/IP报头的某些字段来计算,例如,由IP源和目的地地址、协议号及协议源和目的地端口号(在协议具有它们的情况下)组成的所谓IP
5元组。然而,对于应用的其余部分,我们将为便于描述而假设从流ID中排除了协议号和上层协议号,即,仅IPS和IPD用于形成流ID。本领域技术人员易于理解,流ID可包含附加的值,并且在值需要根据分组的方向被排序的情况下,所述附加的值应如何被排序以便它们是与分组方向无关的。
现在将描述形成双向iBF。在以方向无关方式形成iBF并且使用数字排序的一个实施例中,可以如下方式计算流ID:
如果IPS
> IPD,则
流ID=IPS
| IPD,并且因此LIT=Z
(IPS | IPD,K(ti), In, Out);
否则
流ID= IPD
| IPS,并且因此LIT=Z
(IPD | IPS,K(ti), Out, In)
在这些表达式中,IPS是源IP地址,IPD是目的地IP地址,K(ti)是路由器中的机密密钥(它定期更改),In是分组到达的接口(或对等体),以及Out是分组转发到的接口(或对等体)。
然而,要注意,以方向无关方式排序字段的确切方法是转发节点的本地问题,并且可在单个系统内的转发节点之间变化。
在PCT/SE2010/050001的教导用于指定流特定iBF时,上述收集过程能够容易被修改以包括例如PCT/SE2010/050001中教导的密码布隆过滤器的使用。在PCT/SE2010/050001中,基于预定义的路由器指派的密钥,计算用于路径中每跳的半动态参数O2。用于路径的半动态参数提供到路径的发送端节点,并且发送端节点随后基于半动态参数O2和与数据分组有关的分组特定信息,计算用于路径中每跳的动态参数O3。随后,通过路径发送数据分组和计算的动态参数O3及分组特定信息。在一优选实施例中,PCT/SE2010/050001的方法基于预定义的路由器指派的密钥来计算用于路径中每跳的半静态参数O1,并且用于跳的半动态参数O2基于对应的半静态参数来计算。通过以此方式使用半静态参数O1(如果存在)、半动态参数O2和动态参数O3,每个分组中嵌入的路由选择信息能够通过使用分别用于计算O1和O2的较强密码函数而受到良好的保护,同时转发操作能够通过使用用于计算O3的“更轻”密码函数而被促进。
如果本发明的方法组合PCT/SE2010/050001的教导,则在该情况下PCT/SE2010/050001只用作实现函数Z的特定方式。
如果希望以也如PCT/SE2010/050001中提议的发送端节点(例如图3中的节点A)计算每分组特定的iBF的方式来使用PCT/SE2010/050001的教导,则图3的逐跳iBF收集不能被同样使用。相反,“收集”iBF字段能够不再是iBF,但对应的字段将携带途中每个路由器所生成的所有半动态参数O2。在此情况下,本发明和PCT/SE2010/050001的每分组特定iBF的组合可要求对图3的所述方法进行某一修改。
在本发明和PCT/SE2010/050001的每分组特定iBF的组合中,路由器也优选存储或缓存其计算的半动态参数O2。
现在将描述将iBF用于源路由的转发。在转发节点接收包含可路由的iBF的分组时,它可根据PCT/EP
2009/62785、PCT/EP
2009/62785或PCT/SE2010/050001中描述的方法之一转发分组。然而,在本申请中,我们也考虑上面定义的双向iBF的情况。在任何情况下,在转发包含可路由的iBF的分组时,转发节点如它为相同流上的初始分组所进行的操作一样,计算用于分组的相同LIT值。
与逐跳路由选择相比,此方案预期是有益的,因为基于iBF的转发判定要求更少的存储器,并且比典型的基于逐跳路由选择的转发判定更简单。
根据本发明的又一特征,可能应用本发明以加快节点移动性管理,并且现在将描述此“移动性信令”。
在此部分中,我们描述如上所述的逐跳iBF收集和源路由的iBF转发能够如何在一起用于加快全局端对端移动性信令。按照诸如移动IP等IP移动性协议的惯例,我们考虑在诸如图4的节点4等移动端节点(“MN”)与诸如图4的节点8等固定对应端节点(“CN”)之间的信令和分组流。
最初,在MN想与CN进行通信时,它经逐跳路由选择发送分组,如上参照图3所述触发在中间节点5,6,7的iBF收集。如上所述,一旦iBF(或在双向iBF的情况下的两个iBF)已被收集,iBF便能够用于在移动节点4与对应端节点8之间直接交换分组,从而忽视逐跳路由选择。图4假设收集双向iBF,并由此在图4中将最初收集的iBF指示为“F”。
在MN移到新位置(或严格地说,在从网络拓扑的角度而言,MN的位置更改时),该iBF不能再用于在MN与CN之间路由分组或反之亦然,这是因为iBF绑定到实际的分组路径。(如果收集两个单向iBF,则情况也将是如此。) 因此,在到达新位置时或之后,MN需要再次经逐跳路由选择机制发送分组,触发新的iBF收集阶段。在图4中,从移动节点4的新位置到对应节点8的路径是与从移动节点4的旧位置到对应节点8的路径不同的路径 - 在图4中,新路径示为通过节点5',6和7,而源于MN的旧位置的路径通过节点5,6,7。同时,CN将继续通过旧iBF“F”发送分组,使它们被输送到MN的旧位置(它们在该处将被丢弃)。
在MN在其新位置发送的第一分组到达CN时,它包含在图4中示为“G”的新iBF。由于此新iBF绑定到在MN的新位置与CN的位置之间的路径(即,经节点5',6,7的路径),因此,它能够直接被使用而无需任何返回可路由性检查。也就是说,一旦CN接收带有新的收集的iBF的分组,它便能够通过从iBF中的转发信息确定用于向在其新位置的移动节点转发分组的第一跳,立即使用新iBF将分组发送回MN。CN发送的分组将回到从MN接收的分组的源(即,到MN的新位置),并且以高概率仅回到接收的分组的源。
图9是示出在图4的对应节点8执行的主要过程的框流程图,以及图10是示出图4的方法中执行的主要过程的框流程图。最初,对应节点使用编码到在其旧位置的移动节点的转发信息的布隆过滤器,将分组路由(图9和10的(1))到在移动节点的旧位置的移动节点
- 例如,使用从在其旧位置的移动节点发送的分组提取的布隆过滤器。在移动节点4在到达其新位置时或之后移动主机4更改其位置时,它将分组发送(图10的(2))到对应节点。此分组包含初始化为全零的收集布隆过滤器。随后,对应节点接收(图9的(2))移动主机在移动节点4到达其新位置时或之后发送的分组。此分组包含收集布隆过滤器,并且对应节点提取(图9和10的(3))编码至少从对应节点到在其新位置的移动节点的转发信息的新布隆过滤器(并且其可以可选地是“双向的”布隆过滤器)。对应节点8随后可使用新布隆过滤器将分组路由到在其新位置的移动节点4(并且如果期望的话,也可继续使用以前的布隆过滤器将分组路由到在其旧位置的移动节点4)。
能够以多种方式满足用于保护端对端移动性、认证的其它要求,并且现在将描述用于移动性信令的认证。例如,在移动IPv6中,CN通过归属代理(HA)和在HA与MN之间的安全隧道发送随机数,减少了能够无意中听到随机数的节点数。作为另一示例,诸如主机身份协议(HIP)
[RFC5201,RFC5202]等完全安全的端对端协议能够用于提供消息认证。任何此类方法能够和本发明一起使用。
然而,使用iBF产生了附加的可能性,因为接收带有已知iBF的分组提供了分组由声明的源节点(或由沿路径的另一攻击节点)发送的合理保证。
现在考虑在MN与MN更早未联系的新CN之间以下公知的基于哈希链的协议:
1 . MN生成带有哈希锚HMN的哈希链。也就是说,
HMN
= H(H(H(...H(H(random))...)))
其中,哈希函数H被重复应用到初始随机种子。为了使用HMN作为哈希链,生成器存储所有中间值并从紧接的前一个值开始逐个为它们揭示HMN是哪一个的哈希。
2. MN使用逐跳路由选择将分组发送到CN。分组包括“收集”IBF和哈希锚HMN。虽然发送包含哈希锚的分组是公知的,但发送“收集”iBF和哈希锚的组合是新颖的。
3. CN接收来自MN的分组。分组现在包含“收集”iBF字段中的可路由iBF和哈希锚HMN。
假设沿路径的转发节点在它们未篡改哈希锚并且已经收集如上定义的iBF的意义中是诚实的,CN现在能够做出貌似合理的假设:有一个MN想与它进行通信,其发送了刚接收的分组,拥有哈希链HMN中的其它值,以及对本发明新颖的是,其通过发送带有新接收的iBF的分组便可到达。CN随后可使用该iBF将分组发送到MN。
如果CN要求更高安全性,则它能够使用公知的四消息协议来验证MN(或通过该iBF可到达的其它节点)实际上具有哈希链HMN的其它值。为了如此做,CN先将随机数发送到MN。MN随后通过在随机数和哈希链的下一前一值上计算的哈希值做出回复。CN随后通过指示它已接收第二消息的消息做出回复。MN随后用明文发送来自哈希链的该前一值。
CN随后验证1)它在四消息协议交换的第二消息中接收的值实际上是在原始随机数和如在四消息协议交换的第四消息中接收的哈希链的该前一值上计算的哈希值,以及2)四消息协议交换的第四消息中接收的值实际上是相对于哈希锚HMN的前一值 - 然而,从移动性信令安全性角度而言,此四消息协议能够视为是可选的。
现在例如可能通过以下方式将iBF绑定到此四消息协议内的哈希锚。MN对随机数、该iBF和哈希链的下一前一值进行哈希操作,而不是为四消息协议的第二消息仅在随机数和哈希链的下一前一值上计算哈希值,并且在四消息协议的第二消息中发送此哈希结果。CN在四消息协议的第四消息中接收哈希链的前一值时,CN现在可验证在随机数、该iBF和哈希链的下一前一值上的哈希。通过此协议,CN能够做出貌似合理的假设:MN看到了与它看到的相同的iBF。
从现在开始,统计上独特的哈希锚HMN充当用于移动节点的匿名。要注意,从移动性信令安全性角度而言,此类稳定的匿名是足够的。移动节点的“实际”身份不重要;详情参阅[RFC
4225]。
4. 在MN移到新位置时,它使用逐跳路由选择将分组发送到CN。此分组包括“收集”iBF字段、哈希锚HMN(以识别MN)及来自哈希链的下一未使用的前一值。
在CN接收此分组时,它能够使用哈希锚HMN将MN识别为已经知道的MN,并且使用下一未使用的前一值验证MN实际上已发送消息(或以其它方式已发送值从其被复制的某个另一消息)。
所述方法明显易受途中中间人攻击,但在移动IPv6中使用的返回可路由性方法也是如此。
现在将描述支持先接后断(make-before-break)移动性和双播。在一些情况下,MN可能够同时在多个位置接收分组;例如,在所谓的“软切换”期间,它可先在新位置建立连接性,并且仅在稍迟后释放在其旧位置的连接性。
在此类情况下,基于iBF的转发提供同时双播分组到旧和新位置的可能性。在MN指示此类双播是合乎需要的时,必须以允许在旧位置和新位置使用相同流ID的方式定义流ID。一旦情况是这样,CN便能够简单地采用新iBF(图4中的“G”)和旧iBF(图4中的“F”)的二进制比特式或,并且使用结果来发送分组。由于iBF的多播能力,分组将被输送到旧位置和新位置。
因此,如果基层网络基础设施允许,则本发明可能同时将分组发送到移动主机的旧(当前)位置和移动主机的新(很快要位于的)位置。本发明因此允许增强移动性信令的总体弹性。例如,在实时业务中,如果支持此类双播,则移动主机可能丢失更少的分组(虽然可存在假阳性的增大风险)。(正如公知的,在查询布隆过滤器时,存在“假阳性”的风险,即,查询将错误地识别某个项目为存在于布隆过滤器中编码的集合中。)
如从以上描述能够看到的,本发明可提供一个或多个以下优点:
双向iBF。与PCT/EP
2009/62785相比,本发明通过先将馈入图2(a)中所述的所谓Z函数的输入参数排序成与分组方向无关的次序,以便Z函数返回用于流上所有分组的相同LIT(与它们的方向无关),从而教导如何构建双向iBF而不是单向的iBF。
iBF的逐跳收集。本发明使用能够以任何次序添加元素到布隆滤滤器的布隆过滤器的属性,介绍了在多个节点递增收集前向、后向和双向iBF而不是在单个节点计算iBF的新颖方法。此外,我们教导如何使用诸如因特网协议(IP)的现有逐跳路由选择协议来引导信令分组通过正确的路径,以便通过路径来收集正确、独特的流特定的iBF。
更快的移动性信令。最后,并且可能最重要的是,本发明教导如何在节点移动性信令的上下文中使用基于iBF的转发和逐跳iBF收集,从而允许CN在从MN通过移动后的新位置发送的单个分组后立即开始发送到MN的新位置,而无任何泛洪攻击的危险。这在以前的移动性协议(例如,所谓的基于信用的协议,这些协议虽然允许CN在接收单个消息后立即发送到MN的新位置,但只减轻了泛洪攻击,而不是消除发动攻击的可能性)中是不可能的。
图12(a)是能够充当诸如图3中的主机A等第一端主机4的网络节点的示意框图。节点9包含多个输入端口10a、10b、10c和多个输出端口11a、11b、11c。(为了简明,端口示为输入端口或输出端口,但在原则上,端口能够既充当输入端口又充当输出端口。)节点9还包含将所有条目初始化为零的收集iBF插入分组的iBF插入模块15。路由选择模块12随后将分组引导到适当的输出接口,以沿路径向第二端主机发送分组。
在本发明应用到双向iBF的情况下,图12(a)的节点9可还包括检索模块(类似于图12(c)的检索模块16)。在输入端口10a、10b、10c之一接收来自第二端主机的分组时,检索模块随后可从分组检索iBF,例如用于存储以便它可用于随后的路由选择。
图12(a)的节点9可包含诸如图2(b)的用于LIT的动态计算的模块13和/或存储器14等另外组件,但这些附加的组件为了清晰已被省略。
图12(b)是能够充当诸如图3的节点5,6,7等转发节点的网络节点的示意框图。节点9包含多个输入端口10a、10b、10c和多个输出端口11a、11b、11c。(为了简明,端口示为输入端口或输出端口,但在原则上,端口能够既充当输入端口又充当输出端口。) 节点9还包含将LIT插入在输入端口10a、10b、10c之一接收的分组中包括的收集iBF的LIT插入模块17。路由选择模块12随后将分组引导到适当的输出接口,以沿路径向第二端主机转发分组。
图12(a)的节点9可包含诸如图2(b)的用于LIT的动态计算的模块13或存储器等另外组件,但除用于LIT的动态计算的模块13外,这些附加的组件为了清晰已被省略。
图12(c)是能够充当诸如图3中的主机B等第二端主机8的网络节点的示意框图。节点9包含多个输入端口10a、10b、10c和多个输出端口11a、11b、11c。(为了简明,端口示为输入端口或输出端口,但在原则上,端口能够既充当输入端口又充当输出端口。) 节点9还包含iBF检索模块16。在输入端口10a、10b、10c之一接收来自第二端主机的分组时,检索模块16随后可从分组检索iBF,例如以便在存储器14中存储使得它可用于随后的路由选择。iBF插入模块15可将检索的iBF插入要发送到第一端主机的分组,并且路由选择模块12可随后确定用于向第一端主机发送分组的适当输出端口。
图12(c)的节点9可包含诸如图2(b)的用于LIT的动态计算的模块13等另外组件,但这些附加的组件为了清晰已被省略。
Claims (22)
1. 一种网络节点,适合于:
将收集布隆过滤器插入分组;
根据逐跳路由选择协议向第二网络节点发送所述分组;以及
接收所述第二网络节点发送的分组,所述第二网络节点发送的该分组的报头包含编码从所述第二节点到所述网络节点的转发信息的布隆过滤器或布隆过滤器等同体。
2. 如权利要求1所述的网络节点,并且还适合于从所述布隆过滤器或布隆过滤器等同体中的所述转发信息来确定用于向所述第二节点转发分组的第一跳。
3. 如权利要求1所述的网络节点,其中所述网络节点是移动节点,并且适合于在所述移动节点的位置更改后发送所述分组。
4. 如任一前面权利要求所述的网络节点,其中所述布隆过滤器或布隆过滤器等同体编码分组流特定的转发信息。
5. 一种提供分组路由选择信息的方法,所述方法包括:
在第一网络节点,将收集布隆过滤器插入分组;
根据逐跳路由选择协议,从所述第一网络节点向第二网络节点发送所述分组;以及
在所述第一网络节点接收所述第二网络节点发送的分组,所述第二网络节点发送的该分组的报头包含编码从所述第二网络节点到所述第一网络节点的转发信息的布隆过滤器或布隆过滤器等同体。
6. 一种网络节点,适合于:
接收另一网络节点根据逐跳路由选择协议所发送的分组,所述分组包含收集布隆过滤器;以及
从所述分组提取包含从所述网络节点到所述另一网络节点的转发信息的布隆过滤器或布隆过滤器等同体。
7. 如权利要求2或6所述的网络节点,并且适合于从所接收的分组提取流ID,以及将所提取的布隆过滤器或布隆过滤器等同体与所述流ID相关联。
8. 如权利要求6或在从属于权利要求6时权利要求7所述的网络节点,并且适合于从所提取的布隆过滤器或布隆过滤器等同体来确定用于向所述另一网络节点路由分组的第一跳。
9. 如权利要求5所述的方法,并且还包括:
在所述第二网络节点接收所述第一网络节点所发送的包含所述收集布隆过滤器的分组;以及
在所述第二网络节点从所述分组提取所述布隆过滤器或布隆过滤器等同体,所述布隆过滤器或布隆过滤器等同体包含从所述第二网络节点到所述第一节点的转发信息。
10. 一种网络节点,适合于
接收第一节点根据逐跳路由选择协议所发送的分组,所述分组包含收集布隆过滤器;
将表示所述分组要从所述网络节点被转发所通过的链路的链路标识符标记插入所述收集布隆过滤器;以及
向第二节点转发所述分组。
11. 如权利要求10所述的网络节点,并且适合于从所接收的分组提取流ID,以及生成所述链路标识符标记,使得所述链路标识符标记与所述流ID相关联。
12. 如权利要求10或11所述的网络节点,并且适合于生成双向链路标识符标记。
13. 如权利要求5所述的方法,并且还包括:
在中间节点接收所述第一节点发送的包含所述收集布隆过滤器的分组;
在所述中间节点将表示所述分组要从该节点被转发所通过的链路的链路标识符标记插入所述收集布隆过滤器;以及
向所述第二节点转发所述分组。
14. 如权利要求13所述的方法,并且包括生成双向链路标识符标记以便插入所述收集布隆过滤器。
15. 如权利要求5所述的方法,其中所述布隆过滤器或布隆过滤器等同体编码从所述第二网络节点到所述第一网络节点的转发信息和从所述第一网络节点到所述第二网络节点的转发信息。
16. 如权利要求5或15所述的方法,并且还包括从所述布隆过滤器或布隆过滤器等同体中的所述转发信息来确定用于从所述第一节点转发分组到所述第二节点的第一跳。
17. 如权利要求15或16所述的方法,并且还包括从所述布隆过滤器或布隆过滤器等同体中的所述转发信息来确定用于从所述第二节点转发分组到所述第一节点的第一跳。
18. 如权利要求6所述的网络节点,其中所述另一节点是移动节点;其中在所述移动装置的位置更改后,所述分组由所述移动节点发送;以及其中所述布隆过滤器或布隆过滤器等同体包含从所述网络节点到在其新位置的所述移动节点的转发信息。
19. 如权利要求18所述的网络节点,并且适合于从所述布隆过滤器或布隆过滤器等同体中的所述转发信息来确定用于从所述网络节点转发分组到在其新位置的所述移动节点的第一跳。
20. 如权利要求18所述的网络节点,并且适合于使用包含从所述网络节点到在其新位置的所述移动节点的转发信息的所述布隆过滤器或布隆过滤器等同体和包含从所述网络节点到在旧位置的所述移动节点的转发信息的布隆过滤器或布隆过滤器等同体,向所述移动节点发送分组。
21. 一种将分组路由到移动节点的方法,所述方法包括:
使用编码向移动节点的转发信息的第一布隆过滤器或布隆过滤器等同体,从对应节点向所述移动节点发送分组;
在所述对应节点接收在所述移动节点的位置更改后根据逐跳路由选择协议从所述移动节点发送到所述对应节点的分组,所述分组包含收集布隆过滤器;以及
在所述对应节点,从所述移动节点所发送的所述分组提取第二布隆过滤器,所述第二布隆过滤器包含从所述对应节点到在其新位置的所述移动节点的转发信息。
22. 一种包含指令的计算机可读媒体,所述指令在由处理器运行时促使所述处理器执行如权利要求5、9、13到17及21的任一项中定义的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29955010P | 2010-01-29 | 2010-01-29 | |
US61/299550 | 2010-01-29 | ||
PCT/EP2010/069332 WO2011091897A1 (en) | 2010-01-29 | 2010-12-10 | Packet routing in a network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102714839A true CN102714839A (zh) | 2012-10-03 |
Family
ID=43480455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800626392A Pending CN102714839A (zh) | 2010-01-29 | 2010-12-10 | 网络中的分组路由选择 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120300781A1 (zh) |
EP (1) | EP2529578A1 (zh) |
CN (1) | CN102714839A (zh) |
WO (1) | WO2011091897A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468349A (zh) * | 2014-11-27 | 2015-03-25 | 中国科学院计算机网络信息中心 | 一种基于逐跳监督的bgp路由验证方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2168325B1 (en) * | 2007-06-14 | 2010-12-15 | Telefonaktiebolaget LM Ericsson (publ) | Routing in a network |
KR20130140932A (ko) * | 2012-05-08 | 2013-12-26 | 한국전자통신연구원 | 네트워크 경로 계산장치, 콘텐츠 요청노드, 중계노드 및 이를 포함하는 정보 중심 네트워크 시스템과 이를 이용한 네트워크 경로 계산방법 |
US9455903B2 (en) * | 2012-07-31 | 2016-09-27 | Cisco Technology, Inc. | Recording packet routes using bloom filters |
US9112805B2 (en) * | 2012-09-28 | 2015-08-18 | Cisco Technology, Inc. | Routing messages in a computer network using deterministic and probabilistic source routes |
US9218169B2 (en) | 2013-11-19 | 2015-12-22 | Google Inc. | Callpath finder |
EP3231142B1 (en) | 2014-12-09 | 2021-07-21 | Telefonaktiebolaget LM Ericsson (publ) | Network address translation |
US10277481B2 (en) * | 2015-09-23 | 2019-04-30 | Futurewei Technologies, Inc. | Stateless forwarding in information centric networks with bloom filters |
US10313240B2 (en) * | 2017-06-26 | 2019-06-04 | Intel Corporation | Technologies for efficient network flow classification with vector bloom filters |
CN113507417B (zh) | 2018-10-27 | 2023-05-09 | 华为技术有限公司 | 报文处理方法、相关设备及计算机存储介质 |
US11582191B2 (en) | 2019-07-03 | 2023-02-14 | Centripetal Networks, Inc. | Cyber protections of remote networks via selective policy enforcement at a central network |
US10715493B1 (en) | 2019-07-03 | 2020-07-14 | Centripetal Networks, Inc. | Methods and systems for efficient cyber protections of mobile devices |
US20240340234A1 (en) * | 2023-04-05 | 2024-10-10 | Oracle International Corporation | Network path performance measurements by utilizing multi-layer tunneling techniques |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010032271A1 (en) * | 2000-03-23 | 2001-10-18 | Nortel Networks Limited | Method, device and software for ensuring path diversity across a communications network |
WO2008151673A1 (en) * | 2007-06-14 | 2008-12-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Routing in a network |
CN101436985A (zh) * | 2008-10-23 | 2009-05-20 | 福建师范大学 | 一种高效的Ad Hoc网络匿名QoS路由方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030026268A1 (en) * | 2000-11-28 | 2003-02-06 | Siemens Technology-To-Business Center, Llc | Characteristic routing |
US8185653B2 (en) * | 2004-08-09 | 2012-05-22 | Johnny Yau | Method and apparatus for ad hoc mesh routing |
JP4732972B2 (ja) * | 2006-06-30 | 2011-07-27 | 株式会社エヌ・ティ・ティ・ドコモ | アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム |
US8161283B2 (en) * | 2007-02-28 | 2012-04-17 | Motorola Solutions, Inc. | Method and device for establishing a secure route in a wireless network |
WO2010022767A1 (en) * | 2008-08-26 | 2010-03-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet forwarding in a network |
US20110007747A1 (en) * | 2009-07-10 | 2011-01-13 | Advanced Communication Concepts, Inc. | Internet Protocol Trace Back Using Dynamic Reconfigurable Logic Hardware |
EP2522106A1 (en) * | 2010-01-04 | 2012-11-14 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for secure routing of data packets |
-
2010
- 2010-12-10 US US13/575,314 patent/US20120300781A1/en not_active Abandoned
- 2010-12-10 WO PCT/EP2010/069332 patent/WO2011091897A1/en active Application Filing
- 2010-12-10 CN CN2010800626392A patent/CN102714839A/zh active Pending
- 2010-12-10 EP EP10795286A patent/EP2529578A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010032271A1 (en) * | 2000-03-23 | 2001-10-18 | Nortel Networks Limited | Method, device and software for ensuring path diversity across a communications network |
WO2008151673A1 (en) * | 2007-06-14 | 2008-12-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Routing in a network |
CN101436985A (zh) * | 2008-10-23 | 2009-05-20 | 福建师范大学 | 一种高效的Ad Hoc网络匿名QoS路由方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468349A (zh) * | 2014-11-27 | 2015-03-25 | 中国科学院计算机网络信息中心 | 一种基于逐跳监督的bgp路由验证方法 |
CN104468349B (zh) * | 2014-11-27 | 2017-11-14 | 中国科学院计算机网络信息中心 | 一种基于逐跳监督的bgp路由验证方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120300781A1 (en) | 2012-11-29 |
WO2011091897A1 (en) | 2011-08-04 |
EP2529578A1 (en) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102714839A (zh) | 网络中的分组路由选择 | |
Zhang et al. | Kite: Producer mobility support in named data networking | |
Sy et al. | Odar: On-demand anonymous routing in ad hoc networks | |
Haghighi et al. | Highly anonymous mobility-tolerant location-based onion routing for VANETs | |
Clausen et al. | Lightweight on-demand ad hoc distance-vector routing-next generation (LOADng): protocol, extension, and applicability | |
EP1944925B1 (en) | Group communication in a mobile ad-hoc network | |
US20080247355A1 (en) | Duplicate detection method for ad hoc network | |
Aad et al. | Packet coding for strong anonymity in ad hoc networks | |
US8547848B2 (en) | Traffic control within a network architecture providing many-to-one transmission with denial-of-service protection | |
Gopinath et al. | Secure location aware routing protocol with authentication for data integrity | |
Thing et al. | IP traceback for wireless ad-hoc networks | |
Vaidya et al. | Secure multipath routing scheme for mobile ad hoc network | |
Meijerink et al. | Design & analysis of a distributed routing algorithm towards Internet-wide geocast | |
CN112291789A (zh) | 一种面向大规模自组织网络的安全路由协议方法及系统 | |
Wu et al. | Achieving k-anonymity in mobile ad hoc networks | |
Rani et al. | Detection and prevention of wormhole attack in stateless multicasting | |
US10855578B1 (en) | Anonymous communications network utilizing bridging connections between broadcast domains | |
Clausen et al. | Vulnerability analysis of the optimized link state routing protocol version 2 (OLSRv2) | |
Imran et al. | DD-SARP: Dynamic data secure Anonymous Routing Protocol for MANETs in attacking environments | |
Raheem et al. | A secure authentication protocol for IP-based wireless sensor communications using the Location/ID Split Protocol (LISP) | |
Varshney et al. | Rectifying flow of duplicacy using Bloom-filter | |
Simsek | Blind packet forwarding in a hierarchical level-based locator/identifier split | |
Luo et al. | Asymmetric Framework Evolution of Named Data Networking and Use Cases in VANET | |
Martucci et al. | Chameleon and the identity-anonymity paradox: Anonymity in mobile ad hoc networks | |
Chou et al. | WSN09-5: Anonymous Peer-to-peer Communication Protocol over Mobile Ad-hoc Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |