文档库 最新最全的文档下载
当前位置:文档库 › FSPF

FSPF

Fabric Shortest Path

First

(FSPF)

Revision 0.1

Ezio Valdevit

ezio@https://www.wendangku.net/doc/36631540.html,

(408)487-8110

Fabric Shortest Path First March 6, 2000

2

Brocade Communication Systems, Inc.

1. Introduction

FSPF, or Fabric Shortest Path First, is Brocade Communication’s path selection protocol for Fibre Channel Fab-rics. FSPF Version 1 was released in March of 1997. In May of 1998 Version 2 was released. The two versions are not interoperable.

This documents speci?es message formats and protocols for FSPF Version 2. Version 1 is not addressed, since there is no signi?cant installed base of FSPF Version 1 Fabrics.

2. Protocol Overview

FSPF is a Link State path selection protocol, similar to OSPF, which is an Interior Gateway Protocol (IGP)widely used in IP networks.

This protocol keeps track of the state of the links on all switches in the Fabric.It also associates a cost with each link. The protocol computes paths from a switch to all the other switches in the fabric, by adding the cost of all the links traversed by the path, and choosing the path that minimizes the cost. In order for the protocol to work,the cost must be a positive integer number.

The collection of link states (including cost) of all the switches in a fabric constitutes the topology database.FSPF has four major components:

? A Hello protocol, used to establish connectivity with a neighbor switch, to establish the identity of the neigh-bor switch, and to exchange FSPF parameters and capabilities.

? A replicated topology database, with the protocols and mechanisms to keep the databases synchronized

across the fabric.

? A path computation algorithm.? A routing table update.

The topology database synchronization in turn consists of two major components: an initial database synchroni-zation,and an update mechanism.The initial database synchronization is used when a switch is booted,or when an Inter Switch Link (ISL) comes up. The update mechanism is used in two circumstances:

?When there is a link state change, for example an ISL going down or coming up.

?On a periodic basis, to prevent switches from deleting topology information from the database.

Brocade Communication Systems, Inc.

3

Fabric Shortest Path First

March 6, 2000

The path computation algorithm can be any algorithm that yields a minimum cost path, as de?ned above. One possible candidate is the Dijkstra’s algorithm, but this is not a requirement for interoperability.

The routing table update is not covered in this speci?cation,since it is strictly implementation dependent.Differ-ent switches can have different internal routing mechanisms, and still interoperate.

3. Addressing

A path selection protocol requires an addressing scheme to uniquely identify every switch in the Fabric. FSPF supports the FC-SW addressing scheme, with a 24-bit Fibre Channel address subdivided in three parts, with 8bits used as switch identi?er. However, FSPF uses a 32-bit ?eld as a switch identi?er, so that other addressing schemes could be supported as well in the future.

4. Message Format

The following paragraphs describes in detail the format of FSPF Version 2messages.A message is a sequence of one or more frames. Fields are de?ned in network order, which is Big Endian.

Three messages are de?ned: Hello (HLO), Link State Update (LSU) and Link State Acknowledgment (LSA).The message formats are listed below. All the messages carry a Protocol Version ?eld, to insure backward com-patibility with future versions, and a command ?eld to discriminate between messages

‘Reserved’?elds should be set to 0by the sender.Unde?ned bits in bitmap ?elds should be set to 0by the sender.Currently de?ned commands are:

4.1. FSPF Header

Each FSPF message starts with a header. The header is common to all the messages, and includes a command code (see Table 1)

TABLE https://www.wendangku.net/doc/36631540.html,mands

Command Description

hex ‘14000000’Hello

hex ‘15000000’Link State Update

hex ‘16000000’

Link State Acknowledgment

Fabric Shortest Path First March 6, 2000

4

Brocade Communication Systems, Inc.

The format of the messages header is:

Version:The current version of FSPF, which is 2.

Section ID:Identi?es a Section,that is a set of switches that share an identical topology database.It is used for hierarchical routing. It should be set to 0 for a non-hierarchical fabric.Authentication Type:The type of authentication to be used in the ‘Authentication’?eld.It should be set to 0for no authentication.

Originating Domain ID:The ID of the switch that transmitted the message.

Authentication:

The Authentication string. It should be 0 if Authentication Type is 0.

TABLE 2.FSPF Header

Size Bytes Item

4Command Code 1Version 1Section ID 1Authentication Type 1Reserved

4Originating Domain ID 8

Authentication

Brocade Communication Systems, Inc.

5

Fabric Shortest Path First

March 6, 2000

4.2. Hello Message Format The format of the Hello message is:

Options:

Bit map that indicates the options supported by the sending switch. An option is sup-ported if the corresponding bit is set to 1.All other bits should be 0.Unicast routing is supported by default, so it does not require an Option bit.

Hello Interval:The interval in seconds between two consecutive Hello messages that the sending switch will transmit for the life of the adjacency.

Dead Interval:The maximum interval,in seconds,that the sending switch will wait for two consecu-tive Hello messages from the neighbor switch, before declaring the adjacency down.Recipient Domain ID:The ID of the switch that the Hello message is transmitted to.Originating Port ID:

The port ID that the Hello message is transmitted to.

TABLE 3.Hello Message

Size Bytes Item

20FSPF Header 4Options 4Hello Interval 4Dead Interval 4Recipient Domain ID 4

Originating Port ID

Fabric Shortest Path First March 6, 2000

6

Brocade Communication Systems, Inc.

4.3. Link State Update (LSU) Message Format The format of the Link State Update message is:

Flags:Bit map that contains information required to synchronize the topology database.DE bit = 0x1DC bit = 0x2

The DE (Database Exchange) bit indicates that this LSU is used for initial database synchronization, rather that an ongoing topology update.

The DC (Database Complete) bit indicates that this is the last sequence of the data-base synchronization.

Number of LSRs:The number of Link State Records included in this message. The message may but does not necessary include all the LSRs in the database.Link State Record:

The format of a LSR is described below.

TABLE 4.LSU Message

Size Bytes Item

20FSPF Header 4Flags

4Number of Link State Records Variable

Link State Record #1

............

Variable Link State Record #n

Brocade Communication Systems, Inc.

7

Fabric Shortest Path First

March 6, 2000

4.4. Link State Acknowledgement (LSA) Message Format The format of the Link State Acknowledgement message is:

Flags:

Match the ?ags in the LSU message that this Ack refers to. Acks to LSRs from the initial database synchronization LSU cannot be carried in the same LSA as acks from a ?ooded topology update.

Number of LSR Headers:The number of Link State Record Headers included in this message The LSA message does not include the full LSR that is being acknowledged, but only the LSR Header.

4.5. Link State Record Header Format

The LSU message contains one or more Link State Records (LSR) that make up the topology database. In the Database Exchange state, all the LSRs in the database are included in the LSU message(s). During the ?ooding procedure, only LSR that have changed are included.

TABLE 5.LSA Message

Size Bytes Item

20FSPF Header 4Flags

4Number of Link State Record Headers 24

Link State Record Header #1

............

24Link State Record Header #n

Fabric Shortest Path First March 6, 2000

8

Brocade Communication Systems, Inc.

An LSR describes the connectivity of a switch, that is the complete list of its ISLs, and the cost associated with sending a data frame over each ISL.A LSR begins with a Header,and includes one Link Descriptor for each ISL on the switch.

Type:Type of this Link State Record. Currently de?ned types are:

LSR Age:Time in seconds since the record has been generated. Used to ?ush old records from the distributed database.

Options:Options supported by the switch described by this LSR. This ?eld should be 0 if no options are supported.

Link State ID:

Identi?es the Link State Record.Advertising Domain ID:

Identi?es the switch that issued the LSR.

TABLE 6.LSR Header

Size Bytes Item

1Type 1Reserved

2Link State Record Age 4Options 4Link State ID

4Advertising Domain ID 4Link State Incarnation #2Checksum 2

LSR Length

TABLE 7.LS Types

LS type Description

1

Unicast Path Selection

Brocade Communication Systems, Inc.

9

Fabric Shortest Path First

March 6, 2000

Incarnation #:

A number that is incremented by the originator of the Link State Record every time a record is updated and ?ooded through the fabric. Used to detect duplicate and old records.

Checksum:Checksum of the LSR, excluding the age ?eld.

Length:

Length of the whole record in bytes, including the header.

4.6. Link State Record (LSR) Format The format of a Link State Record is

Number of links:The number of links that are usable for routing frames.Note that a switch keeps a list of all its

ISLs, but only those ones that are in “Full” state are advertised in the LSR.Link Descriptor:The complete information about the link.

TABLE 8.LSR

Size Bytes Item

24Link State Record Header 2Reserved 2Number of Links 16

Link Descriptor #1

............

16

Link Descriptor #n

Fabric Shortest Path First March 6, 2000

10

Brocade Communication Systems, Inc.

4.7. Link Descriptor Format

Link ID:Identi?es the link. Set to the Domain_ID of neighbor switch.

Output Port:The Port ID connected to the link on the switch described by this LSR.Neighbor port:The Port ID that the neighbor switch connects to, on the other side of the link.Link Type:Describes the type of link. Point to point links have a Link Type of 1.Cost:

The cost associated with transmitting a frame on this link.

5. Protocol Behavior TBD.

TABLE 9.Link Descriptor

Size Bytes Item

4Link ID 4Output Port 4Neighbor Port 1Link Type 1Reserved 2

Cost

相关文档