rfc2174.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,236 行 · 第 1/4 页

TXT
1,236
字号

RFC 2174                         MAPOS                         June 1997


4.8 Node Discovery

   When a NSP[9] packet, requesting a node address from a port, is
   received, the local switch considers that a new node is connected,
   and marks the corresponding bit in the broadcast/multicast routing
   table. When the local switch detects that the port went down as
   described in [9], it clear the corresponding bit.

4.9 Invalidating The Broadcast/multicast Routing Table

   When a new VSS is discovered or when the VSS becomes unreachable, the
   entire broadcast/multicast routing table is invalidated. That is, a
   change of upstream port affects the entire broadcast/multicast
   routing. However, a change of a downstream port does not affect
   forwarding to other downstream ports, its upstream port, and nodes.

5. Detailed Protocol Operation

   This section explains SSP packet format and protocol processing in
   detail.

5.1 Packet Format

   This subsection describes the packet encapsulation in HDLC frame and
   the packet format.

5.1.1 Packet Format and Its Encapsulation

   SSP packet format is designed based on RIP[6] and its successor, RIP2
   [7]. Figure 11 shows the packet format. A SSP packet is encapsulated
   in the information field of a MAPOS HDLC frame. The HDLC protocol
   field of SSP is 0xFE05 in hex as defined by the "MAPOS Version 1
   Assigned Numbers" [10]. The packet is sent encapsulated in a unicast
   packet with the destination address 0000 0001, which indicates the
   control processor of an adjacent switch.
















Murakami & Maruyama          Informational                     [Page 12]

RFC 2174                         MAPOS                         June 1997


(MSB)                                                       (LSB)
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -----
|    Command    |   Version     |           unused              |SSP header
+---------------+---------------+-------------------------------+ -----
| Address Family Identifier     |            All 0              |
+-------------------------------+-------------------------------+
|                         HDLC Address                          | an SSP
+---------------------------------------------------------------+ route
|                         Subnet Mask                           | entry
+---------------------------------------------------------------+
|                         All 0                                 |
+---------------------------------------------------------------+
|                         Metric                                |
+---------------+---------------+-------------------------------+ ----
| Address Family Identifier     |            All 0              |

                      Figure 11 SSP packet format

   The maximum packet size is 512 octet. The first four octets is the
   SSP header. The remainder of the message is composed of 1 - 25 route
   entries. Each entry is 20 octets long.

5.1.2 SSP Header

   SSP header consists of a command field and a version field. The
   command field is one octet long and holds one of the following
   values;

     1 - request     A request to send all or part of SSP routing table.

     2 - response    A message containing all, or a part of the sender's
                     SSP routing table.  This message may be sent in
                     response to a request, or it may be an update
                     message generated by the sender.

   The Version field indicates the version of SSP being used. The
   current version number is 1.

5.1.3 SSP Route Entries

   Each entry has an address family identifier. It indicates an
   attribute of the entry. SSP routing protocol uses 2 as its identifier
   by default. The identifier 0 indicates unspecified. This value is
   used when a switch requests other switches to send the entire SSP
   routing table. A recipient of the message SHOULD ignore all entries
   with unknown value.




Murakami & Maruyama          Informational                     [Page 13]

RFC 2174                         MAPOS                         June 1997


   The HDLC address is a destination address. It may be a switch address
   or a node address. The subsequent subnet mask is applied to the HDLC
   address to yield the switch number portion. The field is 4 octet long
   and the address is placed in the least significant position.

   Metric indicates the distance to the destination node. That is, how
   many switches a message must go through en route to the destination
   node. The metric field must contain a value between 1 and 31. The
   metric of 16 indicates that the destination is not reachable and is
   ignored by recipients. The values between 17 and 31 are utilized for
   poisoned reverse with split horizon and also means unreachable. The
   metric 0 indicates the local switch itself.

5.2 Routing Table

   Every switch has an SSP routing table. The table is a collection of
   route entries - one for every destination. An entry consists of the
   following information;

    (1) destination : A unicast destination address.

    (2) subnet mask : A mask to extract the switch address by applying
    bitwise AND with the destination address

    (3) next hop port : The local port number connected to the adjacent
    switch along the path to the destination.

    (4) metric : Distance to the destination node. The metric of an
    adjacent switch is 1 and that of local switch is 0.

    (5) timers for unicast routing : Timers associated with unicast
    routing such as EXPIRATION_TIMER and GC_TIMER.

    (6) flags : Various flags associated with the route such as route
    change flag to indicate that the route has changed recently or it
    has timed out.

    (7) bit map routing table for broadcast/multicast : Each bit
    corresponding to the port to an upstream or a downstream switch of
    the spanning tree is marked in addition to the ports to end nodes.
    Broadcast/multicast frames are forwarded only through those ports
    with their corresponding bit set. Since only one spanning tree
    exists at a time in a network, each route entry does not necessarily
    have to have this field.







Murakami & Maruyama          Informational                     [Page 14]

RFC 2174                         MAPOS                         June 1997


    (8) timers for broadcast/multicast routing : Timers associated with
    broadcast/multicast routing such as FORWARD_DELAY_TIMER and
    PORT_EXPIRATION_TIMER. These timers are prepared for each bit of
    broadcast/multicast routing table.

5.3 Sending Routing Messages

5.3.1 Packet Construction

   Because of the split horizon with poisoned reverse, a routing message
   differs depending on the adjacent switch to which the message is
   being sent. The upstream switch of a route, that is next hop,
   receives a message which contains the corresponding route with a
   metric between 17 and 31. Switches that are not the upstream switch
   of any route receive the same message. Here, we assume that a packet
   for a routing message is constructed for an adjacent switch which is
   connected through the local port N.

   First, set the version field to 1, the current SSP version. Then, set
   the command to "response". Set other fields which are supposed to be
   zero to zero.  Next, start filling in entries.

   To fill in the entries, perform the following for each route. The
   destination HDLC address, netmask, and its metric are put into the
   entry in the packet.  Routes must be included in the packet even if
   their metrics are unreachable(16).  If the next hop port is N, 16 is
   added to the metric for split horizon with poisoned reverse.

   Recall that the maximum packet size is 512 bytes.  When there is no
   more space in a packet, send the current message and start a new one.
   If a triggered update is being generated, only entries whose route
   change flags are set need be included.

5.3.2 Sending update

   Sending update may be triggered in any of the following ways;

    (1) Initial Update

    When a switch first comes up, it SHOULD send to all adjacent
    switches a request asking for their entire routing tables. The
    destination address is 00000001. When a port comes on-line, the
    request packet is sent to the port. The packet, requesting the
    entire routing table, MUST have at least an entry with the address
    family identifier 0 meaning unspecified.

    When a switch receives a request packet, it first checks the version
    number of the SSP header. If it is not 1, the packet is silently



Murakami & Maruyama          Informational                     [Page 15]

RFC 2174                         MAPOS                         June 1997


    discarded. Otherwise, the address family identifier is examined.  If
    the value is 0, the entire SSP routing table is returned in one or
    more response packets destined to 00000001. Otherwise, the request
    is silently discarded.  Although the original RIP specification
    defines the partial routing table request, SSP routing protocol
    omits it for the sake of simplicity.

    (2) Periodic Update

    Every switch participating in the routing process sends an update
    message (response message) to all its neighbor switches once every
    FULL_UPDATE_TIME (10 seconds). For the periodic update, a response
    packet(s) is used. The destination address is always 00000001. An
    update message contains the entire SSP routing table. The maximum
    packet size is 512byte. Thus, an update message may require several
    packets to be packed.

    (3) Triggered Update

    When a route in the unicast routing table is changed or a local port
    goes down, the switch advertises a triggered update packet without
    waiting for the full update time. The difference between triggered
    update and the other update is that triggered updates do not have to
    include the entire routing table. Only changed entries should be
    included. Triggered update may be suppressed if a regular periodic
    update is due.

    Note that when a route is advertised as unreachable (metric 16) by
    an adjacent switch, update process is triggered as well as
    expiration of the route in the local switch.

    (4) On Termination

    When a switch goes down, it is desirable to advertise all the routes
    with metric 16, that is, unreachable.

5.4 Receiving Routing Messages

   When a switch receives an update, it first checks the version number.
   If it is not 1, the update packet is silently discarded. Otherwise,
   it processes the entries in it one by one.










Murakami & Maruyama          Informational                     [Page 16]

RFC 2174                         MAPOS                         June 1997


   For each entry, the address family identifier is checked. If it is
   not 2, the entry is ignored. Otherwise, the metric is checked. The
   value should be between 0 and 31.  An entry with illegal metric is
   ignored. Next, the HDLC address and the subnet mask is checked. An
   entry with an invalid address such as broadcast is ignored. If the
   entry passed all these validation checks, it is processed according
   to the following steps;

   Step 1 - Process Poisoned Reverse

   If the metric value is between 0 and 16, it is an unicast
   information. Go ahead to Step 2.

   If the metric value is between 17 and 31, it indicates poisoned
   reverse, that the local switch has been chosen as the next hop for
   the route. However, if the corresponding entry is not included in the
   current routing table or the message is from a port connected to its
   upstream switch, the message is illegal -- ignore it and return to
   Step 1 to process the next entry. Otherwise,


      (1) Initialize the PORT_EXPIRATION_TIMER corresponding to the
          downstream port.
      (2) Operate the FORWARD_DELAY_TIMER as follows;
          (2-1) If the broadcast/multicast forwarding was already

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?