CN102132532B - 用于避免不需要的数据分组的方法和装置 - Google Patents
用于避免不需要的数据分组的方法和装置 Download PDFInfo
- Publication number
- CN102132532B CN102132532B CN200880130849.3A CN200880130849A CN102132532B CN 102132532 B CN102132532 B CN 102132532B CN 200880130849 A CN200880130849 A CN 200880130849A CN 102132532 B CN102132532 B CN 102132532B
- Authority
- CN
- China
- Prior art keywords
- key
- router
- label
- packet
- end host
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 83
- 230000008878 coupling Effects 0.000 claims description 38
- 238000010168 coupling process Methods 0.000 claims description 38
- 238000005859 coupling reaction Methods 0.000 claims description 38
- 238000012546 transfer Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 30
- 238000006116 polymerization reaction Methods 0.000 description 11
- 230000008676 import Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了用于控制分组交换网中的数据分组传输的方法和装置。当第一终端主机(A)向DNS系统(300)发送针对第二终端主机的地址查询时,如果第一终端主机(A)被授权向第二终端主机发送分组,所述DNS系统通过提供根据针对第二终端主机注册的目的地键创建的发送方键,做出响应。从而,如果被授权,则第一终端主机能够通过将根据发送方键生成的发送方标签(TAG)作为入口标签附着至每个所传输的数据分组,将数据分组传播至第二终端主机。网络中的路由器(302)将接收到的分组中的入口标签与转发表中的表项进行匹配,并根据匹配表项在输出端口(X)上发出分组。否则,如果在表中未找到匹配项,则路由器丢弃该分组。
Description
技术领域
本发明总体涉及一种用于控制公共分组交换网(如互联网)中的数据分组传输以便可以避免不需要的数据分组的方法和装置。
背景技术
数字编码的信息通过IP(互联网协议)网络在不同方之间的基于分组的传输用于多种通信服务,如电子邮件消息收发、互联网浏览、语音和视频电话、内容流传输、游戏等等。在发送方处将数字编码的信息配置于数据分组中,然后通过传输路径向目标接收方传输该数据分组。发送方和接收方之间的传输路径可以包括各种网络、交换机、网关、路由器和接口。通信方通常被称作“终端主机”,其可以是能够进行基于分组的IP通信的任何类型的装置,如固定和移动电话、计算机、服务器、游戏台等。在本说明书中,术语“终端主机”将一般地表示任何这样的通信装置。
典型地,与互联网或其他IP网络相连接的终端主机已被分配了转发标识,该转发标识具有将以该终端主机为导向的任何数据分组沿传输路径进行路由所需的IP地址的形式。典型地,终端主机还已被分配了以文本字符串的形式存在的或多或少可理解的名称,例如传统的电子邮件地址或web地址,如useroperator.com,其与实际用户/终端主机或代表该用户接收消息的某其他主机的所分配的IP地址相关联。包括DNS(域名服务器)服务器层级的DNS系统用于取回特定主机名称的当前IP地址。因此,终端主机可以向DNS系统查询要与之通信的主机名称,然后,DNS将通过提供对应终端主机的当前IP地址来进行应答。这种类型的查询有时称作目的地查询、标识查询或地址查询,在整个本说明书中使用后者。
数据分组基本上是利用包含有效载荷数据在内的数据字段以及首部字段来配置的,其中,发送终端主机将目标终端主机的目的地地址(即,从DNS系统获得的IP地址)插入该首部字段中。因此,基于分组的首部字段中的目的地地址,将每个数据分组沿合适的传输路径路由通过多个网络节点(一般称作IP路由器)。
除了简单地接收和转发数据分组外,IP路由器还可能能够执行其他功能,如安全功能、分组调度、以及地址和协议的转换。此外,终端主机可以具有:过滤器/防火墙功能,用于例如根据典型地由与终端主机相关联的用户或管理员进行的设置,确定是应当接纳还是应当丢弃传入的数据分组。
典型地,IP网络中的每个路由器包括:入口单元和出口单元,分别充当用于接收和发送数据分组的接口。路由器还包括:路由或转发功能,用于基于路由器中定义的转发表,确定应当将传入的数据分组发送至哪个路由器作为“下一跳”。如本领域公知的,通常可以根据网络拓扑和当前业务负载将数据分组沿多个备选路径进行路由。
通过对应的端口,在每个路由器中提供到“最近的”相邻路由器的链路,并且,基于拓扑信息和链路信息的分发,还在路由器中配置了转发架构。每个端口可以在其接口上配置IP地址和IP掩码,路由协议用于在配置过程中在网络中的路由器之间分发该信息。然后,根据所分发的拓扑信息,每个路由器计算其自身的转发表,包含多个目的地IP地址和关联的传出端口。由于每个传入数据分组在其首部中具有目的地IP地址,因此使用转发表,根据该IP地址,在转发表中查找合适的表项。因此,转发表的主要功能是:针对每个传入分组,确定导向至下一跳路由器的适当的传出端口。
在图1中,示出了传统IP路由器100在位于IP网络中时的基本结构。其中,IP路由器100包括入口部分100a、出口部分100b、以及这里由转发表100c示意性地表示的转发功能。出口部分100b包括:多个传出端口PA、PB、PC……,分别导向至与路由器100直接相连的不同的相邻路由器A、B、C……。任何传入数据分组102具有有效载荷字段PL和首部H,后者包含分组的目的地地址。
转发表100c由多个表项构成,其中每个表项包含IP掩码、IP地址和传出端口号。IP掩码可以是以诸如FF.FF.FF.0或FF.FF.8.0等十六进制的编码字符串来定义的。简要地说,通过应用逻辑“与”运算,将首部H中的目的地地址与转发表100c中的IP掩码进行组合,以检测具有相同IP地址的匹配表项。该掩码机制的目的在于:对去往多个不同目的地的业务进行聚合(aggregate);以及针对该聚合,简化传出端口的标识。事实上,当将目的地地址与表项进行比较和匹配时,比特掩码与“通配符”的作用类似。一旦找到匹配表项,就可以根据该表项的端口号,在传出端口上发出分组。
因此,在入口单元100a处首先接收可能已从前一路由器(未示出)转发至路由器100的传入数据分组102。然后,基于首部H中的目的地地址并使用转发表100c和上述逻辑“与”运算,确定应当将分组发送至哪个下一路由器。在本示例中,传入分组102的目的地IP地址在与掩码进行组合时,与转发表100c中具有端口号PC的表项的IP地址。因此,在与路由器C相连接的对应端口上发出分组102。
如上所述,路由协议用于在IP网络中的路由器之间分发拓扑和链路信息。当前使用的路由协议被配置为获得“恢复力(resilience)”,即,在原始路径中发生链路或节点故障的情况下,必须在不同路径中对分组进行重新路由。路由协议还被配置为便于路由器管理,这是由于典型地对路由器进行配置是一般期望被简化的麻烦的任务。因此,在检测到链路或节点的故障的情况下,路由协议将对受影响的路由器中的转发表进行重新配置,同时将信息分发给路由器,从而简化管理。为了获得可扩缩性,其中可扩缩性依旧是路由架构中的固有问题,路由处理可以基于层级比特掩码方案使用业务聚合,这是本领域公知的,此处不必进一步描述。
然而,IP网络和互联网中的主要问题是:如以下所解释的,安全性支持一般是不足的。在某种意义上,上述恢复力有时可能使分组“太容易”通过网络。这是由于当前路由架构和协议最初是针对“友好”环境而设计的,即,假定在IP网络中没有“违法的”或“恶意的”用户进行通信,并且数据分组传输不必保护。然而,已经发现,必须或期望给IP架构增加各种安全方案,以保护所通信的数据,如低层上的IP-sec以及更高层上的TLS(传输层安全性)。这些协议可以提供对数据分组的认证和加密。此外,MPLS(多协议标签交换)是用于构建层3VPN(虚拟专用网)以确保安全通信的方案。在VPN的情况下,当使用内联网时,需要专用寻址,并且网络在某种程度上与公共互联网隔离,使得不允许外部未授权主机到达并与附着至内联网的主机进行通信。
用于在路由协议中提供安全性的其他现有技术方案包括:在路由器之间进行安全通信,使得没有违法的实体能够窃听、操纵或模仿路由器;在路由器端口之间建立IP-sec隧道,以保护路由器之间的分组传输;以及层2的链路安全性,例如根据IEEE 802.1AE或IEEE 802.10。还可以使用采用密码密钥的各种认证过程,例如,根据DNSSec(DNS安全性)、HIP(主机标识协议)和CGA(密码生成地址),以便增强安全性。然而,尽管针对特定应用采取保护以对抗不需要的业务(例如,对电子邮件的垃圾邮件过滤),但是一般地,尚未在公共IP基础设施中提供对抗侵犯终端主机以及不需要的数据分组的基本保护。
由于以上述方式端到端地公开分发内部转发标识(即IP地址),因此任何终端主机基本上都能够通过互联网向任何其他终端主机发送消息和数据分组,从而导致洪泛、垃圾邮件、病毒、诈骗和所谓“拒绝服务”(DoS)威胁的公知问题。因此,已经普遍出现以下问题:任何终端主机可以在完全不受接收终端主机的控制的情况下传播数据分组,以及诸如互联网之类的公共分组交换网在IP基础设施中不具有用于防止将来自潜在违法或恶意的终端用户的数据分组路由至接收方的机制。
尽管在终端用户处或在链路层中可以增加或多或少复杂的功能,例如过滤器/防火墙等,以限制连接。然而,这些方案是“最后一道防线”方案,意味着尽管无论如何在接收方丢弃了分组,但是不需要的数据分组的传输仍可消耗沿整个发送器-接收器路径的网络资源。
发明内容
本发明的目的是解决上述问题中的至少一些。此外,本发明的目的是获得一种用于避免在分组交换网中传输不需要的数据分组的机制。这些目的以及其他目的是可以通过提供根据在所附独立权利要求中限定的方法和装置来实现的。
根据一方面,提供了一种路由器中的方法,用于控制分组交换网中的数据分组传输。当接收到包括使用路由器已知的第一标签导出函数TDF由发送方键或路由器键导出的入口标签在内的数据分组时,对接收到的入口标签以及转发表中的至少一个表项执行匹配操作。表项包括入口键和对应的传出端口号。所述匹配操作是使用第一TDF确定接收到的入口标签是否与表项中的入口键相匹配来执行的。如果找到了匹配表项,则将分组从所述匹配表项中指示的传出端口发送至下一跳节点。否则,如果未找到匹配表项,则丢弃所述分组。
在一个实施例中,每个匹配操作包括:将第一TDF应用于转发表的行中的候选入口键,以导出候选入口标签。如果所述候选入口标签与所述分组中的接收到的入口标签满足预定关系,则视为找到匹配。所述预定关系可以是相等,即,如果所述候选入口标签与所述分组中的入口标签相等,则视为找到匹配。
在另一实施例中,出口标签是通过将第二标签导出函数TDF’应用于匹配表项中的出口键来创建的,所述出口标签在被发送至所述下一跳节点时附着至所述数据分组。
在另一实施例中,接收到的数据分组还包含指向转发表中的表项或表项集合的键索引,所述键索引用于针对匹配操作寻找合适的表项。
根据另一方面,提供了一种分组交换网的路由器中的装置,用于控制网络中的数据分组传输。所述路由器装置包括:入口单元,适于接收具有使用路由器已知的第一标签导出函数TDF由发送方键或路由器键导出的入口标签的数据分组。此外,标签匹配单元适于对接收到的入口标签以及转发表中的至少一个表项执行匹配操作,所述表项包括入口键和对应的传出端口号,使用第一TDF来确定接收到的入口标签是否与所述表项中的入口键相匹配。所述路由器装置还包括:出口单元,用于将数据分组发送至下一跳节点,其中,如果在转发表中找到匹配表项,则从匹配表项中指示的传出端口发送所述数据分组,否则,丢弃所述分组。
在一个实施例中,所述装置还包括:标签创建单元,适于通过将第二标签导出函数TDF’应用于所述匹配表项中的出口键来创建出口标签,以及在所述数据分组被发送至所述下一跳节点时将所述出口标签附着至所述数据分组。
根据另一方面,在DNS系统中提供了一种方法,用于控制分组交换网中的数据分组传输。针对终端主机注册目的地键,并将路由器键分发给网络中的路由器,每个路由器键是由表示终端主机的所注册的目的地键和/或由网络拓扑信息导出的。当从第一终端主机接收到与第二终端主机有关的地址查询时,通过将键导出函数KDF至少应用于与第二终端主机相关联的目的地键来创建发送方键。然后,将所述发送方键发送至第一终端主机,从而使第一终端主机能够通过将由所述发送方键生成的发送方标签附着至所传输的数据分组来将数据分组传播至第二终端主机,所述发送方标签将所述分组导向至第二终端主机。
在一个实施例中,为了处理查询,需要对第一终端主机进行认证,并且,如果第一终端主机未经认证,则拒绝所述查询。第一终端主机可能需要经由DHCP的授权,那么,DHCP服务器可以仅当第一终端主机经由DHCP授权时,才向第一终端主机提供查询DNSS服务器系统的方式。
在另一实施例中,将针对第二终端主机而定义的策略应用于所述查询,以确定第一终端主机是否被授权将数据分组发送至第一终端主机,并且如果第一终端主机未被授权,则拒绝所述查询。
在其他实施例中,所述发送方键是通过将KDF还应用于第一终端主机的标识和/或时间戳和/或应用于随机数来创建的。路由器键可以根据网络拓扑以及单个终端主机或多个终端主机的集合相对于网络拓扑的位置来表示那些终端主机。键索引可以被分发给网络中的路由器,每个键索引标识路由器键中的至少一个。
根据另一方面,在DNS服务器系统中提供了一种装置,用于控制分组交换网中的数据分组传输。DNS装置包括:主机数据库,用于注册与终端主机相关联的目的地键;以及路由器键管理器,适于将路由器键分发给路由器,每个路由器键是由表示终端主机的目的地键和/或由网络拓扑信息导出的。所述DNS装置还包括:地址查询管理器,适于从第一终端主机接收与第二终端主机有关的地址查询,通过将键导出函数至少应用于与第二终端主机相关联的目的地键来创建发送方键,并响应于地址查询,将所述发送方键发送至第一终端主机。从而,第一终端主机能够通过将根据所述发送方键生成的发送方标签附着至所传输的数据分组,将数据分组传播至第二终端主机,所述发送方标签将所述分组导向至第二终端主机。
根据另一方面,在由第一终端主机使用的终端主机设备中提供了一种方法,用于实现对分组交换网中的数据分组传输的控制。将针对第二终端主机的地址查询发送至DNS系统。响应于此,从所述DNS系统接收由与第二终端主机相关联的目的地键导出的发送方键,所述发送方键是通过将键导出函数KDF至少应用于与第二终端主机相关联的目的地键导出的。通过将标签导出函数TDF至少应用于接收到的发送方键来创建发送方标签。将所创建的发送方标签附着至以第二终端主机为导向的数据分组,所述数据分组被发送至第一跳路由器。
在一个实施例中,响应于所述查询,还从所述DNS系统接收用于标识第一跳路由器的转发表中的一个或多个路由器键的键索引,并且,所述键索引被附着至由第一终端主机传输至第二终端主机的数据分组。所述发送方标签可以通过将TDF还应用于至少分组中的有效载荷的一部分和/或应用于随机数来创建。
根据另一方面,在终端主机设备中提供了一种装置,由第一终端主机使用,用于实现对分组交换网中的数据分组传输的控制。所述装置包括:地址查询单元,适于将针对第二终端主机的地址查询发送至DNS系统,并从所述DNS系统接收由第二终端主机的目的地键导出的发送方键。所述装置还包括:标签创建单元,适于通过将标签导出函数TDF至少应用于接收到的发送方键来创建发送方标签;以及分组发送单元,适于将所述发送方标签附着至数据分组,然后将所述数据分组发送至第一跳路由器。
通过以下具体实施方式,本发明的其他可能的特征和优点将变得显而易见。
附图说明
现在将通过示例实施例并参照附图来更详细地描述本发明,附图中:
图1是示意了根据现有技术的、IP网络中的传统路由器的示意框图。
图2示意了可利用本发明的、将数据分组从发送终端主机A路由至接收终端主机B的典型传输路径情形。
图2a示意了根据一个实施例的示例转发表的一部分。
图3是示意了根据其他实施例的、发送终端主机A如何可以在第一跳路由器中传播数据分组的框图。
图4是根据另一实施例的、由DNS服务器系统执行的、控制分组交换网中数据分组传输的过程中的步骤的流程图。
图5是根据另一实施例的、由分组交换网中的分组发送终端主机执行的、实现对数据分组传输的控制的过程中的步骤的流程图。
图6是根据另一实施例的、由分组交换网中的路由器执行的、控制数据分组传输的过程中的步骤的流程图。
图7是更详细地示意了根据其他实施例的、分组交换网中的DNS服务器系统和路由器的示意框图。
图8是更详细地示意了根据另一实施例的终端用户装置的示意框图。
具体实施方式
本发明提供了一种机制,用于对通过分组交换网沿发送终端主机和接收终端主机之间的传输路径的数据分组传输进行控制。具体地,可以采用以下描述的方式保护终端主机免于接收不需要的数据分组。图2中示意性地示出了典型的传输路径情形,其中,在根据下述实施例传输数据分组时基本涉及以下节点:与第一跳路由器R1相连接的发送终端主机A、可潜在地用于传输路径中的多个中间路由器R、以及与接收终端主机B相连接的最后一跳路由器Rx;还涉及DNS服务器系统,用于处理地址查询Q,以及一般地将路由信息1分发给路由器。
根据下述实施例,可以将安全性方案构建至由网络中的路由器使用的转发架构的核心协议中。一般地,如上所述的,通过公共分组交换IP网络而传输的任何分组必须经过传输路径中的路由器的转发平面中的转发机制。通过将分组转发控制机制嵌入路由器中的转发平面内(如下所述),将有效地在IP基础设施中实施所得到的安全性,以控制对经过该路由器的任何分组的路由。
简要地说,使用与目标终端主机相关联的预定义的隐式目的地键以及与目的地键和网络拓扑相关联的预先配置的路由器键,而不使用用于将数据分组路由通过IP网络的显式IP地址。因此,DNS系统针对作为数据分组潜在接收方的终端主机注册这种目的地键,并响应于来自查询终端主机的针对目标终端主机的“地址查询”等,提供对应的发送方键而不是IP地址。在本说明书中,术语“地址查询”应当被理解为针对可用于授权将数据分组通信至目标终端主机的信息的任何查询。发送方键是通过将“键导出函数KDF”至少应用于目的地键,以及可选地还应用于查询终端主机的标识来创建的,以下将对其进行更详细的描述。因此,在发送方键中有效地“隐藏”了目的地键。
然后,查询终端主机还通过将“标签导出函数TDF”应用于发送方键来从所获得的发送方键导出发送方标签,并将该发送方标签插入至少正在进行的与接收目标终端主机的数据流或会话的每个所传输的数据分组的首部中。因此,该发送方标签隐式地对目标终端主机的目的地键进行编码。
此外,DNS系统基于所注册的目的地键和/或网络拓扑来创建不同的路由器键,并将路由器键分发给IP网络中的路由器。然后,路由器通过所分发的路由器键来配置其转发表。如上所示,所创建的路由器键可以依赖于网络拓扑,其中,路由器键可以指向网络中的目的地或路由器组以实现聚合,从而减小路由器中的转发表大小。可选地,DNS系统还可以分发键索引以包括在转发表中,每个键索引指向表中具有不同路由器键的一行或多行,以便于采用如下描述的方式进行转发操作。实际上,DNS系统基本上可以将键索引分配给每个路由器键。
因此,路由器中的转发表的表项具有路由器键、对应的传出端口、以及可选的键索引。在每个所传输的数据分组的首部中包括标签而不是IP地址,该标签是通过根据分组是从发送终端主机发送的还是由路由器转发的,将TDF应用于发送方键和/或路由器键来创建的。在本说明书中,所发送或转发的分组中的标签一般称作由“出口键”导出的“出口标签”,而接收到的分组中的标签称作“入口标签”。此外,“入口键”是由其导出了接收到的入口标签的那个键。
在由已接收到包含入口标签在内的数据分组的路由器执行的转发操作中,将入口标签与转发表中的入口键相匹配,并且,如果找到匹配表项,则选择该表项中的对应传出端口以发出分组。在传出端口上向下一跳路由器发出分组之前,还将由匹配表项中的出口键导出的新出口标签附着至分组首部。备选地,当根据执行转发操作的路由器中的转发表配置将分组转发至下一跳路由器时,可以重用接收到的分组的入口标签作为出口标签(即,不改变分组中的标签)。
如果在表中未找到匹配表项,则可以根据“缺省策略”来处理分组(例如,指示丢弃分组并且不再转发该分组)。典型地,如果不知道适当键的一些未经授权的发送终端主机试图传播插入有“伪”标签的数据分组,则路由器将采用这种策略。
当下一跳路由器接收到该分组时,基本上将重复上述过程。如果使用键索引,则接收到的分组的入口标签中的键索引将直接指向一个表项,或指向转发表中的有限表项集合,从而标识表项中的入口键。然后,路由器可以将上述匹配操作限制于由该键索引标识的入口键。
这样,通过不向未授权方暴露目的地/发送方/路由器键,不可能截获可由其他主机用于传播数据分组的显示终端主机地址或标识。因此,可以避免向那些终端主机发送未经请求的数据分组。因此,发送方和路由器键以及可选的键索引在由传输路径中的路由器执行的转发操作中是有用的,以下参照具体示例实施例对其方式进行更详细地描述。然而,应当注意,对这种键和标签的使用不必排除对用于路由数据分组的传统IP地址的使用,并且,可以在相同网络中很好地实现传统IP地址路由和本发明的键/标签路由。
图2a示意了可在本方案中使用的转发表,其中,示例表项或表行由“x”表示。该表具有多个列200-210,包括具有入口键索引“Iki”的第一列200,入口键索引“Iki”可以用于查找一个或多个适当的表项以执行匹配操作,即,将附着至传入分组的入口标签与表中的第二列202中出现的入口键“IK”相匹配。单个入口键索引可以指向表中的、匹配操作可以被局限于此的多个表项的集合。
第三列204包含出口键“EK”,一旦找到匹配表项,就要根据该出口键“EK”来创建新出口标签以包括在所转发的分组中。第四列206包含要附着至传出数据分组的出口键索引“EKi”,其实际上将被用作在由下一跳路由器接收到时的入口键索引。第五列208包含端口号“P”,该端口号“P”指示要在其上向下一跳路由器发出接收到的并且匹配的分组的端口。
最后,可选的第六列210可以包含:各种附加数据“D”,可以是策略规则等,例如“丢掉分组”、“使用缺省端口”、“使用聚合……”、“从DNS取回新的路由器键”、“请求前一跳路由器显式地认证自身”等。如果未使用键索引,则将自然省略列200和206。此外,可以在传输路径中的两个或更多个路由器上未改变地使用相同的标签作为出口和入口标签。在这种情况下,可以忽视列204和206,并且,接收具有入口标签的数据分组的每个路由器可以简单地通过将入口标签与列202中的入口键相匹配以在列208中找到合适的传出端口。然后,将入口标签重用为出口标签,并且,如果使用键索引,那么在将分组转发至下一跳路由器时,键索引也不改变。备选地,出口键EK可以与入口键IK相等,但仍执行对出口标签的新计算,例如包括如以下更详细描述的用于随机化出口标签的新随机数(nonce)。
图3是示意了根据一些示例实施例的、在具有特定网络拓扑的分组交换网中如何可以控制从终端主机A向目标终端主机(未示出)发送的数据分组的传输的框图。该过程被示为主要涉及终端主机A、与终端主机A直接相连接的DNS系统300和第一跳路由器302的一系列动作或步骤。
在第一步骤3:1中,将与各个终端主机B、C、D……相关联的目的地键注册和存储至DNS系统300中,其中,每个唯一目的地键实际上标识或“定义”对应的目的地,即终端主机。在该过程中,可以在终端主机和DNS系统之间的协定中确定目的地键,优选地在对终端主机进行认证之后确定目的地键。实际上,该步骤可以替代根据现有技术的将IP地址分配给终端主机。此外,在层级系统中不必布置目的地键,并且可以使用“平坦的”命名结构。
DNS系统300还在下一步骤3:2中由以上注册的目的地键和网络拓扑导出路由器键,并且还可以针对每个路由器键定义键索引。每个路由器键可以是由目的地键或由聚合目的地键的集合导出的,所述聚合基于网络拓扑和对应终端主机的位置。如果使用键索引,则每个键索引标识路由器键或路由器键的集合。然后,DNS系统300一般在另一步骤3:3中将路由器键和可选的键索引分发给网络的路由器域中的路由器,包括这里示出的路由器302。
接着,路由器能够相应地配置其自身的转发表,包括将用于转发传入数据分组的所分发的路由器键和可选键索引,从而创建网络中有用的转发架构。该转发操作将在稍后进行更详细的描述。基本上,包括在传入数据分组中的标签是与作为路由器键的入口键相对应的入口标签,而包括在传出数据分组中的标签是与作为路由器键的出口键相对应的出口标签。因此,路由器键可以是入口键或出口键,或者包括这两者。
如上所述,路由器键还可以表示单个目的地或者多个目的地的聚合集合。在后一种情况下,转发表中的表项的数目将实质性地减少。如果使用键索引,则可以以稍后描述的方式便于将传入分组的入口键与转发表中的路由器键进行匹配的操作。
可以在配置过程或以其他方式(例如,使用路由协议,如当在如上所述的路由器域中配置传统转发架构时)执行对与目的地键和网络拓扑相关联的路由器键以及可选的键索引的分发。然后,路由器可以基于所分发的路由器键和其他拓扑信息,利用包括不同入口和出口键以及传出端口在内的表项,配置其转发表。所分发的路由器键事实上可以包括入口键和出口键。特定键服务器可以负责将路由器键分发给域中的路由器,尽管这里为了简明而被示意为由DNS系统302进行的动作。然而,路由器键的分发可以以不同方式进行,例如,以由来自终端主机的地址查询触发的更加动态的方式,或者以稍后将对其进行描述的、响应于来自路由器的查询的方式。
返回至图3的示例,终端主机A期望与目标终端主机进行通信,并且在某时刻,在下一步骤3:4中,相应地以如上所述的传统方式向DNS系统300发送地址查询等,例如查阅目标终端主机的电子邮件地址或web地址。可选地,DNS系统302然后可以将针对目标终端主机而定义的策略应用于该查询,以确定查询终端主机是否被授权向目标终端主机发送数据分组。还可以应用其他策略(例如,指示通信的路由),以使用特定运营商网络和/或避开另一运营商网络,或使用特定服务,或将分组重新定向至另一接收方等等。
假定终端主机A得到授权并可以被允许向目标终端主机发送分组,那么DNS系统300取回与目标终端主机相关联的目的地键,并在接下来的步骤3:5中根据目的地键来创建发送方键。发送方键是通过将键导出函数KDF至少应用于目的地键以及可选地还应用于其他数据(如查询终端主机的标识、时间戳和/或用于随机化的随机数(通常称作“RAND”或“NONCE”))来创建的。这可以表达为:
Sender_key=KDF(Destination_key,<其他数据>) (1)
如果使用查询终端主机的标识作为(1)中的“其他数据”,则发送方键将与该终端主机唯一地关联。优选地,KDF可以是密码函数等。
然后,在另一步骤3:6中,DNS系统300响应于步骤3:4的查询,向终端主机A提供发送方键,使得终端主机A可以由其导出发送方标签并将附着有该发送方标签作为入口标签的数据分组发送至目标终端主机。终端主机A的第一跳路由器302还需要能够访问相同的发送方键,以对入口标签执行匹配操作,该入口标签是由发送终端主机生成的发送方标签。这可以在包括下述三个示例在内的不同备选选项中实现。
第一选项:假定使用键索引,并且DNS系统知道将使用哪个第一跳路由器,那么DNS系统300还可以在步骤3:6中向终端主机A提供预定义的键索引,该键索引与先前分发的路由器键(即,与目标终端主机的目的地相对应的键)相关。因此,该键索引指向第一跳路由器302的转发表中的正确的行或行集合,提供与合适下一跳路由器相连接的传出端口。
第二选项:路由器302可以在来自DNS系统300的、终端主机A已向目标终端主机发出地址查询的通知中接收在步骤3:5中创建的发送方键,或者路由器302可以在从终端主机A接收到第一数据分组时从DNS系统取得发送方键。然后,路由器302将通过添加发送方键以及还添加用于指示网络拓扑与业务目的地之间的关系的附加信息,重新配置其转发表,此处不必对此进一步描述。
第三选项:DNS系统300在步骤3:6中包括如在数据分组的所生成的发送方标签中要包括的、向终端主机A提供的发送方键的加密拷贝。这可以使用与“Kerberos”类似的方案而进行,其中,DNS系统300利用(仅)路由器已知的特定加密密钥来对发送方键的拷贝进行加密。
为了向目标终端主机发送数据分组,在下一步骤3:7中,终端主机A将预定义的第一标签导出函数TDF至少应用于接收到的发送方键,以便创建要作为出口标签插入所传输的分组中的发送方标签“TAG”。根据实现,TDF还可以被应用于诸如包含在所要发送的分组中的有效载荷数据、时间戳、和/或用于随机化的RAND或NONCE之类的“其他数据”。这可以表达为:
Sender_tag=TDF(Sender_key,<其他数据>) (2)
如果在“其他数据”中包括分组中的有效载荷,则发送方标签对于该分组将是唯一的。TDF可以是密码函数等。终端主机A可能已经被预先配置为在传输数据分组时使用TDF,或者在步骤3:6中可以将TDF与发送方键一起提交给终端主机A。此外,TDF也是网络中(至少对于第一跳路由器302是)已知的。根据不同选项,要使用的TDF 可以是预定的经协商的参数(例如,预先配置的网络范围内的以及带外的),或者,终端主机A可以从网络中已知的预定TDF集合中选择要使用的TDF,然后将该TDF的预定标识符包括在标签自身中。
如果在以上步骤3:6中从DNS系统300接收到对应的键索引,则终端主机A还可以将该对应的键索引包括在发送方标签中,以及,如果使用以上第三选项,则终端主机A还可以将发送方键的Kerberos加密拷贝包括在发送方标签中。将发送方标签附着至所传输的数据分组将有效地授权该分组通过网络被路由至其目的地。如果路由器检测到所接收到的数据分组不包含任何有效发送方标签,则不能对该分组进行授权并可以简单地丢弃该分组。
在另一步骤3:8中,终端主机A向目标终端主机发送附着有所创建的发送方标签“TAG”作为出口标签的数据分组,在使用键索引和其他数据时还可能发送它们,由路由器302处的入口部分302a进行接收。可以将发送方标签插入分组首部中的目的地字段中,正如传统地根据现有技术对目的地IP地址所进行的操作那样。当在路由器302处作为传入分组接收到发送方标签“TAG”时,发送方标签“TAG”是入口标签,并且如果使用键索引,则键索引是入口键索引。
到目前为止,已经假定,终端主机A被授权发送分组,此外,从遵照上述实施例的意义上讲(例如,根据三个选项之一),A是符合的。然而,还应当想到,当发送终端主机未被授权发送分组和/或不符合,并简单地尝试在没有DNS的协助下生成有效发送方标签时的情况。然而,通过适当地选择TDF作为强密码函数,任何这种伪造尝试将最可能是不成功的,从而能够被忽视。在本说明书中,假定终端主机A被授权且是符合的。
作为第一跳路由器,路由器302必须能够检测根据其创建了所附着的发送方标签的发送方键。这可以例如根据上述不同选项实现,以下对其进一步讨论:
在第一选项中:如果DNS系统300可以预测终端主机A要使用的第一跳路由器的标识,则DNS系统300可以简单地导出发送方键,使得第一跳路由器还能够使用其转发表中的现有表项,或使得路由器可以使用已在转发表中提供的聚合目的地。
在第二选项中:第一跳路由器302显式地从DNS系统300接收发送方键,例如通过在步骤3:8中接收到分组时或在步骤3:4-3:6之后来自DNS系统300的通知中取得发送方键。然后,可以将该键高速缓存在路由器中(例如作为对由表的更新),以准备从A接收其他分组。
在第三选项中:使用上述Kerberos方法,其中,DNS系统300在步骤3:6中包括向终端主机A提供的、通过例如路由器已知的“组加密密钥”KR加密的发送方键的拷贝。然后,终端主机A将该加密拷贝包括在所生成的发送方/入口标签中,其中,第一跳路由器可以通过使用KR进行解密来取回发送方键。
路由器302处的转发单元302b一般被配置为通过在转发单元302b中示意性地示出的转发表,对每个传入数据分组执行转发操作,以找到出口单元302c中的传出端口。在另一步骤3:9中,转发单元300b使用已知的第一标签导出函数TDF,对所附着的入口标签“TAG”和转发表中的不同入口键IK执行匹配操作,以在表中找到匹配表项。换言之,转发单元300b试图在表中一次针对一个表项将接收到的入口标签与入口键IK进行匹配。应当注意,在第一跳路由器中,表中的入口键将大部分与发送方键相对应。
更详细地,匹配操作可以包括:路由器将TDF应用于转发表的行中的“候选”入口键,以导出候选入口标签。如果该候选入口标签与分组中的入口标签满足预定关系,则视为找到匹配。该预定关系可以是相等,即,如果该候选入口标签与分组中的入口标签相同,则视为找到匹配。如果两个标签不匹配,则尝试表中的下一候选键,以此类推。如果在接收到的分组中包括入口键索引Iki,则仅必须对表中包含该入口键索引Iki在内的一个或多个表项执行匹配操作。因此,使用入口键索引Iki将有效地加速对每个接收到的数据分组的匹配操作。
如果在步骤3:9中找到匹配表项,则在接下来的步骤3:10中将该表项中的端口(在这种情况下是端口P(x))确定为分组的传出端口。如果在步骤3:9中未找到匹配表项,则不对分组进行授权,因而将在步骤3:10中丢弃该分组,从而停止转发任何这种分组。执行匹配操作将有效地验证分组以用于进一步传输。如果使用键索引,则可以仅通过键索引来找到合适端口并转发分组,尽管优选地为了安全性仍可以执行步骤3:9的匹配操作。
在下一步骤3:11中,在以上找到要在转发操作中授权的分组之后,转发单元302b将第二标签导出函数TDF’应用于匹配表项中的出口键EK,以获得附着至分组的新出口标签“TAG’”。如果下一跳路由器将也对该分组执行匹配操作,则下一跳路由器应当知道TDF’以实现匹配操作。TDF和TDF’可以是不同的或相等的函数。因此,新出口标签TAG’可以被表达为:
Egress_tag=TDF’(Egress router_key,<其他数据>) (3)
(3)中的“其他数据”可以是包含在所要发送的分组中的有效载荷数据和/或用于随机化的RAND或NONCE。
如果使用键索引,则在步骤3:11中还将匹配表项的出口键索引EKi附着至该分组,例如在分组首部的目的地字段中。然后,将在下一跳路由器中使用所附着的EKi作为入口键索引IKi,以在其转发表中找到相关行,从而执行匹配操作,以此类推。如上所述,可以在两个或更多个连续路由器之间使用未改变的入口/出口标签,从而基本上省略以上步骤3:11。
接着,在接下来的步骤3:12中将分组转发至出口单元302c的端口P(x)。最后,在最后一个步骤3:13中,在端口P(x)上发出附着有新出口标签TAG’的分组,作为下一跳。然后,下一跳路由器将能够将新入口标签TAG’与其转发表中的表项进行匹配,以采用与如上所述相同的方式确定下一跳。传输路径中与目标终端主机相连接的最后一个路由器Y可以不应用TDF来根据步骤3:11创建新出口标签,这是由于目标终端主机根本不需要读取目的地字段。
在步骤3:3中分发的、形成路由器中的转发表的基础的路由器键可以由DNS系统300定义如下:
Router_key=KDF(Destination_key,<其他数据>) (4)
在(4)的示例中,路由器键表示具有所讨论的目的地键的单个目的地,即,终端主机。然而,如果使用聚合,则路由器键可以根据网络拓扑和那些终端主机/目的地的位置来表示多个目的地(即,终端主机)的集合。但是,这种聚合的路由器键的创建是本发明范围之外的内容。此外,可以将标记、首部扩展等附着至数据分组,以指示分组的结构或格式,即,关于入口标签以及可选地还关于键索引。
还可以添加另外的安全性,以采用以下方式在DNS系统处对查询终端主机进行授权:最初,当终端主机向DNS系统发送地址查询时(例如在以上步骤3:2中),终端主机针对这种查询,必须知道DNS系统的地址或对应的目的地标识。DNS地址可以是公知的地址,但其也可以仅从作为本领域公知节点的DHCP(动态主机配置协议)服务器获得。在一个实施例中,DHCP服务器提供了进行查询所需的DNS的标签,其仅能在经由DHCP认证和授权之后由主机获得。如果地址查询缺少DNS的所需标签,则将拒绝查询,并防止查询终端主机向目标终端主机发送分组。这样,可以通过仅允许针对DNS/DHCP授权的终端主机在路由器中的转发过程中传播数据分组,来避免未经请求的数据分组。
图4是由DNS服务器系统(例如,图3中的DNS系统300)执行的、控制分组交换网中的数据分组传输的示例过程中的步骤的流程图。在第一步骤400中,针对不同终端主机注册目的地键,并将由目的地键和网络拓扑导出的路由器键分发给网络中的路由器。实际上,可以从DNS系统或从相关联的键服务器等分发路由器键。可以在配置过程中或以其他方式执行步骤400。
在下一步骤402中,在某时刻从第一终端主机接收到地址查询,基本上请求目标第二终端主机的目的地地址等。可以以例如如上所述的传统方式进行地址查询,例如,查阅目标终端主机的电子邮件地址或web地址。
在另一步骤404中,如果第一终端主机被授权向第二终端主机发送数据分组,则DNS系统通过将键导出函数KDF至少应用于与第二终端主机相关联的目的地键来创建发送方键。如果未被授权,则可以简单地拒绝查询。KDF可以被进一步应用于其他数据,如,应用于第一终端主机的标识,以使发送方键对于第一终端主机来说是唯一的,例如根据上述(1)。可选地,如上所述,为了处理该查询,可能需要经由DHCP对第一终端主机进行认证。
还可以应用针对第二终端主机而定义的策略,以确定查询终端主机是否被授权向第二终端主机发送数据分组。如果第一终端主机未被授权,则DNS系统可以拒绝该查询,如步骤404所示。在本示例中,第一终端主机实际上被授权向第二终端主机发送数据分组。如以上针对步骤3:4所述,还可以应用其他策略,如使用优选路由或避免非优选路由、使用特定服务、功能或服务质量级别、将分组重定向至另一接收方等等。
在最后的步骤406中,DNS系统响应于步骤402的查询,向第一终端主机发送所创建的发送方键。从而,第一终端主机能够通过将标签导出函数TDF应用于接收到的发送方键以基本上采用以上针对步骤3:7所述的方式获得发送方标签,来向第二终端主机传播数据分组,然后,将所获得的发送方标签附着至每个所传输的分组。
图5是由分组发送第一终端主机(例如图3中的终端主机A)执行的、实现对分组交换网中的数据分组路由的控制的示例过程中的步骤的流程图。在第一步骤500中,与图3中的步骤3:4相对应,第一终端主机向DNS系统发送针对第二终端主机的地址查询。响应于此,第一终端主机在与图3中的步骤3:6相对应的下一步骤502中从DNS系统接收由第二终端主机的目的地键导出的发送方键。还可能与发送方键一起,接收到指向第一跳路由器的转发表中的合适表项或行的键索引。
在接下来的步骤504中,与图3中的步骤3:7相对应,第一终端主机通过将预定义的TDF应用于接收到的发送方键来创建发送方标签。最后,第一终端主机在与图3中的步骤3:8相对应的步骤506中将所创建的发送方标签附着至通过网络传输的一个或多个数据分组。然后,第一跳路由器将能够基本上以上述方式,通过将接收到的发送方标签与其转发表中的表项进行匹配,确定合适的传出端口。
图6是由网络中的路由器(例如,图3中的路由器302)执行的、控制分组交换网中的数据分组传输的示例过程中的步骤的流程图。在第一步骤600中,路由器接收数据分组。该分组可能已从相邻路由器或从作为第一跳的发送终端主机传输。
在可选的下一步骤602中,可以检查该分组是否包含由DNS系统已提供的发送方键生成的入口标签,例如,如以上针对步骤3:7和步骤3:6所述。如果未找到这种入口标签,则可以在另一步骤604中丢弃该分组。另一方面,如果该分组包含入口标签,则在接下来的步骤606中,使用如以上针对步骤3:9所述的已知标签导出函数,对接收到的入口标签和转发表中的不同入口键执行匹配操作,以便在表中找到匹配表项。如果在转发表中使用键索引并且还将键索引附着至接收到的分组,则可以在该步骤中使用键索引将匹配操作限制于一个表项或仅几个表项,并快速地在表中找到正确表项。
在下一步骤608中,确定是否通过匹配操作在转发表中找到匹配键,例如以针对图3中的步骤3:9所述的方式。如果未找到,则在步骤610中丢弃该分组。如果找到匹配表项,则在另一步骤612中选择匹配表项中的端口作为分组的传出端口。然后,在步骤614中,通过将标签导出函数应用于匹配表项中的出口键来创建出口标签。最后,在最后一个所示步骤616中,将附着有所创建的新出口标签的分组从所确定的端口发送至下一跳节点。
如果使用键索引,则还可以将匹配表项中的出口键索引附着至该分组。然后,接收下一跳节点能够基本上重复根据以上步骤610-616的过程。如以上针对步骤3:11所述,可以在两个或更多个连续路由器之间不改变入口/出口标签。因此,根据实现,可以不必在传输路径中的所有路由器中执行步骤614,在这种情况下,在步骤616中发送附着有接收到的入口标签并且其被重用为出口标签的分组。
图7是更详细地示意了根据其他示例实施例的、DNS服务器系统700中的装置以及分组交换网中的路由器702中的用于控制网络中的数据分组传输的布置的逻辑框图。DNS服务器系统700包括:地址查询管理器700a,适于从第一终端主机接收地址查询Q,所述地址查询Q基本上请求针对目标第二终端主机的有用的发送方键。DNS服务器系统700还包括:主机数据库700b,用于一般地注册与终端主机相关联的目的地键。具体地,主机数据库700b适于提供针对第二终端主机注册的目的地键。主机数据库700b还可以保持用于指示哪些终端主机被授权向每个所注册的终端主机发送分组的信息。该信息可以包括针对所注册的终端主机而定义的策略,并确定查询终端主机是否被授权向特定目的地发送数据分组。
DNS服务器系统700还包括:路由器键管理器700c,适于创建路由器键以及可选的键索引,并将它们分发给网络中的路由器,包括路由器702。地址查询管理器700a还适于通过将KDF至少应用于第二终端主机的目的地键来创建发送方键,并响应于地址查询Q,向第一终端主机提供发送方键。从而,第一终端主机能够通过根据接收到的发送方键创建发送方标签并将发送方标签附着至被传输至第二终端主机的每个数据分组,向第二终端主机传播数据分组。接收到的发送方键可以仅对特定会话或数据流有效,使得第一终端主机必须获得用于与第二终端用户的任何其他会话或数据流的新发送方键。因此,在特定会话或数据流中将以上发送方标签附着至分组。
路由器702包括:入口部分704,适于从相邻节点(如网络中的另一路由器)或者直接从发送终端主机接收数据分组P。入口部分704还可以适于在有效入口标签被附着至分组的情况下接纳该分组,以及在未包括有效入口标签的情况下丢弃该分组。
路由器702还包括转发单元706,转发单元706包括转发表706a和标签匹配单元706b,标签匹配单元706b用于将接收到的入口标签与转发表706a中的入口键进行匹配,以确定分组的传出端口,例如,分别采用针对图3中的步骤3:9-3:10以及针对图6中的步骤606-612所述的方式。转发单元706还包括:标签创建单元706c,用于创建分组的出口标签。路由器702还包括:出口部分708,适于将分组从所确定的传出端口发送至下一跳节点(如另一相邻路由器),其中,所创建的新出口标签附着至该分组。
图8是更详细地示意了根据另一实施例的、实现对分组交换网中的数据分组传输的控制的终端用户装置800中的装置的示意框图。终端用户装置800包括:地址查询单元800a,适于将针对第二终端主机的地址查询“Q”发送至DNS系统“DNS”,并响应于该查询,从DNS系统接收由已针对第二终端主机注册的目的地键导出的发送方键。
终端用户装置800还包括:标签创建单元800b,适于通过将标签导出函数TDF至少应用于接收到的发送方键来创建发送方标签;以及分组发送单元800c,适于将发送方标签附着至数据分组P,然后将数据分组P发送至第一跳路由器R1。
应当注意,图7和8仅在逻辑意义上分别示意了DNS系统700、路由器702和终端用户装置800中的各个功能单元。然而,本领域技术人员实际上可以自由使用任何合适的软件和硬件手段来实现这些功能。因此,本发明一般不限于DNS服务器系统700、路由器702和终端用户装置800的所示结构。
在该方案中,路由器从而可以以上述方式将包括在接收到的数据分组中的入口标签与转发表中的路由或入口键进行匹配,以验证分组,同时找到正确的传出端口。如果在转发表的表项中找到匹配,则将该表项中的端口号确定为分组的正确传出端口。
所描述的实施例实现了在路由器中可使用可扩缩转发表的转发架构。还可以控制数据分组的路由以避免洪泛、垃圾邮件、病毒、诈骗、DoS攻击以及一般的未经请求的业务。尽管参照特定示例实施例描述了本发明,但说明书一般仅意在示意本发明的概念而不应被视为限制本发明的范围。本发明由所附权利要求限定。
Claims (15)
1.一种控制分组交换网中的数据分组传输的方法,包括由网络中的路由器(302、702)执行的以下步骤:
接收包括入口标签的数据分组,所述入口标签是使用路由器已知的第一标签导出函数TDF由发送方键或路由器键导出的,所述发送方键是由DNS系统将键导出函数KDF至少应用于目的地键创建的;
对接收到的入口标签以及转发表中的至少一个表项执行匹配操作,所述表项包括入口键和对应的传出端口号,使用所述第一TDF来确定接收到的入口标签是否与所述表项中的入口键相匹配;以及
如果在转发表中找到了匹配表项,则将分组从匹配表项中指示的传出端口发送至下一跳节点,如果未找到匹配表项,则丢弃所述分组。
2.根据权利要求1所述的方法,其中,每个匹配操作包括:将第一TDF应用于转发表的行中的候选入口键,以导出候选入口标签,并且,如果所述候选入口标签与所述分组中的接收到的入口标签满足预定关系,则视为找到匹配。
3.根据权利要求1或2所述的方法,其中,接收到的数据分组还包含指向转发表中的表项或表项集合的键索引,所述键索引用于针对匹配操作寻找合适的表项。
4.一种分组交换网的路由器(302、702)中的装置,用于控制网络中的数据分组传输,所述装置包括:
入口单元(704),适于接收包括入口标签的数据分组(P),所述入口标签是使用路由器已知的第一标签导出函数TDF由发送方键或路由器键导出的,所述发送方键是由DNS系统将键导出函数KDF至少应用于目的地键创建的;
标签匹配单元(706b),适于对接收到的入口标签以及转发表中的至少一个表项执行匹配操作,所述表项包括入口键和对应的传出端口号,使用所述第一TDF来确定接收到的入口标签是否与所述表项中的入口键相匹配;以及
出口单元(708),用于将数据分组(P’)发送至下一跳节点,其中,如果在转发表中找到匹配表项,则从匹配表项中指示的传出端口发送所述数据分组,如果未找到匹配表项,则丢弃所述分组。
5.根据权利要求4所述的装置,还包括:标签创建单元(706c),适于通过将第二标签导出函数TDF’应用于所述匹配表项中的出口键来创建出口标签,以及在所述数据分组被发送至所述下一跳节点时将所述出口标签附着至所述数据分组。
6.一种控制分组交换网中的数据分组传输的方法,包括由DNS系统(300、700)执行的以下步骤:
针对网络中的终端主机(B、C、D……)注册目的地键;
将路由器键分发给网络中的路由器(302),每个路由器键是由表示终端主机的所注册的目的地键和/或由网络拓扑信息导出的;
从第一终端主机(A)接收与第二终端主机有关的地址查询;
通过将键导出函数KDF至少应用于与第二终端主机相关联的目的地键来创建发送方键;
响应于所述地址查询,将所创建的发送方键发送至第一终端主机,从而使第一终端主机能够通过将根据所述发送方键生成的发送方标签附着至所传输的数据分组来将数据分组传播至第二终端主机,所述发送方标签将所传输的分组导向至第二终端主机。
7.根据权利要求6所述的方法,其中,为了处理查询,需要对第一终端主机进行认证,并且,如果第一终端主机未经认证,则拒绝所述查询。
8.根据权利要求7所述的方法,其中,第一终端主机需要经由DHCP的授权,并且,仅当第一终端主机经由DHCP授权时,DHCP服务器才向第一终端主机提供查询DNS系统的方式。
9.根据权利要求6至8中任一项所述的方法,其中,将针对第二终端主机而定义的策略应用于所述查询,以确定第一终端主机是否被授权将数据分组发送至第二终端主机,并且如果第一终端主机未被授权,则拒绝所述查询。
10.根据权利要求6至8中任一项所述的方法,其中,所述发送方键是通过将KDF还应用于第一终端主机的标识和/或时间戳、和/或随机数来创建的;和/或其中,所述路由器键根据网络拓扑以及单个终端主机或多个终端主机的集合相对于所述网络拓扑的位置来表示那些终端主机;和/或其中,键索引被分发给网络中的所述路由器,所述键索引中的每一个标识所述路由器键中的至少一个。
11.一种DNS系统(300、700)中的用于控制分组交换网中的数据分组传输的装置,所述装置包括:
主机数据库(700b),用于注册与终端主机相关联的目的地键;
路由器键管理器(700c),适于将路由器键分发给网络中的路由器(702),每个路由器键是由表示终端主机的目的地键和/或由网络拓扑信息导出的;以及
地址查询管理器(700a),适于从第一终端主机接收与第二终端主机有关的地址查询(Q),通过将键导出函数至少应用于与第二终端主机相关联的目的地键来创建发送方键,并响应于地址查询,将所述发送方键发送至第一终端主机,从而使第一终端主机能够通过将根据所述发送方键生成的发送方标签附着至所传输的数据分组,将数据分组传播至第二终端主机,所述发送方标签将所传输的数据分组导向至第二终端主机。
12.一种实现对分组交换网中的数据分组传输的控制的方法,包括由第一终端主机所使用的终端主机设备(A、800)执行的以下步骤:
将针对第二终端主机的地址查询发送至DNS系统(300、700);
响应于所述地址查询,从所述DNS系统接收发送方键,所述发送方键是通过将键导出函数KDF至少应用于第二终端主机的目的地键,由与第二终端主机相关联的目的地键导出的;
通过将标签导出函数TDF至少应用于接收到的发送方键来创建发送方标签;
将所创建的发送方标签附着至以第二终端主机为导向的数据分组;以及
将所述数据分组发送至第一跳路由器(302、R1)。
13.根据权利要求12所述的方法,其中,响应于所述查询,还从所述DNS系统接收用于标识第一跳路由器的转发表中的一个或多个路由器键的键索引,并且,所述键索引被附着至由第一终端主机传输至第二终端主机的数据分组。
14.根据权利要求12或13所述的方法,其中,所述发送方标签是通过将TDF还应用于分组中的有效载荷的至少一部分和/或随机数来创建的。
15.一种终端主机设备(A、800)中的装置,由第一终端主机使用,用于实现对分组交换网中的数据分组传输的控制,所述装置包括:
地址查询单元(800a),适于将针对第二终端主机的地址查询(Q)发送至DNS系统(300、700),并响应于所述查询,从所述DNS系统接收由第二终端主机的目的地键导出的发送方键;
标签创建单元(800b),适于通过将标签导出函数TDF至少应用于接收到的发送方键来创建发送方标签;以及
分组发送单元(800c),适于将所述发送方标签附着至数据分组(P),然后将所述数据分组发送至第一跳路由器(302、R1)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2008/050954 WO2010021577A1 (en) | 2008-08-22 | 2008-08-22 | Method and apparatus for avoiding unwanted data packets |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102132532A CN102132532A (zh) | 2011-07-20 |
CN102132532B true CN102132532B (zh) | 2014-05-21 |
Family
ID=41707336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880130849.3A Expired - Fee Related CN102132532B (zh) | 2008-08-22 | 2008-08-22 | 用于避免不需要的数据分组的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8576845B2 (zh) |
EP (1) | EP2316203A4 (zh) |
CN (1) | CN102132532B (zh) |
WO (1) | WO2010021577A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750304B2 (en) | 2010-04-16 | 2014-06-10 | Cisco Technology, Inc. | Controlling directional asymmetricity in wide area networks |
EP2652923B1 (en) * | 2010-12-13 | 2016-10-12 | Nec Corporation | Communication path control system, path control device, communication path control method, and path control program |
CN102281191B (zh) * | 2011-07-07 | 2015-02-04 | 武汉微创光电股份有限公司 | 非压缩视频的多播标签交换方法 |
CN102546387B (zh) * | 2011-10-31 | 2015-04-29 | 华为技术有限公司 | 一种数据报文的处理方法、装置及系统 |
CN103023778B (zh) * | 2012-12-05 | 2016-02-03 | 华为技术有限公司 | 路由选路方法及装置 |
US9825759B2 (en) * | 2013-07-08 | 2017-11-21 | Alcatel Lucent | Secure service management in a communication network |
US20160142269A1 (en) * | 2014-11-18 | 2016-05-19 | Cisco Technology, Inc. | Inline Packet Tracing in Data Center Fabric Networks |
KR102264992B1 (ko) | 2014-12-31 | 2021-06-15 | 삼성전자 주식회사 | 무선 통신 시스템에서 서버 할당 방법 및 장치 |
US10440054B2 (en) * | 2015-09-25 | 2019-10-08 | Perspecta Labs Inc. | Customized information networks for deception and attack mitigation |
US10148729B2 (en) * | 2016-03-22 | 2018-12-04 | Go Daddy Operating Company, LLC | Hosting provider hosting routes from a media repository |
DE112017004736T5 (de) * | 2016-09-21 | 2019-06-19 | Mavenir Systems, Inc. | Verfahren und System zur Sitzungs-Belastbarkeit in Paket-Gateways |
CN106453539B (zh) * | 2016-09-28 | 2019-04-05 | 广州市百果园网络科技有限公司 | 一种处理节点注册通知的方法和系统 |
CN108075910B (zh) * | 2016-11-11 | 2021-07-16 | 华为技术有限公司 | 一种通信设备的配置方法及通信设备 |
JP6984499B2 (ja) * | 2018-03-12 | 2021-12-22 | オムロン株式会社 | FA(Factory Automation)システム、コントローラ、および制御方法 |
US10862854B2 (en) | 2019-05-07 | 2020-12-08 | Bitdefender IPR Management Ltd. | Systems and methods for using DNS messages to selectively collect computer forensic data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000261486A (ja) * | 1999-03-10 | 2000-09-22 | Seiko Epson Corp | パケット通信システム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418504B2 (en) | 1998-10-30 | 2008-08-26 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
US6512768B1 (en) * | 1999-02-26 | 2003-01-28 | Cisco Technology, Inc. | Discovery and tag space identifiers in a tag distribution protocol (TDP) |
US7009969B1 (en) * | 1999-06-08 | 2006-03-07 | Cisco Technology, Inc. | Local area network and message packet for a telecommunications device |
US6816489B1 (en) * | 2000-10-05 | 2004-11-09 | Cisco Technology, Inc. | Efficient method for packet switching on asynchronous transfer mode switch based platforms |
US20020085565A1 (en) * | 2000-12-28 | 2002-07-04 | Maple Optical Systems, Inc. | Technique for time division multiplex forwarding of data streams |
US7031311B2 (en) * | 2001-07-23 | 2006-04-18 | Acme Packet, Inc. | System and method for providing rapid rerouting of real-time multi-media flows |
US7403999B2 (en) * | 2001-12-28 | 2008-07-22 | International Business Machines Corporation | Classification support system and method for fragmented IP packets |
JP3936883B2 (ja) * | 2002-04-08 | 2007-06-27 | 株式会社日立製作所 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
US7246231B2 (en) * | 2002-10-31 | 2007-07-17 | Ntt Docomo, Inc. | Location privacy through IP address space scrambling |
US20050169270A1 (en) * | 2003-03-19 | 2005-08-04 | Ryoichi Mutou | Router, frame forwarding method, and lower layer frame virtual forwarding system |
US7626985B2 (en) * | 2003-06-27 | 2009-12-01 | Broadcom Corporation | Datagram replication in internet protocol multicast switching in a network device |
US7343485B1 (en) * | 2003-09-03 | 2008-03-11 | Cisco Technology, Inc. | System and method for maintaining protocol status information in a network device |
EP1782246B1 (en) * | 2004-07-07 | 2020-02-12 | Sciencelogic, LLC | Self configuring network management system |
US7502923B2 (en) * | 2004-09-16 | 2009-03-10 | Nokia Corporation | Systems and methods for secured domain name system use based on pre-existing trust |
JP4547341B2 (ja) * | 2005-09-05 | 2010-09-22 | アラクサラネットワークス株式会社 | 通信品質制御機能を備えるパケット中継装置 |
US7730187B2 (en) * | 2006-10-05 | 2010-06-01 | Limelight Networks, Inc. | Remote domain name service |
US8311045B2 (en) * | 2006-04-07 | 2012-11-13 | Cisco Technology, Inc. | System and method for selectively applying a service to a network packet using a preexisting packet header |
US7965656B1 (en) * | 2006-05-31 | 2011-06-21 | Cisco Technology, Inc. | Building multipoint pseudo wires using a multipoint label distribution protocol (MLDP) |
KR101203471B1 (ko) * | 2006-06-29 | 2012-11-21 | 삼성전자주식회사 | 네트워크 브리지에서 이더넷 프레임을 전달하는 방법 및상기 브리지 장치 |
US7680956B2 (en) * | 2006-10-24 | 2010-03-16 | Cisco Technology, Inc. | Communicating additional information in a DNS update response by requesting deletion of a specific record |
US7839856B2 (en) * | 2007-06-06 | 2010-11-23 | Cisco Technology, Inc. | Centrally controlled routing with tagged packet forwarding in a wireless mesh network |
-
2008
- 2008-08-22 CN CN200880130849.3A patent/CN102132532B/zh not_active Expired - Fee Related
- 2008-08-22 US US13/059,515 patent/US8576845B2/en active Active
- 2008-08-22 WO PCT/SE2008/050954 patent/WO2010021577A1/en active Application Filing
- 2008-08-22 EP EP08813451.5A patent/EP2316203A4/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000261486A (ja) * | 1999-03-10 | 2000-09-22 | Seiko Epson Corp | パケット通信システム |
Also Published As
Publication number | Publication date |
---|---|
EP2316203A4 (en) | 2014-12-17 |
US20110142044A1 (en) | 2011-06-16 |
WO2010021577A1 (en) | 2010-02-25 |
US8576845B2 (en) | 2013-11-05 |
EP2316203A1 (en) | 2011-05-04 |
CN102132532A (zh) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102132532B (zh) | 用于避免不需要的数据分组的方法和装置 | |
CN101682656B (zh) | 用于保护数据分组的路由选择的方法和设备 | |
US8665874B2 (en) | Method and apparatus for forwarding data packets using aggregating router keys | |
Douligeris et al. | Network security: current status and future directions | |
Ahmed et al. | IPv6 neighbor discovery protocol specifications, threats and countermeasures: a survey | |
McPherson et al. | Architectural considerations of IP anycast | |
CN103701700A (zh) | 一种通信网络中的节点发现方法及系统 | |
CN102027726B (zh) | 用于控制数据分组的路由的方法和设备 | |
Rothenberg et al. | Self-routing denial-of-service resistant capabilities using in-packet Bloom filters | |
WO2011081588A1 (en) | Method and apparatus for secure routing of data packets | |
WO2015174100A1 (ja) | パケット転送装置、パケット転送システム及びパケット転送方法 | |
US20240137338A1 (en) | Border gateway protocol (bgp) flowspec origination authorization using route origin authorization (roa) | |
CN106027491B (zh) | 基于隔离ip地址的独立链路式通信处理方法和系统 | |
Wong et al. | Network infrastructure security | |
US8688077B2 (en) | Communication system and method for providing a mobile communications service | |
Akashi et al. | A vulnerability of dynamic network address translation to denial-of-service attacks | |
Simsek | On-Demand Blind Packet Forwarding | |
CN119449442A (zh) | 一种跨非协作域身份认证方法 | |
Cheng et al. | ANON: an IP-layer Anonymizing Infrastructure | |
CN101197659B (zh) | 主管加密式防攻击信息通讯网络安全防御方法及系统 | |
Sun et al. | The Application of Trust model in WLAN | |
Thaler et al. | Internet Architecture Board (IAB) D. McPherson Request for Comments: 7094 Verisign, Inc. Category: Informational D. Oran | |
Heikkinen | Applicability of Host Identities in Securing Network Attachment and Ensuring Service Accountability | |
Hsiao et al. | SCION: Scalability, Control, and Isolation On Next-Generation Networks (CMU-CyLab-10-020) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1157971 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1157971 Country of ref document: HK |
|
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: 20140521 Termination date: 20190822 |