📄 rfc2641.txt
字号:
Network Working Group D. HamiltonRequest for Comments: 2641 D. RuffenCategory: Informational Cabletron Systems Incorporated August 1999 Cabletron's VlanHello Protocol Specification Version 4Status 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.Abstract The VlanHello protocol is part of the InterSwitch Message Protocol (ISMP) which provides interswitch communication between switches running Cabletron's SecureFast VLAN (SFVLAN) product. Switches use the VlanHello protocol to discover their neighboring switches and establish the topology of the switch fabric.Table of Contents 1. Introduction...................................... 2 1.1 Data Conventions.............................. 2 2. VlanHello Protocol Operational Overview........... 2 2.1 Neighbor Discovery............................ 2 2.2 Port States................................... 3 2.3 Topology Events............................... 5 2.4 Timers........................................ 9 3. InterSwitch Message Protocol...................... 9 3.1 Frame Header.................................. 10 3.2 ISMP Packet Header............................ 11 3.3 ISMP Message Body............................. 12 4. Interswitch Keepalive Message..................... 13 5. Security Considerations........................... 16 6. References........................................ 16 7. Authors' Addresses................................ 16 8. Full Copyright Statement.......................... 17Hamilton & Ruffen Informational [Page 1]RFC 2641 Cabletron's VlanHello Protocol Version 4 August 19991. Introduction 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 Data Conventions The methods used in this memo to describe and picture data adhere to the standards of Internet Protocol documentation [RFC1700], in particular: 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. 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.2. VlanHello Protocol Operational Overview Switches use the VlanHello protocol to detect their neighboring switches and establish the topology of the switch fabric.2.1 Neighbor Discovery At initialization, each switch sends an Interswitch Keepalive message out all local ports except those which have been preconfigured such that they cannot be Network ports (see Section 2.2). Then, as each switch discovers its neighboring switches via incoming Interswitch Keepalive messages, it notifies its local topology services (see Section 2.3), which then build the topology tables for the switching fabric.Hamilton & Ruffen Informational [Page 2]RFC 2641 Cabletron's VlanHello Protocol Version 4 August 1999 Each switch continues to send Interswitch Keepalive messages at regular intervals (currently 5 seconds). If a switch has not heard from one of its neighbors for some predetermined interval (see Section 2.4), notification is sent to all interested services and the neighboring switch is removed from the topology table. Interswitch Keepalive messages are described in Section 4.2.2 Port States Each port on a switch can be in one of several different states. These states are listed below. Figure 1 shows how the port state changes within the VlanHello protocol. o Unknown. This is the default state of all ports at initialization. o Network. A port is deemed a Network port when the switch has received an Interswitch Keepalive message over the port from one of its neighbor switches. A transition to this state triggers a Neighbor Found event, notifying the local topology servers that the interface is functioning and a 2-way conversation has been established with the neighbor. When the last switch is lost on a Network port, the state of the switch reverts to either Network Only (see next state) or to Unknown, and a Neighbor Lost event is triggered, notifying the local topology servers that the interface is no longer operational. o Network Only. Certain types of port interfaces are incapable of accessing user endstations and can only be used to access other switches. Such ports are deemed Network Only ports. If the last switch is lost from a port that has already been deemed a Network port, the VlanHello protocol checks the condition of the port interface. If it is the type of interface that can only be used to access other switches, the state of the port is set to Network Only. Otherwise, it reverts to Unknown. o Standby. A port is deemed a Standby port under the following conditions:Hamilton & Ruffen Informational [Page 3]RFC 2641 Cabletron's VlanHello Protocol Version 4 August 1999 o The neighbor switch on the port has a higher level of functionality and it has determined that the local switch is incompatible with that functionality. In this circumstance, the MAC entry for the local switch in the Interswitch Keepalive message received from the neighbor contains an assigned status of Incompatible. o The list of MAC entries in the Interswitch Keepalive message received from the neighbor switch does not contain an entry for the local switch. In this circumstance, the local switch assumes that communication with its neighbor will be one-way only. The VlanHello protocol continues to listen for Interswitch Keepalive messages on a Standby port, but does not transmit any Interswitch Keepalive messages over the port. If a message is received that removes the condition under which the port state was set to Standby, the state of the port is set to Network. o Going to Access. When any packet other than an Interswitch Keepalive message is received over an Unknown port, the state of the port is changed to Going to Access and a timer is activated. If the timer expires without an Interswitch Keepalive message being received over the port, the port state changes to Access. o Access. A port is deemed an Access port when any packet other than an Interswitch Keepalive message has been received over the port and the Going to Access timer has expired. A port can also be administratively designated an Access "control" port, meaning the port is to remain an Access port, regardless of the type of messages that are received on it. Interswitch Keepalive messages are not sent over Access control ports. Three other types of ports are recognized: the host management port, host data port, and host control port. These ports are designated at initialization and are used to access the host CPU. Interswitch Keepalive messages are not sent over these ports.Hamilton & Ruffen Informational [Page 4]RFC 2641 Cabletron's VlanHello Protocol Version 4 August 1999 Packet in | V +---------+ Packet in | Unknown | | +---------+ G-A V | Timer +----------+ no V exp | Going to |<------[KA msg?] Packet in <------| Access | | | | +----------+ yes | V V | V yes +---------+ +--------+ V [1-way?]------+-->| Standby | | Access | [KA msg?] | ^ +---------+ +--------+ | | no | | | V no | V yes | [compatible?]----+ [KA msg?] | | | | | yes | yes | V V V +---------+ [1-way?] +--------->| Network |<--+ | +---------+ ^ | no | | yes V lost last | +<----[compatible?] neighbor | V [network] [ only? ] | +--------------+ yes | no +---------+ | Network Only |<-----------+----------->| Unknown | +--------------+ +---------+ Figure 1: Port State Machine2.3 Topology Events When the VlanHello protocol discovers new information about the status of one of its network ports, it notifies its local topology service center so that the service center can build or modify the topology tables for the switch fabric. This notification takes the form of a system event, described in a structure known as a topology relay structure. These structures are linked in a first-in/first-out (FIFO) queue and processed by the topology servers in the order in which they were received.Hamilton & Ruffen Informational [Page 5]RFC 2641 Cabletron's VlanHello Protocol Version 4 August 1999 A topology relay structure typically contains information from Interswitch Keepalive messages received on the specified port, as 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 | Event | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 04 | Delta options mask | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 08 | Current options mask | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 12 | Port number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 16 | | + Port neighbor switch identifier + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Port neighbor IP address ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 28 | ... Port neighbor IP address | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Neighbor chassis MAC addr + 32 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 36 | Neighbor chassis IP address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 40 | Neighbor functional level | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 44 | Topology agent | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 48 | Next event | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -