Internet Engineering Task Force (IETF)                      G. Camarillo
Request for Comments: 6028                                    A. Keranen
Category: Experimental                                          Ericsson
ISSN: 2070-1721                                             October 2010
        
Internet Engineering Task Force (IETF)                      G. Camarillo
Request for Comments: 6028                                    A. Keranen
Category: Experimental                                          Ericsson
ISSN: 2070-1721                                             October 2010
        

Host Identity Protocol (HIP) Multi-Hop Routing Extension

主机标识协议(HIP)多跳路由扩展

Abstract

摘要

This document specifies two extensions to the Host Identity Protocol (HIP) to implement multi-hop routing. The first extension allows implementing source routing in HIP. That is, a node sending a HIP packet can define a set of nodes that the HIP packet should traverse. The second extension allows a HIP packet to carry and record the list of nodes that forwarded it.

本文档指定了主机标识协议(HIP)的两个扩展,以实现多跳路由。第一个扩展允许在HIP中实现源路由。也就是说,发送HIP数据包的节点可以定义HIP数据包应该遍历的一组节点。第二个扩展允许HIP数据包携带并记录转发它的节点列表。

Status of This Memo

关于下段备忘

This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation.

本文件不是互联网标准跟踪规范;它是为检查、实验实施和评估而发布的。

This document defines an Experimental Protocol for the Internet community. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.

本文档为互联网社区定义了一个实验协议。本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。并非IESG批准的所有文件都适用于任何级别的互联网标准;见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6028.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6028.

Copyright Notice

版权公告

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2010 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。

Table of Contents

目录

   1. Introduction ....................................................2
   2. Terminology .....................................................3
      2.1. Requirements Language ......................................3
      2.2. Definitions ................................................3
   3. Protocol Definitions ............................................3
      3.1. Creating and Processing Via Lists ..........................4
      3.2. Creating Destination Lists .................................4
      3.3. Processing Destination Lists ...............................5
      3.4. Fragmentation Considerations ...............................5
   4. Packet Formats ..................................................5
      4.1. Source and Destination Route List Parameters ...............6
   5. IANA Considerations .............................................7
   6. Security Considerations .........................................8
      6.1. Forged Destination and Via Lists ...........................8
      6.2. Forwarding Loops ...........................................8
   7. Acknowledgments .................................................9
   8. References ......................................................9
      8.1. Normative References .......................................9
      8.2. Informative References .....................................9
        
   1. Introduction ....................................................2
   2. Terminology .....................................................3
      2.1. Requirements Language ......................................3
      2.2. Definitions ................................................3
   3. Protocol Definitions ............................................3
      3.1. Creating and Processing Via Lists ..........................4
      3.2. Creating Destination Lists .................................4
      3.3. Processing Destination Lists ...............................5
      3.4. Fragmentation Considerations ...............................5
   4. Packet Formats ..................................................5
      4.1. Source and Destination Route List Parameters ...............6
   5. IANA Considerations .............................................7
   6. Security Considerations .........................................8
      6.1. Forged Destination and Via Lists ...........................8
      6.2. Forwarding Loops ...........................................8
   7. Acknowledgments .................................................9
   8. References ......................................................9
      8.1. Normative References .......................................9
      8.2. Informative References .....................................9
        
1. Introduction
1. 介绍

When the Host Identity Protocol (HIP) [RFC5201] is used in certain contexts, nodes need the ability to perform source routing. That is, a node needs the ability to send a HIP signaling packet that will traverse a set of nodes before reaching its destination. Such features are needed, e.g., in the HIP-Based Overlay Networking Environment (HIP BONE) [HIP-BONE] or if two nodes wish to keep a third, or more, HIP nodes on the signaling path. This document defines an extension that provides HIP with this functionality.

当在某些上下文中使用主机标识协议(HIP)[RFC5201]时,节点需要能够执行源路由。也就是说,节点需要能够发送HIP信令分组,该分组将在到达其目的地之前遍历一组节点。例如,在基于HIP的覆盖网络环境(HIP-BONE)[HIP-BONE]中,或者如果两个节点希望在信令路径上保持第三个或更多个HIP节点,则需要此类特征。本文档定义了为HIP提供此功能的扩展。

Additionally, when HIP signaling packets are routed through multiple nodes, some of these nodes (e.g., the destination host) need the ability to know the nodes that a particular packet traversed. This document defines another extension that provides HIP with this functionality.

此外,当HIP信令分组通过多个节点路由时,其中一些节点(例如,目的地主机)需要能够知道特定分组所经过的节点。本文档定义了为HIP提供此功能的另一个扩展。

These two extensions enable multi-hop routing in HIP. Before these extensions were specified, there were standardized ways for supporting only a single intermediate node (e.g., a rendezvous server [RFC5204]) between the source of a HIP packet and its destination.

这两个扩展支持HIP中的多跳路由。在指定这些扩展之前,存在仅支持HIP数据包源与其目的地之间的单个中间节点(例如,会合服务器[RFC5204])的标准化方法。

2. Terminology
2. 术语
2.1. Requirements Language
2.1. 需求语言

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[RFC2119]中所述进行解释。

2.2. Definitions
2.2. 定义

The following terms used in this document are similar to those defined by REsource LOcation And Discovery (RELOAD) [P2PSIP-BASE] but are used here in the context of HIP.

本文档中使用的以下术语与资源定位和发现(重新加载)[P2PSIP-BASE]定义的术语类似,但在HIP上下文中使用。

Destination list: A list of Host Identity Tags (HITs) of the nodes that a HIP packet should traverse.

目的地列表:HIP数据包应该遍历的节点的主机标识标签(HITs)列表。

Via list: A list of HITs of the nodes that a HIP packet has traversed.

Via list:HIP数据包经过的节点的点击列表。

Symmetric routing: A response to a message is routed back using the same set of intermediary nodes as the original message used, except in reversed order. Also known as symmetric recursive routing.

对称路由:对消息的响应使用与原始消息相同的中间节点集路由回,但顺序相反。也称为对称递归路由。

3. Protocol Definitions
3. 协议定义

The multi-hop routing extensions may be used in different contexts, and whether a new HIP signaling packet should, for example, include a Via list or have different options enabled can depend on the particular use case, local policies, and different protocols using the extension. This section defines how the new parameters are handled, but when to use these extensions, or how to configure them, is out of scope for this document.

多跳路由扩展可以在不同的上下文中使用,并且新的HIP信令分组例如应该包括经由列表还是应该启用不同的选项可以取决于特定用例、本地策略和使用扩展的不同协议。本节定义了如何处理新参数,但何时使用这些扩展或如何配置这些扩展超出了本文档的范围。

3.1. Creating and Processing Via Lists
3.1. 通过列表创建和处理

When a node sending a HIP packet needs to record the nodes that are on the path that the HIP packet traverses, it includes an empty ROUTE_VIA parameter in the packet.

当发送HIP数据包的节点需要记录HIP数据包所经过的路径上的节点时,它在数据包中包含一个空的ROUTE_VIA参数。

A node that receives a packet with a ROUTE_VIA parameter SHOULD add its own HIT to the end of the ROUTE_VIA parameter, unless it is the final recipient of the packet. If the node uses a different HIT on the HIP association it used for receiving the packet than for sending it forward, it SHOULD also add the receiving HIT to the route list before the sending HIT.

接收带有ROUTE_VIA参数的数据包的节点应将其自身的HIT添加到ROUTE_VIA参数的末尾,除非它是数据包的最终接收者。如果节点在HIP关联上使用不同的命中,它用于接收数据包而不是转发数据包,那么它还应该在发送命中之前将接收命中添加到路由列表中。

If the node is the final recipient of the packet, and the received packet generates a response HIP packet, the node checks the SYMMETRIC flag from the ROUTE_VIA parameter. If the SYMMETRIC flag is set, the node MUST create a ROUTE_DST parameter from the ROUTE_VIA parameter, as described in Section 3.2, and include it in the response packet. Also, if an intermediary node generates a new HIP packet (e.g., an error NOTIFY packet) due to a HIP packet that had a ROUTE_VIA parameter with the SYMMETRIC flag set, and the new packet is intended for the sender of the original HIP packet, the node SHOULD construct and add a ROUTE_DST parameter into the new packet as in the previous case.

如果节点是分组的最终接收者,并且接收到的分组生成响应HIP分组,则节点检查来自ROUTE_VIA参数的对称标志。如果设置了对称标志,则节点必须根据ROUTE_VIA参数创建ROUTE_DST参数,如第3.2节所述,并将其包含在响应数据包中。此外,如果中间节点由于具有设置了对称标志的ROUTE_VIA参数的HIP分组而生成新的HIP分组(例如,错误通知分组),并且新分组是针对原始HIP分组的发送方的,则该节点应当像前面的情况一样构造ROUTE_DST参数并将其添加到新分组中。

3.2. Creating Destination Lists
3.2. 创建目的地列表

A node that needs to define the other nodes that should be on the path a HIP packet traverses adds a ROUTE_DST parameter to the HIP packet. The node may either decide the path independently, or it may create the path based on a ROUTE_VIA parameter. Only the originator of a signed HIP packet can add a ROUTE_DST parameter to the HIP packet, and none of the nodes on the path can modify it, since the parameter is covered by the signature.

需要定义HIP数据包所经过路径上的其他节点的节点向HIP数据包添加ROUTE_DST参数。节点可以独立决定路径,也可以基于ROUTE_VIA参数创建路径。只有签名HIP数据包的发起者可以向HIP数据包添加ROUTE_DST参数,并且路径上的任何节点都不能修改该参数,因为该参数由签名覆盖。

When a node creates a ROUTE_DST parameter due to receiving a packet with a ROUTE_VIA parameter, it copies all the HITs in the ROUTE_VIA parameter to the ROUTE_DST parameter, but in reversed order. This results in the HIP response packet being forwarded using the same path as the packet for which the response was generated. If exactly the same set of nodes should be traversed by the response packet, the MUST_FOLLOW flag (see Table 1) also SHOULD be set in the ROUTE_VIA parameter (and eventually copied to the ROUTE_DST parameter) to prevent the response packet from possibly skipping some nodes on the list.

当节点由于接收到带有ROUTE_VIA参数的数据包而创建ROUTE_DST参数时,它会将ROUTE_VIA参数中的所有点击复制到ROUTE_DST参数,但顺序相反。这导致HIP响应数据包使用与生成响应的数据包相同的路径转发。如果响应数据包应遍历完全相同的一组节点,则还应在ROUTE_VIA参数中设置MUST_FOLLOW标志(见表1)(并最终复制到ROUTE_DST参数),以防止响应数据包可能跳过列表上的某些节点。

3.3. Processing Destination Lists
3.3. 处理目的地列表

When a node receives a HIP packet that contains a ROUTE_DST parameter, it first looks up its own HIT from the route list. If the node's own HIT is not in the list and the node is not the receiver of the packet, the packet was incorrectly forwarded and MUST be dropped. If the node's HIT is in the list more than once, the list is invalid and the packet MUST be dropped to avoid forwarding loops. The next hop for the packet is the HIT after the node's own HIT in the list. If the node's HIT was the last HIT in the list, the next hop is the receiver's HIT in the HIP header.

当节点接收到包含ROUTE_DST参数的HIP数据包时,它首先从路由列表中查找自己的命中率。如果节点自己的命中不在列表中,并且节点不是数据包的接收者,则数据包被错误转发,必须丢弃。如果节点的命中多次出现在列表中,则列表无效,必须丢弃数据包以避免转发循环。数据包的下一个跃点是列表中节点自身命中之后的命中。如果节点的命中是列表中的最后一次命中,则下一跳是接受者在髋部头部的命中。

If the MUST_FOLLOW flag in the ROUTE_DST parameter is not set, the node SHOULD check whether it has a valid locator for one of the nodes later in the list, or for the receiver of the packet, and it MAY select such a node as the next hop. If the MUST_FOLLOW flag is set, the node MUST NOT skip any nodes in the list.

如果ROUTE_DST参数中的MUST_FOLLOW标志未设置,则节点应检查其是否为列表中稍后的一个节点或数据包的接收器具有有效的定位器,并且可以选择这样的节点作为下一跳。如果设置了“必须跟随”标志,则节点不得跳过列表中的任何节点。

If the node has a valid locator for the next hop, it MUST forward the HIP packet to the next-hop node. If the node cannot determine a valid locator for the next-hop node, it SHOULD drop the packet and SHOULD send back a NOTIFY error packet with type UNKNOWN_NEXT_HOP (value 90). The Notification Data field for the error notifications SHOULD contain the HIP header of the rejected packet and the ROUTE_DST parameter.

如果节点具有下一跳的有效定位器,则必须将HIP数据包转发到下一跳节点。如果节点无法确定下一跳节点的有效定位器,则应丢弃该数据包并发回类型为UNKNOWN_next_hop(值90)的NOTIFY error数据包。错误通知的通知数据字段应包含被拒绝数据包的HIP头和ROUTE_DST参数。

3.4. Fragmentation Considerations
3.4. 碎片化考虑

Via and Destination lists with multiple HITs can substantially increase the size of the HIP packets, and thus fragmentation issues (see Section 5.1.3 of [RFC5201]) should be taken into consideration when these extensions are used. Via lists in particular should be used with care, since the final size of the packet is not known unless the maximum possible amount of hops is known beforehand. Both parameters do still have a maximum size based on the maximum number of allowed HITs (see Section 4.1).

具有多个点击的通路和目的地列表可显著增加HIP数据包的大小,因此在使用这些扩展时,应考虑碎片问题(见[RFC5201]第5.1.3节)。尤其应小心使用过孔列表,因为除非事先知道最大可能跳数,否则数据包的最终大小是未知的。这两个参数仍然有一个基于最大允许点击数的最大大小(见第4.1节)。

4. Packet Formats
4. 包格式

This memo defines two new HIP parameters that are used for recording a route via multiple nodes (ROUTE_VIA) and for defining a route that a packet should traverse by the sender of the packet (ROUTE_DST).

此备忘录定义了两个新的HIP参数,用于记录通过多个节点的路由(route_via)和定义数据包发送方应通过的路由(route_DST)。

The ROUTE_DST parameter is integrity protected with the signature (where present) but ROUTE_VIA is not, so that intermediary nodes can add their own HITs to the list. Both ROUTE_DST and ROUTE_VIA are critical parameters (as defined in Section 5.2.1 of [RFC5201]), since the packet will not be properly routed unless all nodes on the path recognize the parameters.

ROUTE_DST参数受签名(如果存在)的完整性保护,但ROUTE_VIA不受保护,因此中间节点可以将自己的点击添加到列表中。ROUTE_DST和ROUTE_VIA都是关键参数(如[RFC5201]第5.2.1节所定义),因为除非路径上的所有节点都识别参数,否则数据包将无法正确路由。

4.1. Source and Destination Route List Parameters
4.1. 源和目标路由列表参数
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Type              |             Length            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Flags             |            Reserved           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                            HIT #1                             |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     .                               .                               .
     .                               .                               .
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                            HIT #n                             |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Type              |             Length            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Flags             |            Reserved           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                            HIT #1                             |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     .                               .                               .
     .                               .                               .
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                            HIT #n                             |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Type ROUTE_DST: 4601 ROUTE_VIA: 64017 Length length in octets, excluding Type and Length (i.e., number-of-HITs * 16 + 4) Flags bit flags that can be used for requesting special handling of the parameter Reserved reserved for future use HIT Host Identity Tag of one of the nodes on the path

Type ROUTE_DST:4601 ROUTE_VIA:64017长度(以八位字节为单位),不包括类型和长度(即点击数*16+4)标志位标志,该标志位标志可用于请求特殊处理为将来使用而保留的参数路径上一个节点的点击主机标识标记

Figure 1. Format of the ROUTE_VIA and ROUTE_DST Parameters

图1。ROUTE_VIA和ROUTE_DST参数的格式

Figure 1 shows the format of both ROUTE_VIA and ROUTE_DST parameters. The ROUTE_DST parameter, if present, MUST have at least one HIT, but the ROUTE_VIA parameter can also have zero HITs. The ROUTE_DST and ROUTE_VIA parameters SHALL NOT contain more than 32 HITs. The Flags

图1显示了ROUTE_VIA和ROUTE_DST参数的格式。ROUTE_DST参数(如果存在)必须至少有一次命中,但ROUTE_VIA参数也可以没有命中。ROUTE_DST和ROUTE_VIA参数的点击次数不得超过32次。旗帜

field is used for requesting special handling for Via and Destination lists. The flags defined in this document are shown in Table 1. The Reserved field can be used by future extensions; it MUST be zero when sending and ignored when receiving this parameter.

字段用于请求对Via和目的地列表进行特殊处理。本文件中定义的标志如表1所示。保留字段可供将来的扩展使用;发送时必须为零,接收时忽略此参数。

   +-----+-------------+-----------------------------------------------+
   | Pos | Name        | Purpose                                       |
   +-----+-------------+-----------------------------------------------+
   |  0  | SYMMETRIC   | The response packet MUST be sent with a       |
   |     |             | ROUTE_DST list made from the ROUTE_VIA list   |
   |     |             | containing this flag, i.e., using symmetric   |
   |     |             | routing.                                      |
   |  1  | MUST_FOLLOW | All the nodes in a ROUTE_DST list MUST be     |
   |     |             | traversed, i.e., even if a node would have a  |
   |     |             | valid locator for a node beyond the next hop, |
   |     |             | it MUST NOT forward the packet there but to   |
   |     |             | the next-hop node.                            |
   +-----+-------------+-----------------------------------------------+
        
   +-----+-------------+-----------------------------------------------+
   | Pos | Name        | Purpose                                       |
   +-----+-------------+-----------------------------------------------+
   |  0  | SYMMETRIC   | The response packet MUST be sent with a       |
   |     |             | ROUTE_DST list made from the ROUTE_VIA list   |
   |     |             | containing this flag, i.e., using symmetric   |
   |     |             | routing.                                      |
   |  1  | MUST_FOLLOW | All the nodes in a ROUTE_DST list MUST be     |
   |     |             | traversed, i.e., even if a node would have a  |
   |     |             | valid locator for a node beyond the next hop, |
   |     |             | it MUST NOT forward the packet there but to   |
   |     |             | the next-hop node.                            |
   +-----+-------------+-----------------------------------------------+
        

Table 1. Bit Flags in ROUTE_VIA and ROUTE_DST Parameters

表1。ROUTE_VIA和ROUTE_DST参数中的位标志

The "Pos" column in Table 1 shows the bit position of the flag (as in Figure 1) in the Flags field, "Name" gives the name of the flag used in this document, and "Purpose" gives a brief description of the meaning of that flag.

表1中的“Pos”列显示了标志字段中标志的位位置(如图1所示),“Name”给出了本文件中使用的标志的名称,“Purpose”给出了该标志含义的简要说明。

The flags apply to both ROUTE_VIA and ROUTE_DST parameters, and when a ROUTE_DST parameter is added to a packet because of a ROUTE_VIA parameter, the same flags MUST be copied to the ROUTE_DST parameter.

这些标志同时适用于ROUTE_VIA和ROUTE_DST参数,并且当由于ROUTE_VIA参数而将ROUTE_DST参数添加到数据包时,必须将相同的标志复制到ROUTE_DST参数。

5. IANA Considerations
5. IANA考虑

This section is to be interpreted according to [RFC5226].

本节将根据[RFC5226]进行解释。

This document updates the IANA Registry for HIP Parameter Types [RFC5201] by assigning new HIP Parameter Type values for the new HIP Parameters: ROUTE_VIA and ROUTE_DST (defined in Section 4). This document also defines a new Notify Packet Type [RFC5201], UNKNOWN_NEXT_HOP, in Section 3.3.

本文件通过为新HIP参数分配新的HIP参数类型值来更新IANA HIP参数类型注册表[RFC5201]:ROUTE_VIA和ROUTE_DST(定义见第4节)。本文件还在第3.3节中定义了一种新的通知包类型[RFC5201],未知下一跳。

The ROUTE_DST and ROUTE_VIA parameters utilize bit flags, for which IANA has created and now maintains a new sub-registry entitled "HIP Via Flags" under the "Host Identity Protocol (HIP) Parameters" registry. Initial values for the registry are given in Table 1; future assignments are to be made through IETF Review or IESG Approval [RFC5226]. Assignments consist of the bit position and the name of the flag.

ROUTE_DST和ROUTE_VIA参数利用位标志,IANA已为其创建并在“主机标识协议(HIP)参数”注册表下维护一个名为“HIP VIA标志”的新子注册表。表1给出了注册表的初始值;未来的任务将通过IETF审查或IESG批准[RFC5226]进行。赋值由位位置和标志名称组成。

6. Security Considerations
6. 安全考虑

The standard HIP mechanisms (e.g., using signatures, puzzles, and the ENCRYPTED parameter [RFC5201]) provide protection against eavesdropping; replay; message insertion, deletion, and modification; and man-in-the-middle attacks. Yet, the extensions described in this document allow nodes to route HIP messages via other nodes and hence possibly try to mount Denial-of-Service (DoS) attacks against them. The following sections describe possible attacks and means to mitigate them.

标准HIP机制(例如,使用签名、谜题和加密参数[RFC5201])提供了防止窃听的保护;重播;消息插入、删除和修改;中间人攻击。然而,本文档中描述的扩展允许节点通过其他节点路由HIP消息,因此可能会尝试对其发起拒绝服务(DoS)攻击。以下各节描述了可能的攻击以及缓解这些攻击的方法。

6.1. Forged Destination and Via Lists
6.1. 伪造目的地和途经名单

The Destination list is protected by the HIP signature so that the receiver of the message can check that the list was indeed created by the sender of the message and not modified on the path. Also, the nodes forwarding the message MAY check the signature of the forwarded packets if they have the Host Identity (HI) of the sender (e.g., from an I2 or R1 message [RFC5201]) and drop packets whose signature check fails. With forwarding nodes checking the signature and allowing messages to be forwarded only from nodes for which there is an active HIP association, it is also possible to reliably identify attacking nodes.

目的地列表由HIP签名保护,以便消息的接收者可以检查列表是否确实是由消息的发送者创建的,而不是在路径上修改的。此外,转发消息的节点如果具有发送方的主机标识(HI)(例如,来自I2或R1消息[RFC5201]),则可以检查转发的分组的签名,并且丢弃签名检查失败的分组。通过转发节点检查签名并允许仅从具有活动HIP关联的节点转发消息,还可以可靠地识别攻击节点。

The limited amount of HITs allowed in a Destination list limits the impact of attacks using a forged Destination list, and the attacker also needs to know a set of HIP nodes that are able to route the message hop-by-hop for the attack to be effective.

目标列表中允许的有限点击量限制了使用伪造目标列表的攻击的影响,攻击者还需要知道一组能够逐跳路由消息的HIP节点,才能使攻击有效。

A forged Via list results in a similar attack as with the Destination list and with similar limitations. However, in this attack the Destination list generated from the Via list is validly signed by the responding node. To limit the effect of this kind of attack, a responding node may further decrease the maximum acceptable number of nodes in the Via lists or allow only certain HITs in the lists. However, using these mechanisms requires either good knowledge of the overlay network (i.e., maximum realistic amount of hops) or knowing the HITs of all potential nodes forwarding the messages.

伪造的Via列表会导致与目标列表类似的攻击,并且具有类似的限制。然而,在此攻击中,由Via列表生成的目的地列表由响应节点有效签名。为了限制此类攻击的影响,响应节点可进一步减少通过列表中的最大可接受节点数,或仅允许列表中的某些命中。然而,使用这些机制需要很好地了解覆盖网络(即最大实际跳数),或者知道转发消息的所有潜在节点的命中率。

6.2. Forwarding Loops
6.2. 转发循环

A malicious node could craft a destination route list that contains the same HIT more than once and thus create a forwarding loop. The check described in Section 3.3 should break such loops, but nodes MAY in addition utilize the OVERLAY_TTL [HIP-BONE] parameter for additional protection against forwarding loops.

恶意节点可以多次创建包含相同命中的目标路由列表,从而创建转发循环。第3.3节中所述的检查应中断此类循环,但节点还可利用OVERLAY_TTL[HIP-BONE]参数对转发循环进行额外保护。

7. Acknowledgments
7. 致谢

Tom Henderson provided valuable comments and improvement suggestions for this document.

Tom Henderson为本文件提供了宝贵的意见和改进建议。

8. References
8. 工具书类
8.1. Normative References
8.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[RFC5201] Moskowitz, R., Nikander, P., Jokela, P., Ed., and T. Henderson, "Host Identity Protocol", RFC 5201, April 2008.

[RFC5201]Moskowitz,R.,Nikander,P.,Jokela,P.,Ed.,和T.Henderson,“主机身份协议”,RFC 52012008年4月。

8.2. Informative References
8.2. 资料性引用

[RFC5204] Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) Rendezvous Extension", RFC 5204, April 2008.

[RFC5204]Laganier,J.和L.Eggert,“主机身份协议(HIP)会合扩展”,RFC 52042008年4月。

[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008.

[RFC5226]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 5226,2008年5月。

[HIP-BONE] Camarillo, G., Nikander, P., Hautakorpi, J., Keranen, A., and A. Johnston, "HIP BONE: Host Identity Protocol (HIP) Based Overlay Networking Environment", Work in Progress, June 2010.

[HIP-BONE]Camarillo,G.,Nikander,P.,Hautakorpi,J.,Keranen,A.,和A.Johnston,“HIP-BONE:基于主机身份协议(HIP)的覆盖网络环境”,正在进行的工作,2010年6月。

[P2PSIP-BASE] Jennings, C., Lowekamp, B., Ed., Rescorla, E., Baset, S., and H. Schulzrinne, "REsource LOcation And Discovery (RELOAD) Base Protocol", Work in Progress, March 2010.

[P2PSIP-BASE]Jennings,C.,Lowekamp,B.,Ed.,Rescorla,E.,Baset,S.,和H.Schulzrinne,“资源定位和发现(重新加载)基础协议”,正在进行的工作,2010年3月。

Authors' Addresses

作者地址

Gonzalo Camarillo Ericsson Hirsalantie 11 02420 Jorvas Finland

冈萨洛·卡马里洛·爱立信Hirsalantie 11 02420约瓦斯芬兰

   EMail: Gonzalo.Camarillo@ericsson.com
        
   EMail: Gonzalo.Camarillo@ericsson.com
        

Ari Keranen Ericsson Hirsalantie 11 02420 Jorvas Finland

Ari Keranen Ericsson Hirsalantie 11 02420 Jorvas Finland

   EMail: Ari.Keranen@ericsson.com
        
   EMail: Ari.Keranen@ericsson.com