Network Working Group                                            L. Kane
Request for Comments: 2642                Cabletron Systems Incorporated
Category: Informational                                      August 1999
        
Network Working Group                                            L. Kane
Request for Comments: 2642                Cabletron Systems Incorporated
Category: Informational                                      August 1999
        

Cabletron's VLS Protocol Specification

Cabletron的VLS协议规范

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.

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

Copyright Notice

版权公告

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

Abstract

摘要

The Virtual LAN Link State Protocol (VLSP) is part of the InterSwitch Message Protocol (ISMP) which provides interswitch communication between switches running Cabletron's SecureFast VLAN (SFVLAN) product. VLSP is used to determine and maintain a fully connected mesh topology graph of the switch fabric. Each switch maintains an identical database describing the topology. Call-originating switches use the topology database to determine the path over which to route a call connection.

虚拟LAN链路状态协议(VLSP)是交换机间消息协议(ISMP)的一部分,该协议在运行Cabletron的SecureFast VLAN(SFVLAN)产品的交换机之间提供交换机间通信。VLSP用于确定和维护交换机结构的全连接网状拓扑图。每个交换机维护一个描述拓扑的相同数据库。呼叫发起交换机使用拓扑数据库确定路由呼叫连接的路径。

VLSP provides support for equal-cost multipath routing, and recalculates routes quickly in the face of topological changes, utilizing a minimum of routing protocol traffic.

VLSP提供了对等成本多路径路由的支持,并利用最小的路由协议流量,在拓扑变化时快速重新计算路由。

Table of Contents

目录

    1. Introduction............................................  3
       1.1 Acknowledgments.....................................  3
       1.2 Data Conventions....................................  3
       1.3 ISMP Overview.......................................  4
    2. VLS Protocol Overview...................................  5
       2.1 Definitions of Commonly Used Terms..................  6
       2.2 Differences Between VLSP and OSPF...................  7
           2.2.1 Operation at the Physical Layer...............  8
           2.2.2 All Links Treated as Point-to-Point...........  8
           2.2.3 Routing Path Information......................  9
           2.2.4 Configurable Parameters.......................  9
           2.2.5 Features Not supported........................  9
       2.3 Functional Summary.................................. 10
       2.4 Protocol Packets.................................... 11
        
    1. Introduction............................................  3
       1.1 Acknowledgments.....................................  3
       1.2 Data Conventions....................................  3
       1.3 ISMP Overview.......................................  4
    2. VLS Protocol Overview...................................  5
       2.1 Definitions of Commonly Used Terms..................  6
       2.2 Differences Between VLSP and OSPF...................  7
           2.2.1 Operation at the Physical Layer...............  8
           2.2.2 All Links Treated as Point-to-Point...........  8
           2.2.3 Routing Path Information......................  9
           2.2.4 Configurable Parameters.......................  9
           2.2.5 Features Not supported........................  9
       2.3 Functional Summary.................................. 10
       2.4 Protocol Packets.................................... 11
        
       2.5 Protocol Data Structures............................ 12
       2.6 Basic Implementation Requirements................... 12
       2.7 Organization of the Remainder of This Document...... 13
    3. Interface Data Structure................................ 14
       3.1 Interface States.................................... 16
       3.2 Events Causing Interface State Changes.............. 18
       3.3 Interface State Machine............................. 21
    4. Neighbor Data Structure................................. 23
       4.1 Neighbor States..................................... 25
       4.2 Events Causing Neighbor State Changes............... 27
       4.3 Neighbor State Machine.............................. 29
    5. Area Data Structure..................................... 33
       5.1 Adding and Deleting Link State Advertisements....... 34
       5.2 Accessing Link State Advertisements................. 35
       5.3 Best Path Lookup.................................... 35
    6. Discovery Process....................................... 35
       6.1 Neighbor Discovery.................................. 36
       6.2 Bidirectional Communication......................... 37
       6.3 Designated Switch................................... 38
           6.3.1 Selecting the Designated Switch............... 39
       6.4 Adjacencies......................................... 41
    7. Synchronizing the Databases............................. 42
       7.1 Link State Advertisements........................... 43
           7.1.1 Determining Which
                 Link State Advertisement Is Newer............. 44
       7.2 Database Exchange Process........................... 44
           7.2.1 Database Description Packets.................. 44
           7.2.2 Negotiating the Master/Slave Relationship..... 45
           7.2.3 Exchanging Database Description Packets....... 46
       7.3 Updating the Database............................... 48
       7.4 An Example.......................................... 49
    8. Maintaining the Databases............................... 51
       8.1 Originating Link State Advertisements............... 52
           8.1.1 Switch Link Advertisements.................... 52
           8.1.2 Network Link Advertisements................... 55
       8.2 Distributing Link State Advertisements.............. 56
           8.2.1 Overview...................................... 57
           8.2.2 Processing an
                 Incoming Link State Update Packet............. 58
           8.2.3 Forwarding Link State Advertisements.......... 60
           8.2.4 Installing Link
                 State Advertisements in the Database.......... 62
           8.2.5 Retransmitting Link State Advertisements...... 63
           8.2.6 Acknowledging Link State Advertisements....... 64
       8.3 Aging the Link State Database....................... 66
           8.3.1 Premature Aging of Advertisements............. 66
    9. Calculating the Best Paths.............................. 67
   10. Protocol Packets........................................ 67
        
       2.5 Protocol Data Structures............................ 12
       2.6 Basic Implementation Requirements................... 12
       2.7 Organization of the Remainder of This Document...... 13
    3. Interface Data Structure................................ 14
       3.1 Interface States.................................... 16
       3.2 Events Causing Interface State Changes.............. 18
       3.3 Interface State Machine............................. 21
    4. Neighbor Data Structure................................. 23
       4.1 Neighbor States..................................... 25
       4.2 Events Causing Neighbor State Changes............... 27
       4.3 Neighbor State Machine.............................. 29
    5. Area Data Structure..................................... 33
       5.1 Adding and Deleting Link State Advertisements....... 34
       5.2 Accessing Link State Advertisements................. 35
       5.3 Best Path Lookup.................................... 35
    6. Discovery Process....................................... 35
       6.1 Neighbor Discovery.................................. 36
       6.2 Bidirectional Communication......................... 37
       6.3 Designated Switch................................... 38
           6.3.1 Selecting the Designated Switch............... 39
       6.4 Adjacencies......................................... 41
    7. Synchronizing the Databases............................. 42
       7.1 Link State Advertisements........................... 43
           7.1.1 Determining Which
                 Link State Advertisement Is Newer............. 44
       7.2 Database Exchange Process........................... 44
           7.2.1 Database Description Packets.................. 44
           7.2.2 Negotiating the Master/Slave Relationship..... 45
           7.2.3 Exchanging Database Description Packets....... 46
       7.3 Updating the Database............................... 48
       7.4 An Example.......................................... 49
    8. Maintaining the Databases............................... 51
       8.1 Originating Link State Advertisements............... 52
           8.1.1 Switch Link Advertisements.................... 52
           8.1.2 Network Link Advertisements................... 55
       8.2 Distributing Link State Advertisements.............. 56
           8.2.1 Overview...................................... 57
           8.2.2 Processing an
                 Incoming Link State Update Packet............. 58
           8.2.3 Forwarding Link State Advertisements.......... 60
           8.2.4 Installing Link
                 State Advertisements in the Database.......... 62
           8.2.5 Retransmitting Link State Advertisements...... 63
           8.2.6 Acknowledging Link State Advertisements....... 64
       8.3 Aging the Link State Database....................... 66
           8.3.1 Premature Aging of Advertisements............. 66
    9. Calculating the Best Paths.............................. 67
   10. Protocol Packets........................................ 67
        
       10.1 ISMP Packet Format................................. 68
            10.1.1 Frame Header................................ 69
            10.1.2 ISMP Packet Header.......................... 70
            10.1.3 ISMP Message Body........................... 71
       10.2 VLSP Packet Processing............................. 71
       10.3 Network Layer Address Information.................. 72
       10.4 VLSP Packet Header................................. 73
       10.5 Options Field...................................... 75
       10.6 Packet Formats..................................... 76
            10.6.1 Hello Packets............................... 76
            10.6.2 Database Description Packets................ 78
            10.6.3 Link State Request Packets.................. 80
            10.6.4 Link State Update Packets................... 82
            10.6.5 Link State Acknowledgment Packets........... 83
   11. Link State Advertisement Formats........................ 84
       11.1 Link State Advertisement Headers................... 84
       11.2 Switch Link Advertisements......................... 86
       11.3 Network Link Advertisements........................ 89
   12. Protocol Parameters..................................... 89
       12.1 Architectural Constants............................ 90
       12.2 Configurable Parameters............................ 91
   13. End Notes............................................... 93
   14. Security Considerations................................. 94
   15. References.............................................. 94
   16. Author's Address........................................ 94
   17. Full Copyright Statement................................ 95
        
       10.1 ISMP Packet Format................................. 68
            10.1.1 Frame Header................................ 69
            10.1.2 ISMP Packet Header.......................... 70
            10.1.3 ISMP Message Body........................... 71
       10.2 VLSP Packet Processing............................. 71
       10.3 Network Layer Address Information.................. 72
       10.4 VLSP Packet Header................................. 73
       10.5 Options Field...................................... 75
       10.6 Packet Formats..................................... 76
            10.6.1 Hello Packets............................... 76
            10.6.2 Database Description Packets................ 78
            10.6.3 Link State Request Packets.................. 80
            10.6.4 Link State Update Packets................... 82
            10.6.5 Link State Acknowledgment Packets........... 83
   11. Link State Advertisement Formats........................ 84
       11.1 Link State Advertisement Headers................... 84
       11.2 Switch Link Advertisements......................... 86
       11.3 Network Link Advertisements........................ 89
   12. Protocol Parameters..................................... 89
       12.1 Architectural Constants............................ 90
       12.2 Configurable Parameters............................ 91
   13. End Notes............................................... 93
   14. Security Considerations................................. 94
   15. References.............................................. 94
   16. Author's Address........................................ 94
   17. Full Copyright Statement................................ 95
        
1. Introduction
1. 介绍

This memo is being distributed to members of the Internet community in order to solicit reactions to the proposals contained herein. While the specification discussed here may not be directly relevant to the research problems of the Internet, it may be of interest to researchers and implementers.

本备忘录将分发给互联网社区的成员,以征求对本文所载建议的反应。虽然这里讨论的规范可能与互联网的研究问题没有直接关系,但研究人员和实现人员可能对此感兴趣。

1.1 Acknowledgments
1.1 致谢

VLSP is derived from the OSPF link-state routing protocol described in [RFC2328], written by John Moy, formerly of Proteon, Inc., Westborough, Massachusetts. Much of the current memo has been drawn from [RFC2328]. Therefore, this author wishes to acknowledge the contribution Mr. Moy has (unknowingly) made to this document.

VLSP源于[RFC2328]中所述的OSPF链路状态路由协议,该协议由约翰·莫伊(John Moy)编写,他曾任职于马萨诸塞州韦斯特伯勒的Proteon公司。当前备忘录的大部分内容取自[RFC2328]。因此,作者希望感谢莫伊先生(无意中)对本文件的贡献。

1.2 Data Conventions
1.2 数据约定

The methods used in this memo to describe and picture data adhere to the standards of Internet Protocol documentation [RFC1700]. In particular:

本备忘录中用于描述和描绘数据的方法符合互联网协议文件[RFC1700]的标准。特别地:

The convention in the documentation of Internet Protocols is to express numbers in decimal and to picture data in "big-endian" order. That is, fields are described left to right, with the most significant octet on the left and the least significant octet on the right. The order of transmission of the header and data described in this document is resolved to the octet level. Whenever a diagram shows a group of octets, the order of transmission of those octets is the normal order in which they are read in English.

互联网协议文档中的惯例是以十进制表示数字,并以“大端”顺序描绘数据。也就是说,字段是从左到右描述的,最重要的八位字节在左边,最不重要的八位字节在右边。本文档中描述的标题和数据的传输顺序解析为八位字节级别。每当一张图表显示一组八位字节时,这些八位字节的传输顺序就是用英语读取它们的正常顺序。

Whenever an octet represents a numeric quantity the left most bit in the diagram is the high order or most significant bit. That is, the bit labeled 0 is the most significant bit.

每当一个八位组代表一个数字量时,图表中最左边的位就是高阶或最高有效位。也就是说,标记为0的位是最高有效位。

Similarly, whenever a multi-octet field represents a numeric quantity the left most bit of the whole field is the most significant bit. When a multi-octet quantity is transmitted the most significant octet is transmitted first.

类似地,每当一个多八位组字段表示一个数值时,整个字段最左边的位就是最高有效位。当传输多个八位组数量时,首先传输最重要的八位组。

1.3 ISMP Overview
1.3 ISMP概述

The InterSwitch Message Protocol (ISMP) provides a consistent method of encapsulating and transmitting control messages exchanged between switches running Cabletron's SecureFast VLAN (SFVLAN) product, as described in [IDsfvlan]. ISMP provides the following services:

交换机间消息协议(ISMP)提供了一种一致的方法,用于封装和传输运行Cabletron的SecureFast VLAN(SFVLAN)产品的交换机之间交换的控制消息,如[IDsfvlan]中所述。ISMP提供以下服务:

o Topology services. Each switch maintains a distributed topology of the switch fabric by exchanging the following interswitch control messages with other switches:

o 拓扑服务。每个交换机通过与其他交换机交换以下交换机间控制消息来维护交换机结构的分布式拓扑:

o Interswitch Keepalive messages are sent by each switch to announce its existence to its neighboring switches and to establish the topology of the switch fabric. (Interswitch Keepalive messages are exchanged in accordance with Cabletron's VlanHello protocol, described in [IDhello].)

o 交换机间保持消息由每个交换机发送,以向其相邻交换机宣布其存在,并建立交换机结构的拓扑。(交换机间Keepalive消息根据Cabletron的VlanHello协议进行交换,如[IDhello]中所述。)

o Interswitch Spanning Tree BPDU messages and Interswitch Remote Blocking messages are used to determine and maintain a loop-free flood path between all network switches in the fabric. This flood

o 交换机间生成树BPDU消息和交换机间远程阻塞消息用于确定和维护结构中所有网络交换机之间的无环路泛洪路径。这场洪水

path is used for all undirected interswitch messages -- that is, messages that are (potentially) sent to all switches in the switch fabric.

path用于所有无方向的交换机间消息,即(可能)发送到交换机结构中所有交换机的消息。

o Interswitch Link State messages (VLS protocol) are used to determine and maintain a fully connected mesh topology graph of the switch fabric. Call-originating switches use the topology graph to determine the path over which to route a call connection.

o 交换机间链路状态消息(VLS协议)用于确定和维护交换机结构的完全连接网状拓扑图。呼叫发起交换机使用拓扑图确定路由呼叫连接的路径。

o Address resolution services. Interswitch Resolve messages are used to resolve a packet destination address when the packet source and destination pair does not match a known connection. Interswitch New User messages are used to provide end-station address mobility between switches.

o 地址解析服务。当数据包源和目标对与已知连接不匹配时,交换机间解析消息用于解析数据包目标地址。Interswitch新用户消息用于提供交换机之间的端站地址移动性。

o Tag-based flooding. A tag-based broadcast method is used to restrict the broadcast of unresolved packets to only those ports within the fabric that belong to the same VLAN as the source.

o 基于标签的泛洪。基于标记的广播方法用于将未解析数据包的广播仅限于结构中与源属于同一VLAN的端口。

o Call tapping services. Interswitch Tap messages are used to monitor traffic moving between two end stations. Traffic can be monitored in one or both directions along the connection path.

o 电话窃听服务。交换机间Tap消息用于监控两个终端站之间的通信量。可以沿连接路径的一个或两个方向监控流量。

Note: Previous versions of VLSP treated all links as if they were broadcast (multi-access). Thus, if VLSP determines that a neighbor switch is running an older version of the protocol software (see Section 6.1), it will change the interface type to broadcast and begin exchanging Hello packets with the single neighbor switch.

注:以前版本的VLSP将所有链接视为广播(多访问)。因此,如果VLSP确定邻居交换机正在运行较旧版本的协议软件(参见第6.1节),它将更改接口类型为广播,并开始与单个邻居交换机交换Hello数据包。

2. VLS Protocol Overview
2. VLS协议概述

VLSP is a dynamic routing protocol. It quickly detects topological changes in the switch fabric (such as, switch interface failures) and calculates new loop-free routes after a period of convergence. This period of convergence is short and involves a minimum of routing traffic.

VLSP是一种动态路由协议。它可以快速检测交换机结构中的拓扑变化(例如交换机接口故障),并在一段时间的收敛后计算新的无环路路由。这一收敛期很短,涉及的路由流量最少。

All switches in the fabric run the same algorithm and maintain identical databases describing the switch fabric topology. This database contains each switch's local state, including its usable interfaces and reachable neighbors. Each switch distributes its local state throughout the switch fabric by flooding. From the topological database, each switch constructs a set of best path trees (using itself as the root) that specify routes to all other switches in the fabric.

All switches in the fabric run the same algorithm and maintain identical databases describing the switch fabric topology. This database contains each switch's local state, including its usable interfaces and reachable neighbors. Each switch distributes its local state throughout the switch fabric by flooding. From the topological database, each switch constructs a set of best path trees (using itself as the root) that specify routes to all other switches in the fabric.translate error, please retry

2.1 Definitions of Commonly Used Terms
2.1 常用术语的定义

This section contains a collection of definitions for terms that have a specific meaning to the protocol and that are used throughout the text.

本节包含对协议具有特定含义的术语的定义集合,这些术语在整个文本中使用。

Switch ID

交换机ID

A 10-octet value that uniquely identifies the switch within the switch fabric. The value consists of the 6-octet base MAC address of the switch, followed by 4 octets of zeroes.

在交换机结构中唯一标识交换机的10个八位组值。该值由交换机的6个八位字节的基本MAC地址组成,后跟4个八位字节的零。

Network link

网络链路

The physical connection between two switches. A link is associated with a switch interface.

两个交换机之间的物理连接。链接与交换机接口相关联。

There are two physical types of network links supported by VLSP:

VLSP支持两种物理类型的网络链路:

o Point-to-point links that join a single pair of switches. A serial line is an example of a point-to-point network link.

o 连接一对交换机的点对点链路。串行线路是点对点网络链路的一个示例。

o Multi-access broadcast links that support the attachment of multiple switches, along with the capability to address a single message to all the attached switches. An attached ethernet is an example of a multi-access broadcast network link.

o 支持连接多个交换机的多址广播链路,以及向所有连接的交换机发送单个消息的能力。连接的以太网是多址广播网络链路的一个示例。

A single topology can contain both types of links. At startup, all links are assumed to be point-to-point. A link is determined to be multi-access when more than one neighboring switch is discovered on the link.

一个拓扑可以包含两种类型的链接。在启动时,假定所有链接都是点对点的。当在链路上发现多个相邻交换机时,链路被确定为多址。

Interface

界面

The port over which a switch accesses one of its links. Interfaces are identified by their interface ID, a 10-octet value consisting of the 6-octet base MAC address of the switch, followed by the 4-octet local port number of the interface.

交换机访问其链路之一的端口。接口由其接口ID标识,10个八位字节的值由交换机的6个八位字节的基本MAC地址组成,后跟接口的4个八位字节的本地端口号。

Neighboring switches

相邻交换机

Two switches attached to a common link.

连接到公共链路的两个交换机。

Adjacency

邻接

A relationship formed between selected neighboring switches for the purpose of exchanging routing information. Not every pair of neighboring switches become adjacent.

为交换路由信息而在选定的相邻交换机之间形成的一种关系。并不是每对相邻的交换机都变得相邻。

Link state advertisement

链接状态广告

Describes the local state of a switch or a link. Each link state advertisement is flooded throughout the switch fabric. The collected link state advertisements of all switches and links form the protocol's topological database.

描述交换机或链路的本地状态。每个链路状态广告都会充斥整个交换机结构。收集的所有交换机和链路的链路状态公告构成协议的拓扑数据库。

Designated switch

指定交换机

Each multi-access network link has a designated switch. The designated switch generates a link state advertisement for the link and has other special responsibilities in the running of the protocol.

每个多址网络链路都有一个指定的交换机。指定的交换机为链路生成链路状态公告,并在协议运行中承担其他特殊责任。

The use of a designated switch permits a reduction in the number of adjacencies required on multi-access links. This in turn reduces the amount of routing protocol traffic and the size of the topological database.

使用指定的交换机可以减少多址链路上所需的邻接数量。这反过来又减少了路由协议通信量和拓扑数据库的大小。

The designated switch is selected during the discovery process. A designated switch is not selected for a point-to-point network link.

在查找过程中选择指定的交换机。未为点到点网络链路选择指定交换机。

Backup designated switch

备用指定交换机

Each multi-access network link has a backup designated switch. The backup designated switch maintains adjacencies with the same switches on the link as the designated switch. This optimizes the failover time when the backup designated switch must take over for the (failed) designated switch.

每个多址网络链路都有一个备份指定交换机。备用指定交换机与指定交换机在链路上的相同交换机保持邻接。当备份指定的交换机必须接管(故障)指定的交换机时,这将优化故障切换时间。

The backup designated switch is selected during the Discovery process. A backup designated switch is not selected for a point-to-point network link.

在查找过程中选择备份指定交换机。未为点到点网络链路选择备份指定交换机。

2.2 Differences Between VLSP and OSPF
2.2 VLSP与OSPF的区别

The VLS protocol is derived from the OSPF link-state routing protocol described in [RFC2328].

VLS协议源自[RFC2328]中描述的OSPF链路状态路由协议。

2.2.1 Operation at the Physical Layer
2.2.1 物理层的操作

The primary differences between the VLS and OSPF protocols stem from the fact that OSPF runs over the IP layer, while VLSP runs at the physical MAC layer. This difference has the following repercussions:

VLS和OSPF协议之间的主要差异源于OSPF在IP层上运行,而VLSP在物理MAC层上运行。这种差异有以下影响:

o VLSP does not support features (such as fragmentation) that are typically provided by network layer service providers.

o VLSP不支持通常由网络层服务提供商提供的功能(如碎片)。

o Due to the unrelated nature of MAC address assignments, VLSP provides no summarization of the address space (such as, classical IP subnet information) or level 2 routing (such as,

o 由于MAC地址分配的不相关性质,VLSP不提供地址空间摘要(例如,经典IP子网信息)或2级路由摘要(例如,

IS-IS Phase V DECnet). Thus, VLSP does not support grouping switches into areas. All switches exist in a single area. Since a single domain exists within any switch fabric, there is no need for VLSP to provide interdomain reachability.

IS-IS第五阶段DECnet)。因此,VLSP不支持将交换机分组到区域中。所有交换机都存在于单个区域中。由于任何交换结构中都存在单个域,因此VLSP不需要提供域间可达性。

o As mentioned in Section 10.1.1, ISMP uses a single well-known multicast address for all packets. However, parts of the VLS protocol (as derived from OSPF) are dependent on certain network layer addresses -- in particular, the AllSPFSwitches and AllDSwitches multicast addresses that drive the distribution of link state advertisements throughout the switch fabric. In order to facilitate the implementation of the protocol at the physical MAC layer, network layer address information is encapsulated in the protocol packets (see Section 10.3). This information is unbundled and packets are then processed as if they had been sent or received on that multicast address.

o 如第10.1.1节所述,ISMP为所有数据包使用一个已知的多播地址。然而,VLS协议的某些部分(源自OSPF)依赖于某些网络层地址,特别是驱动整个交换结构中链路状态播发分布的AllSPFSwitches和AllDSwitches多播地址。为了促进协议在物理MAC层的实施,网络层地址信息被封装在协议包中(见第10.3节)。该信息被分解,然后数据包被处理,就好像它们是在该多播地址上发送或接收的一样。

2.2.2 All Links Treated as Point-to-Point
2.2.2 所有链接都被视为点对点

When the switch first comes on line, VLSP assumes all network links are point-to-point and no more than one neighboring switch will be discovered on any one port. Therefore, at startup, VLSP does not send its own Hello packets over its network ports, but instead, relies on the VlanHello protocol [IDhello] for the discovery of its neighbor switches. If a second neighbor is detected on a link, the link is then deemed multi-access and the interface type is changed to broadcast. At that point, VLSP exchanges its own Hello packets with the switches on the link in order to select a designated switch and designated backup switch for the link.

当交换机首次联机时,VLSP假定所有网络链路都是点对点的,并且在任何一个端口上都不会发现多个相邻交换机。因此,在启动时,VLSP不会通过其网络端口发送自己的Hello数据包,而是依赖VlanHello协议[IDhello]来发现其邻居交换机。如果在链路上检测到第二个邻居,则该链路被视为多址接入,并且接口类型更改为广播。此时,VLSP与链路上的交换机交换自己的Hello数据包,以便为链路选择指定交换机和指定备份交换机。

This method eliminates unnecessary duplication of message traffic and processing, thereby increasing the overall efficiency of the switch fabric.

此方法消除了不必要的消息通信量和处理重复,从而提高了交换机结构的总体效率。

Note: Previous versions of VLSP treated all links as if they were broadcast (multi-access). Thus, if VLSP determines that a neighbor switch is running an older version of the protocol software (see Section 6.1), it will change the interface type to broadcast and begin exchanging Hello packets with the single neighbor switch.

注:以前版本的VLSP将所有链接视为广播(多访问)。因此,如果VLSP确定邻居交换机正在运行较旧版本的协议软件(参见第6.1节),它将更改接口类型为广播,并开始与单个邻居交换机交换Hello数据包。

2.2.3 Routing Path Information
2.2.3 路由路径信息

Instead of providing the next hop to a destination, VLSP calculates and maintains complete end-to-end path information. On request, a list of individual port identifiers is generated describing a complete path from the source switch to the destination switch. If multiple equal-cost routes exist to a destination switch, up to three paths are calculated and returned.

VLSP不提供到目的地的下一个跃点,而是计算并维护完整的端到端路径信息。根据请求,生成单个端口标识符的列表,描述从源交换机到目标交换机的完整路径。如果存在到目标交换机的多条等成本路由,则最多会计算并返回三条路径。

2.2.4 Configurable Parameters
2.2.4 可配置参数

OSPF supports (and requires) configurable parameters. In fact, even the default OSPF configuration requires that IP address assignments be specified. On the other hand, no configuration information is ever required for the VLS protocol. Switches are uniquely identified by their base MAC addresses and ports are uniquely identified by the base MAC address of the switch and a port number.

OSPF支持(并且需要)可配置参数。事实上,即使是默认的OSPF配置也需要指定IP地址分配。另一方面,VLS协议不需要任何配置信息。交换机由其基本MAC地址唯一标识,端口由交换机的基本MAC地址和端口号唯一标识。

While a developer is free to implement configurable parameters for the VLS protocol, the current version of VLSP supports configurable path metrics only. Note that this has the following repercussions:

虽然开发人员可以自由实现VLS协议的可配置参数,但当前版本的VLSP仅支持可配置路径度量。请注意,这会产生以下影响:

o All switches are assigned a switch priority of 1. This forces the selection of the designated switch to be based solely on base MAC address.

o 所有交换机的交换机优先级均为1。这强制指定交换机的选择仅基于基本MAC地址。

o Authentication is not supported.

o 不支持身份验证。

2.2.5 Features Not supported
2.2.5 不支持的功能

In addition to those features mentioned in the previous sections, the following OSPF features are not supported by the current version of VLSP:

除前几节提到的功能外,当前版本的VLSP不支持以下OSPF功能:

o Periodic refresh of link state advertisements. (This optimizes performance by eliminating unnecessary traffic between the switches.)

o 定期刷新链接状态播发。(这通过消除交换机之间不必要的通信来优化性能。)

o Routing based on non-zero type of service (TOS).

o 基于非零服务类型(TOS)的路由。

o Use of external routing information for destinations outside the switch fabric.

o 为交换机结构外部的目的地使用外部路由信息。

2.3 Functional Summary
2.3 功能摘要

There are essentially four operational stages of the VLS protocol.

VLS协议基本上有四个操作阶段。

o Discovery Process The discovery process involves two steps:

o 发现过程发现过程包括两个步骤:

o Neighboring switches are detected by the VlanHello protocol [IDhello] which then notifies VLSP of the neighbor.

o VlanHello协议[IDhello]检测到相邻交换机,然后通知VLSP邻居。

o If more than one neighbor switch is detected on a single port, the link is determined to be multi-access. VLSP then sends its own Hello packets over the link in order to discover the full set of neighbors on the link and select a designated switch and designated backup switch for the link. Note that this selection process is unnecessary on point-to-point links.

o 如果在单个端口上检测到多个相邻交换机,则该链路被确定为多址。VLSP然后通过链路发送自己的Hello数据包,以便发现链路上的完整邻居集,并为链路选择指定交换机和指定备份交换机。请注意,在点到点链接上不需要此选择过程。

The discovery process is described in more detail in Section 6.

第6节将更详细地描述发现过程。

o Synchronizing the Databases

o 同步数据库

Adjacencies are used to simplify and speed up the process of synchronizing the topological database (also known as the link state database) maintained by each switch in the fabric. Each switch is only required to synchronize its database with those neighbors to which it is adjacent. This reduces the amount of routing protocol traffic across the fabric, particularly for multi-access links with multiple switches.

邻接用于简化和加速由结构中的每个交换机维护的拓扑数据库(也称为链路状态数据库)的同步过程。每个交换机只需将其数据库与其相邻的邻居同步。这减少了整个结构中的路由协议通信量,特别是对于具有多个交换机的多址链路。

The process of synchronizing the databases is described in more detail in Section 7.

第7节更详细地描述了同步数据库的过程。

o Maintaining the Databases

o 维护数据库

Each switch advertises its state (also known as its link state) any time its link state changes. Link state advertisements are distributed throughout the switch fabric using a reliable flooding algorithm that ensures that all switches in the fabric are notified of any link state changes.

每当其链路状态发生变化时,每个交换机都会公布其状态(也称为链路状态)。链路状态播发使用可靠的泛洪算法分布在整个交换机结构中,该算法确保结构中的所有交换机都收到任何链路状态更改的通知。

The process of maintaining the databases is described in more detail in Section 8.

第8节更详细地描述了维护数据库的过程。

o Calculating the Best Paths

o 计算最佳路径

The link state database consists of the collection of link state advertisements received from each switch. Each switch uses its link state database to calculate a set of best paths, using itself as root, to all other switches in the fabric.

链路状态数据库由从每个交换机接收的链路状态播发的集合组成。每个交换机使用其链路状态数据库计算一组最佳路径,将其自身用作根,连接到结构中的所有其他交换机。

The process of recalculating the set of best paths is described in more detail in Section 9.

第9节将更详细地描述重新计算最佳路径集的过程。

2.4 Protocol Packets
2.4 协议包

In addition to the frame header and the ISMP packet header described in Section 10.1, all VLS protocol packets share a common protocol header, described in Section 10.4.

除第10.1节所述的帧报头和ISMP数据包报头外,所有VLS协议数据包共享第10.4节所述的公共协议报头。

The VLSP packet types are listed below in Table 1. Their formats are described in Section 10.6.

VLSP数据包类型如下表1所示。其格式见第10.6节。

Type Packet Name Protocol Function

类型数据包名称协议函数

1 Hello Select DS and Backup DS 2 Database Description Summarize database contents 3 Link State Request Database download 4 Link State Update Database update 5 Link State Ack Flooding acknowledgment

1你好选择DS和备份DS 2数据库描述汇总数据库内容3链接状态请求数据库下载4链接状态更新数据库更新5链接状态确认泛洪确认

Table 1: VLSP Packet Types

表1:VLSP数据包类型

The Hello packets are used to select the designated switch and the backup designated switch on multi-access links. The Database Description and Link State Request packets are used to form adjacencies. Link State Update and Link State Acknowledgment packets are used to update the topological database.

Hello数据包用于选择多址链路上的指定交换机和备份指定交换机。数据库描述和链路状态请求数据包用于形成邻接。链路状态更新和链路状态确认包用于更新拓扑数据库。

Each Link State Update packet carries a set of link state advertisements. A single Link State Update packet may contain the link state advertisements of several switches. There are two different types of link state advertisement, as shown below in Table 2.

每个链路状态更新包携带一组链路状态播发。单个链路状态更新包可以包含多个交换机的链路状态公告。有两种不同类型的链接状态广告,如下表2所示。

LS Advertisement Advertisement Description Type Name

LS广告描述类型名称

1 Switch link Originated by all switches. This advertisements advertisement describes the collected states of the switch's interfaces.

1个由所有交换机发起的交换机链路。此广告描述交换机接口的收集状态。

2 Network link Originated by the designated switch. advertisements This advertisement contains the list of switches connected to the network link.

2指定交换机发起的网络链路。播发此播发包含连接到网络链路的交换机列表。

Table 2: VLSP Link State Advertisements

表2:VLSP链路状态公告

2.5 Protocol Data Structures
2.5 协议数据结构

The VLS protocol is described in this specification in terms of its operation on various protocol data structures. Table 3 lists the primary VLSP data structures, along with the section in which they are described in detail.

本规范中描述了VLS协议在各种协议数据结构上的操作。表3列出了主要VLSP数据结构及其详细描述部分。

Structure Name Description

结构名称描述

Interface Data Structure Section 3 Neighbor Data Structure Section 4 Area Data Structure Section 5

接口数据结构第3节邻居数据结构第4节区域数据结构第5节

Table 3: VLSP Data Structures

表3:VLSP数据结构

2.6 Basic Implementation Requirements
2.6 基本实施要求

An implementation of the VLS protocol requires the following pieces of system support:

VLS协议的实施需要以下系统支持:

Timers

计时器

Two types of timer are required. The first type, known as a one-shot timer, expires once and triggers an event. The second type, known as an interval timer, expires at preset intervals. Interval timers are used to trigger events at periodic intervals. The granularity of both types of timers is one second.

需要两种类型的计时器。第一种类型称为一次性计时器,过期一次并触发事件。第二种类型称为间隔计时器,以预设的间隔过期。间隔计时器用于定期触发事件。这两种计时器的粒度都是1秒。

Interval timers should be implemented in such a way as to avoid drift. In some switch implementations, packet processing can affect timer execution. For example, on a multi-access link with multiple switches, regular broadcasts can lead to undesirable synchronization of routing packets unless the interval timers have been implemented to avoid drift. If it is not possible to

间隔计时器的实施方式应避免漂移。在某些交换机实现中,数据包处理可能会影响计时器的执行。例如,在具有多个交换机的多址链路上,除非已经实现了间隔定时器以避免漂移,否则常规广播可能导致路由分组的不希望的同步。如果不可能

implement drift-free timers, small random amounts of time should be added to or subtracted from the timer interval at each firing.

使用无漂移定时器时,应在每次点火时向定时器间隔中添加或减去少量随机时间。

List manipulation primitives

列表操作原语

Much of the functionality of VLSP is described here in terms of its operation on lists of link state advertisements. Any particular advertisement may be on many such lists. Implementation of VLSP must be able to manipulate these lists, adding and deleting constituent advertisements as necessary.

VLSP的许多功能在这里描述为它在链路状态广告列表上的操作。任何特定的广告都可能出现在许多这样的名单上。VLSP的实现必须能够操作这些列表,根据需要添加和删除成分广告。

Tasking support

任务支持

Certain procedures described in this specification invoke other procedures. At times, these other procedures should be executed in-line -- that is, before the current procedure has finished. This is indicated in the text by instructions to "execute" a procedure. At other times, the other procedures are to be executed only when the current procedure has finished. This is indicated by instructions to "schedule" a task. Implementation of VLSP must provide these two types of tasking support.

本规范中描述的某些过程调用其他过程。有时,这些其他过程应该在线执行——也就是说,在当前过程完成之前。这在文本中通过“执行”程序的指令表示。在其他情况下,仅当当前程序完成时才执行其他程序。这由“安排”任务的说明表示。VLSP的实现必须提供这两种类型的任务支持。

2.7 Organization of the Remainder of This Document
2.7 本文件其余部分的组织结构

The remainder of this document is organized as follows:

本文件其余部分的组织结构如下:

o Section 3 through Section 5 describe the primary data structures used by the protocol. Note that this specification is presented in terms of these data structures in order to make explanations more precise. Implementations of the protocol must support the functionality described, but need not use the exact data structures that appear in this specification.

o 第3节至第5节描述了协议使用的主要数据结构。请注意,本规范是根据这些数据结构提出的,以使解释更精确。协议的实现必须支持所描述的功能,但不需要使用本规范中出现的确切数据结构。

o Section 6 through Section 9 describe the four operational stages of the protocol: the discovery process, synchronizing the databases, maintaining the databases, and calculating the set of best paths.

o 第6节到第9节描述了协议的四个操作阶段:发现过程、同步数据库、维护数据库以及计算最佳路径集。

o Section 10 describes the processing of VLSP packets and presents detailed descriptions of their formats.

o 第10节描述了VLSP数据包的处理,并给出了其格式的详细描述。

o Section 11 presents detailed descriptions of link state advertisements.

o 第11节给出了链路状态广告的详细描述。

o Section 12 summarizes the protocol parameters.

o 第12节总结了协议参数。

3. Interface Data Structure
3. 接口数据结构

The port over which a switch accesses a network link is known as the link interface. Each switch maintains a separate interface data structure for each network link.

交换机访问网络链路的端口称为链路接口。每个交换机为每个网络链路维护一个单独的接口数据结构。

The following data items are associated with each interface:

以下数据项与每个接口关联:

Type

类型

The type of network to which the interface is attached -- point-to-point or broadcast (multi-access). This data item is initialized to point-to-point when the interface becomes operational. If a second neighbor is detected on the link after the first neighbor has been discovered, the link interface type is changed to broadcast. The type remains as broadcast until the interface is declared down, at which time the type reverts to point-to-point.

接口连接到的网络类型——点对点或广播(多址)。当接口开始运行时,此数据项初始化为点对点。如果在发现第一个邻居之后在链路上检测到第二个邻居,则链路接口类型将更改为广播。该类型保持为广播,直到接口声明为关闭,此时该类型恢复为点对点。

Note: Previous versions of VLSP treated all links as if they were multi-access. Thus, if VLSP determines that a neighbor switch is running an older version of the protocol software (see Section 6.1), it will change the interface type to broadcast.

注意:以前版本的VLSP将所有链接视为多访问。因此,如果VLSP确定邻居交换机正在运行较旧版本的协议软件(参见第6.1节),它将把接口类型更改为广播。

State

状态

The functional level of the interface. The state of the interface is included in all switch link advertisements generated by the switch, and is also used to determine whether full adjacencies are allowed on the interface. See Section 3.1 for a complete description of interface states.

接口的功能级别。接口的状态包含在交换机生成的所有交换机链接播发中,还用于确定接口上是否允许完全相邻。有关接口状态的完整说明,请参见第3.1节。

Interface identifier

接口标识符

A 10-octet value that uniquely identifies the interface. This value consists of the 6-octet base MAC address of the neighbor switch, followed by the 4-octet local port number of the interface.

唯一标识接口的10个八位组值。该值由邻居交换机的6个八位字节的基本MAC地址组成,后跟接口的4个八位字节的本地端口号。

Area ID

区域ID

A 4-octet value identifying the area. Since VLSP does not support multiple areas, the value here is always zero.

标识区域的4个八位组值。由于VLSP不支持多个区域,因此此处的值始终为零。

HelloInterval

HelloInterval

The interval, in seconds, at which the switch sends VLSP Hello packets over the interface. This parameter is not used on point-to-point links.

交换机通过接口发送VLSP Hello数据包的间隔(秒)。此参数不用于点到点链接。

SwitchDeadInterval

开关死区

The length of time, in seconds, that neighboring switches will wait before declaring the local switch dNeighboring switches

相邻交换机在声明本地交换机之前等待的时间长度(以秒为单位)

A list of the neighboring switches attached to this network link. This list is created during the discovery process. Adjacencies are formed to one or more of these neighbors. The set of adjacent neighbors can be determined by examining the states of the neighboring switches as shown in their link state advertisements.

连接到此网络链路的相邻交换机的列表。此列表是在发现过程中创建的。邻接形成于这些邻居中的一个或多个。可以通过检查相邻交换机的状态(如其链路状态公告中所示)来确定相邻交换机的集合。

Designated switch

指定交换机

The designated switch selected for the multi-access network link. (A designated switch is not selected for a point-to-point link.) This data item is initialized to zero when the switch comes on-line, indicating that no designated switch has been chosen for the link.

为多址网络链路选择的指定交换机。(未为点到点链路选择指定的交换机。)当交换机联机时,此数据项初始化为零,表示未为链路选择指定的交换机。

Backup designated switch

备用指定交换机

The backup designated switch selected for the multi-access network link. (A backup designated switch is not selected for a point-to-point link.) This data item is initialized to zero when the switch comes on-line, indicating that no backup designated switch has been chosen for the link.

为多址网络链路选择的备份指定交换机。(未为点到点链路选择备份指定交换机。)当交换机联机时,此数据项初始化为零,表示未为链路选择备份指定交换机。

Interface output cost(s)

接口输出成本

The cost of sending a packet over the interface. The link cost is expressed in the link state metric and must be greater than zero.

通过接口发送数据包的费用。链路成本以链路状态度量表示,并且必须大于零。

RxmtInterval

RxmtInterval

The number of seconds between link state advertisement retransmissions, for adjacencies belonging to this interface. This value is also used to time the retransmission of Database Description and Link State Request packets.

对于属于此接口的邻接,链路状态播发重新传输之间的秒数。该值还用于对数据库描述和链路状态请求数据包的重新传输进行计时。

3.1 Interface States
3.1 界面状态

This section describes the various states of a switch interface. The states are listed in order of progressing functionality. For example, the inoperative state is listed first, followed by a list of the intermediate states through which the interface passes before attaining the final, fully functional state. The specification makes use of this ordering by references such as "those interfaces in state greater than X".

本节介绍交换机接口的各种状态。这些状态按功能的进展顺序列出。例如,首先列出不工作状态,然后列出接口在达到最终完全功能状态之前经过的中间状态列表。本规范通过引用(如“状态大于X的接口”)使用这种排序。

Figure 1 represents the interface state machine, showing the progression of interface state changes. The arrows on the graph represent the events causing each state change. These events are described in Section 3.2. The interface state machine is described in detail in Section 3.3.

图1表示接口状态机,显示了接口状态更改的进程。图上的箭头表示导致每个状态更改的事件。第3.2节描述了这些事件。第3.3节详细描述了接口状态机。

Down

向下

This is the initial state of the interface. In this state, the interface is unusable, and no protocol traffic is sent or received on the interface. In this state, interface parameters are set to their initial values, all interface timers are disabled, and no adjacencies are associated with the interface.

这是接口的初始状态。在此状态下,接口不可用,并且在接口上未发送或接收任何协议通信。在此状态下,接口参数将设置为其初始值,所有接口计时器将被禁用,并且没有与接口关联的邻接。

       +-------+
       |  any  |  Interface   +----------+  Unloop Ind  +----------+
       | state | -----------> |   Down   | <----------- | Loopback |
       +-------+    Down      +----------+              +----------+
                                   |                         ^
                                   | Interface Up            |
           +-------+  [pt-to-pt]   |                         |
           | Point |<------------type?              Loop Ind |
           |  to   |               |                         |
           | Point |               | [broadcast]             |
           +-------+               V                     +-------+
                             +-----------+               |  any  |
                             |  Waiting  |               | state |
                             +-----------+               +-------+
                                   |
                       Backup Seen |
                                   | Wait Timer
                                   |
                                   |
      +----------+    Neighbor     V     Neighbor    +----------+
      |    DS    | <------------> [ ] <------------> | DS Other |
      +----------+     Change      ^      Change     +----------+
                                   |
                                   |
                   Neighbor Change |
                                   |
                                   V
                              +----------+
                              |  Backup  |
                              +----------+
        
       +-------+
       |  any  |  Interface   +----------+  Unloop Ind  +----------+
       | state | -----------> |   Down   | <----------- | Loopback |
       +-------+    Down      +----------+              +----------+
                                   |                         ^
                                   | Interface Up            |
           +-------+  [pt-to-pt]   |                         |
           | Point |<------------type?              Loop Ind |
           |  to   |               |                         |
           | Point |               | [broadcast]             |
           +-------+               V                     +-------+
                             +-----------+               |  any  |
                             |  Waiting  |               | state |
                             +-----------+               +-------+
                                   |
                       Backup Seen |
                                   | Wait Timer
                                   |
                                   |
      +----------+    Neighbor     V     Neighbor    +----------+
      |    DS    | <------------> [ ] <------------> | DS Other |
      +----------+     Change      ^      Change     +----------+
                                   |
                                   |
                   Neighbor Change |
                                   |
                                   V
                              +----------+
                              |  Backup  |
                              +----------+
        

Figure 1: Interface State Machine

图1:接口状态机

Loopback

环回

In this state, the switch interface is looped back, either in hardware or in software. The interface is unavailable for regular data traffic.

在这种状态下,交换机接口在硬件或软件中被环回。该接口不适用于常规数据通信。

Point-to-Point

点对点

In this state, the interface is operational and is connected to a physical point-to-point link. On entering this state, the switch attempts to form an adjacency with the neighboring switch.

在此状态下,接口可运行并连接到物理点到点链路。进入此状态时,交换机尝试与相邻交换机形成邻接。

Waiting

等待

In this state, the switch is attempting to identify the backup designated switch for the link by monitoring the Hello packets it receives. The switch does not attempt to select a designated switch or a backup designated switch until it changes out of this state, thereby preventing unnecessary changes of the designated switch and its backup.

在此状态下,交换机正试图通过监视其接收的Hello数据包来识别链路的备份指定交换机。交换机不会尝试选择指定的交换机或备用指定的交换机,直到它改变出此状态,从而防止对指定交换机及其备用交换机进行不必要的更改。

DS Other

DS其他

In this state, the interface is operational and is connected to a multi-access broadcast link on which other switches have been selected as the designated switch and the backup designated switch. On entering this state, the switch attempts to form adjacencies with both the designated switch and the backup designated switch.

在此状态下,接口可运行,并连接到多址广播链路,在该链路上,其他交换机已被选为指定交换机和备用指定交换机。进入此状态时,交换机尝试与指定交换机和备用指定交换机形成邻接。

Backup

备份

In this state, the switch itself is the backup designated switch on the attached multi-access broadcast link. It will be promoted to designated switch if the current designated switch fails. The switch establishes adjacencies with all other switches attached to the link. (See Section 6.3 for more information on the functions performed by the backup designated switch.)

在此状态下,交换机本身是连接的多址广播链路上的备用指定交换机。如果当前指定的交换机出现故障,则升级为指定交换机。交换机与连接到链路的所有其他交换机建立邻接关系。(有关备用指定交换机执行的功能的更多信息,请参见第6.3节。)

DS

DS

In this state, this switch itself is the designated switch on the attached multi-access broadcast link. The switch establishes adjacencies with all other switches attached to the link. The switch is responsible for originating network link advertisements for the link, containing link information for all switches attached to the link, including the designated switch itself. (See Section 6.3 for more information on the functions performed by the designated switch.)

在此状态下,此交换机本身是连接的多址广播链路上的指定交换机。交换机与连接到链路的所有其他交换机建立邻接关系。交换机负责为链路发起网络链路广告,其中包含连接到链路的所有交换机的链路信息,包括指定的交换机本身。(有关指定开关执行功能的更多信息,请参见第6.3节。)

3.2 Events Causing Interface State Changes
3.2 导致接口状态更改的事件

The state of an interface changes due to an interface event. This section describes these events.

接口的状态因接口事件而更改。本节介绍这些事件。

Interface events are shown as arrows in Figure 1, the graphic representation of the interface state machine. For more information on the interface state machine, see Section 3.3.

接口事件如图1中的箭头所示,图1是接口状态机的图形表示。有关接口状态机的更多信息,请参阅第3.3节。

Interface Up

衔接

This event is generated by the VlanHello protocol [IDhello] when it discovers a neighbor switch on the interface. The interface is now operational. This event causes the interface to change out of the Down state. The state it enters is determined by the interface type. If the interface type is broadcast (multi-access), this event also causes the switch to begin sending periodic Hello packets out over the interface.

此事件由VlanHello协议[IDhello]在发现接口上的邻居交换机时生成。该接口现已投入使用。此事件导致接口更改为关闭状态。它进入的状态由接口类型决定。如果接口类型为广播(多访问),此事件还会导致交换机开始通过接口定期发送Hello数据包。

Wait Timer

等待定时器

This event is generated when the one-shot Wait timer expires, triggering the end of the required waiting period before the switch can begin the process of selecting a designated switch and a backup designated switch on a multi-access link.

当一次性等待计时器过期时生成此事件,触发交换机开始选择多址链路上的指定交换机和备份指定交换机之前所需等待时间的结束。

Backup Seen

看到备份了吗

This event is generated when the switch has detected the existence or non-existence of a backup designated switch for the link, as determined in one of the following two ways:

当交换机检测到链路的备用指定交换机存在或不存在时,会生成此事件,这是通过以下两种方式之一确定的:

o A Hello packet has been received from a neighbor that claims to be the backup designated switch.

o 从声称是备份指定交换机的邻居处接收到Hello数据包。

o A Hello packet has been received from a neighbor that claims to be the designated switch. In addition, the packet indicated that there is no backup.

o 从声称是指定交换机的邻居处接收到Hello数据包。此外,数据包表明没有备份。

In either case, the interface must have bidirectional communication with its neighbor -- that is, the local switch must be listed in the neighbor's Hello packet.

无论哪种情况,接口都必须与其邻居进行双向通信——也就是说,本地交换机必须列在邻居的Hello数据包中。

This event signals the end of the Waiting state.

此事件表示等待状态结束。

Neighbor change

邻居改变

This event is generated when there has been one of the following changes in the set of bidirectional neighbors associated with the interface. (See Section 4.1 for information on neighbor states.)

当与接口关联的一组双向邻居发生以下更改时,将生成此事件。(有关相邻状态的信息,请参见第4.1节。)

o Bidirectional communication has been established with a neighbor -- the state of the neighbor has changed to 2-Way or higher.

o 已与邻居建立双向通信——邻居的状态已更改为双向或更高。

o Bidirectional communication with a neighbor has been lost -- the state of the neighbor has changed to Init or lower.

o 与邻居的双向通信已丢失--邻居的状态已更改为Init或更低。

o A bidirectional neighbor has just declared itself to be either the designated switch or the backup designated switch, as detected by examination of that neighbor's Hello packets.

o 双向邻居刚刚声明自己是指定交换机或备份指定交换机,这是通过检查该邻居的Hello数据包检测到的。

o A bidirectional neighbor is no longer declaring itself to be either the designated switch or the backup designated switch, as detected by examination of that neighbor's Hello packets.

o 双向邻居不再声明自己是指定交换机或备份指定交换机,这是通过检查该邻居的Hello数据包检测到的。

o The advertised switch priority of a bidirectional neighbor has changed, as detected by examination of that neighbor's Hello packets.

o 双向邻居的播发交换机优先级已更改,这是通过检查该邻居的Hello数据包检测到的。

When this event occurs, the designated switch and the backup designated switch must be reselected.

发生此事件时,必须重新选择指定交换机和备用指定交换机。

Loop Ind

循环标识

This event is generated when an interface enters the Loopback state. This event can be generated by either the network management service or by the lower-level protocols.

当接口进入环回状态时生成此事件。此事件可以由网络管理服务或较低级别的协议生成。

Unloop Ind

卸下Ind

This event is generated when an interface leaves the Loopback state. This event can be generated by either the network management service or by the lower-level protocols.

此事件在接口离开环回状态时生成。此事件可以由网络管理服务或较低级别的协议生成。

Interface Down

接口关闭

This event is generated under the following two circumstances:

此事件是在以下两种情况下生成的:

o The VlanHello [IDhello] protocol has determined that the interface is no longer functional.

o VlanHello[IDhello]协议已确定接口不再正常工作。

o The neighbor state machine has detected a second neighboring switch on a link presumed to be of type point-to-point. In addition to generating the Interface Down event, the neighbor state machine changes the interface type to broadcast.

o 相邻状态机已在假定为点对点类型的链路上检测到第二相邻交换机。除了生成接口关闭事件外,邻居状态机还将接口类型更改为广播。

In both instances, this event forces the interface state to Down. However, when the event is generated by the neighbor state machine, it is immediately followed by an Interface Up event. (See Section 4.3.)

在这两种情况下,此事件都会强制关闭接口状态。但是,当事件由邻居状态机生成时,紧接着是接口启动事件。(见第4.3节。)

3.3 Interface State Machine
3.3 接口状态机

This section presents a detailed description of the interface state machine.

本节详细介绍了接口状态机。

Interface states (see Section 3.1) change as the result of various events (see Section 3.2). However, the effect of each event can vary, depending on the current state of the interface. For this reason, the state machine described in this section is organized according to the current interface state and the occurring event. For each state/event pair, the new interface state is listed, along with a description of the required processing.

接口状态(见第3.1节)因各种事件而变化(见第3.2节)。但是,根据接口的当前状态,每个事件的效果可能会有所不同。因此,本节中描述的状态机是根据当前接口状态和发生的事件来组织的。对于每个状态/事件对,将列出新的接口状态以及所需处理的描述。

Note that when the state of an interface changes, it may be necessary to originate a new switch link advertisement. See Section 8.1 for more information.

注意,当接口的状态改变时,可能需要发起新的交换机链路公告。详见第8.1节。

Some of the processing described here includes generating events for the neighbor state machine. For example, when an interface becomes inoperative, all neighbor connections associated with the interface must be destroyed. For more information on the neighbor state machine, see Section 4.3.

这里描述的一些处理包括为邻居状态机生成事件。例如,当某个接口不工作时,必须销毁与该接口关联的所有相邻连接。有关邻居状态机的更多信息,请参阅第4.3节。

State(s): Down Event: Interface Up New state: Depends on action routine Action: If the interface is a point-to-point link, set the interface state to Point-to-Point. Otherwise, start the Hello interval timer, enabling the periodic sending of Hello packets over the interface. If the switch is not eligible to become the designated switch, change the interface state to DS Other. Otherwise, set the interface state to Waiting and start the one-shot wait timer. Create a new neighbor data structure for the neighbor switch, initialize all neighbor parameters and set the stateof the neighbor to Down.

状态:关闭事件:接口打开新状态:取决于操作例程操作:如果接口是点到点链接,请将接口状态设置为点到点。否则,启动Hello interval计时器,启用通过接口定期发送Hello数据包。如果交换机不符合成为指定交换机的条件,请将接口状态更改为DS Other。否则,将接口状态设置为等待并启动一次性等待计时器。为邻居交换机创建新的邻居数据结构,初始化所有邻居参数,并将邻居的状态设置为Down。

State(s): Waiting Event: Backup Seen New state: Depends on action routine Action: Select the designated switch and backup designated switch for the attached link, as described in Section 6.3.1. As a result of this selection, set the new state of the interface to either DS Other, Backup or DS.

状态:等待事件:备份新状态:取决于操作例行操作:为连接的链路选择指定交换机和备份指定交换机,如第6.3.1节所述。选择此选项后,将接口的新状态设置为DS Other、Backup或DS。

State(s): Waiting Event: Wait Timer New state: Depends on action routine Action: Select the designated switch and backup designated switch for the attached link, as described in Section 6.3.1. As a result of this selection, set the new state of the interface to either DS Other, Backup or DS.

状态:等待事件:等待计时器新状态:取决于操作例行操作:为连接的链路选择指定交换机和备份指定交换机,如第6.3.1节所述。选择此选项后,将接口的新状态设置为DS Other、Backup或DS。

State(s): DS Other, Backup or DS Event: Neighbor Change New state: Depends on action routine Action: Reselect the designated switch and backup designated switch for the attached link, as described in Section 6.3.1. As a result of this selection, set the new state of the interface to either DS Other, Backup or DS.

状态:DS其他、备份或DS事件:邻居更改新状态:取决于操作例行操作:为连接的链路重新选择指定交换机和备份指定交换机,如第6.3.1节所述。选择此选项后,将接口的新状态设置为DS Other、Backup或DS。

State(s): Any State Event: Interface Down New state: Down Action: Reset all variables in the interface data structure and disable all timers. In addition, destroy all neighbor connections associated with the interface by generating the KillNbr event on all neighbors listed in the interface data structure.

状态:任何状态事件:接口关闭新状态:关闭操作:重置接口数据结构中的所有变量并禁用所有计时器。此外,通过在接口数据结构中列出的所有邻居上生成KillNbr事件,销毁与接口关联的所有邻居连接。

State(s): Any State Event: Loop Ind New state: Loopback Action: Reset all variables in the interface data structure and disable all timers. In addition, destroy all neighbor connections associated with the interface by generating the KillNbr event on all neighbors listed in the interface data structure.

状态:任何状态事件:循环Ind新状态:环回操作:重置接口数据结构中的所有变量并禁用所有计时器。此外,通过在接口数据结构中列出的所有邻居上生成KillNbr事件,销毁与接口关联的所有邻居连接。

State(s): Loopback Event: Unloop Ind New state: Down Action: No action is necessary beyond changing the interface state to Down because the interface was reset on entering the Loopback state.

状态:环回事件:Unloop Ind New State:Down操作:除了将接口状态更改为Down之外,无需其他操作,因为接口在进入环回状态时已重置。

4. Neighbor Data Structure
4. 邻居数据结构

Each switch conducts a conversation with its neighboring switches and each conversation is described by a neighbor data structure. A conversation is associated with a switch interface, and is identified by the neighboring switch ID.

每个交换机与其相邻的交换机进行对话,每个对话由相邻的数据结构描述。对话与交换机接口相关联,并由相邻交换机ID标识。

Note that if two switches have multiple attached links in common, multiple conversations ensue, each described by a unique neighbor data structure. Each separate conversation is treated as a separate neighbor.

请注意,如果两个交换机共用多个连接的链路,则会发生多个对话,每个对话由唯一的邻居数据结构描述。每个单独的对话都被视为单独的邻居。

The neighbor data structure contains all information relevant to any adjacency formed between the two neighbors. Remember, however, that not all neighbors become adjacent. An adjacency can be thought of as a highly developed conversation between two switches.

邻居数据结构包含与两个邻居之间形成的任何邻接相关的所有信息。但是,请记住,并非所有邻居都是相邻的。邻接可以被认为是两个交换机之间高度发达的对话。

State

状态

The functional level of the neighbor conversation. See Section 4.1 for a complete description of neighbor states.

邻居会话的功能级别。有关相邻状态的完整说明,请参见第4.1节。

Inactivity timer

不活动计时器

A one-shot timer used to determine when to declare the neighbor down if no Hello packet is received from this (multi-access) neighbor. The length of the timer is SwitchDeadInterval seconds, as contained in the neighbor's Hello packet. This timer is not used on point-to-point links.

一个一次性计时器,用于确定当没有从该(多址)邻居接收到Hello数据包时,何时宣布该邻居关闭。计时器的长度为SwitchDeadInterval秒,包含在邻居的Hello数据包中。此计时器不用于点到点链接。

Master/slave flag

主/从标志

A flag indicating whether the local switch is to act as the master or the slave in the database exchange process (see Section 7.2). The master/slave relationship is negotiated when the conversation changes to the ExStart state.

指示本地交换机在数据库交换过程中是充当主交换机还是从交换机的标志(参见第7.2节)。当会话更改为ExStart状态时,将协商主/从关系。

Sequence number

序列号

A 4-octet number identifying individual Database Description packets. When the neighbor state ExStart is entered and the database exchange process is started, the sequence number is set to a value not previously seen by the neighboring switch. (One possible scheme is to use the switch's time of day counter.) The sequence number is then incremented by the master with each new Database Description packet sent. See Section 7.2 for more information on the database exchange process.

标识单个数据库描述数据包的4个八位组编号。当进入邻居状态ExStart并启动数据库交换进程时,序列号设置为邻居交换机以前未看到的值。(一种可能的方案是使用交换机的时间计数器。)然后,随着每个新的数据库描述数据包的发送,序列号由主机递增。有关数据库交换过程的更多信息,请参见第7.2节。

Neighbor ID

邻居ID

The switch ID of the neighboring switch, as discovered by the VlanHello protocol [IDhello] or contained in the neighbor's Hello packets.

相邻交换机的交换机ID,由VlanHello协议[IDhello]发现或包含在邻居的Hello数据包中。

Neighbor priority

邻居优先级

The switch priority of the neighboring switch, as contained in the neighbor's Hello packets. Switch priorities are used when selecting the designated switch for the attached multi-access link. Priority is not used on point-to-point links.

邻居的Hello数据包中包含的相邻交换机的交换机优先级。为连接的多址链路选择指定交换机时,使用交换机优先级。在点到点链接上不使用优先级。

Interface identifier

接口标识符

A 10-octet value that uniquely identifies the interface over which this conversation is being held. This value consists of the 6- octet base MAC address of the neighbor switch, followed by the 4- octet local port number of the interface.

一个10个八位字节的值,它唯一地标识在其上进行此对话的接口。该值由邻居交换机的6个八位字节的基本MAC地址组成,后跟接口的4个八位字节的本地端口号。

Neighbor's designated switch

邻居指定的交换机

The switch ID identifying the neighbor's idea of the designated switch, as contained in the neighbor's Hello packets. This value is used in the local selection of the designated switch. It is not used on point-to-point links.

交换机ID,标识邻居对指定交换机的想法,包含在邻居的Hello数据包中。该值用于指定开关的本地选择。它不用于点到点链接。

Neighbor's backup designated switch

邻居的备用指定交换机

The switch ID identifying the neighbor's idea of the backup designated switch, as contained in the neighbor's Hello packets. This value is used in the local selection of the backup designated switch. It is not used on point-to-point links.

交换机ID,标识邻居对备份指定交换机的想法,包含在邻居的Hello数据包中。此值用于本地选择备用指定交换机。它不用于点到点链接。

Link state retransmission list

链路状态重传列表

The list of link state advertisements that have been forwarded over but not acknowledged on this adjacency. The local switch retransmits these link state advertisements at periodic intervals until they are acknowledged or until the adjacency is destroyed. (For more information on retransmitting link state advertisements, see Section 8.2.5.)

已转发但未在此邻接上确认的链接状态播发列表。本地交换机以周期性的间隔重新传输这些链路状态播发,直到它们被确认或直到邻接被破坏。(有关重新传输链路状态广告的更多信息,请参阅第8.2.5节。)

Database summary list

数据库摘要列表

The set of link state advertisement headers that summarize the local link state database. When the conversation changes to the Exchange state, this list is sent to the neighbor via Database Description packets. (For more information on the synchronization of databases, see Section 7.)

汇总本地链接状态数据库的链接状态播发标头集。当会话更改为Exchange状态时,此列表将通过数据库描述数据包发送给邻居。(有关数据库同步的更多信息,请参阅第7节。)

Link state request list

链路状态请求列表

The list of link state advertisements that must be received in order to synchronize with the neighbor switch's link state database. This list is created as Database Description packets are received, and is then sent to the neighbor in Link State Request packets. (For more information on the synchronization of databases, see Section 7.)

要与邻居交换机的链路状态数据库同步,必须接收的链路状态播发列表。此列表是在接收数据库描述数据包时创建的,然后以链路状态请求数据包的形式发送给邻居。(有关数据库同步的更多信息,请参阅第7节。)

4.1 Neighbor States
4.1 邻国

This section describes the various states of a conversation with a neighbor switch. The states are listed in order of progressing functionality. For example, the inoperative state is listed first, followed by a list of the intermediate states through which the conversation passes before attaining the final, fully functional state. The specification makes use of this ordering by references such as "those neighbors/adjacencies in state greater than X".

本节介绍与邻居交换机的对话的各种状态。这些状态按功能的进展顺序列出。例如,首先列出不工作状态,然后列出会话在达到最终完全功能状态之前经过的中间状态列表。规范通过引用(例如“状态大于X的那些邻居/邻接”)来使用这种排序。

Figure 2 represents the neighbor state machine. The arrows on the graph represent the events causing each state change. These events are described in Section 4.2. The neighbor state machine is described in detail in Section 4.3.

图2表示邻居状态机。图上的箭头表示导致每个状态更改的事件。第4.2节描述了这些事件。第4.3节详细描述了邻居状态机。

Down

向下

This is the initial state of a neighbor conversation.

这是邻居对话的初始状态。

Init

初始化

In this state, the neighbor has been discovered, but bidirectional communication has not yet been established. All neighbors in this state or higher are listed in the VLS Hello packets sent by the local switch over the associated (multi-access) interface.

在此状态下,已发现邻居,但尚未建立双向通信。处于该状态或更高状态的所有邻居都列在本地交换机通过相关(多址)接口发送的VLS Hello数据包中。

          +----------+     KillNbr, LLDown,   +-----------+
          |   Down   | <--------------------- | any state |
          +----------+   or Inactivity Timer  +-----------+
               |
         Hello |
          Rcvd |
               |
               V
   +-----< [pt-to-pt?]
   | yes       |
   |           | no
   |           V
   |      +----------+   1-Way   +----------+
   |      |   Init   | <-------- | >= 2-way |
   |      +----------+           +----------+
   |           |
   |     2-Way |
   |      Rcvd |                  +-------+   AdjOK? +------------+
   |           +----------------> | 2-Way | <------- | >= ExStart |
   |           | (no adjacency)   +-------+     no   +------------+
   |           |
   |           V
   |      +---------+   Seq Number Mismatch  +-------------+
   +----> | ExStart | <--------------------- | >= Exchange |
          +---------+       or BadLSReq      +-------------+
               |
   Negotiation |
       Done    |
               V
          +----------+
          | Exchange |
          +----------+
               |
      Exchange |                        +--------+
        Done   +----------------------> |  Full  |
               | (request list empty)   +--------+
               |                             ^
               V                             |
          +---------+      Loading Done      |
          | Loading | ----------------------->
          +---------+
        
          +----------+     KillNbr, LLDown,   +-----------+
          |   Down   | <--------------------- | any state |
          +----------+   or Inactivity Timer  +-----------+
               |
         Hello |
          Rcvd |
               |
               V
   +-----< [pt-to-pt?]
   | yes       |
   |           | no
   |           V
   |      +----------+   1-Way   +----------+
   |      |   Init   | <-------- | >= 2-way |
   |      +----------+           +----------+
   |           |
   |     2-Way |
   |      Rcvd |                  +-------+   AdjOK? +------------+
   |           +----------------> | 2-Way | <------- | >= ExStart |
   |           | (no adjacency)   +-------+     no   +------------+
   |           |
   |           V
   |      +---------+   Seq Number Mismatch  +-------------+
   +----> | ExStart | <--------------------- | >= Exchange |
          +---------+       or BadLSReq      +-------------+
               |
   Negotiation |
       Done    |
               V
          +----------+
          | Exchange |
          +----------+
               |
      Exchange |                        +--------+
        Done   +----------------------> |  Full  |
               | (request list empty)   +--------+
               |                             ^
               V                             |
          +---------+      Loading Done      |
          | Loading | ----------------------->
          +---------+
        

Figure 2: Neighbor State Machine

图2:邻居状态机

2-Way

双向

In this state, communication between the two switches is bidirectional. This is the most advanced state short of beginning to establish an adjacency. On a multi-access link, the designated switch and the backup designated switch are selected from the set of neighbors in state 2-Way or greater.

在此状态下,两个交换机之间的通信是双向的。这是尚未开始建立邻接关系的最高级状态。在多址链路上,指定交换机和备用指定交换机从状态为2路或更高的邻居集中选择。

ExStart

始态

This state indicates that the two switches have begun to establish an adjacency by determining which switch is the master, as well as the initial sequence number for Database Descriptor packets. Neighbor conversations in this state or greater are called adjacencies.

此状态表示两个交换机已通过确定哪个交换机是主交换机以及数据库描述符数据包的初始序列号开始建立邻接关系。处于这种或更高状态的邻居对话称为邻接。

Exchange

交换

In this state, the switches are exchanging Database Description packets. (See Section 7.2 for a complete description of this process.) All adjacencies in the Exchange state or greater are used by the distribution procedure (see Section 8.2), and are capable of transmitting and receiving all types of VLSP routing packets.

在此状态下,交换机正在交换数据库描述数据包。(有关此过程的完整描述,请参见第7.2节。)分发程序使用交换状态或更高状态下的所有邻接(请参见第8.2节),并且能够发送和接收所有类型的VLSP路由数据包。

Loading

加载

In this state, the local switch is sending Link State Request packets to the neighbor asking for the more recent advertisements that were discovered in the Exchange state.

在此状态下,本地交换机向邻居发送链路状态请求数据包,请求在Exchange状态下发现的最新播发。

Full

满的

In this state, the two switches are fully adjacent. These adjacencies will now appear in switch link and network link advertisements generated for the link.

在此状态下,两个开关完全相邻。这些邻接现在将出现在为链路生成的交换机链路和网络链路播发中。

4.2 Events Causing Neighbor State Changes
4.2 导致邻居状态更改的事件

The state of a neighbor conversation changes due to neighbor events. This section describes these events.

邻居会话的状态因邻居事件而改变。本节介绍这些事件。

Neighbor events are shown as arrows in Figure 2, the graphic representation of the neighbor state machine. For more information on the neighbor state machine, see Section 4.3.

邻居事件在图2中显示为箭头,它是邻居状态机的图形表示。有关邻居状态机的更多信息,请参阅第4.3节。

Hello Received

收到你好

This event is generated when a Hello packet has been received from a neighbor.

当从邻居收到Hello数据包时,将生成此事件。

2-Way Received

双向接收

This event is generated when the local switch sees its own switch ID listed in the neighbor's Hello packet, indicating that bidirectional communication has been established between the two switches.

当本地交换机看到邻居的Hello数据包中列出了自己的交换机ID时,会生成此事件,这表明两个交换机之间已建立双向通信。

Negotiation Done

谈判结束

This event is generated when the master/slave relationship has been successfully negotiated and initial packet sequence numbers have been exchanged. This event signals the start of the database exchange process (see Section 7.2).

当主/从关系已成功协商且初始数据包序列号已交换时,将生成此事件。此事件表示数据库交换过程开始(见第7.2节)。

Exchange Done

交换完毕

This event is generated when the database exchange process is complete and both switches have successfully transmitted a full sequence of Database Description packets. (For more information on the database exchange process, see Section 7.2.)

当数据库交换过程完成并且两个交换机都成功传输了完整的数据库描述数据包序列时,将生成此事件。(有关数据库交换过程的更多信息,请参阅第7.2节。)

BadLSReq

巴德尔斯雷克

This event is generated when a Link State Request has been received for a link state advertisement that is not contained in the database. This event indicates an error in the synchronization process.

当接收到数据库中未包含的链接状态播发的链接状态请求时,将生成此事件。此事件表示同步过程中出现错误。

Loading Done

加载完成

This event is generated when all Link State Updates have been received for all out-of-date portions of the database. (See Section 7.3.)

当接收到数据库所有过期部分的所有链接状态更新时,将生成此事件。(见第7.3节。)

AdjOK?

好吗?

This event is generated when a decision must be made as to whether an adjacency will be established or maintained with the neighbor. This event will initiate some adjacencies and destroy others.

当必须决定是否与邻居建立或保持邻接时,会生成此事件。此事件将启动一些邻接并破坏其他邻接。

Seq Number Mismatch

序号不匹配

This event is generated when a Database Description packet has been received with any of the following conditions:

当接收到具有以下任一条件的数据库描述数据包时,将生成此事件:

o The packet contains an unexpected sequence number. o The packet (unexpectedly) has the Init bit set. o The packet has a different Options field than was previously seen.

o 数据包包含意外的序列号。o数据包(意外地)设置了初始位。o数据包的选项字段与以前看到的不同。

These conditions all indicate that an error has occurred during the establishment of the adjacency.

这些条件都表明在建立邻接过程中发生了错误。

1-Way

单向

This event is generated when bidirectional communication with the neighbor has been lost. That is, a Hello packet has been received from the neighbor in which the local switch is not listed.

当与邻居的双向通信丢失时,会生成此事件。也就是说,从没有列出本地交换机的邻居接收到Hello数据包。

KillNbr

基尔恩布尔

This event is generated when further communication with the neighbor is impossible.

当无法与邻居进一步通信时,会生成此事件。

Inactivity Timer

不活动计时器

This event is generated when the inactivity timer has expired, indicating that no Hello packets have been received from the neighbor in SwitchDeadInterval seconds. This timer is used only on broadcast (multi-access) links.

此事件在非活动计时器过期时生成,表示在SwitchDeadInterval秒内未收到邻居的Hello数据包。此计时器仅用于广播(多址)链路。

LLDown

低落

This event is generated by the lower-level switch discovery protocols and indicates that the neighbor is now unreachable.

此事件由较低级别的交换机发现协议生成,表示现在无法访问邻居。

4.3 Neighbor State Machine
4.3 邻居状态机

This section presents a detailed description of the neighbor state machine.

本节详细介绍了邻居状态机。

Neighbor states (see Section 4.1) change as the result of various events (see Section 4.2). However, the effect of each event can vary, depending on the current state of the conversation with the neighbor. For this reason, the state machine described in this section is organized according to the current neighbor state and the occurring event. For each state/event pair, the new neighbor state is listed, along with a description of the required processing.

相邻状态(见第4.1节)因各种事件而变化(见第4.2节)。但是,根据与邻居对话的当前状态,每个事件的效果可能会有所不同。因此,本节中描述的状态机根据当前邻居状态和发生的事件进行组织。对于每个状态/事件对,将列出新的邻居状态以及所需处理的描述。

Note that when the neighbor state changes as a result of an interface Neighbor Change event (see Section 3.2), it may be necessary to rerun the designated switch selection algorithm. In addition, if the interface associated with the neighbor conversation is in the DS state (that is, the local switch is the designated switch), changes in the neighbor state may cause a new network link advertisement to be originated (see Section 8.1).

请注意,当由于接口邻居更改事件(见第3.2节)导致邻居状态更改时,可能需要重新运行指定的交换机选择算法。此外,如果与邻居对话相关联的接口处于DS状态(即,本地交换机是指定的交换机),则邻居状态的更改可能会导致新的网络链路广告产生(参见第8.1节)。

When the neighbor state machine must invoke the interface state machine, it is invoked as a scheduled task. This simplifies processing, by ensuring that neither state machine executes recursively.

当邻居状态机必须调用接口状态机时,它将作为计划任务调用。通过确保两个状态机都不递归执行,这简化了处理。

State(s): Down Event: Hello Received New state: Depends on the interface type Action: If the interface type of the associated link is point-to-point, change the neighbor state to ExStart. Otherwise, change the neighbor state to Init and start the inactivity timer for the neighbor. If the timer expires before another Hello packet is received, the neighbor switch is declared dead.

状态:关闭事件:Hello Received New State:取决于接口类型操作:如果关联链接的接口类型为点对点,请将邻居状态更改为ExStart。否则,将邻居状态更改为Init并启动邻居的非活动计时器。如果计时器在接收到另一个Hello数据包之前过期,则邻居交换机将被宣布为死机。

State(s): Init or greater Event: Hello Received New state: No state change Action: If the interface type of the associated link is point-to-point, determine whether this notification is for a different neighbor than the one previously seen. If so, generate an Interface Down event for the associated interface, reset the interface type to broadcast and generate an Interface Up event.

状态:Init或更高事件:Hello已接收新状态:无状态更改操作:如果关联链接的接口类型为点对点,请确定此通知是否针对与以前看到的邻居不同的邻居。如果是,为关联接口生成接口关闭事件,将接口类型重置为广播并生成接口打开事件。

Note: This procedure of generating an Interface Down event and changing the interface type to broadcast is also executed if the neighbor for whom the notification was received is running an older version of the protocol software (see Section 6.1). In previous versions of the protocol, all interfaces were treated as if they were broadcast.

注:如果接收到通知的邻居正在运行较旧版本的协议软件,则也会执行生成接口关闭事件并将接口类型更改为广播的过程(参见第6.1节)。在以前版本的协议中,所有接口都被视为广播。

If the interface type is broadcast, reset the inactivity timer for the neighbor.

如果接口类型为广播,请重置邻居的非活动计时器。

State(s): Init Event: 2-Way Received New state: Depends on action routine Action: Determine whether an adjacency will be formed with the neighbor (see Section 6.4). If no adjacency is to be formed, change the neighbor state to 2-Way.

状态:初始化事件:双向接收新状态:取决于操作例行操作:确定是否与邻居形成邻接(见第6.4节)。如果不形成邻接,请将“邻居”状态更改为“双向”。

Otherwise, change the neighbor state to ExStart. Initialize the sequence number for this neighbor and declare the local switch to be master for the database exchange process. (See Section 7.2.)

否则,将邻居状态更改为ExStart。初始化此邻居的序列号,并将本地交换机声明为数据库交换进程的主交换机。(见第7.2节。)

State(s): ExStart Event: Negotiation Done New state: Exchange Action: The Negotiation Done event signals the start of the database exchange process. See Section 7.2 for a detailed description of this process.

状态:ExStart事件:协商完成新状态:交换操作:协商完成事件表示数据库交换进程开始。有关此过程的详细说明,请参见第7.2节。

State(s): Exchange Event: Exchange Done New state: Depends on action routine Action: If the neighbor Link state request list is empty, change the neighbor state to Full. This is the adjacency's final state.

状态:交换事件:交换完成新状态:取决于操作例程操作:如果邻居链接状态请求列表为空,请将邻居状态更改为完全。这是邻接的最终状态。

Otherwise, change the neighbor state to Loading. Begin sending Link State Request packets to the neighbor requesting the most recent link state advertisements, as discovered during the database exchange process. (See Section 7.2.) These advertisements are listed in the link state request list associated with the neighbor.

否则,将“邻居”状态更改为“正在加载”。开始向邻居发送链路状态请求数据包,请求在数据库交换过程中发现的最新链路状态播发。(参见第7.2节。)这些广告列在与邻居相关联的链路状态请求列表中。

State(s): Loading Event: Loading Done New state: Full Action: No action is required beyond changing the neighbor state to Full. This is the adjacency's final state.

状态:加载事件:加载完成新状态:完全操作:除了将相邻状态更改为完全状态外,无需任何操作。这是邻接的最终状态。

State(s): 2-Way Event: AdjOK? New state: Depends on action routine Action: If no adjacency is to be formed with the neighboring switch (see Section 6.4), retain the neighbor state at 2-Way. Otherwise, change the neighbor state to ExStart. Initialize the sequence number for this neighbor and declare the local switch to be master for the database exchange process. (See Section 7.2.)

状态:双向事件:AdjOK?新状态:取决于操作常规操作:如果相邻开关不形成邻接(见第6.4节),则将相邻状态保持在双向。否则,将邻居状态更改为ExStart。初始化此邻居的序列号,并将本地交换机声明为数据库交换进程的主交换机。(见第7.2节。)

State(s): ExStart or greater Event: AdjOK? New state: Depends on action routine Action: If an adjacency should still be formed with the neighboring switch (see Section 6.4), no state change and no further action is necessary. Otherwise, tear down the (possibly partially formed) adjacency. Clear the link state retransmission list, database summary list and link state request list and change the neighbor state to 2-Way.

状态:ExStart或更大事件:AdjOK?新状态:取决于操作常规操作:如果相邻开关仍应形成邻接(见第6.4节),则无状态更改,无需进一步操作。否则,请拆下(可能部分形成的)邻接。清除链路状态重传列表、数据库摘要列表和链路状态请求列表,并将邻居状态更改为双向。

State(s): Exchange or greater Event: Seq Number Mismatch New state: ExStart Action: Tear down the (possibly partially formed) adjacency. Clear the link state retransmission list, database summary list and link state request list. Change the neighbor state to ExStart and make another attempt to establish the adjacency.

状态:交换或更大事件:序号不匹配新状态:ExStart操作:拆除(可能部分形成的)邻接。清除链路状态重传列表、数据库摘要列表和链路状态请求列表。将邻居状态更改为ExStart并再次尝试建立邻接。

State(s): Exchange or greater Event: BadLSReq New state: ExStart Action: Tear down the (possibly partially formed) adjacency. Clear the link state retransmission list, database summary list and link state request list. Change the neighbor state to ExStart and make another attempt to establish the adjacency.

状态:交换或更大事件:BadLSReq新状态:ExStart操作:拆除(可能部分形成的)邻接。清除链路状态重传列表、数据库摘要列表和链路状态请求列表。将邻居状态更改为ExStart并再次尝试建立邻接。

State(s): Any state Event: KillNbr New state: Down Action: Terminate the neighbor conversation. Disable the inactivity timer and clear the link state retransmission list, database summary list and link state request list.

状态:任何状态事件:KillNbr新状态:关闭操作:终止邻居对话。禁用非活动计时器并清除链路状态重传列表、数据库摘要列表和链路状态请求列表。

State(s): Any state Event: LLDown New state: Down Action: Terminate the neighbor conversation. Disable the inactivity timer and clear the link state retransmission list, database summary list and link state request list.

状态:任何状态事件:LLDown新状态:Down操作:终止邻居对话。禁用非活动计时器并清除链路状态重传列表、数据库摘要列表和链路状态请求列表。

State(s): Any state Event: Inactivity Timer New state: Down Action: Terminate the neighbor conversation. Disable the inactivity timer and clear the link state retransmission list, database summary list and link state request list.

状态:任何状态事件:不活动计时器新状态:关闭操作:终止邻居对话。禁用非活动计时器并清除链路状态重传列表、数据库摘要列表和链路状态请求列表。

State(s): 2-Way or greater Event: 1-Way Received New state: Init Action: Tear down the adjacency between the switches, if any. Clear the link state retransmission list, database summary list and link state request list.

状态:2路或更大事件:1路接收新状态:初始化操作:拆除开关之间的邻接(如果有)。清除链路状态重传列表、数据库摘要列表和链路状态请求列表。

State(s): 2-Way or greater Event: 2-Way received New state: No state change Action: No action required.

状态:双向或更大事件:双向接收新状态:无状态更改操作:无需操作。

State(s): Init Event: 1-Way received New state: No state change Action: No action required.

状态:初始化事件:单向收到新状态:无状态更改操作:无需操作。

5. Area Data Structure
5. 区域数据结构

The area data structure contains all the information needed to run the basic routing algorithm. One of its components is the link state database -- the collection of all switch link and network link advertisements generated by the switches.

区域数据结构包含运行基本路由算法所需的所有信息。它的一个组件是链路状态数据库——由交换机生成的所有交换机链路和网络链路播发的集合。

The area data structure contains the following items:

区域数据结构包含以下项目:

Area ID

区域ID

A 4-octet value identifying the area. Since VLSP does not support multiple areas, the value here is always zero.

标识区域的4个八位组值。由于VLSP不支持多个区域,因此此处的值始终为零。

Associated switch interfaces

关联交换机接口

A list of interface IDs of the local switch interfaces connected to network links.

连接到网络链路的本地交换机接口的接口ID列表。

Link state database

链路状态数据库

The collection of all current link state advertisements for the switch fabric. This collection consists of the following:

交换结构的所有当前链路状态播发的集合。此集合包括以下内容:

Switch link advertisements

交换链路广告

A list of the switch link advertisements for all switches in the fabric. Switch link advertisements describe the state of each switch's interfaces.

结构中所有交换机的交换机链路播发列表。交换机链路广告描述每个交换机接口的状态。

Network link advertisements

网络链接广告

A list of the network link advertisements for all multi-access network links in the switch fabric. Network link advertisements describe the set of switches currently connected to each link.

交换机结构中所有多址网络链路的网络链路播发列表。网络链路广告描述当前连接到每个链路的交换机集。

Best path(s)

最佳路径

A set of end-to-end hop descriptions for all equal-cost best paths from the local switch to every other switch in the fabric. Each hop is specified by the interface ID of the next link in the path. Best paths are derived from the collected switch link and network link advertisements using the Dijkstra algorithm. [Perlman]

一组端到端跃点描述,用于从本地交换机到结构中每个其他交换机的所有等成本最佳路径。每个跃点由路径中下一个链接的接口ID指定。使用Dijkstra算法从收集的交换机链路和网络链路广告中导出最佳路径。[帕尔曼]

5.1 Adding and Deleting Link State Advertisements
5.1 添加和删除链接状态播发

The link state database within the area data structure must contain, at most, a single instance of each link state advertisement. To keep the database current, a switch adds link state advertisements to the database under the following conditions:

区域数据结构中的链接状态数据库最多必须包含每个链接状态播发的单个实例。为了使数据库保持最新状态,开关会在以下条件下向数据库添加链接状态播发:

o When a link state advertisement is received during the distribution process

o 在分发过程中接收到链路状态播发时

o When the switch itself generates a link state advertisement

o 当交换机本身生成链路状态播发时

(See Section 8.2.4 for information on installing link state advertisements.)

(有关安装链接状态广告的信息,请参见第8.2.4节。)

Likewise, a switch deletes link state advertisements from the database under the following conditions:

同样,交换机在以下条件下从数据库中删除链路状态播发:

o When a link state advertisement has been superseded by a newer instance during the flooding process

o 当链接状态播发在泛洪过程中被较新的实例取代时

o When the switch generates a newer instance of one of its self-originated advertisements

o 当交换机生成其一个自创播发的较新实例时

Note that when an advertisement is deleted from the link state database, it must also be removed from the link state retransmission list of all neighboring switches.

请注意,当从链路状态数据库中删除播发时,还必须将其从所有相邻交换机的链路状态重传列表中删除。

5.2 Accessing Link State Advertisements
5.2 访问链接状态广告

An implementation of the VLS protocol must provide access to individual link state advertisements, based on the advertisement's type, link state identifier, and advertising switch [1]. This lookup function is invoked during the link state distribution procedure and during calculation of the set of best paths. In addition, a switch can use the function to determine whether it has originated a particular link state advertisement, and if so, with what sequence number.

VLS协议的实现必须基于广告的类型、链路状态标识符和广告交换机提供对单个链路状态广告的访问[1]。此查找函数在链路状态分布过程和最佳路径集计算过程中调用。此外,交换机可以使用该功能来确定它是否发起了特定的链路状态播发,如果是,则使用什么序列号。

5.3 Best Path Lookup
5.3 最佳路径查找

An implementation of the VLS protocol must provide access to multiple equal-cost best paths, based on the base MAC addresses of the source and destination switches. This lookup function should return up to three equal-cost paths. Paths should be returned as lists of end-to-end hop information, with each hop specified as a interface ID of the next link in the path -- the 6-octet base MAC address of the next switch and the 4-octet local port number of the link interface.

VLS协议的实现必须基于源交换机和目标交换机的基本MAC地址提供对多个等成本最佳路径的访问。此查找函数最多应返回三条相同的成本路径。路径应作为端到端跃点信息列表返回,每个跃点指定为路径中下一个链路的接口ID——下一个交换机的6位字节基MAC地址和链路接口的4位字节本地端口号。

6. Discovery Process
6. 发现过程

The first operational stage of the VLS protocol is the discovery process. During this stage, each switch dynamically detects its neighboring switches and establishes a relationship with each of these neighbors. This process has the following component steps:

VLS协议的第一个操作阶段是发现过程。在此阶段,每个交换机动态检测其相邻交换机,并与每个相邻交换机建立关系。此过程包含以下组件步骤:

o Neighboring switches are detected on each functioning network interface.

o 在每个正常工作的网络接口上检测到相邻交换机。

o Bidirectional communication is established with each neighbor switch.

o 与每个相邻交换机建立双向通信。

o A designated switch and backup designated switch are selected for each multi-access network link.

o 为每个多址网络链路选择指定交换机和备用指定交换机。

o An adjacent relationship is established with selected neighbors on each link.

o 在每个链路上与选定的邻居建立相邻关系。

6.1 Neighbor Discovery
6.1 邻居发现

When the switch first comes on line, VLSP assumes all network links are point-to-point and no more than one neighboring switch will be discovered on any one port. Therefore, at startup, VLSP relies on the VlanHello protocol [IDhello] for the discovery of its neighbor switches.

当交换机首次联机时,VLSP假定所有网络链路都是点对点的,并且在任何一个端口上都不会发现多个相邻交换机。因此,在启动时,VLSP依赖VlanHello协议[IDhello]来发现其邻居交换机。

As each neighbor is detected, VlanHello triggers a Found Neighbor event, notifying VLSP that a new neighbor has been discovered. (See [IDhello] for a description of the Found Neighbor event and the information passed.) VLSP enters the neighbor switch ID in the list of known neighbors and creates a new neighbor data structure with a neighbor status of Down. A Hello Received neighbor event is then generated, which changes the neighbor state to ExStart.

当检测到每个邻居时,VlanHello会触发“发现邻居”事件,通知VLSP已发现新邻居。(请参阅[IDhello]了解找到的邻居事件的描述和传递的信息。)VLSP在已知邻居列表中输入邻居交换机ID,并创建邻居状态为“关闭”的新邻居数据结构。然后生成Hello Received neighbor事件,将邻居状态更改为ExStart。

There are two circumstances under which VLSP will change the type of an interface to broadcast:

有两种情况下,VLSP会将接口类型更改为广播:

o If VLSP receives a subsequent notification from VlanHello, specifying a second (different) neighbor switch on the port., the interface is then known to be multi-access. VLSP generates an Interface Down event for the interface, resets the interface type to broadcast, and then generates an Interface Up event.

o 如果VLSP收到来自VlanHello的后续通知,指定端口上的第二个(不同)邻居交换机,则该接口称为多址。VLSP为接口生成接口关闭事件,将接口类型重置为广播,然后生成接口打开事件。

o If the functional level of the neighbor switch is less than 2, the neighbor is running a previous version of the VLSP software in which all links were treated as broadcast links. VLSP immediately changes the interface type to broadcast and generates an Interface Up event.

o 如果邻居交换机的功能级别小于2,则邻居正在运行VLSP软件的早期版本,其中所有链路都被视为广播链路。VLSP立即将接口类型更改为广播,并生成接口启动事件。

In both cases, VLSP assumes control of communication over the interface by exchanging its own VLSP Hello packets with the neighbors on the link.

在这两种情况下,VLSP通过与链路上的邻居交换其自己的VLSP Hello数据包来控制接口上的通信。

Note: These Hello packets are in addition to the Interswitch Keepalive messages sent by VlanHello. VlanHello still continues to monitor the condition of the interface and notifies VLSP of any change.

注意:这些Hello数据包是VlanHello发送的交换机间Keepalive消息的补充。VlanHello仍将继续监视接口的状态,并将任何更改通知VLSP。

Each Hello packet contains the following data used during the discovery process on multi-access links:

每个Hello数据包包含在多址链路上的发现过程中使用的以下数据:

o The switch ID and priority of the sending switch

o 发送交换机的交换机ID和优先级

o Values specifying the interval timers to be used for sending Hello packets and deciding whether to declare a neighbor switch Down.

o 值,指定用于发送Hello数据包和决定是否声明邻居交换机关闭的间隔计时器。

o The switch ID of the designated switch and the backup designated switch for the link, as understood by the sending switch

o 按照发送交换机的理解,链路的指定交换机和备用指定交换机的交换机ID

o A list of switch IDs of all neighboring switches seen so far on the link

o 到目前为止在链路上看到的所有相邻交换机的交换机ID列表

For a detailed description of the Hello packet format, see Section 10.6.1.

有关Hello数据包格式的详细说明,请参见第10.6.1节。

When VLSP receives a Hello packet (on a broadcast link), it first attempts to identify the sending switch by matching its switch ID to one of the known neighbors listed in the interface data structure. If this is the first Hello packet received from the switch, the switch ID is entered in the list of known neighbors and a new neighbor data structure is created with a neighbor status of Down.

当VLSP接收到Hello数据包(在广播链路上)时,它首先尝试通过将其交换机ID与接口数据结构中列出的一个已知邻居匹配来识别发送交换机。如果这是从交换机接收到的第一个Hello数据包,那么交换机ID将输入到已知邻居列表中,并创建一个新的邻居数据结构,邻居状态为Down。

At this point, the remainder of the Hello packet is examined and the appropriate interface and neighbor events are generated. In all cases, a neighbor Hello Received event is generated. Other events may also be generated, triggering further steps in the discovery process or other actions, as appropriate.

此时,将检查Hello数据包的其余部分,并生成相应的接口和邻居事件。在所有情况下,都会生成邻居Hello Received事件。还可能生成其他事件,从而触发发现过程中的进一步步骤或其他操作(视情况而定)。

For a detailed description of the interface state machine, see Section 3.3. For a detailed description of the neighbor state machine, see Section 4.3.

有关接口状态机的详细说明,请参见第3.3节。有关邻居状态机的详细说明,请参见第4.3节。

6.2 Bidirectional Communication
6.2 双向通信阶段

Before a conversation can proceed with a neighbor switch, bidirectional communication must be established with that neighbor. Bidirectional communication is detected in one of two ways:

在使用邻居交换机进行对话之前,必须与该邻居建立双向通信。通过以下两种方式之一检测双向通信:

o On a point-to-point link, the VlanHello protocol sees its own switch ID listed in an Interswitch Keepalive message it has received from the neighbor.

o 在点到点链路上,VlanHello协议从邻居收到的交换机间Keepalive消息中列出了自己的交换机ID。

o On a multi-access link, VLSP sees its own switch ID listed in a VLSP Hello packet it has received from the neighbor.

o 在多址链路上,VLSP从邻居收到的VLSP Hello数据包中列出了自己的交换机ID。

In either case, a neighbor 2-Way Received neighbor event is generated.

在任何一种情况下,都会生成一个邻居双向接收邻居事件。

Once bidirectional communication has been established with a neighbor, the local switch determines whether an adjacency will be formed with the neighbor. However, if the link is a multi-access link, a designated switch and a backup designated switch must first be selected for the link. The next section contains a description of the designated switch, the backup designated switch, and the selection process.

一旦与邻居建立了双向通信,本地交换机确定是否将与邻居形成邻接。但是,如果链路是多址链路,则必须首先为链路选择指定交换机和备用指定交换机。下一节包含指定交换机、备用指定交换机和选择过程的说明。

6.3 Designated Switch
6.3 指定交换机

Every multi-access network link has a designated switch. The designated switch performs the following functions for the routing protocol:

每个多址网络链路都有一个指定的交换机。指定的交换机为路由协议执行以下功能:

o The designated switch originates a network link advertisement on behalf of the link, listing the set of switches (including the designated switch itself) currently attached to the link. For a detailed description of network link advertisements, see Section 11.3.

o 指定交换机代表链路发起网络链路广告,列出当前连接到链路的一组交换机(包括指定交换机本身)。有关网络链接广告的详细说明,请参见第11.3节。

o The designated switch becomes adjacent to all other switches on the link. Since the link state databases are synchronized across adjacencies, the designated switch plays a central part in the synchronization process. For a description of the synchronization process, see Section 7.

o 指定的交换机与链路上的所有其他交换机相邻。由于链路状态数据库是跨邻接同步的,因此指定的交换机在同步过程中起着核心作用。有关同步过程的说明,请参见第7节。

Each multi-access network link also has a backup designated switch. The primary function of the backup designated switch is to act as a standby for the designated switch. If the current designated switch fails, the backup designated switch becomes the designated switch.

每个多址网络链路还具有一个备份指定交换机。备用指定交换机的主要功能是充当指定交换机的备用交换机。如果当前指定交换机出现故障,则备用指定交换机将成为指定交换机。

To facilitate this transition, the backup designated switch forms an adjacency with every other switch on the link. Thus, when the backup designated switch must take over for the designated switch, its link state database is already synchronized with the databases of all other switches on the link.

为便于此转换,备用指定交换机与链路上的其他交换机相邻。因此,当备份指定交换机必须接管指定交换机时,其链路状态数据库已与链路上所有其他交换机的数据库同步。

Note: Point-to-point network links have neither a designated switch or a backup designated switch.

注意:点对点网络链路既没有指定交换机,也没有备用指定交换机。

6.3.1 Selecting the Designated Switch
6.3.1 选择指定的交换机

When a multi-access link interface first becomes functional, the switch sets a one-shot Wait timer (with a value of SwitchDeadInterval seconds) for the interface. The purpose of this timer is to ensure that all switches attached to the link have a chance to establish bidirectional communication before the designated switch and backup designated switch are selected for the link.

当多址链路接口第一次起作用时,交换机为接口设置一次触发等待计时器(值为SwitchDeadInterval秒)。此计时器的目的是确保连接到链路的所有交换机在为链路选择指定交换机和备用指定交换机之前有机会建立双向通信。

When the Wait timer is set, the interface enters the Waiting state. During this state, the switch exchanges Hello packets with its neighbors attempting to establish bidirectional communication. The interface leaves the Waiting state under one of the following conditions:

设置等待计时器后,接口进入等待状态。在此状态期间,交换机与其试图建立双向通信的邻居交换Hello数据包。在下列条件之一下,接口离开等待状态:

o The Wait timer expires.

o 等待计时器过期。

o A Hello packet is received indicating that a designated switch or a backup designated switch has already been specified for the interface.

o 接收到Hello数据包,指示已为接口指定了指定交换机或备份指定交换机。

At this point, if the switch sees that a designated switch has already been selected for the link, the switch accepts that designated switch, regardless of its own switch priority and MAC address. This situation typically means the switch has come up late on a fully functioning link. Although this makes it harder to predict the identity of the designated switch on a particular link, it ensures that the designated switch does not change needlessly, necessitating a resynchronization of the databases.

此时,如果交换机发现已为链路选择了指定的交换机,则无论其自身的交换机优先级和MAC地址如何,交换机都会接受该指定交换机。这种情况通常意味着交换机在完全运行的链路上出现得晚。尽管这使得预测特定链路上指定交换机的身份变得更加困难,但它确保指定交换机不会不必要地更改,从而需要重新同步数据库。

If no designated switch is currently specified for the link, the switch begins the actual selection process. Note that this selection algorithm operates only on a list of neighbor switches that are eligible to become the designated switch. A neighbor is eligible to be the designated switch if it has a switch priority greater than zero and its neighbor state is 2-Way or greater. The local switch includes itself on the list of eligible switches as long as it has a switch priority greater than zero.

如果当前没有为链路指定指定开关,则开关将开始实际的选择过程。请注意,此选择算法仅在有资格成为指定交换机的相邻交换机列表上运行。如果邻居的交换机优先级大于零且其邻居状态为双向或更高,则该邻居有资格成为指定交换机。只要本地交换机的交换机优先级大于零,它就将自己包括在合格交换机列表中。

The selection process includes the following steps:

选择过程包括以下步骤:

1. The current values of the link's designated switch and backup designated switch are saved for use in step 6.

1. 链路的指定交换机和备用指定交换机的当前值将被保存,以便在步骤6中使用。

2. The new backup designated switch is selected as follows:

2. 按如下方式选择新的备份指定交换机:

a) Eliminate from consideration those switches that have declared themselves to be the designated switch.

a) 将那些声明自己为指定交换机的交换机排除在考虑范围之外。

b) If one or more of the remaining switches have declared themselves to be the backup designated switch, eliminate from consideration all other switches.

b) 如果剩余的一个或多个交换机已声明自己是备用指定交换机,则不考虑所有其他交换机。

c) From the remaining list of eligible switches, select the switch having the highest switch priority as the backup designated switch. If multiple switches have the same (highest) priority, select the switch with the highest switch ID as the backup designated switch.

c) 从剩余的合格交换机列表中,选择具有最高交换机优先级的交换机作为备用指定交换机。如果多个交换机具有相同(最高)优先级,请选择交换机ID最高的交换机作为备用指定交换机。

3. The new designated switch is selected as follows:

3. 按如下方式选择新的指定开关:

a) If one or more of the switches have declared themselves to be the designated switch, eliminate from consideration all other switches.

a) 如果一个或多个交换机已声明自己为指定交换机,则不考虑所有其他交换机。

b) From the remaining list of eligible switches, select the switch having the highest switch priority as the designated switch. If multiple switches have the same (highest) priority, select the switch with the highest switch ID as the designated switch.

b) 从剩余的合格交换机列表中,选择具有最高交换机优先级的交换机作为指定交换机。如果多个交换机具有相同(最高)优先级,请选择交换机ID最高的交换机作为指定交换机。

4. If the local switch has been newly selected as either the designated switch or the backup designated switch, or is now no longer the designated switch or the backup designated switch, repeat steps 2 and 3, above, and then proceed to step 5.

4. 如果本地交换机已被新选择为指定交换机或备用指定交换机,或者现在不再是指定交换机或备用指定交换机,请重复上述步骤2和3,然后继续执行步骤5。

If the local switch is now the designated switch, it will eliminate itself from consideration at step 2a when the selection of the backup designated switch is repeated. Likewise, if the local switch is now the backup designated switch, it will eliminate itself from consideration at step 3a when the selection of the designated switch is repeated. This ensures that no switch will select itself as both backup designated switch and designated switch [2].

如果本地交换机现在是指定交换机,则当重复选择备用指定交换机时,它将在步骤2a不考虑自身。同样,如果本地交换机现在是备用指定交换机,则当重复选择指定交换机时,它将在步骤3a不考虑自身。这可确保没有交换机将自己同时选择为备份指定交换机和指定交换机[2]。

5. Set the interface state to the appropriate value, as follows:

5. 将接口状态设置为适当的值,如下所示:

o If the local switch is now the designated switch, set the interface state to DS.

o 如果本地交换机现在是指定的交换机,则将接口状态设置为DS。

o If the local switch is now the backup designated switch, set the interface state to Backup.

o 如果本地交换机现在是备份指定交换机,请将接口状态设置为备份。

o Otherwise, set the interface state to DS Other.

o 否则,将接口状态设置为DS Other。

6. If either the designated switch or backup designated switch has now changed, the set of adjacencies associated with this link must be modified. Some adjacencies may need to be formed, while others may need to be broken. Generate the neighbor AdjOK? event for all neighbors with a state of 2-Way or higher to trigger a reexamination of adjacency eligibility.

6. 如果指定的交换机或备用指定交换机现在已更改,则必须修改与此链接关联的邻接集。一些相邻可能需要形成,而另一些可能需要断开。生成邻居AdjOK?事件,用于状态为双向或更高的所有邻居,以触发邻接资格的重新检查。

Caution: If VLSP is implemented with configurable parameters, care must be exercised in specifying the switch priorities. Note that if the local switch is not itself eligible to become the designated switch (i.e., it has a switch priority of 0), it is possible that neither a backup designated switch nor a designated switch will be selected by the above procedure. Note also that if the local switch is the only attached switch that is eligible to become the designated switch, it will select itself as designated switch and there will be no backup designated switch for the link. For this reason, it is advisable to specify a default switch priority of 1 for all switches.

警告:如果VLSP是使用可配置参数实现的,则必须小心指定交换机优先级。注意,如果本地交换机本身不符合成为指定交换机的条件(即,其交换机优先级为0),则上述过程可能既不会选择备用指定交换机,也不会选择指定交换机。还请注意,如果本地交换机是唯一有资格成为指定交换机的连接交换机,它将选择自己作为指定交换机,并且链路将没有备用指定交换机。因此,建议为所有交换机指定默认交换机优先级1。

6.4 Adjacencies
6.4 邻接

VLSP creates adjacencies between neighboring switches for the purpose of exchanging routing information. Not every two neighboring switches will become adjacent. On a multi-access link, an adjacency is only formed between two switches if one of them is either the designated switch or the backup designated switch.

VLSP在相邻交换机之间创建邻接,以交换路由信息。并非每两个相邻的交换机都会变得相邻。在多址链路上,仅当两个交换机中的一个是指定交换机或备用指定交换机时,才在两个交换机之间形成邻接。

Note that an adjacency is bound to the network link that the two switches have in common. Therefore, if two switches have multiple links in common, they may also have multiple adjacencies between them.

请注意,邻接绑定到两个交换机共用的网络链路。因此,如果两个交换机有多个公共链路,那么它们之间也可能有多个邻接。

The decision to form an adjacency occurs in two places in the neighbor state machine:

形成邻接的决定发生在相邻状态机的两个位置:

o When bidirectional communication is initially established with the neighbor.

o 最初与邻居建立双向通信时。

o When the designated switch or backup designated switch on the attached link changes.

o 当连接链路上的指定交换机或备用指定交换机发生更改时。

The rules for establishing an adjacency between two neighboring switches are as follows:

在两个相邻交换机之间建立邻接的规则如下:

o On a point-to-point link, the two neighboring switches always establish an adjacency.

o 在点到点链路上,两个相邻的交换机始终建立邻接关系。

o On a multi-access link, an adjacency is established with the neighboring switch under one of the following conditions:

o 在多址链路上,在下列条件之一下与相邻交换机建立邻接:

o The local switch itself is the designated switch. o The local switch itself is the backup designated switch. o The neighboring switch is the designated switch. o The neighboring switch is the backup designated switch.

o 本地交换机本身就是指定的交换机。o本地交换机本身是备用指定交换机。o相邻交换机为指定交换机。o相邻交换机是备用指定交换机。

If no adjacency is formed between two neighboring switches, the state of the neighbor conversation remains set to 2-Way.

如果两个相邻交换机之间未形成邻接,则相邻会话的状态保持设置为双向。

7. Synchronizing the Databases
7. 同步数据库

In an SPF-based routing algorithm, it is important for the link state databases of all switches to stay synchronized. VLSP simplifies this process by requiring only adjacent switches to remain synchronized.

在基于SPF的路由算法中,所有交换机的链路状态数据库保持同步非常重要。VLSP只需要相邻交换机保持同步,从而简化了此过程。

The synchronization process begins when the switches attempt to bring up the adjacency. Each switch in the adjacency describes its database by sending a sequence of Database Description packets to its neighbor. Each Database Description packet describes a set of link state advertisements belonging to the database. When the neighbor sees a link state advertisement that is more recent than its own database copy, it makes a note to request this newer advertisement.

当交换机尝试启动邻接时,同步过程开始。邻接中的每个交换机通过向其邻居发送一系列数据库描述数据包来描述其数据库。每个数据库描述包描述属于数据库的一组链路状态播发。当邻居看到比自己的数据库副本更新的链接状态播发时,它会记录请求此更新的播发。

During this exchange of Database Description packets (known as the database exchange process), the two switches form a master/slave relationship. Database Description packets sent by the master are known as polls, and each poll contains a sequence number. Polls are acknowledged by the slave by echoing the sequence number in the Database Description response packet.

在数据库描述数据包的交换过程中(称为数据库交换过程),两个开关形成主/从关系。主机发送的数据库描述数据包称为轮询,每个轮询包含一个序列号。从机通过回显数据库描述响应数据包中的序列号来确认轮询。

When all Database Description packets have been sent and acknowledged, the database exchange process is completed. At this point, each switch in the exchange has a list of link state advertisements for which its neighbor has more recent instances. These advertisements are requested using Link State Request packets.

发送并确认所有数据库描述数据包后,数据库交换过程完成。此时,exchange中的每个交换机都有一个链路状态播发列表,其邻居有最近的实例。使用链路状态请求数据包请求这些播发。

Once the database exchange process has completed and all Link State Requests have been satisfied, the databases are deemed synchronized and the neighbor states of the two switches are set to Full, indicating that the adjacency is fully functional. Fully functional adjacencies are advertised in the link state advertisements of the two switches [3].

一旦数据库交换过程完成并且满足所有链路状态请求,数据库即被视为同步,两个交换机的相邻状态设置为Full(满),这表明邻接功能完全正常。在两个交换机的链路状态通告中通告全功能邻接[3]。

7.1 Link State Advertisements
7.1 链接状态广告

Link state advertisements form the core of the database from which a switch calculates the set of best paths to the other switches in the fabric.

链路状态播发构成数据库的核心,交换机从中计算到结构中其他交换机的最佳路径集。

Each link state advertisement begins with a standard header. This header contains three data items that uniquely identify the link state advertisement.

每个链接状态播发都以一个标准头开始。此标头包含三个唯一标识链接状态播发的数据项。

o The link state type. Possible values are as follows:

o 链接状态类型。可能的值如下所示:

1 Switch link advertisement -- describes the collected states of the switch's interfaces.

1交换机链接播发——描述交换机接口的收集状态。

2 Network link advertisement -- describes the set of switches attached to the network link.

2网络链接广告——描述连接到网络链接的交换机集。

o The link state ID, defined as follows:

o 链接状态ID,定义如下:

o For a switch link advertisement -- the switch ID of the originating switch

o 对于交换机链接播发--原始交换机的交换机ID

o For a network link advertisement -- the switch ID of the designated switch for the link

o 对于网络链接播发--为链接指定的交换机的交换机ID

o The switch ID of the advertising switch -- the switch that generated the advertisement

o 播发开关的开关ID——生成播发的开关

The link state advertisement header also contains three data items that are used to determine which instance of a particular link state advertisement is the most current. (See Section 7.1.1 for a description of how to determine which instance of a link state advertisement is the most current.)

链接状态播发标头还包含三个数据项,用于确定特定链接状态播发的哪个实例是最新的。(关于如何确定链接状态广告的哪个实例是最新的,请参见第7.1.1节。)

o The link state sequence number

o 链路状态序列号

o The link state age, stored in seconds

o 链接状态期限,以秒为单位存储

o The link state checksum, a 16-bit unsigned value calculated for the entire contents of the link state advertisement, with the exception of the age field

o 链接状态校验和,为链接状态播发的全部内容计算的16位无符号值,年龄字段除外

The remainder of each link state advertisement contains data specific to the type of the advertisement. See Section 11 for a detailed description of the link state header, as well as the format of a switch link or network link advertisement.

每个链接状态播发的其余部分包含特定于播发类型的数据。有关链路状态报头的详细说明,以及交换机链路或网络链路公告的格式,请参见第11节。

7.1.1 Determining Which Link State Advertisement Is Newer
7.1.1 确定哪个链接状态广告较新

At various times while synchronizing or updating the link state database, a switch must determine which instance of a particular link state advertisement is the most current. This decision is made as follows:

在同步或更新链接状态数据库的不同时间,交换机必须确定特定链接状态播发的哪个实例是最新的。这项决定如下:

o The advertisement having the greater sequence number is the most current.

o 序列号较大的广告是最新的。

o If both instances have the same sequence number, then:

o 如果两个实例具有相同的序列号,则:

o If the two instances have different checksum values, then the instance having the larger checksum is considered the most current [4].

o 如果两个实例具有不同的校验和值,则具有较大校验和的实例被认为是最新的[4]。

o If both instances have the same sequence number and the same checksum value, then:

o 如果两个实例具有相同的序列号和相同的校验和值,则:

o If one (and only one) of the instances is of age MaxAge, then the instance of age MaxAge is considered the most current [5].

o 如果其中一个(且仅一个)实例是age MaxAge,则age MaxAge实例被认为是最新的[5]。

o Else, if the ages of the two instances differ by more than MaxAgeDiff, the instance having the smaller (younger) age is considered the most current [6].

o 否则,如果两个实例的年龄相差超过MaxAgeDiff,则年龄较小(较年轻)的实例被视为最新的实例[6]。

o Else, the two instances are considered identical.

o 否则,这两个实例被认为是相同的。

7.2 Database Exchange Process
7.2 数据库交换过程

There are two stages to the database exchange process:

数据库交换过程分为两个阶段:

o Negotiating the master/slave relationship o Exchanging database summary information

o 协商主/从关系以交换数据库摘要信息

7.2.1 Database Description Packets
7.2.1 数据库描述包

Database Description packets are used to describe a switch's link state database during the database exchange process. Each Database Description packet contains a list of headers of the link state advertisements currently stored in the sending switch's database. (See Section 11.1 for a description of a link state advertisement header.)

数据库描述数据包用于描述数据库交换过程中交换机的链路状态数据库。每个数据库描述数据包包含当前存储在发送交换机数据库中的链路状态播发的标题列表。(有关链接状态广告头的说明,请参见第11.1节。)

In addition to the link state headers, each Database Description packet contains the following data items:

除了链路状态头之外,每个数据库描述数据包还包含以下数据项:

o A flag (the M-bit) indicating whether or not more packets are to follow. Depending on the size of the local database and the maximum size of the packet, the list of headers in any particular Database Description packet may be only a partial list of the total database. When the M-bit is set, the list of headers is only a partial list and more headers are to follow in subsequent packets.

o 一种标志(M位),指示是否有更多的数据包跟随。根据本地数据库的大小和分组的最大大小,任何特定数据库描述分组中的报头列表可能只是整个数据库的部分列表。当设置M位时,报头列表只是一个部分列表,后续数据包中将跟随更多报头。

o A flag (the I-bit) indicating whether or not this is the first Database Description packet sent for this execution of the database exchange process.

o 一种标志(I位),指示这是否是为执行数据库交换过程而发送的第一个数据库描述数据包。

o A flag (the MS-bit) indicating whether the sending switch thinks it is the master or the slave in the database exchange process. If the flag is set, the switch thinks it is the master.

o 一种标志(MS位),指示发送开关认为它是数据库交换过程中的主设备还是从设备。如果设置了该标志,则开关认为它是主标志。

o A 4-octet sequence number for the packet.

o 数据包的4个八位组序列号。

While the switches are negotiating the master/slave relationship, they exchange "empty" Database Description packets. That is, packets that contain no link summary information. Instead, the flags and sequence number constitute the information required for the negotiation process.

当交换机协商主/从关系时,它们交换“空”数据库描述数据包。即,不包含链接摘要信息的数据包。相反,标志和序列号构成协商过程所需的信息。

See Section 10.6.2 for a more detailed description of a Database Description packet.

有关数据库描述数据包的更详细说明,请参见第10.6.2节。

7.2.2 Negotiating the Master/Slave Relationship
7.2.2 谈判主/从关系

Before two switches can begin the actual exchange of database information, they must decide between themselves who will be the master in the exchange process and who will be the slave. They must also agree on the starting sequence number for the Database Description packets.

在两个交换机开始实际的数据库信息交换之前,它们必须决定谁是交换过程中的主交换机,谁是从交换机。他们还必须就数据库描述数据包的起始序列号达成一致。

Once a switch has decided to form an adjacency with a neighboring switch, it sets the neighbor state to ExStart and begins sending empty Database Description packets to its neighbor. These packets contain the starting sequence number the switch plans to use in the exchange process. Also, the I-bit and M-bit flags are set, as well as the MS-bit. Thus, each switch in the exchange begins by believing it will be the master.

一旦交换机决定与相邻交换机形成邻接,它会将邻居状态设置为ExStart,并开始向其邻居发送空的数据库描述数据包。这些数据包包含交换机计划在交换过程中使用的起始序列号。此外,还会设置I位和M位标志以及MS位。因此,交换中的每个开关一开始都相信它将是主开关。

Empty Database Description packets are retransmitted every RxmtInterval seconds until the neighbor responds.

空的数据库描述数据包每隔RxmtInterval秒重新传输一次,直到邻居响应为止。

When a switch receives an empty Database Description packet from its neighbor, it determines which switch will be the master by comparing the switch IDs. The switch with the highest switch ID becomes the master of the exchange. Based on this determination, the switch proceeds as follows:

当交换机从其邻居接收到空的数据库描述数据包时,它通过比较交换机ID来确定哪个交换机将成为主交换机。具有最高交换机ID的交换机成为交换机的主交换机。基于该确定,切换进行如下操作:

o If the switch is to be the slave of the database exchange process, it acknowledges that it is the slave by sending another empty Database Description packet to the master. This packet contains the master's sequence number and has the MS-bit and the I-bit cleared.

o 如果交换机是数据库交换进程的从机,它将通过向主机发送另一个空的数据库描述数据包来确认它是从机。此数据包包含主机的序列号,并清除了MS位和I位。

o The switch then generates a neighbor event of Negotiation Done to change its neighbor state to Exchange and waits for the first non-empty Database Description packet from the master.

o 然后,交换机生成一个邻居协商事件,以将其邻居状态更改为Exchange,并等待来自主机的第一个非空数据库描述数据包。

o If the switch is to be the master of the database exchange, it waits to receive an acknowledgment from its neighbor -- that is, an empty Database Description packet with the MS-bit and I-bit cleared and containing the sequence number it (the master) previously sent.

o 如果交换机是数据库交换的主交换机,它将等待从其邻居接收确认——即,清除MS位和I位并包含它(主交换机)先前发送的序列号的空数据库描述数据包。

o When it receives the acknowledgment, it generates a neighbor event of Negotiation Done to change its neighbor state to Exchange and begin the actual exchange of Database Description packets.

o 当它收到确认时,它生成一个邻居协商事件,以将其邻居状态更改为Exchange,并开始实际交换数据库描述数据包。

Note that during the negotiation process, the receipt of an inconsistent packet will result in a neighbor event of Seq Number Mismatch, terminating the process. See Section 4.3 for more information.

请注意,在协商过程中,接收到不一致的数据包将导致序列号不匹配的邻居事件,从而终止该过程。详见第4.3节。

7.2.3 Exchanging Database Description Packets
7.2.3 交换数据库描述包

Once the neighbor state changes to Exchange, the switches begin the exchange of Database Description packets containing link state summary data. The process proceeds as follows:

一旦邻居状态更改为Exchange,交换机将开始交换包含链路状态摘要数据的数据库描述数据包。过程如下:

1. The master sends a packet containing a list of link state headers. If the packet contains only a portion of the unexchanged database -- that is, more Database Description packets are to follow -- the packet has the M-bit set. The MS-bit is set and the I-bit is clear.

1. 主机发送一个包含链路状态头列表的数据包。如果数据包只包含未更改的数据库的一部分——也就是说,后面将有更多的数据库描述数据包——则数据包具有M位集。MS位已设置,I位已清除。

If the slave does not acknowledge the packet within RxmtInterval seconds, the master retransmits the packet.

如果从机在RxMTINERVAL秒内未确认该数据包,则主机将重新传输该数据包。

2. When the slave receives a packet, it first checks the sequence number to see if the packet is a duplicate. If so, it simply acknowledges the packet by clearing the MS-bit and returning the packet to the master. (Note that the slave acknowledges all Database Description packets that it receives, even those that are duplicates.)

2. 当从机接收到一个数据包时,它首先检查序列号以查看该数据包是否重复。如果是这样,它只是通过清除MS位并将数据包返回给主机来确认数据包。(请注意,从属服务器会确认它接收到的所有数据库描述数据包,即使是重复的数据包。)

Otherwise, the slave processes the packet by doing the following:

否则,从机通过执行以下操作来处理数据包:

o For each link state header listed in the packet, the slave searches its own link state database to determine whether it has an instance of the advertisement.

o 对于包中列出的每个链路状态报头,从机搜索其自己的链路状态数据库,以确定其是否具有广告实例。

o If the slave does not have an instance of the link state advertisement, or if the instance it does have is older than the instance listed in the packet, it creates an entry in its link state request list in the neighbor data structure. See Section 7.1.1 for a description of how to determine which instance of a link state advertisement is the newest.

o 如果从机没有链路状态播发的实例,或者如果它确实拥有的实例比数据包中列出的实例旧,则它会在邻居数据结构的链路状态请求列表中创建一个条目。关于如何确定链接状态广告的哪个实例是最新的,请参见第7.1.1节。

o When the slave has examined all headers, it acknowledges the packet by turning the MS-bit off and returning the packet to the master.

o 当从机检查完所有报头后,它通过关闭MS位并将数据包返回给主机来确认数据包。

3. When the master receives the first acknowledgment for a particular Database Description packet, it processes the acknowledgment as follows:

3. 当主机收到特定数据库描述数据包的第一次确认时,它将按如下方式处理该确认:

o For each link state header listed in the packet, the master checks to see if the slave has indicated it has an instance of the link state advertisement that is newer than the instance the master has in its own database. If so, the master creates an entry in its link state request list in the neighbor data structure.

o 对于数据包中列出的每个链路状态报头,主机将检查从机是否指示其具有比主机在其自己的数据库中具有的实例更新的链路状态播发实例。如果是这样,主机将在其邻居数据结构的链路状态请求列表中创建一个条目。

o The master then increments the sequence number and sends another packet containing the next set of link state summary information, if any.

o 然后,主机增加序列号,并发送另一个包含下一组链路状态摘要信息(如果有)的数据包。

Subsequent acknowledgments for the Database Description packet (those with the same sequence number) are discarded.

数据库描述数据包(具有相同序列号的数据包)的后续确认将被丢弃。

When the master sends the last portion of its database summary information, it clears the M-bit in the packet to indicate that no more packets are to be sent.

当主机发送其数据库摘要信息的最后一部分时,它清除数据包中的M位,以指示不再发送数据包。

4. When the slave receives a Database Description packet with the M-bit clear, it processes the packet, as described above in step 2. After it has completed processing and has acknowledged the packet to the master, it generates an Exchange Done neighbor event and its neighbor state changes to Loading.

4. 当从机接收到具有M位清除的数据库描述分组时,它处理该分组,如上文步骤2中所述。在完成处理并向主机确认数据包后,它生成一个Exchange Done neighbor事件,其邻居状态更改为Loading。

The database exchange process is now complete for the slave, and it begins the process of requesting those link state advertisements for which the master has more current instances (see Section 7.3).

现在,从机的数据库交换过程已经完成,它开始请求主机具有更多当前实例的链接状态播发的过程(参见第7.3节)。

5. When the master receives an acknowledgment for the final Database Description packet, it processes the acknowledgment as described above in step 3. Then it generates an Exchange Done neighbor event and its neighbor state changes to Loading.

5. 当主机接收到最终数据库描述数据包的确认时,它将按照上述步骤3处理该确认。然后,它生成一个Exchange Done neighbor事件,其邻居状态更改为Loading。

The database exchange process is now complete for the master, and it begins the process of requesting those link state advertisements for which the slave has more current instances (see Section 7.3).

现在,主服务器的数据库交换过程已经完成,并开始请求从服务器具有更多当前实例的链接状态播发的过程(参见第7.3节)。

Note that during this exchange, the receipt of an inconsistent packet will result in a neighbor event of Seq Number Mismatch, terminating the process. See Section 4.3 for more information.

请注意,在此交换期间,接收到不一致的数据包将导致序列号不匹配的邻居事件,从而终止进程。详见第4.3节。

7.3 Updating the Database
7.3 更新数据库

When either switch completes the database exchange process and its neighbor state changes to Loading, it has a list of link state advertisements for which the neighboring switch has a more recent instance. This list is stored in the neighbor data structure as the link state request list.

当任一交换机完成数据库交换过程且其邻居状态更改为“加载”时,它将有一个链路状态播发列表,其中邻居交换机有一个较新的实例。该列表作为链路状态请求列表存储在邻居数据结构中。

To complete the synchronization of its database with that of its neighbor, the switch must obtain the most current instances of those link state advertisements.

要完成其数据库与其邻居数据库的同步,交换机必须获取这些链路状态播发的最新实例。

The switch requests these advertisements by sending its neighbor a Link State Request packet containing the description of one or more link state advertisement, as defined by the advertisement's type, link state ID, and advertising switch. (For a detailed description of the Link State Request packet, see Section 10.6.3.) The switch continues to retransmit this packet every RxmtInterval seconds until it receives a reply from the neighbor.

交换机通过向其邻居发送链路状态请求包来请求这些广告,该链路状态请求包包含由广告的类型、链路状态ID和广告交换机定义的一个或多个链路状态广告的描述。(有关链路状态请求数据包的详细说明,请参阅第10.6.3节。)交换机继续每隔RxmtInterval秒重新传输该数据包,直到收到邻居的回复。

When the neighbor switch receives the Link State Request packet, it responds with a Link State Update packet containing its most current instance of each of the requested advertisements. (Note that the neighboring switch can be in any of the Exchange, Loading or Full neighbor states when it responds to a Link State Request packet.)

当邻居交换机接收到链路状态请求数据包时,它用一个链路状态更新数据包进行响应,该数据包包含其每个请求广告的最新实例。(请注意,当相邻交换机响应链路状态请求数据包时,它可以处于任何交换、加载或完全相邻状态。)

If the neighbor cannot locate a particular link state advertisement in its database, something has gone wrong with the synchronization process. The switch generates a BadLSReq neighbor event and the partially formed adjacency is torn down. See Section 4.3 for more information.

如果邻居在其数据库中找不到特定的链接状态播发,则表明同步过程出错。开关生成BadLSReq邻居事件,部分形成的邻接被拆除。详见第4.3节。

Depending on the size of the link state request list, it may take more than one Link State Request packet to obtain all the necessary advertisements. Note, however, that there must at most one Link State Request packet outstanding at any one time.

根据链路状态请求列表的大小,可能需要一个以上的链路状态请求分组来获得所有必要的广告。然而,请注意,在任何时候,必须最多有一个链路状态请求数据包未完成。

7.4 An Example
7.4 一个例子

Figure 3 shows an example of an adjacency being formed between two switches -- S1 and S2 -- connected to a network link. S2 is the designated switch for the link and has a higher switch ID than S1.

图3显示了连接到网络链路的两个交换机S1和S2之间形成邻接的示例。S2是链路的指定交换机,其交换机ID高于S1。

The neighbor state changes that each switch goes through are listed on the sides of the figure.

图的侧面列出了每个交换机所经历的相邻状态更改。

   +--------+                                     +--------+
   | Switch |                                     | Switch |
   |   S1   |                                     |   S2   |
   +--------+                                     +--------+
      Down                                           Down
                     Hello (DS=0, seen=0)
            ------------------------------------->
                                                     Init
                  Hello (DS=S2, seen=...,S1)
            <-------------------------------------
   ExStart
             DB Description (Seq=x, I, M, Master)
            ------------------------------------->
                                                     ExStart
             DB Description (Seq=y, I, M, Master)
            <-------------------------------------
   xchange
               DB Description (Seq=y, M, Slave)
            ------------------------------------->
                                                     Exchange
             DB Description (Seq=y+1, M, Master)
            <-------------------------------------
              DB Description (Seq=y+1, M, Slave)
            ------------------------------------->
                              .
                              .
                              .
        
   +--------+                                     +--------+
   | Switch |                                     | Switch |
   |   S1   |                                     |   S2   |
   +--------+                                     +--------+
      Down                                           Down
                     Hello (DS=0, seen=0)
            ------------------------------------->
                                                     Init
                  Hello (DS=S2, seen=...,S1)
            <-------------------------------------
   ExStart
             DB Description (Seq=x, I, M, Master)
            ------------------------------------->
                                                     ExStart
             DB Description (Seq=y, I, M, Master)
            <-------------------------------------
   xchange
               DB Description (Seq=y, M, Slave)
            ------------------------------------->
                                                     Exchange
             DB Description (Seq=y+1, M, Master)
            <-------------------------------------
              DB Description (Seq=y+1, M, Slave)
            ------------------------------------->
                              .
                              .
                              .
        
               DB Description (Seq=y+n, Master)
            <-------------------------------------
                DB Description (Seq=y+n, Slave)
            ------------------------------------->
   Loading                                           Full
                       Link State Request
            <-------------------------------------
                       Link State Update
            ------------------------------------->
                              .
                              .
                              .
        
               DB Description (Seq=y+n, Master)
            <-------------------------------------
                DB Description (Seq=y+n, Slave)
            ------------------------------------->
   Loading                                           Full
                       Link State Request
            <-------------------------------------
                       Link State Update
            ------------------------------------->
                              .
                              .
                              .
        
                       Link State Request
            <-------------------------------------
                       Link State Update
            ------------------------------------->
    Full
        
                       Link State Request
            <-------------------------------------
                       Link State Update
            ------------------------------------->
    Full
        

Figure 3: An Example of Bringing Up an Adjacency

图3:显示邻接关系的示例

At the top of Figure 3, S1's interface to the link becomes operational, and S1 begins sending Hello packets over the interface. At this point, S1 does not yet know the identity of the designated switch or of any other neighboring switches. S2 receives the Hello packet from S1 and changes its neighbor state to Init. In its next Hello packet, S2 indicates that it is itself the designated switch and that it has received a Hello packet from S1. S1 receives the Hello packet and changes its state to ExStart, starting the process of bringing up the adjacency.

在图3的顶部,S1与链路的接口开始工作,S1开始通过接口发送Hello数据包。此时,S1还不知道指定交换机或任何其他相邻交换机的标识。S2从S1接收Hello数据包,并将其邻居状态更改为Init。在其下一个Hello数据包中,S2表示它本身就是指定的交换机,并且它已经从S1接收到Hello数据包。S1接收Hello数据包并将其状态更改为ExStart,从而开始调出邻接的过程。

S1 begins by asserting itself as the master. When it sees that S2 is indeed the master (because of S2's higher switch ID), S1 changes to slave and adopts S2's sequence number. Database Description packets are then exchanged, with polls coming from the master (S2) and acknowledgments from the slave (S1). This sequence of Database Description packets ends when both the poll and associated acknowledgment have the M-bit off.

S1首先声明自己是主节点。当它看到S2确实是主设备时(因为S2的开关ID更高),S1变为从设备并采用S2的序列号。然后交换数据库描述数据包,轮询来自主机(S2),应答来自从机(S1)。当轮询和相关确认都关闭M位时,数据库描述数据包序列结束。

In this example, it is assumed that S2 has a completely up-to-date database and immediately changes to the Full state. S1 will change to the Full state after updating its database by sending Link State Request packets and receiving Link State Update packets in response.

在本例中,假设S2有一个完全最新的数据库,并立即更改为完整状态。S1通过发送链路状态请求数据包并接收链路状态更新数据包作为响应,在更新其数据库后将变为完全状态。

Note that in this example, S1 has waited until all Database Description packets have been received from S2 before sending any Link State Request packets. However, this need not be the case. S1 could interleave the sending of Link State Request packets with the reception of Database Description packets.

注意,在这个示例中,S1在发送任何链路状态请求数据包之前一直等待,直到从S2接收到所有数据库描述数据包。然而,情况并非如此。S1可以将链路状态请求包的发送与数据库描述包的接收交错。

8. Maintaining the Databases
8. 维护数据库

Each switch advertises its state (also known as its link state) by originating switch link advertisements. In addition, the designated switch on each network link advertises the state of the link by originating network link advertisements.

每个交换机通过发起交换机链路播发来播发其状态(也称为其链路状态)。此外,每个网络链路上的指定交换机通过发起网络链路通告来通告链路的状态。

As described in Section 7.1, link state advertisements are uniquely identified by their type, link state ID, and advertising switch.

如第7.1节所述,链路状态广告通过其类型、链路状态ID和广告开关进行唯一标识。

Link state advertisements are distributed throughout the switch fabric using a reliable flooding algorithm that ensures that all switches in the fabric are notified of any link state changes.

链路状态播发使用可靠的泛洪算法分布在整个交换机结构中,该算法确保结构中的所有交换机都收到任何链路状态更改的通知。

8.1 Originating Link State Advertisements
8.1 发起链接状态广告

A new instance of each link state advertisement is originated any time the state of the switch or link changes. When a new instance of a link state advertisement is originated, its sequence number is incremented, its age is set to zero, and its checksum is calculated. The advertisement is then installed into the local link state database and forwarded out all fully operational interfaces (that is, those interfaces with a state greater than Waiting) for distribution throughout the switch fabric. See Section 8.2.4 for a description of the installation of the advertisement into the link state database and Section 8.2.5 for a description of how advertisements are forwarded.

每当交换机或链路的状态改变时,都会产生每个链路状态播发的新实例。当一个链接状态广告的新实例被发起时,它的序列号被递增,它的时间被设置为零,并且它的校验和被计算。然后将播发安装到本地链路状态数据库中,并转发出所有完全可操作的接口(即状态大于等待的接口),以便在整个交换结构中分发。有关将广告安装到链接状态数据库的说明,请参见第8.2.4节;有关如何转发广告的说明,请参见第8.2.5节。

A switch originates a new instance of a link state advertisement as a result of the following events:

由于以下事件,交换机启动链接状态播发的新实例:

o The state of one of the switch's interfaces changes such that the contents of the associated switch link advertisement changes.

o 交换机的一个接口的状态发生变化,使得相关交换机链路播发的内容发生变化。

o The designated switch on any of the switch's attached network links changes. The switch originates a new switch link advertisement. Also, if the switch itself is now the designated switch, it originates a new network link advertisement for the link.

o 任何交换机连接的网络链路上的指定交换机都会更改。交换机发起新的交换机链接播发。此外,如果交换机本身现在是指定的交换机,则它会为该链路发起新的网络链路公告。

o One of the switch's neighbor states changes to or from Full. If this changes the contents of the associated switch link advertisement, a new instance is generated. Also, if the switch is the designated switch for the attached network link, it originates a new network link advertisement for the link.

o 交换机的一个相邻状态更改为“已满”或“已满”。如果这会更改关联的交换机链接播发的内容,则会生成一个新实例。此外,如果交换机是连接的网络链路的指定交换机,则它为该链路发起新的网络链路公告。

Two instances of the same link state advertisement must not be originated within the time period MinLSInterval. Note that this may require that the generation of the second instance to be delayed up to MinLSInterval seconds.

同一链接状态播发的两个实例不得在时间段MinlInterval内发起。请注意,这可能需要将第二个实例的生成延迟到MinlInterval秒。

8.1.1 Switch Link Advertisements
8.1.1 交换链路广告

A switch link advertisement describes the collected states of all functioning links attached to the originating switch -- that is, all attached links with an interface state greater than Down. A switch originates an empty switch link advertisement when it first becomes functional. It then generates a new instance of the advertisement each time one of its interfaces reaches a fully functioning state (Point-to-Point or better).

交换机链路公告描述连接到原始交换机的所有功能链路的收集状态,即接口状态大于“关闭”的所有连接链路。交换机第一次开始工作时,会发出一个空的交换机链接公告。然后,每当它的一个接口达到完全运行状态(点对点或更好)时,它就会生成一个新的广告实例。

Each link in the advertisement is assigned a type, based on the state of interface, as shown in Table 4.

广告中的每个链接都根据接口状态分配了一种类型,如表4所示。

Interface state Link type Description

接口状态链接类型描述

Point-to-Point 1 Point-to-point link DS Other* 2 Multi-access link Backup* 2 Multi-access link DS** 2 Multi-access link

点对点1点对点链路DS其他*2多址链路备份*2多址链路DS**2多址链路

*If a full adjacency has been formed with the designated switch.

*如果已与指定开关形成完全邻接。

**If a full adjacency has been formed with at least one other switch on the link.

**如果已与链路上的至少一个其他开关形成完全邻接。

Table 4: Link Types in a Switch Link Advertisement

表4:交换机链路公告中的链路类型

Each link in the advertisement is also assigned a link identifier based on its link type. In general, this value identifies another switch that also originates advertisements for the link, thereby providing a key for accessing other link state advertisements for the link. The relationship between link type and ID is shown in Table 5.

广告中的每个链接也根据其链接类型分配一个链接标识符。通常,该值标识另一个交换机,该交换机也为链路发起播发,从而为访问该链路的其他链路状态播发提供密钥。链接类型和ID之间的关系如表5所示。

Type Description Link ID

类型描述链接ID

1 Point-to-point link Switch ID of neighbor switch 2 Multi-access link Switch ID of designated switch

1相邻交换机的点到点链路交换机ID 2指定交换机的多址链路交换机ID

Table 5: Link IDs in a Switch Link Advertisement

表5:交换机链路公告中的链路ID

In addition to a type and an identifier, the description of each link specifies the interface ID of the associated network link.

除了类型和标识符外,每个链路的描述还指定关联网络链路的接口ID。

Finally, each link description includes the cost of sending a packet over the link. This output cost is expressed in the link state metric and must be greater than zero.

最后,每个链路描述包括通过链路发送数据包的成本。此输出成本以链路状态度量表示,并且必须大于零。

To illustrate the format of a switch link advertisement, consider the switch fabric shown in Figure 4.

为了说明交换链接广告的格式,请考虑图4所示的交换结构。

In this example, switch SW1 has 5 neighboring switches (shown as boxes) distributed over 3 network links (shown as lines). The base MAC address of each switch is also shown adjacent to each box. On switch SW1, ports 01 and 02 attach to point-to-point network links,

在此示例中,交换机SW1有5个相邻交换机(显示为方框),分布在3条网络链路(显示为线)上。每个交换机的基本MAC地址也显示在每个框的旁边。在交换机SW1上,端口01和02连接到点对点网络链路,

while port 03 attaches to a multi-access network link with three attached switches. The interface state of each port is shown next to the line representing the corresponding link.

而端口03通过三个连接的交换机连接到多址网络链路。每个端口的接口状态显示在代表相应链路的行旁边。

                            00-00-1d-22-23-c5
                                +-------+
                                |  SW2  |
                                +-------+
                                    |
                                    | Point-to-Point
                                    |
                                    | 01
       +-------+    Loopback    +-------+
       |  SW3  |----------------|  SW1  | 00-00-1d-1f-05-81
       +-------+             02 +-------+
   00-00-1d-17-35-a4                | 03
                                    |
                                    | DS Other
                                    |
               +--------------------+--------------------+
               |                    |                    |
               | DS Other           | Backup             | DS
               |                    |                    |
           +-------+            +-------+            +-------+
           |  SW4  |            |  SW5  |            |  SW6  |
           +-------+            +-------+            +-------+
        00-00-1d-4a-26-b3    00-00-1d-4a-27-1c    00-00-1d-7e-84-2e
        
                            00-00-1d-22-23-c5
                                +-------+
                                |  SW2  |
                                +-------+
                                    |
                                    | Point-to-Point
                                    |
                                    | 01
       +-------+    Loopback    +-------+
       |  SW3  |----------------|  SW1  | 00-00-1d-1f-05-81
       +-------+             02 +-------+
   00-00-1d-17-35-a4                | 03
                                    |
                                    | DS Other
                                    |
               +--------------------+--------------------+
               |                    |                    |
               | DS Other           | Backup             | DS
               |                    |                    |
           +-------+            +-------+            +-------+
           |  SW4  |            |  SW5  |            |  SW6  |
           +-------+            +-------+            +-------+
        00-00-1d-4a-26-b3    00-00-1d-4a-27-1c    00-00-1d-7e-84-2e
        

Figure 4: Sample Switch Fabric

图4:交换机结构示例

The switch link advertisement generated by switch SW1 would contain the following data items:

交换机SW1生成的交换机链路公告将包含以下数据项:

; switch link advertisement for switch SW1

; 交换机SW1的交换机链路广告

      LS age = 0               ; always true on origination
      Options = (T-bit|E-bit)  ; options
      LS type = 1              ; this is a switch link advert
        
      LS age = 0               ; always true on origination
      Options = (T-bit|E-bit)  ; options
      LS type = 1              ; this is a switch link advert
        

; SW1's switch ID Link State ID = 00-00-1d-1f-05-81-00-00-00-00 Advertising switch = 00-00-1d-1f-05-81-00-00-00-00 # links = 2

; SW1的交换机ID链路状态ID=00-00-1d-1f-05-81-00-00-00广告交换机ID=00-00-1d-1f-05-81-00-00-00#链路=2

; link on interface port 1 Link ID = 00-00-1d-22-23-c5-00-00-00-00 ; switch ID

; 接口端口1链路ID=00-00-1d-22-23-c5-00-00-00-00上的链路;交换机ID

         Link Data = 00-00-1d-1f-05-81-00-00-00-01  ; interface ID
         Type = 1                                   ; pt-to-pt link
         # other metrics = 0                        ; TOS 0 only
         TOS 0 metric = 1
        
         Link Data = 00-00-1d-1f-05-81-00-00-00-01  ; interface ID
         Type = 1                                   ; pt-to-pt link
         # other metrics = 0                        ; TOS 0 only
         TOS 0 metric = 1
        

; link on interface port 2 is not fully functional

; 接口端口2上的链路功能不全

         ; link on interface port 3
         Link ID = 00-00-1d-7e-84-2e-00-00-00-00    ; switch ID of DS
         Link Data = 00-00-1d-1f-05-81-00-00-00-03  ; interface ID
         Type = 2                                   ; multi-access
         # other metrics = 0                        ; TOS 0 only
         TOS 0 metric = 2
        
         ; link on interface port 3
         Link ID = 00-00-1d-7e-84-2e-00-00-00-00    ; switch ID of DS
         Link Data = 00-00-1d-1f-05-81-00-00-00-03  ; interface ID
         Type = 2                                   ; multi-access
         # other metrics = 0                        ; TOS 0 only
         TOS 0 metric = 2
        

(See Section 11.2 for a detailed description of the format of a switch link advertisement.)

(有关交换机链路广告格式的详细说明,请参见第11.2节。)

8.1.2 Network Link Advertisements
8.1.2 网络链接广告

Network link advertisements are used to describe the switches attached to each multi-access network link.

网络链路广告用于描述连接到每个多址网络链路的交换机。

Note: Network link advertisements are not generated for point-to-point links.

注意:不会为点到点链接生成网络链接播发。

A network link advertisement is originated by the designated switch for the associated multi-access link once the switch has established a full adjacency with at least one other switch on the link. Each advertisement lists the switch IDs of those switches that are fully adjacent to the designated switch. The designated switch includes itself in this list.

一旦交换机已经与链路上的至少一个其他交换机建立了完全邻接,网络链路通告就由针对相关联的多址链路的指定交换机发起。每个公告都列出了与指定交换机完全相邻的交换机的交换机ID。指定的交换机包含在此列表中。

To illustrate the format of a network link advertisement, consider again the switch fabric shown in Figure 4. In this example, network link advertisements will be generated only by switch SW6, the designated switch of the multi-access network link between switches SW1 and switches SW4, SW5, and SW6.

为了说明网络链接广告的格式,请再次考虑图4所示的交换结构。在此示例中,网络链路广告将仅由交换机SW6生成,交换机SW1和交换机SW4、SW5和SW6之间的多址网络链路的指定交换机。

The network link advertisement generated by switch SW6 would contain the following data items:

交换机SW6生成的网络链路公告将包含以下数据项:

; network link advertisement for switch SW6

; 交换机SW6的网络链路广告

      LS age = 0               ; always true on origination
      Options = (T-bit|E-bit)  ; options
      LS type = 2              ; this is a network link advert
        
      LS age = 0               ; always true on origination
      Options = (T-bit|E-bit)  ; options
      LS type = 2              ; this is a network link advert
        

; SW6's switch ID Link State ID = 00-00-1d-73-84-2e-00-00-00-00 Advertising switch = 00-00-1d-73-84-2e-00-00-00-00

; SW6交换机ID链路状态ID=00-00-1d-73-84-2e-00-00-00-00广告交换机ID=00-00-1d-73-84-2e-00-00

Attached switch = 00-00-1d-7e-84-2e-00-00-00-00 Attached switch = 00-00-1d-4a-26-b3-00-00-00-00 Attached switch = 00-00-1d-1f-05-81-00-00-00-00 Attached switch = 00-00-1d-4a-27-1c-00-00-00-00

连接开关=00-00-1d-7e-84-2e-00-00-00连接开关=00-00-1d-4a-26-b3-00-00-00-00连接开关=00-00-1d-1f-05-81-00-00-00-00-00连接开关=00-00-1d-4a-27-1c-00-00-00-00-00

(See Section 11.3 for a detailed description of the format of a network link advertisement.)

(有关网络链接广告格式的详细说明,请参见第11.3节。)

8.2 Distributing Link State Advertisements
8.2 分发链接状态广告

Link state advertisements are distributed throughout the switch fabric encapsulated within Link State Update packets. A single Link State Update packet may contain several distinct advertisements.

链路状态播发分布在封装在链路状态更新包中的交换机结构中。单个链路状态更新包可能包含多个不同的播发。

To make the distribution process reliable, each advertisement must be explicitly acknowledged in a Link State Acknowledgment packet. Note, however, that multiple acknowledgments can be grouped together into a single Link State Acknowledgment packet. A sending switch retransmits unacknowledged Link State Update packets at regular intervals until they are acknowledged.

为了使分发过程可靠,必须在链路状态确认数据包中明确确认每个播发。但是,请注意,多个确认可以组合到一个链路状态确认数据包中。发送交换机定期重新传输未确认的链路状态更新数据包,直到它们被确认为止。

The remainder of this section is structured as follows:

本节其余部分的结构如下:

o Section 8.2.1 presents an overview of the distribution process.

o 第8.2.1节概述了分销流程。

o Section 8.2.2 describes how an incoming Link State Update packet is processed.

o 第8.2.2节描述了如何处理传入链路状态更新数据包。

o Section 8.2.3 describes how a Link State Packet is forwarded -- both by the originating switch and an intermediate receiving switch.

o 第8.2.3节描述了链路状态数据包是如何转发的——由发起交换机和中间接收交换机转发。

o Section 8.2.4 describes how advertisements are installed into the local database.

o 第8.2.4节描述了如何将广告安装到本地数据库中。

o Section 8.2.5 describes the retransmission of unacknowledged advertisements.

o 第8.2.5节描述了未确认广告的重新传输。

o Section 8.2.6 describes how advertisements are acknowledged.

o 第8.2.6节描述了如何确认广告。

8.2.1 Overview
8.2.1 概述

The philosophy behind the distribution of link state advertisements is based on the concept of adjacencies -- that is, each switch is only required to remain synchronized with its adjacent neighbors.

链路状态播发分发背后的原理是基于邻接的概念——也就是说,每个交换机只需要与相邻的交换机保持同步。

When a switch originates a new instance of a link state advertisement, it formats the advertisement into a Link State Update packet and floods the packet out each fully operational interface -- that is, each interface with a state greater than Waiting. However, only those neighbors that are adjacent to the sending switch need to process the packet.

当交换机发起链路状态播发的新实例时,它将该播发格式化为链路状态更新数据包,并将数据包从每个完全可操作的接口(即每个接口的状态大于等待)中溢出。但是,只有那些与发送交换机相邻的邻居需要处理数据包。

The sending switch indicates which of its neighbor switches should process the advertisement by specifying a particular multicast destination in the network layer address information (see Section 10.3). The sending switch sets the value of the network layer destination switch ID field according to the state of the interface over which the packet is sent:

发送交换机通过在网络层地址信息中指定特定的多播目的地来指示其相邻交换机中的哪个应处理播发(参见第10.3节)。发送交换机根据发送分组的接口的状态设置网络层目的地交换机ID字段的值:

o If the interface state is Point-to-Point, DS, or Backup, the switch is adjacent to all other switches on the link and all neighboring switches must process the packet. Therefore, the destination field is set to the multicast switch ID AllSPFSwitches.

o 如果接口状态为点对点、DS或备份,则交换机与链路上的所有其他交换机相邻,并且所有相邻交换机必须处理数据包。因此,目的地字段被设置为多播交换机ID AllSPFSwitches。

o If the interface state is DS Other, the switch is only adjacent to the designated switch and the backup designated switch and only those two neighboring switches must process the packet. Therefore, the destination field is set to the multicast switch ID AllDSwitches.

o 如果接口状态为DS Other,则交换机仅与指定交换机和备用指定交换机相邻,并且只有这两个相邻交换机必须处理数据包。因此,目的地字段设置为多播交换机ID AllDSwitches。

A similar logic is used when a switch receives a Link State Update packet containing a new instance of a link state advertisement. After processing and acknowledging the packet, the receiving switch forwards the Link State Update packet as

当交换机接收到包含链路状态公告的新实例的链路状态更新包时,使用类似的逻辑。在处理和确认分组之后,接收交换机将链路状态更新分组转发为

o On the interface over which the original Link State Update packet was received:

o 在接收原始链路状态更新数据包的接口上:

o If the receiving switch is the designated switch for the attached network link, the packet is forwarded to all other switches on the link. (The destination field is set to AllSPFSwitches.) The originating switch will recognize that it was the advertisement originator and discard the packet.

o 如果接收交换机是连接的网络链路的指定交换机,则数据包将转发到链路上的所有其他交换机。(目标字段设置为AllSPFSwitches。)发起交换机将识别出它是广告发起人并丢弃数据包。

o If the receiving switch is not the designated switch for the attached network link, the packet is not sent back out the interface over which it was received.

o 如果接收交换机不是连接的网络链路的指定交换机,则数据包不会发送回接收它的接口。

o On all other interfaces:

o 在所有其他接口上:

o If the receiving switch is the designated switch for the attached network link, the packet is forwarded to all switches on the link. (The destination field is set to AllSPFSwitches.)

o 如果接收交换机是连接的网络链路的指定交换机,则数据包将转发到链路上的所有交换机。(目标字段设置为AllSPFSwitches。)

o If the receiving switch is neither the designated switch or the backup designated switch for the attached network link, the packet is forwarded only to the designated switch and the backup designated switch. (The destination field is set to AllDSwitches.)

o 如果接收交换机不是所连接网络链路的指定交换机或备份指定交换机,则数据包仅转发到指定交换机和备份指定交换机。(目标字段设置为AllDSwitches。)

Each Link State Update packet is forwarded and processed in this fashion until all switches in the fabric have received notification of the new instance of the link state advertisement.

以这种方式转发和处理每个链路状态更新包,直到结构中的所有交换机都收到链路状态播发的新实例的通知。

8.2.2 Processing an Incoming Link State Update Packet
8.2.2 处理传入链路状态更新数据包

When the a Link State Update packet is received, it is first subjected to a number of consistency checks. In particular, the Link State Update packet is associated with a specific neighbor. If the state of that neighbor is less than Exchange, the entire Link State Update packet is discarded.

当接收到链路状态更新包时,首先对其进行若干一致性检查。具体地,链路状态更新分组与特定邻居相关联。如果该邻居的状态小于Exchange,则丢弃整个链路状态更新数据包。

Each link state advertisement contained in the packet is processed as follows:

包中包含的每个链路状态播发按如下方式处理:

1. Validate the advertisement's link state checksum and type. If the checksum is invalid or the type is unknown, discard the advertisement without acknowledging it.

1. 验证播发的链接状态校验和和类型。如果校验和无效或类型未知,请放弃播发而不确认它。

2. If the advertisement's age is equal to MaxAge and there is currently no instance of the advertisement in the local link state database, then do the following:

2. 如果广告的年龄等于MaxAge,并且本地链接状态数据库中当前没有广告实例,则执行以下操作:

a) Acknowledge the advertisement by sending a Link State Acknowledgment packet to the sending neighbor (see Section 8.2.6).

a) 通过向发送邻居发送链路状态确认数据包来确认播发(见第8.2.6节)。

b) Purge all outstanding requests for equal or previous instances of the advertisement from the sending neighbor's Link State Request list.

b) 从发送邻居的链路状态请求列表中清除相同或先前播发实例的所有未完成请求。

c) If the neighbor is Exchange or Loading, install the advertisement in the link state database (see Section 8.2.4). Otherwise, discard the advertisement.

c) 如果邻居正在交换或加载,请在链接状态数据库中安装播发(请参阅第8.2.4节)。否则,丢弃广告。

3. If the advertisement's age is equal to MaxAge and there is an instance of the advertisement in the local link state database, then do the following:

3. 如果广告的年龄等于MaxAge,并且本地链接状态数据库中存在广告实例,则执行以下操作:

a) If the advertisement is listed in the link state retransmission list of any neighbor, remove the advertisement from the retransmission list(s) and delete the database copy of the advertisement.

a) 如果播发列在任何邻居的链路状态重传列表中,则从重传列表中删除播发并删除播发的数据库副本。

b) Discard the received (MaxAge) advertisement without acknowledging it.

b) 在未确认的情况下丢弃接收到的(MaxAge)广告。

4. If the advertisement's age is less than MaxAge, attempt to locate an instance of the advertisement in the local link state database. If there is no database copy of this advertisement, or the received advertisement is more recent than the database copy (see Section 7.1.1), do the following:

4. 如果播发的时间小于MaxAge,请尝试在本地链接状态数据库中查找播发的实例。如果没有此广告的数据库副本,或收到的广告比数据库副本更新(见第7.1.1节),请执行以下操作:

a) If there is already a database copy, and if the database copy was installed less than MinLSInterval seconds ago, discard the new advertisement without acknowledging it.

a) 如果已经存在数据库副本,并且数据库副本安装时间不到MinlInterval秒,则在不确认新播发的情况下丢弃该播发。

b) Otherwise, forward the new advertisement out some subset of the local interfaces (see Section 8.2.3). Note whether the advertisement was sent back out the receiving interface for later use by the acknowledgment process.

b) 否则,将新播发转发出本地接口的一些子集(见第8.2.3节)。注意广告是否已发送回接收接口,以供确认过程稍后使用。

c) Remove the current database copy from the Link state retransmission lists of all neighbors.

c) 从所有邻居的链接状态重新传输列表中删除当前数据库副本。

d) Install the new advertisement in the link state database, replacing the current database copy. (Note that this may cause the calculation of the set of best paths to be scheduled. See Section 9.) Timestamp the new advertisement with the time that it was received to prevent installation of another instance within MinLSInterval seconds.

d) 在链接状态数据库中安装新播发,替换当前数据库副本。(请注意,这可能会导致安排最佳路径集的计算。请参阅第9节。)在新播发上加上接收时间的时间戳,以防止在MinlInterval秒内安装另一个实例。

e) Acknowledge the advertisement, if necessary, by sending a Link State Acknowledgment packet back out the receiving interface. (See Section 8.2.6.)

e) 如有必要,通过向接收接口发回链路状态确认数据包来确认播发。(见第8.2.6节。)

f) If the link state advertisement was initially advertised by the local switch itself, advance the advertisement sequence number and issue a new instance of the advertisement. (Receipt of a newer instance of an advertisement means that the local copy of the advertisement is left over from before the last time the switch was restarted.)

f) 如果链路状态播发最初由本地交换机本身播发,则提前播发序列号并发布播发的新实例。(接收到较新的播发实例意味着播发的本地副本是上次重新启动交换机之前留下的。)

5. If the received advertisement is the same instance as the database copy (as determined by the algorithm described in Section 7.1.1), do the following:

5. 如果收到的广告与数据库副本是同一实例(由第7.1.1节中描述的算法确定),请执行以下操作:

a) If the advertisement is listed in the neighbor's link state retransmission list, the local switch is expecting an acknowledgment for this advertisement. Treat the received advertisement as an implied acknowledgment, and remove the advertisement from the link state retransmission list. Note this implied acknowledgment for later use by the acknowledgment process (Section 8.2.6).

a) 如果该播发列在邻居的链路状态重传列表中,则本地交换机期望该播发得到确认。将接收到的播发视为隐含确认,并从链路状态重传列表中删除该播发。请注意此隐含确认,以供确认流程(第8.2.6节)以后使用。

b) Acknowledge the advertisement, if necessary, by sending a Link State Acknowledgment packet back out the receiving interface. (See Section 8.2.6.)

b) 如有必要,通过向接收接口发回链路状态确认数据包来确认播发。(见第8.2.6节。)

If the database copy of the advertisement is more recent than the instance just received, do the following:

如果播发的数据库副本比刚收到的实例更新,请执行以下操作:

a) Determine whether the instance is listed in the neighbor link state request list. If so, an error has occurred in the database exchange process. Restart the database exchange process by generating a neighbor BadLSReq event for the sending neighbor and terminate processing of the Link State Update packet.

a) 确定实例是否列在邻居链路状态请求列表中。如果是,则数据库交换过程中发生错误。通过为发送邻居生成邻居BadLSReq事件并终止链路状态更新数据包的处理,重新启动数据库交换进程。

b) Otherwise, generate an unusual event to network management and discard the advertisement.

b) 否则,将向网络管理生成异常事件并丢弃广告。

8.2.3 Forwarding Link State Advertisements
8.2.3 转发链路状态广告

When a new instance of an advertisement is originated or after an incoming advertisement has been processed, the switch must decide over which interfaces and to which neighbors the advertisement will be forwarded. In some instances, the switch may decide not to forward the advertisement over a particular interface because it is able to determine that the neighbors on that attached link have or

当一个广告的新实例被发起或在一个传入广告被处理之后,交换机必须决定该广告将被转发到哪个接口和哪个邻居。在某些情况下,交换机可能决定不通过特定接口转发播发,因为它能够确定该连接链路上的邻居具有或不具有

will receive the advertisement from another switch on the link.

将从链接上的另一个开关接收广告。

The decision of whether to forward an advertisement over each of the switch's interfaces is made as follows:

是否通过交换机的每个接口转发播发的决定如下:

1. Each neighboring switch attached to the interface is examined to determine whether it should receive and process the new advertisement. For each neighbor, the following steps are executed:

1. 检查连接到接口的每个相邻交换机,以确定其是否应接收和处理新的播发。对于每个邻居,执行以下步骤:

a) If the neighbor state is less than Exchange, the neighbor need not receive or process the new advertisement.

a) 如果邻居状态小于Exchange,则邻居不需要接收或处理新播发。

b) If the neighbor state is Exchange or Loading, examine the link state request list associated with the neighbor. If an instance of the new advertisement is on the list, the neighboring switch already has an instance of the advertisement. Compare the new advertisement to the neighbor's copy:

b) 如果邻居状态为Exchange或Loading,请检查与邻居关联的链路状态请求列表。如果新播发的实例在列表上,则相邻交换机已具有该播发的实例。将新广告与邻居的副本进行比较:

o If the new advertisement is less recent, the neighbor need not receive or process the new advertisement.

o 如果新广告不是最近发布的,则邻居无需接收或处理新广告。

o If the two copies are the same instance, delete the advertisement from the link state request list. The neighbor need not receive or process the new advertisement [7].

o 如果两个副本是同一实例,请从链接状态请求列表中删除播发。邻居无需接收或处理新广告[7]。

o Otherwise, the new advertisement is more recent. Delete the advertisement from the link state request list. The neighbor may need to receive and process the new advertisement.

o 否则,新的广告是最近的。从链接状态请求列表中删除播发。邻居可能需要接收和处理新广告。

c) If the new advertisement was received from this neighbor, the neighbor need not receive or process the advertisement.

c) 如果从该邻居处接收到新广告,则该邻居无需接收或处理该广告。

d) Add the new advertisement to the link state retransmission list for the neighbor.

d) 将新播发添加到邻居的链路状态重新传输列表中。

2. The switch must now decide whether to forward the new advertisement out the interface.

2. 开关现在必须决定是否将新广告转发到接口外。

a) If the link state advertisement was not added to any of the link state retransmission lists for neighbors attached to the interface, there is no need to forward the advertisement out the interface.

a) 如果链路状态播发没有添加到连接到接口的邻居的任何链路状态重传列表中,则不需要将播发转发到接口之外。

b) If the new advertisement was received on this interface, and it was received from either the designated switch or the backup designated switch, there is no need to forward the advertisement out the interface. Chances are all neighbors on the attached network link have also received the advertisement already.

b) 如果在此接口上接收到新播发,并且它是从指定交换机或备份指定交换机接收的,则无需将播发转发到接口外。连接的网络链接上的所有邻居都可能已经收到了广告。

c) If the new advertisement was received on this interface and the state of the interface is Point-to-Point, there is no need to forward the advertisement since the received advertisement was originated by the neighbor switch.

c) 如果在此接口上接收到新播发,并且接口的状态为点对点,则无需转发播发,因为接收到的播发是由邻居交换机发起的。

d) If the new advertisement was received on this interface, and the interface state is Backup -- that is, the switch itself is the backup designated switch -- there is no need to forward the advertisement out the interface. The designated switch will distribute advertisements on the attached network link.

d) 如果在该接口上接收到新的播发,并且接口状态为Backup(备份)——也就是说,交换机本身就是备份指定的交换机——则无需将播发转发出接口。指定的交换机将在连接的网络链路上分发广告。

e) Otherwise, the advertisement must be forwarded out the interface.

e) 否则,广告必须转发到接口外。

To forward a link state advertisement, the switch first increments the advertisement's age by InfTransDelay seconds to account for the transmission time over the link. The switch then copies the advertisement into a Link State Update packet

为了转发链路状态播发,交换机首先将播发的时间增加延迟秒,以说明链路上的传输时间。然后,交换机将广告复制到链路状态更新包中

Forwarded advertisements are sent to all adjacent switches associated with the interface. If the interface state is Point-to-Point, DS, or Backup, the destination switch ID field of the network layer address information is set to the multicast switch ID AllSPFSwitches. If the interface state is DS Other, the destination switch ID field is set to the multicast switch ID AllDSwitches.

转发的播发将发送到与接口关联的所有相邻交换机。如果接口状态为点对点、DS或备份,则网络层地址信息的目标交换机ID字段将设置为多播交换机ID AllSPFSwitches。如果接口状态为DS Other,则目标交换机ID字段将设置为多播交换机ID AllDSwitches。

8.2.4 Installing Link State Advertisements in the Database
8.2.4 在数据库中安装链接状态播发

When a new link state advertisement is installed into the link state database, as the result of either originating or receiving a new instance of an advertisement, the switch must determine whether the best paths need to be recalculated. To make this determination, do the following:

当在链接状态数据库中安装新的链接状态播发时,作为发起或接收新的播发实例的结果,交换机必须确定是否需要重新计算最佳路径。要进行此确定,请执行以下操作:

1. Compare the contents of the new instance with the contents of the old instance (assuming the older instance is available). Note that this comparison does not include any data from the link state header. Differences in fields within the header (such as the sequence number and checksum, which are guaranteed to be different in different instances of an advertisement) are of no consequence

1. 将新实例的内容与旧实例的内容进行比较(假设旧实例可用)。请注意,此比较不包括来自链路状态标头的任何数据。报头中字段的差异(如序列号和校验和,保证在广告的不同实例中是不同的)没有任何后果

when deciding whether or not to recalculate the set of best paths.

在决定是否重新计算最佳路径集时。

2. If there are no differences in the contents of the two advertisement instances, there is no need to recalculate the set of best paths.

2. 如果两个广告实例的内容没有差异,则无需重新计算最佳路径集。

3. Otherwise, the set of best paths must be recalculated.

3. 否则,必须重新计算最佳路径集。

Note also that the older instance of the advertisement must be removed from the link state database when the new advertisement is installed. The older instance must also be removed from the link state retransmission lists of all neighbors.

还请注意,安装新播发时,必须从链接状态数据库中删除播发的旧实例。旧实例还必须从所有邻居的链路状态重传列表中删除。

8.2.5 Retransmitting Link State Advertisements
8.2.5 重新传输链路状态广告

When a switch sends a link state advertisement to an adjacent neighbor, it records the advertisement in the neighbor's link state retransmission list. To ensure the reliability of the distribution process, the switch continues to periodically retransmit the advertisements specified in the list until they are acknowledged.

当交换机向相邻邻居发送链路状态播发时,它将该播发记录在邻居的链路状态重传列表中。为了确保分发过程的可靠性,交换机继续定期重新传输列表中指定的播发,直到它们被确认为止。

The interval timer used to trigger retransmission of the advertisements is set to RxmtInterval seconds, as found in the interface data structure. Note that if this value is too low, needless retransmissions will ensue. If the value is too high, the speed with which the databases synchronize across adjacencies may be affected if there are lost packets.

用于触发广告重传的间隔计时器设置为RxmtInterval秒,如接口数据结构中所示。请注意,如果该值太低,则会导致不必要的重新传输。如果该值太高,则如果存在丢失的数据包,则数据库跨邻接同步的速度可能会受到影响。

When the interval timer expires, entries in the retransmission list are formatted into one or more Link State Update packets. (Remember that multiple advertisements can fit into a single Link State Update packet.) The age field of each advertisement is incremented by InfTransDelay, as found in the interface data structure, before the advertisement is copied into the outgoing packet.

当间隔计时器到期时,重传列表中的条目被格式化为一个或多个链路状态更新数据包。(请记住,多个播发可以放入单个链路状态更新数据包中。)在将播发复制到传出数据包中之前,每个播发的年龄字段都会增加InfTransDelay,如接口数据结构中所示。

Link State Update packets containing retransmitted advertisements are always sent directly to the adjacent switch. That is, the destination field of the network layer addressing information is set to the switch ID of the neighboring switch.

包含重新传输广告的链路状态更新数据包始终直接发送到相邻交换机。即,将网络层寻址信息的目的地字段设置为相邻交换机的交换机ID。

If the adjacent switch goes down, retransmissions will continue until the switch failure is detected and the adjacency is torn down by the VLSP discovery process. When the adjacency is torn down, the link state retransmission list is cleared.

如果相邻交换机关闭,则将继续重新传输,直到检测到交换机故障,并且VLSP发现过程中断相邻。当邻接被拆除时,链路状态重传列表被清除。

8.2.6 Acknowledging Link State Advertisements
8.2.6 确认链接状态广告

Each link state advertisement received by a switch must be acknowledged. In most cases, this is done by sending a Link State Acknowledgment packet. However, acknowledgments can also be done implicitly by sending Link State Update packets (see step 4a of Section 8.2.2).

必须确认交换机接收到的每个链路状态播发。在大多数情况下,这是通过发送链路状态确认数据包来完成的。然而,也可以通过发送链路状态更新包隐式地进行确认(参见第8.2.2节的步骤4a)。

Multiple acknowledgments can be grouped together into a single Link State Acknowledgment packet.

多个确认可以组合到一个链路状态确认数据包中。

Sending an acknowledgment

发送确认

Link State Acknowledgment packets are sent back out the interface over which the advertisement was received. The packet can be sent immediately to the sending neighbor, or it can be delayed and sent when an interval timer expires.

链路状态确认数据包被发送回接收广告的接口。数据包可以立即发送到发送邻居,也可以延迟并在间隔计时器过期时发送。

o Sending delayed acknowledgments facilitates the formatting of multiple acknowledgments into a single packet. This enables a single packet to send acknowledgments to several neighbors at once by using a multicast switch ID in the destination field of the network layer addressing information (see below). Delaying acknowledgments also randomizes the acknowledgment packets sent by the multiple switches attached to a multi-access network link.

o 发送延迟确认有助于将多个确认格式化为单个数据包。这使得单个数据包能够通过在网络层寻址信息的目的地字段中使用多播交换机ID(见下文)一次向多个邻居发送确认。延迟确认还使连接到多址网络链路的多个交换机发送的确认数据包随机化。

Note that the interval used to time delayed acknowledgments must be short (less than RxmtInterval) or needless retransmissions will ensue.

请注意,用于延迟确认的时间间隔必须很短(小于RxmtInterval),否则将导致不必要的重新传输。

Delayed acknowledgments are sent to all adjacent switches associated with the interface. If the interface state is Point-to-Point, DS, or Backup, the destination field of the network layer addressing information is set to the multicast switch ID AllSPFSwitches. If the interface state is DS Other, the destination field is set to the multicast switch ID AllDSwitches.

延迟确认被发送到与接口相关的所有相邻交换机。如果接口状态为点对点、DS或备份,则网络层寻址信息的目标字段将设置为多播交换机ID AllSPFSwitches。如果接口状态为DS Other,则目标字段设置为多播交换机ID AllDSwitches。

o Immediate acknowledgments are sent directly to a specific neighbor in response to the receipt of duplicate link state advertisements. These acknowledgments are sent immediately when the duplicate is received.

o 即时确认直接发送到特定的邻居,以响应收到重复的链路状态播发。收到副本后,立即发送这些确认。

The method used to send a Link State Acknowledgment packet -- either delayed or immediate -- depends on the circumstances surrounding the receipt of the advertisement, as shown in Table 6. Note that switches with an interface state of Backup send

用于发送链路状态确认数据包(延迟或立即)的方法取决于接收广告的环境,如表6所示。请注意,接口状态为Backup send的交换机

acknowledgments differently than other switches because they play a slightly different role in the distribution process (see Section 8.2.3).

确认与其他交换机不同,因为它们在分发过程中扮演的角色略有不同(见第8.2.3节)。

Action taken in state Circumstances Backup Other states

在国家情况下采取的行动支持其他国家

Advertisement was No ack sent No ack sent forwarded back out receiving interface

播发未发送ack未发送ack转发回接收接口

Advertisement is Delayed ack sent Delayed ack more recent than if advertisement sent database copy, but received from DS, was not forwarded else do nothing back out receiving interface

播发是延迟的ack发送延迟的ack比播发发送的数据库副本(但从DS接收)未转发的时间更近,否则不执行任何操作返回接收接口

Advertisement was a Delayed ack sent No ack sent duplicate treated if advertisement as an implied acknow- received from DS, ledgment (step 4a of else do nothing Section 8.2.2)

播发是延迟的ack发送无ack发送副本,如果播发被视为隐含的acknow-从DS、LEDMENT接收(else do nothing第8.2.2节的步骤4a)

Advertisement was a Immediate ack Immediate ack duplicate not treated sent sent as an implied acknow-ledgment

播发是即时确认即时确认副本,未被视为隐含的acknow LEDMENT发送

Advertisement age Immediate ack Immediate ack equal to MaxAge and sent sent no current instance found in database

播发时间立即确认立即确认等于MaxAge且已发送在数据库中找不到当前实例

Table 6: Sending Link State Acknowledgments

表6:发送链路状态确认

Receiving an acknowledgment

收到确认书

When the a Link State Acknowledgment packet is received, it is first subjected to a number of consistency checks. In particular, the packet is associated with a specific neighbor. If the state of that neighbor is less than Exchange, the entire Link State Acknowledgment packet is discarded.

当接收到链路状态确认包时,首先对其进行若干一致性检查。具体地,分组与特定邻居相关联。如果该邻居的状态小于Exchange,则丢弃整个链路状态确认数据包。

Each acknowledgment contained in the packet is processed as follows:

数据包中包含的每个确认都按如下方式处理:

o If the advertisement being acknowledged has an instance in the link state retransmission list for the sending neighbor, do the following:

o 如果正在确认的播发在发送邻居的链路状态重传列表中有一个实例,请执行以下操作:

o If the acknowledgment is for the same instance as that specified in the list (as determined by the procedure described in Section 7.1.1), remove the instance from the retransmission list.

o 如果确认与列表中指定的实例相同(由第7.1.1节中描述的程序确定),则从重传列表中删除该实例。

o Otherwise, log the acknowledgment as questionable.

o 否则,将确认记录为可疑。

8.3 Aging the Link State Database
8.3 老化链接状态数据库

Each link state advertisement has an age field, containing the advertisement's age, expressed in seconds. When the advertisement is copied into a Link State Update packet for forwarding out a particular interface, the age is incremented by InfTransDelay seconds to account for the transmission time over the link. An advertisement's age is never incremented past the value MaxAge. Advertisements with an age of MaxAge are not used to calculate best paths.

每个链接状态广告都有一个年龄字段,包含广告的年龄,以秒表示。当广告被复制到链路状态更新包中以转发出特定接口时,时间会增加InfTransDelay秒,以说明链路上的传输时间。广告的年龄增量永远不会超过最大年龄值。年龄为MaxAge的广告不用于计算最佳路径。

If a link state advertisement's age reaches MaxAge, the switch flushes the advertisement from the switch fabric by doing the following:

如果链路状态播发的期限达到最大期限,交换机将通过执行以下操作从交换机结构中刷新播发:

o Originate a new instance of the advertisement with the age field set to MaxAge. The distribution process will eventually result in the advertisement being removed from the retransmission lists of all switches in the fabric.

o 使用设置为MaxAge的age字段创建广告的新实例。分发过程最终将导致从结构中所有交换机的重传列表中删除播发。

o Once the advertisement is no longer contained in the link state retransmission list of any neighbor and no neighbor is in a state of Exchange or Loading, remove the advertisement from the local link state database.

o 一旦播发不再包含在任何邻居的链路状态重传列表中,并且没有邻居处于交换或加载状态,则从本地链路状态数据库中删除播发。

8.3.1 Premature Aging of Advertisements
8.3.1 广告的过早老化

A link state advertisement can be prematurely flushed from the switch fabric by forcing its age to MaxAge and redistributing the advertisement.

通过将链路状态播发强制为MaxAge并重新分发播发,可以过早地从交换机结构中清除链路状态播发。

A switch that was previously the designated switch for a multi-access network link but has lost that status due to a failover to the backup designated switch prematurely ages the network link advertisements it originated for the link.

以前是多址网络链路的指定交换机,但由于故障切换到备份指定交换机而失去该状态的交换机会过早老化它为该链路发起的网络链路播发。

Premature aging also occurs when an advertisement's sequence number must wrap -- that is, when the current advertisement instance has a sequence number of 0x7fffffff. In this circumstance, the advertisement is prematurely aged so that the next instance of the advertisement can be originated with a sequence number of 0x80000001 and be recognized as the most recent instance.

当广告的序列号必须换行时(即当前广告实例的序列号为0x7fffffff),也会发生过早老化。在这种情况下,广告过早老化,以便广告的下一个实例可以由序列号0x8000001发起,并被识别为最近的实例。

A switch may only prematurely age those link state advertisements for which it is the advertising switch.

交换机可能只会过早老化其作为广告交换机的那些链路状态广告。

9. Calculating the Best Paths
9. 计算最佳路径

Once an adjacency has been formed and the two switches have synchronized their databases, each switch in the adjacency calculates the best path(s) to all other switches in the fabric, using itself as the root of each path. In this context, "best" path means that path with the lowest total cost metric across all hops. If there are multiple paths with the same (lowest) total cost metric, they are all calculated. Best paths are stored in the area data structure.

一旦形成邻接并且两个交换机已同步其数据库,邻接中的每个交换机将计算到结构中所有其他交换机的最佳路径,并将自身用作每个路径的根。在此上下文中,“最佳”路径意味着在所有跃点中具有最低总成本度量的路径。如果存在具有相同(最低)总成本度量的多条路径,则会计算所有路径。最佳路径存储在区域数据结构中。

Paths are calculated using the well-known Dijkstra algorithm. For a detailed description of this algorithm, the reader is referred to [Perlman], or any of a number of standard textbooks dealing with network routing.

使用著名的Dijkstra算法计算路径。关于该算法的详细描述,读者可参考[Perlman]或许多关于网络路由的标准教科书中的任何一本。

Note that whenever there is a change in an adjacency relationship, or any change that alters the topology of the switch fabric, the set of best paths must be recalculated.

请注意,每当邻接关系发生变化或任何改变交换机结构拓扑的变化时,必须重新计算最佳路径集。

10. Protocol Packets
10. 协议包

This section describes VLS protocol packets and link state advertisements.

本节描述VLS协议包和链路状态播发。

There are five distinct VLSP packet types, as listed in Table 7.

有五种不同的VLSP数据包类型,如表7所示。

Type Packet Name Function Description

类型数据包名称函数描述

1 Hello Select DS/Backup DS Section 10.6.1 2 Database Summarize database Description contents Section 10.6.2 3 LS Request Database download Section 10.6.3 4 LS Update Database update Section 10.6.4 5 LS Ack Flooding acknow-ledgment Section 10.6.5

1你好选择DS/备份DS第10.6.1节2数据库摘要数据库描述内容第10.6.2节3 LS请求数据库下载第10.6.3节4 LS更新数据库更新第10.6.4节5 LS确认泛洪确认ledgment第10.6.5节

Table 7: VLSP Packet Types

表7:VLSP数据包类型

All VLSP packets are encapsulated within a standard ISMP packet, with the VLS packet carried in the ISMP message body. The ISMP packet is described in Section 10.1.

所有VLSP数据包封装在标准ISMP数据包中,VLS数据包携带在ISMP消息体中。第10.1节描述了ISMP数据包。

Since it is important that the link state databases remain synchronized throughout the switch fabric, processing of both incoming and outgoing routing protocol packets should take priority over ordinary data packets. Section 10.2 describes packet processing.

由于链路状态数据库在整个交换结构中保持同步非常重要,因此传入和传出路由协议数据包的处理应优先于普通数据包。第10.2节描述了数据包处理。

All VLSP packets begin with network layer addressing information, described in Section 10.3, followed by a standard header, described in Section 10.4.

所有VLSP数据包都以第10.3节所述的网络层寻址信息开始,然后是第10.4节所述的标准报头。

With the exception of Hello packets, all VLSP packets deal with lists of link state advertisements. The format of a link state advertisement is described in Section 11.

除Hello数据包外,所有VLSP数据包都处理链路状态广告列表。链接状态广告的格式在第11节中描述。

10.1 ISMP Packet Format
10.1 ISMP数据包格式

All VLSP packets are encapsulated within a standard ISMP packet. ISMP packets are of variable length and have the following general structure:

所有VLSP数据包都封装在标准ISMP数据包中。ISMP数据包长度可变,一般结构如下:

o Frame header o ISMP packet header o ISMP message body

o 帧头o ISMP数据包头o ISMP消息体

10.1.1 Frame Header
10.1.1 帧头

ISMP packets are encapsulated within an IEEE 802-compliant frame using a standard header as shown below:

ISMP数据包使用标准报头封装在符合IEEE 802标准的帧内,如下所示:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      +      Destination address      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   04 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        Source address         +
   08 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |             Type              |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   16 |                                                               |
      +                                                               +
      :                                                               :
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      +      Destination address      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   04 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        Source address         +
   08 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |             Type              |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   16 |                                                               |
      +                                                               +
      :                                                               :
        

Destination address

目的地址

This 6-octet field contains the Media Access Control (MAC) address of the multicast channel over which all switches in the fabric receive ISMP packets. The destination address of all ISMP packets contain a value of 01-00-1D-00-00-00.

此6-octet字段包含多播信道的媒体访问控制(MAC)地址,结构中的所有交换机通过该地址接收ISMP数据包。所有ISMP数据包的目标地址包含值01-00-1D-00-00-00。

Source address

源地址

This 6-octet field contains the physical (MAC) address of the switch originating the ISMP packet.

此6位字节字段包含发起ISMP数据包的交换机的物理(MAC)地址。

Type

类型

This 2-octet field identifies the type of data carried within the frame. The type field of ISMP packets contains the value 0x81FD.

此2个八位组字段标识帧内所携带的数据类型。ISMP数据包的类型字段包含值0x81FD。

10.1.2 ISMP Packet Header
10.1.2 ISMP包头

The ISMP packet header consists of 6 octets, as shown below:

ISMP数据包头由6个八位字节组成,如下所示:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |///////////////////////////////////////////////////////////////|
      ://////// Frame header /////////////////////////////////////////:
      +//////// (14 octets)  /////////+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |///////////////////////////////|            Version            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   16 |       ISMP message type       |        Sequence number        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   20 |                                                               |
      +                                                               +
      :                                                               :
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |///////////////////////////////////////////////////////////////|
      ://////// Frame header /////////////////////////////////////////:
      +//////// (14 octets)  /////////+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |///////////////////////////////|            Version            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   16 |       ISMP message type       |        Sequence number        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   20 |                                                               |
      +                                                               +
      :                                                               :
        

Frame header

帧头

This 14-octet field contains the frame header.

此14个八位字节字段包含帧头。

Version

版本

This 2-octet field contains the version number of the InterSwitch Message Protocol to which this ISMP packet adheres. This document describes ISMP Version 2.0. ISMP message type

此2-octet字段包含此ISMP数据包所遵循的交换机间消息协议的版本号。本文档介绍ISMP 2.0版。ISMP消息类型

This 2-octet field contains a value indicating which type of ISMP message is contained within the message body. Valid values are as follows:

此2-octet字段包含一个值,该值指示消息正文中包含哪种类型的ISMP消息。有效值如下所示:

1 (reserved) 2 Interswitch Keepalive messages 3 Interswitch Link State messages 4 Interswitch Spanning Tree BPDU messages and Interswitch Remote Blocking messages 5 Interswitch Resolve and New User messages 6 (reserved) 7 Tag-Based Flood messages 8 Interswitch Tap messages

1(保留)2交换机间保持消息3交换机间链路状态消息4交换机间生成树BPDU消息和交换机间远程阻塞消息5交换机间解析和新用户消息6(保留)7基于标签的泛洪消息8交换机间Tap消息

All VLS protocol messages have an ISMP message type of 3.

所有VLS协议消息的ISMP消息类型均为3。

Sequence number

序列号

This 2-octet field contains an internally generated sequence number used by the various protocol handlers for internal synchronization of messages.

此2-octet字段包含内部生成的序列号,由各种协议处理程序用于消息的内部同步。

10.1.3 ISMP Message Body
10.1.3 ISMP消息体

The ISMP message body is a variable-length field containing the actual data of the ISMP message. The length and content of this field are determined by the value found in the message type field. VLSP packets are contained in the ISMP message body.

ISMP消息正文是一个可变长度字段,包含ISMP消息的实际数据。此字段的长度和内容由消息类型字段中的值确定。VLSP数据包包含在ISMP消息体中。

10.2 VLSP Packet Processing
10.2 VLSP数据包处理

Note that with the exception of Hello packets, VLSP packets are sent only between adjacent neighbors. Therefore, all packets travel a single hop.

请注意,除了Hello数据包之外,VLSP数据包仅在相邻邻居之间发送。因此,所有数据包只经过一个跃点。

VLSP does not support fragmentation and reassembly of packets. Therefore, packets containing lists of link state advertisements or advertisement headers must be formatted such that they contain only as many advertisements or headers as will fit within the size constraints of a standard ethernet frame.

VLSP不支持数据包的碎片化和重组。因此,包含链路状态播发或播发头列表的数据包必须进行格式化,以使其仅包含标准以太网帧的大小限制范围内的尽可能多的播发或头。

When a protocol packet is received by a switch, it must first pass the following criteria before being accepted for further processing:

当交换机接收到协议数据包时,它必须首先通过以下标准,然后才能接受进一步处理:

o The checksum number must be correct.

o 校验和编号必须正确。

o The destination switch ID (as found in the network layer address information) must be the switch ID of the receiving switch, or one of the multicast switch IDs AllSPFSwitches or AllDSwitches.

o 目标交换机ID(如网络层地址信息中所示)必须是接收交换机的交换机ID,或多播交换机ID AllSPFSwitches或AllDSwitches之一。

If the destination switch ID is the multicast switch ID AllDSwitches, the state of the receiving interface must be Point-to-Point, DS, or Backup.

如果目标交换机ID是多播交换机ID AllDSwitches,则接收接口的状态必须为点对点、DS或备份。

o The source switch ID (as found in the network layer address information) must not be that of the receiving switch. (That is, locally originated packets should be discarded.)

o 源交换机ID(在网络层地址信息中找到)不能是接收交换机的ID。(也就是说,本地产生的数据包应该被丢弃。)

At this point, if the packet is a Hello packet, it is accepted for further processing.

此时,如果数据包是Hello数据包,则接受它进行进一步处理。

Since all other packet types are only sent between adjacent neighbors, the packet must have been sent by one of the switch's active neighbors. If the source switch ID matches the switch ID of one of the receiving switch's active neighbors (as stored in the interface data structure associated with the inport interface), the packet is accepted for further processing. Otherwise, the packet is discarded.

由于所有其他数据包类型仅在相邻邻居之间发送,因此数据包必须由交换机的一个活动邻居发送。如果源交换机ID与接收交换机的一个活动邻居(存储在与输入端口接口相关联的接口数据结构中)的交换机ID匹配,则接受该数据包进行进一步处理。否则,数据包将被丢弃。

10.3 Network Layer Address Information
10.3 网络层地址信息

As mentioned in Section 2.2.1, portions of the VLS protocol (as derived from OSPF) are dependent on certain network layer addresses -- in particular, the AllSPFSwitches and AllDSwitches multicast addresses that drive the distribution of link state advertisements throughout the switch fabric. In order to facilitate the implementation of the protocol at the physical MAC layer, network layer address information is encapsulated in the VSLP packets. This information immediately follows the ISMP frame and packet header and immediately precedes the VLSP packet header, as shown below:

如第2.2.1节所述,VLS协议的某些部分(源自OSPF)取决于某些网络层地址——特别是驱动整个交换结构中链路状态播发分布的AllSPFSwitches和AllDSwitches多播地址。为了便于在物理MAC层上实现该协议,将网络层地址信息封装在VSLP分组中。该信息紧跟在ISMP帧和数据包头之后,紧跟在VLSP数据包头之前,如下所示:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      :                  frame header / ISMP header                   :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :                      Unused (20 octets)                       :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   20 |                                                               |
      +                       Source switch ID                        +
   24 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   28 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   32 |                                                               |
      +                     Destination switch ID                     +
   36 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   40 |                                                               |
      :                          VLSP header                          :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      :                  frame header / ISMP header                   :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :                      Unused (20 octets)                       :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   20 |                                                               |
      +                       Source switch ID                        +
   24 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   28 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   32 |                                                               |
      +                     Destination switch ID                     +
   36 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   40 |                                                               |
      :                          VLSP header                          :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Source switch ID

源交换机ID

This 10-octet field contains the switch ID of the sending switch.

此10个八位字节字段包含发送交换机的交换机ID。

Destination switch ID

目标交换机ID

This 10-octet field contains the switch ID of the packet destination. The value here is set as follows:

此10个八位字节字段包含数据包目的地的交换机ID。此处的值设置如下:

o Hello packets are addressed to the multicast switch ID AllSPFSwitches.

o Hello数据包被发送到多播交换机ID AllSPFSwitches。

o The designated switch and the backup designated switch address initial Link State Update packets and Link State Acknowledgment packets to the multicast switch ID AllSPFSwitches.

o 指定交换机和备份指定交换机将初始链路状态更新数据包和链路状态确认数据包发送到多播交换机ID ALLSPFSWITGES。

o All other switches address initial Link State Update packets and Link State Acknowledgment packets to the multicast switch ID AllDSwitches.

o 所有其他交换机将初始链路状态更新数据包和链路状态确认数据包寻址到多播交换机ID AllDSwitches。

o Retransmissions of Link State Update packets are always addressed directly to the nonresponding switch.

o 链路状态更新数据包的重传总是直接发送到无响应交换机。

o Database Description packets and Link State Request are always addressed directly to the other switch participating in the database exchange process.

o 数据库描述数据包和链路状态请求始终直接发送到参与数据库交换过程的其他交换机。

VLSP header

VLSP头

This 30-octet field contains the VLSP standard header. See Section 10.4.

此30八位字节字段包含VLSP标准标头。见第10.4节。

10.4 VLSP Packet Header
10.4 VLSP包头

Every VLSP packet starts with a common 30-octet header. This header, along with the data found in the network layer address information, contains all the data necessary to determine whether the packet should be accepted for further processing. (See Section 10.1.)

每个VLSP数据包都以一个公共的30个八位组头开始。该报头以及在网络层地址信息中找到的数据,包含确定是否应接受数据包以进行进一步处理所需的所有数据。(见第10.1节。)

The format of the VLSP header is shown below. Note that the header starts at offset 36 of the ISMP message body, following the network layer address information.

VLSP标头的格式如下所示。注意,报头从ISMP消息体的偏移量36开始,紧跟在网络层地址信息之后。

        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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      :                  frame header / ISMP header                   :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :               Network layer address information               :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   40 |    (unused)   |     Type      |         Packet length         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   44 |                                                               |
      +                       Source switch ID                        +
   48 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   52 |                               |         Area ID . . .         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   56 |         Area ID . . .         |           Checksum            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   60 |            Autype             |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        Authentication         +
   64 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   68 |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      :                  frame header / ISMP header                   :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :               Network layer address information               :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   40 |    (unused)   |     Type      |         Packet length         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   44 |                                                               |
      +                       Source switch ID                        +
   48 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   52 |                               |         Area ID . . .         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   56 |         Area ID . . .         |           Checksum            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   60 |            Autype             |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        Authentication         +
   64 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   68 |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Type

类型

This 1-octet field contains the packet type. Possible values are as follows:

此1-octet字段包含数据包类型。可能的值如下所示:

1 Hello 2 Database Description 3 Link State Request 4 Link State Update 5 Link State Acknowledgment

1你好2数据库描述3链路状态请求4链路状态更新5链路状态确认

Packet length

数据包长度

This 2-octet field contains the length of the protocol packet, in bytes, calculated from the start of the VLSP header, at offset 20 of the ISMP message body. If the packet length is not an integral number of 16-bit words, the packet is padded with an octet of zero (see the description of the checksum field, below).

此2-octet字段包含协议数据包的长度,以字节为单位,从VLSP报头开始计算,位于ISMP消息体的偏移量20处。如果数据包长度不是16位字的整数,则数据包将填充为零的八位字节(请参阅下面校验和字段的说明)。

Switch ID

交换机ID

This 10-octet field contains the switch ID of the sending switch.

此10个八位字节字段包含发送交换机的交换机ID。

Area ID

区域ID

This 4-octet field contains the area identifier. Since VLSP does not support multiple areas, the value here is always zero.

此4个八位组字段包含区域标识符。由于VLSP不支持多个区域,因此此处的值始终为零。

Checksum

校验和

This 2-octet field contains the packet checksum value. The checksum is calculated as the 16-bit one's complement of the one's complement sum of all the 16-bit words in the packet, beginning with the VLSP header, excluding the authentication field. If the packet length is not an integral number of 16-bit words, the packet is padded with an octet of zero before calculating the checksum.

此2-octet字段包含数据包校验和值。校验和计算为数据包中所有16位字的16位1的补码和的16位1的补码,从VLSP报头开始,不包括身份验证字段。如果数据包长度不是16位字的整数,则在计算校验和之前,将数据包填充为零的八位字节。

AuType

自动类型

This 2-octet field identifies the authentication scheme to be used for the packet. Since authentication is not supported by this version of VLSP, this field contains zero.

此2-octet字段标识要用于数据包的身份验证方案。由于此版本的VLSP不支持身份验证,因此此字段包含零。

Authentication

认证

This 8-octet field is reserved for use by the authentication scheme. Since authentication is not supported by this version of VLSP, this field contains zeroes.

此8位字节字段保留供身份验证方案使用。由于此版本的VLSP不支持身份验证,因此此字段包含零。

10.5 Options Field
10.5 选项字段

Hello packets and Database Description packets, as well as link state advertisements, contain a 1-octet options field. Using this field, a switch can communicate its optional capabilities to other VLSP switches. The receiving switch can then choose whether or not to support those optional capabilities. Thus, switches of differing capabilities potentially can be mixed within a single VLSP routing domain.

Hello数据包和数据库描述数据包以及链接状态广告都包含一个1-octet选项字段。使用此字段,交换机可以将其可选功能与其他VLSP交换机进行通信。然后,接收交换机可以选择是否支持这些可选功能。因此,不同功能的交换机可能会在单个VLSP路由域中混合使用。

Two optional capabilities are currently defined in the options field: routing based on Type of Service (TOS) and support for external routing beyond the local switch fabric. These two capabilities are specified in the options field as shown below.

当前在选项字段中定义了两个可选功能:基于服务类型(TOS)的路由和对本地交换机结构之外的外部路由的支持。这两种功能在选项字段中指定,如下所示。

                             +-+-+-+-+-+-+-+-+
                             |0|0|0|0|0|0|E|T|
                             +-+-+-+-+-+-+-+-+
        
                             +-+-+-+-+-+-+-+-+
                             |0|0|0|0|0|0|E|T|
                             +-+-+-+-+-+-+-+-+
        

The options field

选项字段

T-bit

丁字钻头

The T-bit specifies the switch's Type of Service (TOS) capability. If the T-bit is set, the switch supports routing based on nonzero types of service.

T位指定交换机的服务类型(TOS)功能。如果设置了T位,交换机支持基于非零服务类型的路由。

E-bit

电子比特

The E-bit specifies the switch's external routing capability. If the E-bit is set, the switch supports external routing.

E位指定交换机的外部路由功能。如果设置了E位,则交换机支持外部路由。

Note: The current version of VLSP supports neither of these capabilities. Therefore, both the T-bit and the E-bit are clear and the options field contains a value of zero.

注意:VLSP的当前版本不支持这两种功能。因此,T位和E位都是清晰的,选项字段包含零值。

10.6 Packet Formats
10.6 包格式

This section contains detailed descriptions of the five VLS protocol packets.

本节包含五个VLS协议包的详细说明。

10.6.1 Hello Packets
10.6.1 你好,小包

Hello packets are sent periodically over multi-access switch interfaces in order to discover and maintain neighbor relationships.

Hello数据包通过多址交换机接口定期发送,以便发现和维护邻居关系。

Note: Hello packets are not sent over point-to-point network links. For point-to-point links, the VLS protocol relies on the VlanHello protocol [IDhello] to notify it of neighboring switches.

注意:Hello数据包不是通过点对点网络链路发送的。对于点到点链路,VLS协议依赖VlanHello协议[IDhello]通知相邻交换机。

Since all switches connected to a common network link must agree on certain interface parameters, these parameters are included in each Hello packet. A switch receiving a Hello packet that contains parameters inconsistent with its own view of the interface will not establish a neighbor relationship with the sending switch.

由于连接到公共网络链路的所有交换机必须在某些接口参数上达成一致,因此这些参数包含在每个Hello数据包中。接收包含与其自身接口视图不一致的参数的Hello数据包的交换机不会与发送交换机建立邻居关系。

The format of a Hello packet is shown below.

Hello数据包的格式如下所示。

        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    00 |                                                               |
       :              Network layer addressing / VLSP header           :
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    70 |                      (unused -- must be 0)                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    74 |         HelloInt              |    Options    |   Priority    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    78 |                            DeadInt                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    82 |                                                               |
       +                      Designated switch ID                     +
    86 |                                                               |
       +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    90 |                               |                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    94 |                                                               |
       +                   Backup designated switch ID                 +
    98 |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   102 |                                                               |
       +                                                               +
       :                          Neighbor list                        :
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    00 |                                                               |
       :              Network layer addressing / VLSP header           :
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    70 |                      (unused -- must be 0)                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    74 |         HelloInt              |    Options    |   Priority    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    78 |                            DeadInt                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    82 |                                                               |
       +                      Designated switch ID                     +
    86 |                                                               |
       +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    90 |                               |                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    94 |                                                               |
       +                   Backup designated switch ID                 +
    98 |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   102 |                                                               |
       +                                                               +
       :                          Neighbor list                        :
       +                                                               +
       |                                                               |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Network layer addressing / VLSP header

网络层寻址/VLSP报头

This 70-octet field contains the network layer addressing information and the standard VLS protocol packet header. The packet header type field contains a value of 1.

此70八位字节字段包含网络层寻址信息和标准VLS协议数据包头。数据包头类型字段包含值1。

HelloInt

海洛特

This 2-octet field contains the interval, in seconds, at which this switch sends Hello packets.

此2-octet字段包含此交换机发送Hello数据包的间隔(以秒为单位)。

Options

选择权

This 1-octet field contains the optional capabilities supported by the switch, as described in Section 10.5.

此1-octet字段包含交换机支持的可选功能,如第10.5节所述。

Priority

优先事项

This 1-octet field contains the switch priority used in selecting the designated switch and backup designated switch (see Section 6.3.1). If the value here is zero, the switch is ineligible to become the designated switch or the backup designated switch.

此1-octet字段包含用于选择指定交换机和备用指定交换机的交换机优先级(见第6.3.1节)。如果此处的值为零,则该交换机没有资格成为指定交换机或备用指定交换机。

DeadInt

死气沉沉的

This 4-octet field contains the length of time, in seconds, that neighboring switches will wait before declaring the interface down once they stop receiving Hello packets over the interface. The value here is equal to the value of SwitchDeadInterval, as found in the interface data structure.

此4-octet字段包含相邻交换机在停止通过接口接收Hello数据包后,在宣布接口关闭之前等待的时间长度(以秒为单位)。此处的值等于SwitchDeadInterval的值,如接口数据结构中所示。

Designated switch

指定交换机

This 10-octet field contains the switch ID of the designated switch for this network link, as currently understood by the sending switch. This value is set to zero if the designated switch selection process has not yet begun.

此10个八位字节字段包含此网络链路的指定交换机的交换机ID,发送交换机当前可以理解。如果指定的开关选择过程尚未开始,则该值设置为零。

Backup designated switch

备用指定交换机

This 10-octet field contains the switch ID of the backup designated switch for the network link, as currently understood by the sending switch. This value is set to zero if the backup designated switch selection process has not yet begun.

此10个八位字节字段包含网络链路的备份指定交换机的交换机ID,发送交换机目前可以理解。如果备份指定交换机选择过程尚未开始,则此值设置为零。

Neighbor list

邻居名单

This variable-length field contains a list of switch IDs of each switch from which the sending switch has received a valid Hello packet within the last SwitchDeadInterval seconds.

此可变长度字段包含每个交换机的交换机ID列表,发送交换机在最后的SwitchDeadInterval秒内从中接收到有效的Hello数据包。

10.6.2 Database Description Packets
10.6.2 数据库描述包

Database Description packets are exchanged while an adjacency is being formed between two neighboring switches and are used to describe the contents of the topological database. For a complete description of the database exchange process, see Section 7.2.

数据库描述数据包在两个相邻交换机之间形成邻接时交换,用于描述拓扑数据库的内容。有关数据库交换过程的完整描述,请参见第7.2节。

The format of a Database Description packet is shown below.

数据库描述数据包的格式如下所示。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |     (unused -- must be 0)     |    Options    |     Flags     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   74 |                        Sequence number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   78 |                                                               |
      +                                                               +
      :                 Link state advertisement headers              :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |     (unused -- must be 0)     |    Options    |     Flags     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   74 |                        Sequence number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   78 |                                                               |
      +                                                               +
      :                 Link state advertisement headers              :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Network layer addressing / VLSP header

网络层寻址/VLSP报头

This 70-octet field contains the network layer addressing information and the standard VLS protocol packet header. The packet header type field contains a value of 2.

此70八位字节字段包含网络层寻址信息和标准VLS协议数据包头。数据包头类型字段包含值2。

Options

选择权

This 1-octet field contains the optional capabilities supported by the switch, as described in Section 10.5.

此1-octet字段包含交换机支持的可选功能,如第10.5节所述。

Flags

旗帜

This 1-octet field contains a set of bit flags that are used to coordinate the database exchange process. The format of this octet is as follows:

此1-octet字段包含一组用于协调数据库交换过程的位标志。此八位字节的格式如下:

                          +-+-+-+-+-+-+-+-+
                          |0|0|0|0|0|I|M|MS
                          +-+-+-+-+-+-+-+-+
        
                          +-+-+-+-+-+-+-+-+
                          |0|0|0|0|0|I|M|MS
                          +-+-+-+-+-+-+-+-+
        

I-bit (Init)

I位(Init)

The I-bit is used to signal the start of the exchange. It is set while the two switches negotiate the master/slave relationship and the starting sequence number.

I位用于发出交换开始的信号。这是在两个开关协商主/从关系和启动序列号时设置的。

M-bit (More)

M位(更多)

The M-bit is set to indicate that more Database Description packets to follow.

M位被设置为指示更多的数据库描述数据包跟随。

MS-bit (Master/Slave)

MS位(主/从)

The MS-bit is used to indicate which switch is the master of the exchange. If the bit is set, the sending switch is the master during the database exchange process. If the bit is clear, the switch is the slave.

MS位用于指示哪个交换机是交换机的主交换机。如果设置了位,则发送开关是数据库交换过程中的主开关。如果位清除,则开关为从属。

Sequence number

序列号

This 4-octet field is used to sequence the Database Description packets during the database exchange process. The two switches involved in the exchange process agree on the initial value of the sequence number during the master/slave negotiation. The number is then incremented for each Database Description packet in the exchange.

此4个八位字段用于在数据库交换过程中对数据库描述数据包进行排序。交换过程中涉及的两个交换机在主/从协商期间就序列号的初始值达成一致。然后,对于exchange中的每个数据库描述数据包,该数字都会递增。

To acknowledge each Database Description packet sent by the master, the slave sends a Database Description packet that echoes the sequence number of the packet being acknowledged.

为了确认主设备发送的每个数据库描述数据包,从设备发送一个数据库描述数据包,该数据包响应被确认数据包的序列号。

Link state advertisement headers

链接状态广告头

This variable-length field contains a list of link state headers that describe a portion of the master's topological database. Each header uniquely identifies a link state advertisement and its current instance. (See Section 11.1 for a detailed description of a link state advertisement header.) The number of headers included in the list is calculated implicitly from the length of the packet, as stored in the VLSP packet header (see Section 10.4).

此可变长度字段包含链接状态标题列表,这些标题描述了主机拓扑数据库的一部分。每个标头唯一标识链接状态播发及其当前实例。(有关链路状态公告报头的详细说明,请参见第11.1节。)列表中包含的报头数量根据VLSP数据包报头中存储的数据包长度进行隐式计算(请参见第10.4节)。

10.6.3 Link State Request Packets
10.6.3 链路状态请求包

Link State Request packets are used to request those pieces of the neighbor's database that the sending switch has discovered (during the database exchange process) are more up-to-date than instances in its own database. Link State Request packets are sent as the last step in bringing up an adjacency. (See Section 7.3.)

链路状态请求数据包用于请求发送交换机(在数据库交换过程中)发现的邻居数据库中比其自身数据库中的实例更为最新的部分。链路状态请求数据包作为建立邻接关系的最后一步发送。(见第7.3节。)

The format of a Link State Request packet is shown below.

链路状态请求数据包的格式如下所示。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |                        Link state type                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   74 |                                                               |
      +                         Link state ID                         +
   88 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   82 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   86 |                                                               |
      +                      Advertising switch ID                    +
   90 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   94 |                                                               |
      :                            . . .                              :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |                        Link state type                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   74 |                                                               |
      +                         Link state ID                         +
   88 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   82 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   86 |                                                               |
      +                      Advertising switch ID                    +
   90 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   94 |                                                               |
      :                            . . .                              :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Network layer addressing / VLSP header

网络层寻址/VLSP报头

This 70-octet field contains the network layer addressing information and the standard VLS protocol packet header. The packet header type field contains a value of 3.

此70八位字节字段包含网络层寻址信息和标准VLS协议数据包头。数据包头类型字段包含值3。

Link state type

链路状态类型

This 4-octet field contains the link state type of the requested link state advertisement, as stored in the advertisement header.

此4-octet字段包含存储在播发标头中的请求链接状态播发的链接状态类型。

Link state ID

链路状态ID

This 10-octet field contains the link state ID of the requested link state advertisement, as stored in the advertisement header.

此10个八位字节字段包含请求的链接状态播发的链接状态ID,存储在播发标头中。

Advertising switch

广告开关

This 10-octet field contains the switch ID of advertising switch for the requested link state advertisement, as stored in the advertisement header.

此10个八位字节字段包含所请求链路状态播发的播发开关的开关ID,存储在播发标头中。

Note that the last three fields uniquely identify the advertisement, but not its instance. The receiving switch will respond with its most recent instance of the specified advertisement.

请注意,最后三个字段唯一标识广告,但不标识其实例。接收开关将使用其指定播发的最新实例进行响应。

Multiple link state advertisements can be requested in a single Link State Request packet by repeating the link state type, ID, and advertising switch for each requested advertisement. The number of advertisements requested is calculated implicitly from the length of the packet, as stored in the VLSP packet header.

通过为每个请求的播发重复链路状态类型、ID和播发开关,可以在单个链路状态请求数据包中请求多个链路状态播发。请求的广告数量根据存储在VLSP数据包报头中的数据包长度隐式计算。

10.6.4 Link State Update Packets
10.6.4 链路状态更新包

Link State Update packets are used to respond to a Link State Request packet or to advertise a new instance of one or more link state advertisements. Link State Update packets are acknowledged with Link State Acknowledgment packets. For more information on the use of Link State Update packets, see Section 7 and Section 8.

链路状态更新数据包用于响应链路状态请求数据包或播发一个或多个链路状态播发的新实例。链路状态更新数据包通过链路状态确认数据包进行确认。有关使用链路状态更新数据包的更多信息,请参阅第7节和第8节。

The format of a Link State Update packet is shown below.

链路状态更新包的格式如下所示。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |                        # advertisements                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   74 |                                                               |
      +                                                               +
      :                    Link state advertisements                  :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |                        # advertisements                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   74 |                                                               |
      +                                                               +
      :                    Link state advertisements                  :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Network layer addressing / VLSP header

网络层寻址/VLSP报头

This 70-octet field contains the network layer addressing information and the standard VLS protocol packet header. The packet header type field contains a value of 4.

此70八位字节字段包含网络层寻址信息和标准VLS协议数据包头。数据包头类型字段包含值4。

# advertisements

#广告

This 4-octet field contains the number of link state advertisements included in the packet.

此4个八位字节字段包含数据包中包含的链路状态播发数。

Link state advertisements

链接状态广告

This variable-length field contains a list of link state advertisements. For a detailed description of the different types of link state advertisements, see Section 11.

此可变长度字段包含链接状态播发的列表。有关不同类型的链接状态广告的详细说明,请参阅第11节。

10.6.5 Link State Acknowledgment Packets
10.6.5 链路状态确认包

Link State Acknowledgment Packets are used to explicitly acknowledge one or more Link State Update packets, thereby making the distribution of link state advertisements reliable. (See Section 8.2.6.)

链路状态确认分组用于显式确认一个或多个链路状态更新分组,从而使链路状态广告的分发可靠。(见第8.2.6节。)

The format of a Link State Acknowledgment packet is shown below.

链路状态确认包的格式如下所示。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |                                                               |
      +                                                               +
      :                 Link state advertisement headers              :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :              Network layer addressing / VLSP header           :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   70 |                                                               |
      +                                                               +
      :                 Link state advertisement headers              :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Network layer addressing / VLSP header

网络层寻址/VLSP报头

This 70-octet field contains the network layer addressing information and the standard VLS protocol packet header. The packet header type field contains a value of 5.

此70八位字节字段包含网络层寻址信息和标准VLS协议数据包头。数据包头类型字段包含值5。

Link state advertisement headers

链接状态广告头

This variable-length field contains a list of link state headers that are being acknowledged by this packet. Each header uniquely identifies a link state advertisement and its current instance. (See Section 11.1 for a detailed description of a link state advertisement header.) The number of headers included in the list is calculated implicitly from the length of the packet, as stored in the VLSP packet header (see Section 10.4).

此可变长度字段包含此数据包正在确认的链路状态头的列表。每个标头唯一标识链接状态播发及其当前实例。(有关链路状态公告报头的详细说明,请参见第11.1节。)列表中包含的报头数量根据VLSP数据包报头中存储的数据包长度进行隐式计算(请参见第10.4节)。

11. Link State Advertisement Formats
11. 链接状态广告格式

Link state advertisements are used to describe various pieces of the routing topology within the switch fabric. Each switch in the fabric maintains a complete set of all link state advertisements generated throughout the fabric. (Section 8.1 describes the circumstances under which a link state advertisement is originated. Section 8.2 describes how advertisements are distributed throughout the switch fabric.) This collection of advertisements, known as the link state (or topological) database, is used to calculate a set of best paths to all other switches in the fabric.

链路状态播发用于描述交换机结构中的各种路由拓扑。结构中的每个交换机维护整个结构中生成的所有链路状态播发的完整集合。(第8.1节描述了链路状态播发产生的环境。第8.2节描述了播发如何分布在整个交换机结构中。)此播发集合称为链路状态(或拓扑)数据库,用于计算到结构中所有其他交换机的一组最佳路径。

There are two types of link state advertisement, as listed in Table 8.

有两种链接状态广告,如表8所示。

Type Name Function Description

类型名称函数描述

1 Switch link Lists all network Section 11.2 advertisement linksattached to a switch

1交换机链接列出了连接到交换机的所有网络第11.2节广告链接

2 Network link Lists all adjacen- Section 11.3 advertisement cies on a network link

2网络链接列出了网络链接上的所有邻接-第11.3节

Table 8: Link State Advertisement Types

表8:链接状态广告类型

Each link state advertisement begins with a standard header, described in Section 11.1.

每个链路状态公告都以第11.1节所述的标准头开始。

11.1 Link State Advertisement Headers
11.1 链接状态广告头

All link state advertisements begin with a common 32-octet header. This header contains information that uniquely identifies the advertisement -- its type, link state ID, and the switch ID of its advertising switch. Also, since multiple instances of a link state advertisement can exist concurrently in the switch fabric, the header contains information that permits a switch to determine which instance is the most recent -- the age, sequence number and checksum.

所有链接状态播发都以一个公共的32八位字节头开始。此标头包含唯一标识播发的信息—播发类型、链接状态ID及其播发开关的开关ID。此外,由于链路状态播发的多个实例可以同时存在于交换机结构中,因此报头包含允许交换机确定哪个实例是最近的实例的信息——时间、序列号和校验和。

The format of the link state advertisement header is shown below.

链接状态广告头的格式如下所示。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |              Age              |    Options    |    LS Type    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   04 |                                                               |
      +                         Link state ID                         +
   08 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   16 |                                                               |
      +                      Advertising switch ID                    +
   20 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   24 |                         Sequence number                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   28 |           Checksum            |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |              Age              |    Options    |    LS Type    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   04 |                                                               |
      +                         Link state ID                         +
   08 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   12 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   16 |                                                               |
      +                      Advertising switch ID                    +
   20 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   24 |                         Sequence number                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   28 |           Checksum            |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Age

年龄

This 2-octet field contains the time, in seconds, since this instance of the link state advertisement was originated.

此2-octet字段包含自发起此链接状态播发实例以来的时间(以秒为单位)。

Options

选择权

This 1-octet field contains the optional capabilities supported by the advertising switch, as described in Section 10.5.

如第10.5节所述,此1-octet字段包含广告开关支持的可选功能。

LS type

状态类型

This 1-octet field contains the type of the link state advertisement. Possible values are:

此1-octet字段包含链接状态播发的类型。可能的值为:

1 Switch link advertisement 2 Network link advertisement

1交换机链路公告2网络链路公告

Link state ID

链路状态ID

This 10-octet field identifies the switch that originates advertisements for the link. The content of this field depends on the advertisement's type.

此10个八位字节字段标识为链接发送广告的交换机。此字段的内容取决于广告的类型。

o For a switch link advertisement, this field contains the switch ID of the originating switch

o 对于交换机链接播发,此字段包含发起交换机的交换机ID

o For a network link advertisement, this field contains the switch ID of the designated switch for the link

o 对于网络链接播发,此字段包含该链接的指定交换机的交换机ID

Note: In VLSP, the link state ID of an advertisement is always the same as the advertising switch. This level of redundancy results from the fact that OSPF uses additional types of link state advertisements for which the originating switch is not the advertising switch.

注意:在VLSP中,播发的链路状态ID始终与播发开关相同。这种冗余级别是由于OSPF使用了发起交换机不是播发交换机的其他类型的链路状态播发。

Advertising switch

广告开关

This 10-octet field contains the switch ID of the switch that originated the link state advertisement.

此10个八位字节字段包含发起链路状态播发的交换机的交换机ID。

Sequence number

序列号

This 4-octet field is used to sequence the instances of a particular link state advertisement. The number is incremented for each new instance.

此4个八位组字段用于对特定链接状态播发的实例进行排序。每个新实例的数量都会增加。

Checksum

校验和

This 2-octet field contains the checksum of the complete contents of the link state advertisement, excluding the age field. The checksum used is commonly referred to as the Fletcher checksum and is documented in [RFC905]. Note that since this checksum is calculated for each separate advertisement, a protocol packet containing lists of advertisements or advertisement headers will contain multiple checksum values.

此2-octet字段包含链接状态播发的完整内容的校验和,不包括年龄字段。使用的校验和通常称为Fletcher校验和,并记录在[RFC905]中。注意,由于该校验和是为每个单独的广告计算的,因此包含广告列表或广告头的协议包将包含多个校验和值。

Length

This 2-octet field contains the total length, in octets, of the link state advertisement, including the header.

此2个八位字节字段包含链接状态播发(包括标头)的总长度(以八位字节为单位)。

11.2 Switch Link Advertisements
11.2 交换链路广告

A switch link advertisement is used to describe all functioning network links of a switch, including the cost of using each link.

交换机链路广告用于描述交换机的所有功能网络链路,包括使用每个链路的成本。

Each functioning switch in the fabric originates one, and only one, switch link advertisement -- all of the switch's links must be described in a single advertisement. A switch originates its first switch link advertisement (containing no links) when it first becomes functional. It then originates a new instance of the advertisement each time any of its neighbor states changes such that the contents of the advertisement changes. See Section 8.1 for details on originating a switch link advertisement.

结构中每个正常工作的交换机都会发出一个且仅一个交换机链接播发——交换机的所有链接都必须在单个播发中描述。交换机第一次开始工作时,会发出其第一个交换机链接播发(不包含链接)。然后,每当它的任何相邻状态发生变化,从而广告的内容发生变化时,它就会发起广告的新实例。有关发起交换机链路广告的详细信息,请参见第8.1节。

The format of a switch link advertisement is shown below.

交换机链路广告的格式如下所示。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :                       Link state header                       :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   32 |      (unused -- must be 0)    |            # links            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   36 |                                                               |
      +                            Link ID                            +
   40 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   44 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   48 |                                                               |
      +                           Link data                           +
   52 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   56 |   Link type   |     # TOS     |         TOS 0 metric          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   60 |                                                               |
      :                            . . .                              :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :                       Link state header                       :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   32 |      (unused -- must be 0)    |            # links            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   36 |                                                               |
      +                            Link ID                            +
   40 |                                                               |
      +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   44 |                               |                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
   48 |                                                               |
      +                           Link data                           +
   52 |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   56 |   Link type   |     # TOS     |         TOS 0 metric          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   60 |                                                               |
      :                            . . .                              :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Link state header

链路状态报头

This 32-octet field contains the standard link state advertisement header. The type field contains a 1, and the link state ID field contains the switch ID of the advertising switch.

此32八位字节字段包含标准链接状态播发标头。类型字段包含1,链接状态ID字段包含播发交换机的交换机ID。

# links

#链接

This 2-octet field contains the number of links described by this advertisement. This value must be equal to the total number of functioning network links attached to the switch.

此2-octet字段包含此广告描述的链接数。此值必须等于连接到交换机的正常工作的网络链路总数。

Link ID

链接ID

This 10-octet field identifies the other switch that originates link state advertisements for the link, providing a key for accessing other link state advertisements for the link. The value here is based on the link type, as follows:

此10个八位字节字段标识为链路发起链路状态播发的另一个交换机,为访问该链路的其他链路状态播发提供密钥。此处的值基于链接类型,如下所示:

o For point-to-point links, this field contains the switch ID of the neighbor switch connected to the other end of the link.

o 对于点到点链路,此字段包含连接到链路另一端的相邻交换机的交换机ID。

o For multi-access links, this field contains the switch ID of the designated switch for the link.

o 对于多址链路,此字段包含链路指定交换机的交换机ID。

Link data

链接数据

This 10-octet field contains additional data necessary to calculate the set of best paths. Typically, this field contains the interface ID of the link.

此10个八位字节字段包含计算最佳路径集所需的其他数据。通常,此字段包含链接的接口ID。

Link type

链接类型

This 1-octet field contains the type of link being described. Possible values are as follows:

此1-octet字段包含所描述的链接类型。可能的值如下所示:

1 Point-to-point link 2 Multi-access link

1点对点链路2多址链路

# TOS

#托斯

This 1-octet field contains the number of nonzero type of service metrics specified for the link. Since the current version of VLSP does not support routing based on nonzero types of service, this field contains a value of zero.

此1-octet字段包含为链接指定的非零类型服务度量数。由于当前版本的VLSP不支持基于非零服务类型的路由,因此此字段包含值零。

TOS 0 metric

TOS 0公制

This 2-octet field contains the cost of using this link for the zero TOS. This value is expressed in the link state metric and must be greater than zero.

此2-octet字段包含为零TOS使用此链接的成本。此值以链路状态度量表示,必须大于零。

Note that the last five fields are repeated for all functioning network links attached to the advertising switch. If the interface state of attached link changes, the switch must originate a new instance of the switch link advertisement.

请注意,最后五个字段对连接到广告交换机的所有正常网络链路重复。如果连接链接的接口状态发生更改,交换机必须创建交换机链接播发的新实例。

11.3 Network Link Advertisements
11.3 网络链接广告

A network link advertisement is originated by the designated switch of each multi-access network link. The advertisement describes all switches attached to the link that are currently fully adjacent to the designated switch, including the designated switch itself. See Section 8.1 for details on originating a switch link advertisement.

网络链路广告由每个多址网络链路的指定交换机发起。广告描述了当前与指定交换机完全相邻的连接到链路的所有交换机,包括指定交换机本身。有关发起交换机链路广告的详细信息,请参见第8.1节。

Network link advertisements are not generated for point-to-point network links.

不会为点到点网络链接生成网络链接播发。

The format of a network link advertisement is show below.

网络链接广告的格式如下所示。

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :                       Link state header                       :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   32 |                           (unused)                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   36 |                                                               |
      +                                                               +
      :                          Switch list                          :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   00 |                                                               |
      :                       Link state header                       :
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   32 |                           (unused)                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   36 |                                                               |
      +                                                               +
      :                          Switch list                          :
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Link state header

链路状态报头

This 32-octet field contains the standard link state advertisement header. The type field contains a 2, and the link state ID field contains the switch ID of the designated switch.

此32八位字节字段包含标准链接状态播发标头。类型字段包含2,链接状态ID字段包含指定交换机的交换机ID。

Switch list

开关列表

The switch IDs of all switches attached to the network link that are currently fully adjacent to the designated switch. The designated switch includes itself in this list.

连接到网络链路且当前与指定交换机完全相邻的所有交换机的交换机ID。指定的交换机包含在此列表中。

12. Protocol Parameters
12. 协议参数

This section contains a compendium of the parameters used in the VLS protocol.

本节包含VLS协议中使用的参数概要。

12.1 Architectural Constants
12.1 建筑常数

Several VLS protocol parameters have fixed architectural values. The name of each architectural constant follows, together with its value and a short description of its function.

几个VLS协议参数具有固定的体系结构值。每个体系结构常量的名称及其值和对其功能的简短描述如下。

AllSPFSwitches

所有SPF开关

The multicast switch ID to which Hello packets and certain other protocol packets are addressed, as specified in the destination switch ID field of the network layer address information (see Section 10.3). The value of AllSPFSwitches is E0-00-00-05-00-00- 00-00.

在网络层地址信息的目的地交换机ID字段中指定的多播交换机ID,Hello数据包和某些其他协议数据包被寻址到该多播交换机ID(参见第10.3节)。所有SPF开关的值均为E0-00-00-05-00-00-00-00-00-00。

AllDSwitches

所有开关

The multicast switch ID to which Link State Update packets and Link State Acknowledgment packets are addressed, as specified in the destination switch ID field of the network layer address information (see Section 10.3), when they are destined for the designated switch or the backup designated switch of a network link. The value of AllDSwitches is E0-00-00-06-00-00-00-00.

当链路状态更新数据包和链路状态确认数据包的目的地为网络链路的指定交换机或备份指定交换机时,按照网络层地址信息(见第10.3节)的目的地交换机ID字段中的规定,向其发送链路状态更新数据包和链路状态确认数据包的多播交换机ID。所有开关的值均为E0-00-00-06-00-00-00-00-00。

LSRefreshTime

刷新时间

The interval at which the set of best paths recalculated if no other state changes have forced a recalculation. The value of LSRefreshTime is set to 1800 seconds (30 minutes).

如果没有其他状态更改强制重新计算,则重新计算最佳路径集的间隔。LSRefreshTime的值设置为1800秒(30分钟)。

MinLSInterval

最小间隔

The minimum time between distinct originations of any particular link state advertisement. The value of MinLSInterval is set to 5 seconds.

任何特定链接状态广告的不同来源之间的最短时间。MinlInterval的值设置为5秒。

MaxAge

MaxAge

The maximum age that a link state advertisement can attain. When an advertisement's age reaches MaxAge, it is redistributed throughout the switch fabric. When the originating switch receives an acknowledgment for the advertisement, indicating that the advertisement has been removed from all neighbor Link state retransmission lists, the advertisement is removed from the originating switch's database. Advertisements having age MaxAge are not used to calculate the set of best paths. The value of MaxAge must be greater than LSRefreshTime. The value of MaxAge is set to 3600 seconds (1 hour).

链接状态广告可以达到的最大年龄。当广告的年龄达到最大年龄时,它将在整个交换结构中重新分布。当发起交换机接收到广告的确认时,指示广告已从所有相邻链路状态重传列表中删除,则从发起交换机的数据库中删除广告。具有年龄最大值的广告不用于计算最佳路径集。MaxAge的值必须大于LSRefreshTime。MaxAge的值设置为3600秒(1小时)。

MaxAgeDiff

最大差异

The maximum time disparity in ages that can occur for a single link state instance as it is distributed throughout the switch fabric. Most of this time is accounted for by the time the advertisement sits on switch output queues (and therefore not aging) during the distribution process. The value of MaxAgeDiff is set to 900 seconds (15 minutes).

单个链路状态实例在整个交换机结构中分布时可能出现的最大时间差异(以时间为单位)。在分发过程中,广告位于交换机输出队列(因此不会老化)上的时间占了大部分时间。MaxAgeDiff的值设置为900秒(15分钟)。

LSInfinity

信心

The link state metric value indicating that the destination is unreachable. It is defined to be a binary value of all ones.

链路状态度量值,指示无法到达目标。它被定义为所有1的二进制值。

12.2 Configurable Parameters
12.2 可配置参数

Many of the switch interface parameters used by VLSP may be made configurable if the implementer so desires. These parameters are listed below. Sample default values are given for some of the parameters.

如果实施者愿意,VLSP使用的许多交换机接口参数可以进行配置。下面列出了这些参数。为某些参数提供了示例默认值。

Note that some of these parameters specify properties of the individual interfaces and their attached network links. These parameters must be consistent across all the switches attached to that link.

请注意,其中一些参数指定了各个接口及其连接的网络链接的属性。这些参数必须在连接到该链路的所有交换机上保持一致。

Interface output cost(s)

接口输出成本

The cost of sending a packet over the interface, expressed in the link state metric. This is advertised as the link cost for this interface in the switch's switch link advertisement. The interface output cost must always be greater than zero.

通过接口发送数据包的成本,以链路状态度量表示。这在交换机的交换机链路播发中作为此接口的链路成本播发。接口输出成本必须始终大于零。

RxmtInterval

RxmtInterval

The number of seconds between link state advertisement retransmissions for adjacencies established on this interface. This value is also used when retransmitting Database Description packets and Link State Request packets. This value must be greater than the expected round-trip delay between any two switches on the attached link. However, the value should be conservative or needless retransmissions will result. A typical value for a local area network would be 5 seconds.

此接口上建立的邻接的链路状态播发重新传输之间的秒数。在重新传输数据库描述数据包和链路状态请求数据包时,也使用此值。该值必须大于连接链路上任意两个开关之间的预期往返延迟。但是,该值应为保守值,否则将导致不必要的重新传输。局域网的典型值为5秒。

InfTransDelay

输入延迟

The estimated number of seconds it takes to transmit a Link State Update packet over this interface. Link state advertisements contained in the Link State Update packet must have their age incremented by this amount before transmission. This value must take into account the transmission and propagation delays for the interface and must be greater than zero. A typical value for a local area network would be 1 second.

通过此接口传输链路状态更新数据包所需的估计秒数。链路状态更新数据包中包含的链路状态播发在传输之前必须将其时间增加此数量。该值必须考虑接口的传输和传播延迟,并且必须大于零。局域网的典型值为1秒。

Switch priority

交换机优先级

An 8-bit unsigned integer. When two switches attached to the same network link contend for selection as the designated switch, the switch with the highest priority takes precedence. If both switches have the same priority, the switch with the highest base MAC address becomes the designated switch. A switch whose switch priority is set to zero is ineligible to become the designated switch on the attached link.

8位无符号整数。当连接到同一网络链路的两个交换机争夺作为指定交换机的选择时,优先级最高的交换机优先。如果两个交换机具有相同的优先级,则具有最高基本MAC地址的交换机将成为指定交换机。交换机优先级设置为零的交换机没有资格成为连接链路上的指定交换机。

HelloInterval

HelloInterval

The length of time, in seconds, between the Hello packets that the switch sends over the interface. This value is advertised in the switch's Hello packets. It must be the same for all switches attached to a common network link. The smaller this value is set, the faster topological changes will be detected. However, a smaller interval will also generate more routing traffic. A typical value for a local area network would be 10 seconds.

交换机通过接口发送的Hello数据包之间的时间长度(以秒为单位)。此值在交换机的Hello数据包中公布。对于连接到公共网络链路的所有交换机,该值必须相同。该值设置得越小,检测到的拓扑更改越快。但是,较小的间隔也会产生更多的路由流量。局域网的典型值为10秒。

SwitchDeadInterval

开关死区

The length of time, in seconds, that neighboring switches will wait before declaring the interface down once they stop receiving Hello packets over the interface. This value is advertised in the switch's Hello packets. It must be the same for all switches attached to a common network link and should be some multiple of the HelloInterval parameter. A typical value would be 4 times HelloInterval.

相邻交换机在停止通过接口接收Hello数据包后,在宣布接口关闭之前等待的时间长度(以秒为单位)。此值在交换机的Hello数据包中公布。对于连接到公共网络链路的所有交换机,该参数必须相同,并且应该是HellInterval参数的倍数。一个典型值是Hellinterval的4倍。

13. End Notes
13. 尾注

[1] During calculation of the set of best paths, a network link advertisement must be located based solely on its link state ID. Note, however, that the lookup in this case is still well defined, since no two network advertisements can have the same link state ID.

[1] 在计算最佳路径集的过程中,必须仅根据其链路状态ID定位网络链路公告。但是,请注意,在这种情况下,查找仍然定义良好,因为没有两个网络公告可以具有相同的链路状态ID。

[2] It is instructive to see what happens when the designated switch for a network link fails. Call the designated switch for the link S1 and the backup designated switch S2. If switch S1 fails (or its interface to the link goes down), the other switches on the link will detect S1's absence within SwitchDeadInterval seconds. All switches may not detect this condition at precisely the same time. The switches that detect S1's absence before S2 does will temporarily select S2 as both designated switch and backup designated switch. When S2 detects that S1 is down, it will move itself to designated switch. At this time, the remaining switch with the highest switch priority will be selected as the backup designated switch.

[2] 查看指定的网络链路交换机出现故障时会发生什么情况很有指导意义。呼叫链路S1的指定交换机和备用指定交换机S2。如果开关S1出现故障(或其与链路的接口断开),链路上的其他开关将在SwitchDeadInterval秒内检测到S1不存在。所有开关可能不会同时检测到这种情况。在S2之前检测到S1缺失的交换机将临时选择S2作为指定交换机和备用指定交换机。当S2检测到S1下降时,它将自身移动到指定的开关。此时,将选择具有最高交换机优先级的剩余交换机作为备用指定交换机。

[3] Note that it is possible for a switch to resynchronize any of its fully established adjacencies by setting the neighbor state back to ExStart. This causes the switch on the other end of the adjacency to process a SeqNumberMismatch event and also revert to the ExStart state.

[3] 请注意,通过将邻居状态设置回ExStart,交换机可以重新同步其任何完全建立的邻接。这会导致邻接另一端的开关处理SeqNumberMismatch事件,并恢复到ExStart状态。

[4] When two advertisements have different checksum values, they are assumed to be separate instances. This can occur when a switch restarts and loses track of its previous sequence number. In this case, since the two advertisements have the same sequence number, it is not possible to determine which advertisement is actually newer. If the wrong advertisement is accepted as newer, the originating switch will originate another instance.

[4] 当两个播发具有不同的校验和值时,假定它们是单独的实例。当交换机重新启动并失去对其先前序列号的跟踪时,可能会发生这种情况。在这种情况下,由于两个广告具有相同的序列号,因此不可能确定哪个广告实际上较新。如果错误的播发被接受为较新的播发,则发起交换机将发起另一个实例。

[5] An instance of an advertisement is originated with an age of MaxAge only when it is to be flushed from the database. This is done either when the advertisement has naturally aged to MaxAge, or (more typically) when the sequence number must wrap. Therefore, a received instance with an age of MaxAge must be processed as the most recent in order to flush it properly from the database.

[5] 仅当要从数据库中刷新广告实例时,广告实例才会以MaxAge的年龄开始。这可以在广告自然老化到最大老化时完成,或者(更典型地)在序列号必须换行时完成。因此,必须将接收到的具有MaxAge年龄的实例作为最近的实例进行处理,以便从数据库中正确地刷新它。

[6] MaxAgeDiff is an architectural constant that defines the maximum disparity in ages, in seconds, that can occur for a single link state instance as it is distributed throughout the switch fabric. If two advertisements differ by more than this amount, they are assumed to be different instances of the same advertisement. This can occur when a switch restarts and loses track of its previous sequence number.

[6] MaxAgeDiff是一个体系结构常量,它定义了单个链路状态实例在整个交换机结构中分布时可能出现的最大差异(以秒为单位)。如果两个广告的差异超过这个数量,则假定它们是同一广告的不同实例。当交换机重新启动并失去对其先前序列号的跟踪时,可能会发生这种情况。

[7] This is how the link state request list is emptied, causing the neighbor state to change to Full.

[7] 这就是链路状态请求列表被清空的方式,导致邻居状态变为“已满”。

14. Security Considerations
14. 安全考虑

Security concerns are not addressed in this document.

本文件未涉及安全问题。

15. References
15. 工具书类

[Perlman] Perlman, R., Interconnections: Bridges and Routers. Addison-Wesley Publishing Company. 1992.

佩尔曼,R.,互联:网桥和路由器。艾迪生·韦斯利出版公司。1992

[RFC905] McKenzie, A., "ISO Transport Protocol specification ISO DP 8073", RFC 905, April 1984.

[RFC905]McKenzie,A.,“ISO传输协议规范ISO DP 8073”,RFC 905,1984年4月。

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

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

[RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994.

[RFC1700]Reynolds,J.和J.Postel,“分配的数字”,标准2,RFC 1700,1994年10月。

[IDsfvlan] Ruffen, D., Len, T. and J. Yanacek, "Cabletron's SecureFast VLAN Operational Model", RFC 2643, August 1999.

[IDsfvlan]Ruffen,D.,Len,T.和J.Yanacek,“Cabletron的SecureFast VLAN运营模型”,RFC 26431999年8月。

[IDhello] Hamilton, D. and D. Ruffen, "Cabletron's VlanHello Protocol Specification", RFC 2641, August 1999.

[IDhello]Hamilton,D.和D.Ruffen,“Cabletron的VlanHello协议规范”,RFC 26411999年8月。

16. Author's Address
16. 作者地址

Laura Kane Cabletron Systems, Inc. Post Office Box 5005 Rochester, NH 03866-5005

美国新罕布什尔州罗切斯特市邮政信箱5005号Laura Kane Cabletron Systems,Inc.03866-5005

Phone:(603) 332-9400 EMail: lkane@ctron.com

电话:(603)332-9400电子邮件:lkane@ctron.com

17. Full Copyright Statement
17. 完整版权声明

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。