Network Working Group                                         R. Ogier
Request for Comments: 5243                           SRI International
Category: Informational                                       May 2008
        
Network Working Group                                         R. Ogier
Request for Comments: 5243                           SRI International
Category: Informational                                       May 2008
        

OSPF Database Exchange Summary List Optimization

OSPF数据库交换摘要列表优化

Status of This Memo

关于下段备忘

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Abstract

摘要

This document describes a backward-compatible optimization for the Database Exchange process in OSPFv2 and OSPFv3. In this optimization, a router does not list a Link State Advertisement (LSA) in Database Description packets sent to a neighbor, if the same or a more recent instance of the LSA was listed in a Database Description packet already received from the neighbor. This optimization reduces Database Description overhead by about 50% in large networks. This optimization does not affect synchronization, since it only omits unnecessary information from Database Description packets.

本文档描述了OSPFv2和OSPFv3中数据库交换过程的向后兼容优化。在该优化中,如果在已经从邻居接收到的数据库描述分组中列出了相同或更近的LSA实例,则路由器不在发送给邻居的数据库描述分组中列出链路状态通告(LSA)。这种优化将大型网络中的数据库描述开销减少了约50%。这种优化不会影响同步,因为它只会从数据库描述数据包中省略不必要的信息。

1. Introduction
1. 介绍

In OSPFv2 [RFC2328] and OSPFv3 [RFC2740], when two neighboring routers become adjacent, they synchronize their link-state databases via the Database Exchange process. Each router sends the other router a set of Database Description (DD) packets that describes the router's link-state database. This is done by listing each LSA (i.e., including the header of each LSA) in one of the sent DD packets. This procedure allows each router to determine whether the other router has newer LSA instances that should be requested via Link State Request packets.

在OSPFv2[RFC2328]和OSPFv3[RFC2740]中,当两个相邻的路由器变得相邻时,它们通过数据库交换过程同步它们的链路状态数据库。每个路由器向另一个路由器发送一组描述路由器链路状态数据库的数据库描述(DD)数据包。这是通过在一个发送的DD包中列出每个LSA(即,包括每个LSA的报头)来实现的。此过程允许每个路由器确定另一个路由器是否具有应通过链路状态请求数据包请求的较新LSA实例。

The optimization simply observes that it is not necessary for a router (master or slave) to list an LSA in a DD packet if it knows the neighbor already has an instance of the LSA that is the same or more recent (and therefore will not request the LSA). To avoid listing such LSAs in DD packets, when an LSA is listed in a DD packet received from the neighbor, and the Database summary list for the neighbor has an instance of the LSA that is the same as or less recent than the one received, the LSA is removed from the summary list.

优化简单地观察到,如果路由器(主或从)知道邻居已经具有相同或更近的LSA实例(因此将不请求LSA),则它没有必要在DD分组中列出LSA。为了避免在DD分组中列出这样的LSA,当LSA在从邻居接收的DD分组中列出时,并且邻居的数据库摘要列表具有与接收到的实例相同或不太新的LSA实例,则从摘要列表中移除LSA。

The optimization, called the Database Exchange summary list optimization, does not affect synchronization, since the LSAs that are omitted from DD packets are unnecessary. The optimization is fully backward compatible with OSPF. The optimization reduces Database Description overhead by about 50% in large networks in which routers are usually already nearly synchronized when they become adjacent, since it reduces the total number of LSA headers exchanged by about one-half in such networks. The optimization is especially beneficial in large networks with limited bandwidth, such as large mobile ad hoc networks.

优化称为数据库Exchange摘要列表优化,不会影响同步,因为DD数据包中省略的LSA是不必要的。该优化与OSPF完全向后兼容。该优化将大型网络中的数据库描述开销减少了约50%,在大型网络中,路由器在相邻时通常已经几乎同步,因为它将此类网络中交换的LSA报头总数减少了约一半。这种优化在带宽有限的大型网络中尤其有用,例如大型移动adhoc网络。

2. Specification of Optimization
2. 优化规范

The Database Exchange summary list optimization is defined by modifying Section 10.6 "Receiving Database Description Packets" of RFC 2328 as follows. The second-to-last paragraph of Section 10.6 is replaced with the following augmented paragraph:

数据库交换摘要列表优化是通过修改RFC 2328第10.6节“接收数据库描述包”来定义的,如下所示。第10.6节第二至最后一段替换为以下扩充段:

When the router accepts a received Database Description Packet as the next in sequence, the packet contents are processed as follows. For each LSA listed, the LSA's LS type is checked for validity. If the LS type is unknown (e.g., not one of the LS types 1-5 defined by this specification), or if this is an AS-external-LSA (LS type = 5) and the neighbor is associated with a stub area, generate the neighbor event SeqNumberMismatch and stop processing the packet. Otherwise, the router looks up the LSA in its database to see whether it also has an instance of the LSA. If it does not, or if the database copy is less recent, the LSA is put on the Link state request list so that it can be requested (immediately or at some later time) in Link State Request Packets. In addition, if the Database summary list contains an instance of the LSA that is the same as or less recent than the listed LSA, the LSA is removed from the Database summary list.

当路由器接受接收到的数据库描述数据包作为序列中的下一个数据包时,数据包内容的处理如下。对于列出的每个LSA,将检查LSA的LS类型的有效性。如果LS类型未知(例如,不是本规范定义的LS类型1-5之一),或者如果这是AS外部LSA(LS类型=5),并且邻居与存根区域关联,则生成邻居事件SeqNumberMismatch并停止处理数据包。否则,路由器将在其数据库中查找LSA,以查看是否也有LSA的实例。如果没有,或者如果数据库副本不是最近的,则将LSA放在链路状态请求列表中,以便可以在链路状态请求数据包中请求它(立即或稍后)。此外,如果数据库摘要列表包含与所列LSA相同或不太新的LSA实例,则会从数据库摘要列表中删除LSA。

The above additional step (which updates the Database summary list) may be performed either before or after the router looks up the listed LSA in its database and possibly adds the LSA to the Link state request list. However, to implement the optimization, the additional step must be performed for each LSA listed in the received DD packet (to fully update the Database summary list) before the next DD packet is sent in response.

上述附加步骤(更新数据库摘要列表)可以在路由器在其数据库中查找列出的LSA之前或之后执行,并且可能将LSA添加到链路状态请求列表中。然而,为了实现优化,在响应发送下一个DD包之前,必须对接收到的DD包中列出的每个LSA执行附加步骤(以完全更新数据库摘要列表)。

Although the optimization does not require that LSAs be listed in DD packets in any particular order, faster lookup of LSAs in the Database summary list may be possible if LSAs are listed in the same order by all routers. If such an ordering is used, then to encourage different implementations to use the same ordering, this document recommends that LSAs be listed in lexicographically increasing order of (LS type, Link State ID, Advertising Router) for OSPFv2 and (LS type, Advertising Router, Link State ID) for OSPFv3.

尽管优化不要求以任何特定顺序在DD分组中列出lsa,但是如果所有路由器以相同顺序列出lsa,则可以更快地在数据库摘要列表中查找lsa。如果使用了这种排序,那么为了鼓励不同的实现使用相同的排序,本文档建议按词典递增顺序列出OSPFv2的LSA(LS类型、链路状态ID、广告路由器)和OSPFv3的LSA(LS类型、广告路由器、链路状态ID)。

3. Example
3. 实例

This section describes an example to illustrate the Database Exchange summary list optimization. Assume that routers RT1 and RT2 already have identical databases when they start Database Exchange. Also assume that the list of LSA headers for the database fits into two DD packets. Then, the standard Database Exchange is as follows when RT1 is the first to change the neighbor state to ExStart. Note that each router sends two full DD packets.

本节描述了一个示例来说明数据库交换摘要列表优化。假设路由器RT1和RT2在启动数据库交换时已经具有相同的数据库。还假设数据库的LSA头列表适合两个DD数据包。然后,当RT1第一个将邻居状态更改为ExStart时,标准数据库交换如下所示。请注意,每个路由器发送两个完整的DD数据包。

RT1 (slave) RT2 (master)

RT1(从)RT2(主)

      ExStart      Empty DD (Seq=x,I,M,Master)
                 ------------------------------>
                   Empty DD (Seq=y,I,M,Master)         ExStart
                 <------------------------------
      Exchange     Full  DD (Seq=y,M,Slave)
                 ------------------------------>
                   Full  DD (Seq=y+1,M,Master)         Exchange
                 <------------------------------
                   Full  DD (Seq=y+1,Slave)
                 ------------------------------>
                   Full  DD (Seq=y+2, Master)
                 <------------------------------
       Full        Empty DD (Seq=y+2, Slave)
                 ------------------------------>
                                                       Full
        
      ExStart      Empty DD (Seq=x,I,M,Master)
                 ------------------------------>
                   Empty DD (Seq=y,I,M,Master)         ExStart
                 <------------------------------
      Exchange     Full  DD (Seq=y,M,Slave)
                 ------------------------------>
                   Full  DD (Seq=y+1,M,Master)         Exchange
                 <------------------------------
                   Full  DD (Seq=y+1,Slave)
                 ------------------------------>
                   Full  DD (Seq=y+2, Master)
                 <------------------------------
       Full        Empty DD (Seq=y+2, Slave)
                 ------------------------------>
                                                       Full
        

If the optimization is used, when RT2 receives the first full DD packet from RT1, it removes from its summary list all LSAs that are listed in the DD packet. Then RT2 sends a DD packet that lists the remaining LSAs (since all of the LSA headers fit into two DD packets). When RT1 receives this DD packet, it removes these remaining LSAs from its summary list (causing it to be empty) and sends an empty DD packet to RT2.

如果使用优化,当RT2从RT1接收到第一个完整DD数据包时,它将从其摘要列表中删除DD数据包中列出的所有LSA。然后,RT2发送一个DD数据包,其中列出了剩余的LSA(因为所有LSA报头都适合于两个DD数据包)。当RT1收到此DD数据包时,它将从其摘要列表中删除这些剩余的LSA(使其为空),并向RT2发送一个空的DD数据包。

With the optimization, each router sends only one full DD packet instead of two, as shown below.

通过优化,每个路由器只发送一个完整的DD数据包,而不是两个,如下所示。

RT1 (slave) RT2 (master)

RT1(从)RT2(主)

      ExStart      Empty DD (Seq=x,I,M,Master)
                 ------------------------------>
                   Empty DD (Seq=y,I,M,Master)         ExStart
                 <------------------------------
      Exchange     Full  DD (Seq=y,M,Slave)
                 ------------------------------>
                   Full  DD (Seq=y+1,Master)           Exchange
                 <------------------------------
       Full        Empty DD (Seq=y+1, Slave)
                 ------------------------------>
                                                       Full
        
      ExStart      Empty DD (Seq=x,I,M,Master)
                 ------------------------------>
                   Empty DD (Seq=y,I,M,Master)         ExStart
                 <------------------------------
      Exchange     Full  DD (Seq=y,M,Slave)
                 ------------------------------>
                   Full  DD (Seq=y+1,Master)           Exchange
                 <------------------------------
       Full        Empty DD (Seq=y+1, Slave)
                 ------------------------------>
                                                       Full
        
4. Security Considerations
4. 安全考虑

This document does not raise any new security concerns.

本文件没有提出任何新的安全问题。

5. IANA Considerations
5. IANA考虑

This document specifies a simple backward-compatible optimization for OSPFv2 and OSPFv3 that does not require any new number assignment.

本文档为OSPFv2和OSPFv3指定了一个简单的向后兼容优化,不需要任何新的编号分配。

6. Normative References
6. 规范性引用文件

[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.

[RFC2328]Moy,J.,“OSPF版本2”,STD 54,RFC 2328,1998年4月。

[RFC2740] Coltun, R., Ferguson, D., and J. Moy, "OSPF for IPv6", RFC 2740, December 1999.

[RFC2740]Coltun,R.,Ferguson,D.,和J.Moy,“IPv6的OSPF”,RFC 27401999年12月。

7. Acknowledgments
7. 致谢

The recommendation to list LSAs in lexicographical order was suggested by Acee Lindem.

Acee Lindem建议按词典顺序列出LSA。

Author's Address

作者地址

Richard G. Ogier EMail: rich.ogier@earthlink.net

Richard G.Ogier电子邮件:rich。ogier@earthlink.net

Full Copyright Statement

完整版权声明

Copyright (C) The IETF Trust (2008).

版权所有(C)IETF信托基金(2008年)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Intellectual Property

知识产权

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.