home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_n_r / draft-rfced-info-mitsuru-01.txt < prev    next >
Text File  |  1997-05-01  |  49KB  |  1,224 lines

  1.  
  2.  
  3. INTERNET-DRAFT          EXPIRES OCTOBER 1997         INTERNET-DRAFT
  4. Network Working Group                                   K. Murakami
  5. INTERNET-DRAFT                                          M. Maruyama
  6. Category: Informational                                 NTT Laboratories
  7.                                                         May 1997
  8.  
  9.  
  10.           A MAPOS version 1 Extension - Switch-Switch Protocol
  11.              <draft-rfced-info-mitsuru-01.txt>
  12.  
  13.  
  14. Status of this Memo
  15.  
  16.    This document is an Internet-Draft.  Internet-Drafts are working
  17.    documents of the Internet Engineering task Force (IETF), its areas,
  18.    and its working groups.  Note that other groups may also distribute
  19.    working documents as Internet-Drafts.
  20.  
  21.    Internet-Drafts are draft documents valid for a maximum of six
  22.    months and may be updated, replaced, or obsoleted by other
  23.    documents at any time.  It is inappropriate to use Internet-Drafts
  24.    as reference material or to cite them other than as "work in
  25.    progress".
  26.  
  27.    To learn the current status of any Internet-Draft, please check the
  28.    "1id-abstract.txt" listing contained in the Internet-Drafts Shadow
  29.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  30.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  31.    ftp.isi.edu (US West Coast).
  32.  
  33.  
  34. Authors' Note
  35.  
  36.    This memo documents a MAPOS (Multiple Access Protocol over SONET/SDH)
  37.    version 1 extension, Switch Switch Protocol which provides dynamic
  38.    routing for unicast, broadcast, and multicast. This document is NOT
  39.    the product of an IETF working group nor is it a standards track
  40.    document.  It has not necessarily benefited from the widespread and
  41.    in depth community review that standards track documents receive.
  42.  
  43. Abstract
  44.  
  45.    This document describes a MAPOS version 1 extension, SSP (Switch
  46.    Switch Protocol).  MAPOS is a multiple access protocol for
  47.    transmission of network-protocol packets, encapsulated in High-Level
  48.    Data Link Control (HDLC) frames, over SONET/SDH. In MAPOS network, A
  49.    SONET switch provides the multiple access capability to end nodes.
  50.    SSP is a protocol of Distance Vector family and provides unicast and
  51.    broadcast/multicast routing for multiple SONET switch environment.
  52.  
  53. 1. Introduction
  54.  
  55.    This document describes an extension to MAPOS version 1, Switch
  56.    Switch Protocol, for routing both unicast and broadcast/multicast
  57.    frames.  MAPOS[1], Multiple Access Protocol over SONET (Synchronous
  58.    Optical Network) / SDH (Synchronous Digital Hierarchy) [2][3][4][5],
  59.    is a link layer protocol for transmission of HDLC frames over
  60.    SONET/SDH. A SONET switch provides the multiple access capability to
  61.    each node. SSP is a dynamic routing protocol designed for an
  62.    environment where a MAPOS network segment spans over multiple
  63.    switches.  It is a protocol of Distance Vector family. It provides
  64.    both unicast and broadcast/multicast routing. First, this document
  65.    describes the outline of SSP. Next, it explains unicast and
  66.    broadcast/multicast routing algorithms. Then, it describes the SSP
  67.    protocol in detail.
  68.  
  69. 2. Constraints in Designing SSP
  70.  
  71.    SSP is a unified routing protocol supporting both unicast and
  72.    broadcast/multicast. The former and the latter are based on the
  73.  
  74.  
  75.  
  76. Murakami, Maruyama                                              [Page 1]
  77.  
  78. I/D         MAPOS Version 1 Switch-Switch Protocol         May 1997
  79.  
  80.  
  81.    Distance Vector [6][7] and the spanning tree[8] algorithm,
  82.    respectively. In MAPOS version 1, a small number of switches is
  83.    assumed in a segment.  Thus, unlike DVMRP(Distance Vector Multicast
  84.    Routing Protocol)[8], TRPB(Truncated Reverse Path Broadcasting) is
  85.    not supported for simplicity. This means that multicast frames are
  86.    treated just the same as broadcast frames and are delivered to every
  87.    node.
  88.  
  89.    In MAPOS version 1, there are two constraints regarding design of the
  90.    broadcast/multicast routing algorithm;
  91.  
  92.      (1) there is no source address field in MAPOS HDLC frames
  93.  
  94.      (2) there is no TTL(Time To Live) field in MAPOS HDLC frames to
  95.      prevent forwarding loop.
  96.  
  97.    To cope with the first issue, VRPB(Virtual Reverse Path Broadcast)
  98.    algorithm is introduced. In VRPB, all broadcast and multicast frames
  99.    are assumed to be generated by a node under a specific switch called
  100.    VSS(Virtual Source Switch). VSS is the switch which has the smallest
  101.    switch number in a MAPOS network. Each switch determine its place in
  102.    the spanning tree rooted from VSS independently. Whenever a switch
  103.    receives a broadcast/multicast frame, it forwards the frame to all
  104.    upstream and downstream switches except for the one which has sent
  105.    the frame to the local switch.
  106.  
  107.    To cope with the second issue, the forward delay timer is introduced.
  108.    Even if a switch finds a new VSS, it suspends forwarding for a time
  109.    period. This timer ensures that all the switches have a consistent
  110.    routing information and that they are synchronized after a topology
  111.    change.
  112.  
  113. 3. Unicast Routing in SSP
  114.  
  115.    This section describes the address structure of MAPOS version 1 and
  116.    the SSP unicast routing based on it.
  117.  
  118. 3.1 Address Structure of MAPOS version 1
  119.  
  120.    In a multiple switch environment, a node address consists of the
  121.    switch number and the port number to which the node is connected. As
  122.    shown in Figure 1, the address length is 8 bits and the LSB is always
  123.    1, which indicates the end of the address field. An MSB of 0
  124.    indicates a unicast address. The switch and the port number fields
  125.    are variable-length. In this document, an unicast the address is
  126.    represented as "0 <switch-number> <port number>".  Note that a port
  127.    number includes EA bit.
  128.  
  129.    MSB of 1 indicates multicast or broadcast. In the case of broadcast,
  130.    the address field contains all 1s (0xff in hex). In the case of
  131.    multicast, the remaining bits indicate a group address.  The switch
  132.  
  133.  
  134.  
  135. Murakami, Maruyama                                              [Page 2]
  136.  
  137. I/D        MAPOS Version 1 Switch-Switch Protocol         May 1997
  138.  
  139.  
  140.    number field is variable-length. An multicast address is represented
  141.    as "1 <group address>".
  142.  
  143.  
  144.  
  145.            Switch Number(variable length)
  146.                |
  147.                |      +--- Port Number
  148.                |      |
  149.                V      V
  150.              |<->|<------->|
  151.            +-------------+-+
  152.            | | | | | | | | |
  153.            | |           |1|
  154.            +-+-----------+-+
  155.             ^             ^
  156.             |             |
  157.             |             +------- EA bit (always 1)
  158.             |
  159.             1 : broadcast, multicast
  160.             0 : unicast
  161.  
  162.                               Figure 1 Address Format
  163.  
  164.  
  165.    Figure 2 shows an example of a SONET LAN that consists of three
  166.    switches.  In this configuration, two bits of a node address are used
  167.    to indicate the switch number. Node N1 is connected to the port
  168.    0x03(000011 in binary) of the switch S2 numbered 0x2.  Thus, the node
  169.    address is 01000011 in binary. Node N4 has an address 01101001 in
  170.    binary since the connected switch number is 0x3 and the port number
  171.    is 0x09.
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194. Murakami, Maruyama                                              [Page 3]
  195.  
  196. I/D          MAPOS Version 1 Switch-Switch Protocol         May 1997
  197.  
  198.  
  199.  
  200.                         01000011
  201.                         +------+
  202.                         | node |
  203.                         |  N1  |
  204.                         +------+
  205.            01000101         |0x03              |0x03       00101001
  206.            +------+     +---+----+         +---+----+      +------+
  207.            | node +-----+ SONET  +---------+ SONET  +------+ node |
  208.            |  N2  | 0x05| Switch |0x09 0x05| Switch |0x09  |  N3  |
  209.            +------+     |   S2   |         |   S1   |      +------+
  210.                         |  (0x2) |         |  (0x1) |
  211.                         +---+----+         +---+----+
  212.                             |0x07              |0x07
  213.                             |                  |
  214.                             |                  |0x03      01101001
  215.                             |              +---+----+     +------+
  216.                             +--------------+ SONET  +-----+ node |
  217.                                        0x05| Switch |0x09 |  N4  |
  218.                                            |   S3   |     +------+
  219.                                            |  (0x3) |
  220.                                            +---+----+
  221.                                                |0x07
  222.  
  223.                     Figure 2 Multiple SONET Switch Environment
  224.  
  225.  
  226. 3.2 Forwarding Unicast Frames
  227.  
  228.    Unicast frames are forwarded along the shortest path. For example, a
  229.    frame from node N4 destined to N1 is forwarded by switch S3 and S2.
  230.    These SONET switches forwards an HDLC frame based on the destination
  231.    switch number contained in the destination address.
  232.  
  233.    Each switch keeps a routing table with entries for possible
  234.    destination switches. An entry contains the subnet mask, the next hop
  235.    to the adjacent switch along the shortest path to the destination,
  236.    the metric measuring the total distance to the destination, and other
  237.    parameters associated with the entry such as timers. For example, the
  238.    routing table in switch S1 will be as shown in Table 1. The metric
  239.    value 1 means that the destination switch is an adjacent switch. The
  240.    value 16 means that it is unreachable. Although the values between 17
  241.    and 31 also mean unreachable, they are special values utilized for
  242.    split horizon with poisoned reverse [8].
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253. Murakami, Maruyama                                              [Page 4]
  254.  
  255. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  256.  
  257.  
  258.  
  259.      +-------------------------+----------+--------+------------+
  260.      | destination |   subnet  | next hop | metric |   other    |
  261.      |   switch    |   mask    |   port   |        | parameters |
  262.      +-------------+-----------+----------+--------+------------+
  263.      |  01000000   | 11100000  | 00000101 |    1   |            |
  264.      +-------------+-----------+----------+--------+------------+
  265.      |  01100000   | 11100000  | 00000111 |    1   |            |
  266.      +-------------+-----------+----------+--------+------------+
  267.  
  268.                    Table 1  An Example of a Routing Table
  269.  
  270.  
  271.    When a switch receives a unicast frame, it extracts the switch number
  272.    from the destination address. If it equals to the local switch
  273.    number, the frame is sent to the local node through the port
  274.    specified in the destination address.  Otherwise, the switch looks up
  275.    its routing table for a matching destination switch number by masking
  276.    the destination address with the corresponding subnet mask. If a
  277.    matching entry is found, the frame is sent to an adjacent switch
  278.    through the next hop port in the entry. Otherwise, it is silently
  279.    discarded or sent to the control processor for its error processing.
  280.  
  281. 3.4 Protocol Overview
  282.  
  283.    This subsection describes an overview of the unicast routing protocol
  284.    and its algorithm.
  285.  
  286. 3.4.1 Route Exchange
  287.  
  288.    SSP is a distance vector protocol to establish and maintain the
  289.    routing table. In SSP, each switch sends a routing update message to
  290.    every adjacent switches every FULL_UPDATE_TIME (10 seconds by
  291.    default). The update message is a copy of the routing table, that is,
  292.    routes.
  293.  
  294.    When a switch receives an update message from an adjacent switch
  295.    through a port, it adds the cost associated with the port, usually 1,
  296.    to every metric value in the message. The result is a set of new
  297.    metrics from the receiving switch to the destination switches. Next,
  298.    it compares the new metrics with those of the corresponding entries
  299.    in the existing routing table. A smaller metric means a better route.
  300.    Thus, if the new metric is smaller than the existing one, the entry
  301.    is updated with the new metric and next hop. The next hop is the port
  302.    from which the update message was received. Otherwise, the entry is
  303.    left unchanged. If the existing next hop is the same as the new one,
  304.    the metric is updated regardless of the metric value.  If no
  305.    corresponding route is found, a new route entry is created.
  306.  
  307. 3.4.2 Route Expiration
  308.  
  309.  
  310.  
  311.  
  312. Murakami, Maruyama                                              [Page 5]
  313.  
  314. I/D          MAPOS Version 1 Switch-Switch Protocol         May 1997
  315.  
  316.  
  317.    Assume a route to R is advertised by a neighboring switch S. If no
  318.    update message has been received from switch S for the period
  319.    FULL_UPDATE_TIME * 3 (30 seconds by default) or the route is
  320.    advertised with metric 16 by switch S, the route to R is marked as
  321.    unreachable by setting its metric to 16. In other words, the route to
  322.    R is kept advertised even if the route is not refreshed up-to 30
  323.    seconds.
  324.  
  325.    To process this, each routing table entry has an EXPIRATION_TIMER (30
  326.    seconds by default, that is, FULL_UPDATE_TIME *3). If another switch
  327.    advertises a route to R, it replaces the unreachable route. Even if a
  328.    route is marked unreachable, the entry is kept in the routing table
  329.    for the period of FULL_UPDATE_TIME * 3.  This enables the switch to
  330.    notify its neighbors of the unreachable route by sending update
  331.    messages with metric 16. To process this, each routing table entry
  332.    has a garbage collection timer GC_TIMER (30 seconds by default). The
  333.    entry is deleted on expiration of the timer. Figure 3 shows this
  334.    transition.
  335.  
  336.  
  337.          The Last Update           Expiration         Garbage Collection
  338.                |                       |                       |
  339.     Routing    V   T       T       T   V   T       T       T   V
  340.     Table      +-------+-------+-------+-------+-------+-------X
  341.     Entry             metric < 16      |       metric = 16     |
  342.  
  343.                ----------------------->|---------------------->|
  344.                    EXPIRATION_TIMER            GC_TIMER
  345.                                                        Stop Advertising
  346.                                                                |
  347.     Advertised                                                 V
  348.     Metric     --   metric <16   ------+--  metric = 16 -------X
  349.  
  350.                                                     T: FULL_UPDATE_TIME
  351.  
  352.                          Figure 3. Route Expiration
  353.  
  354.  
  355.  
  356. 3.4.3 Slow Convergence Prevention
  357.  
  358.    To prevent slow convergence of routing information, two techniques,
  359.    split horizon with poisoned reverse, and triggered update are
  360.    employed.
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371. Murakami, Maruyama                                              [Page 6]
  372.  
  373. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  374.  
  375.  
  376.  
  377.            Sn <------------- S3 <- S2 <- S1
  378.  
  379.                    (i) Before Outage
  380.  
  381.                                 ->
  382.            Sn <--    X    -- S3 <- S2 <- S1
  383.  
  384.                    (ii) After Outage
  385.  
  386.                       Figure 4 An Example of Slow Convergence
  387.  
  388.  
  389.    Figure 4 shows an example of slow convergence[6]. In (i), three
  390.    switches, S1, S2, and S3, are assumed to have a route to Sn. In (ii),
  391.    the connection to Sn has disappeared because of an outage, but S2
  392.    continue to advertise the route since there is no means for S2 to
  393.    detect the outage immediately and it has the route to Sn in its
  394.    routing table. Thus, S3 misunderstand that S2 has the best route to
  395.    Sn and S2 is the next hop. This results in a transitive loop between
  396.    S2 and S3. S2 and S3 increments the metric of the route to Sn every
  397.    time they advertise the route and the loop continues until the metric
  398.    reaches 16. To suppress the slow convergence problem, split horizon
  399.    with poisoned reverse is used.
  400.  
  401.    In split horizon with poisoned reverse, a route is advertised as
  402.    unreachable to the next hop. The metric is the received metric value
  403.    plus 16. For example, in Figure 4, S2 advertises the route to Sn with
  404.    the metric unreachable only to S3. Thus, S3 never considers that S2
  405.    is the next hop to Sn. This ensures fast convergence on disappearance
  406.    of a route.
  407.  
  408.    Another technique, triggered update, forces a switch to send an
  409.    immediate update instead of waiting for the next periodic update when
  410.    a switch detects a local port failure, or when it receives a message
  411.    that a route has become unreachable, or that its metric has
  412.    increased. This makes the convergence faster.
  413.  
  414. 4. Broadcast/multicast Routing in SSP
  415.  
  416.    This section explains VRPB algorithm and the outline of
  417.    broadcast/multicast routing protocol.
  418.  
  419. 4.1 Virtual Reverse Path Broadcast/Multicast Algorithm
  420.  
  421.    SSP provides broadcast/multicast routing based on a spanning tree
  422.    algorithm.  As described in Section 2, the routing is based on the
  423.    VRPB(Virtual Reverse Path Broadcast) algorithm.  In VRPB, each switch
  424.    assumes that all broadcast and multicast frames are generated by a
  425.    specific switch, VSS(Virtual Source Switch). Thus, unlike DVMRP, a
  426.    MAPOS network has only one spanning tree at any given time.
  427.  
  428.  
  429.  
  430. Murakami, Maruyama                                              [Page 7]
  431.  
  432. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  433.  
  434.  
  435.    The frames are forwarded along the reverse path by computing the
  436.    shortest path from the VSS to all possible recipients.  VSS is the
  437.    switch which has the lowest switch number in the network.  Because
  438.    the routing table contains all the unicast destination addresses
  439.    including the switch numbers, each switch can identify the VSS
  440.    independently by searching for the smallest switch number in its
  441.    unicast routing table.
  442.  
  443.    In Figure 2, switch S1 is the VSS.  Each switch determines its place
  444.    in the spanning tree, relative to the VSS, and which of its ports are
  445.    on the shortest path tree.  Thus, the spanning tree is as shown in
  446.    Figure 5. Except for the VSS, each switch has one upstream port and
  447.    zero or more downstream ports. VSS have no upstream port, since it is
  448.    the root of the spanning tree. In Figure 2.  switch S2's upstream
  449.    port is port 0x09 and it has no downstream port.
  450.  
  451.  
  452.                    S1 (VSS)
  453.                   /  \
  454.                  /    \
  455.                 /      \
  456.                S2      S3
  457.  
  458.                            Figure 5  VRPB Spanning Tree
  459.  
  460.  
  461.    When a switch receives a broadcast/multicast frame, it forwards the
  462.    frame to all of the upstream switch, the downstream switches, and the
  463.    directly connected nodes. However, it does not forward to the switch
  464.    which sent the frame to it. For that purpose, a bit mapped
  465.    broadcast/multicast routing table may be employed.  The
  466.    broadcast/multicast routing process marks all the bits corresponding
  467.    to the ports to which frames should be forwarded. The forwarding
  468.    process refers to it and broadcasts a frame to all the ports with its
  469.    corresponding bit marked.
  470.  
  471. 4.2 Forwarding Broadcast/multicast Frames
  472.  
  473.    When a switch forwards a broadcast/multicast frame, (1) it first
  474.    decides the VSS by referring to its unicast routing table. Then, (2)
  475.    it refers to its broadcast/multicast routing table corresponding to
  476.    the VSS. A cache may be used to reduce the search overhead. (3) Based
  477.    on the routing table, the switch forwards the frame.
  478.  
  479.    Figure 6 shows an example of S2's broadcast/multicast routing table
  480.    for the VSS S1. It is a bit map table and each bit corresponds to a
  481.    port. The value 1 indicates that frames should be forwarded to a node
  482.    or a switch through the port.  If no bit is marked, the frame is
  483.    silently discarded. In the example of Figure 6, port 0x09 is the
  484.    upstream port to its VSS, that is, S1. Other ports, ports 0x05 and
  485.    0x03 are path to N2 and N1 nodes, respectively.
  486.  
  487.  
  488.  
  489. Murakami, Maruyama                                              [Page 8]
  490.  
  491. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  492.  
  493.  
  494.  
  495.              0F  0D  0B  09  07  05  03  01   ---   port number
  496.            +---+---+---+---+---+---+---+---+
  497.            | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |  ---   1: forward
  498.            +---+---+---+---+---+---+---+---+        0: inhibit
  499.  
  500.                  Figure 6 Broadcast/Multicast Routing Table of S2
  501.  
  502.  
  503. 4.3 Forwarding Path Examples
  504.  
  505.    Assume that a broadcast frame is generated by N2 in Figure 2. The
  506.    frame is received by S2.
  507.  
  508.    Then, S2 passes it to all the connected nodes except for the source
  509.    N2. That is, only to N1. At the same time, it also forwards the frame
  510.    to all its upstream and downstream switches. Since S2 has no
  511.    downstream switch, S2 forwards the frame to S1 though its upstream
  512.    port 0x09.
  513.  
  514.    S1 is the VSS and it passes the frame to all the local nodes, that
  515.    is, only to N3. Since it has no upstream switch and S2 is the switch
  516.    which sent the frame to S1, the frame is eventually forwarded only to
  517.    a downstream switch S3.
  518.  
  519.    S3 passes the frame to its local node, N4. Since S3 has only an
  520.    upstream and the frame was received through that port, S3 does not
  521.    forward the frame to any switch.
  522.  
  523.    The resulting path is shown in Figure 7. Although this is not the
  524.    optimal path, VRPB ,at least, ensures that broadcast/multicast frames
  525.    are delivered all the nodes without a loop. Figures 8 and 9 show the
  526.    forwarding path for frames generated by a node under S3 and S4,
  527.    respectively.
  528.  
  529.  
  530.                              +-> N3
  531.                              |
  532.              N2 -> S2 +-> S1 +-> S3 -> N4
  533.                       |
  534.                       +-> N1
  535.  
  536.                          Figure 7  Forwarding Path from N2
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548. Murakami, Maruyama                                              [Page 9]
  549.  
  550. I/D        MAPOS Version 1 Switch-Switch Protocol         May 1997
  551.  
  552.  
  553.  
  554.                              +-> N1
  555.                              |
  556.              N3 -> S1 +-> S2 +-> N2
  557.                       |
  558.                       +-> S3 --> N4
  559.  
  560.                          Figure 8  Forwarding Path from N3
  561.  
  562.  
  563.  
  564.                              +-> N3
  565.                              |
  566.              N4 -> S3 +-> S1 +-> S2 +-> N1
  567.                                     |
  568.                                     +-> N2
  569.                          Figure 9  Forwarding Path from N4
  570.  
  571.  
  572. 4.4 Suppressing Routing Loop
  573.  
  574.    To suppress transitive routing loop, forward delay is employed. A
  575.    switch suspends broadcast/multicast forwarding for a period after a
  576.    new VSS is found in the routing table. This prevents transitive
  577.    routing loop by waiting for all the switches to have the same routing
  578.    information and become synchronized. In addition to controlling
  579.    sending of frames by forward delay, another mechanism is employed to
  580.    prevent transitive routing loop by controlling reception of frames.
  581.    That is, broadcast/multicast frames received through ports other than
  582.    the upstream and downstream ports are discarded.
  583.  
  584. 4.5 Upstream Switch Discovery
  585.  
  586.    The upstream port is determined by the shortest reverse path to the
  587.    VSS.  It is identified by referring to the next hop port of the route
  588.    to VSS in the local unicast routing table. When a new next hop to the
  589.    VSS is discovered, the bit corresponding to the old next hop port is
  590.    cleared, and the bit corresponding to the new one is marked as the
  591.    upstream port in the broadcast/multicast routing table.
  592.  
  593. 4.6 Downstream Switch Discovery
  594.  
  595.    To determine the downstream ports, split horizon with poisoned
  596.    reverse is employed. When a switch receives a route with a metric
  597.    poisoned by split horizon processing through a port as described in
  598.    Section 3.4.3, the port is considered to be a downstream port. In
  599.    Figure 2, S1 is the VSS and the route information is sent back from
  600.    S2 to S1 with metric unreachable based on the split horizon with
  601.    poisoned reverse. Thus, S1 knows that S2 is one of its downstreams.
  602.  
  603. 4.7 Downstream Port Expiration
  604.  
  605.  
  606.  
  607. Murakami, Maruyama                                             [Page 10]
  608.  
  609. I/D             MAPOS Version 1 Switch-Switch Protocol         May 1997
  610.  
  611.  
  612.    When a poison reversed packet is newly received from a port, the
  613.    local switch knows that a new downstream switch has appeared. Then,
  614.    it marks the bit corresponding to the port and starts
  615.    FORWARD_DELAY_TIMER (30second by default, that is, FULL_UPDATE_TIME *
  616.    3) for the port. The forwarding of broadcast/multicast frames to the
  617.    port is prohibited until the timer expires.  Every time the local
  618.    switch receives a poison reversed packet through a port, it
  619.    initializes PORT_EXPIRATION_TIMER(30 seconds by default, that is,
  620.    FULL_UPDATE_TIME *3) corresponding to the port. A continuous loss of
  621.    poison reversed packets or a failure of downstream port results in
  622.    expiration of PORT_EXPIRATION_TIMER, and the corresponding bit is
  623.    cleared.
  624.  
  625.  
  626.                First Update               Last Update
  627.                    |                           |
  628.                    V T   T   T   T   T   T   T V
  629.                    +---+---+---+---+---+---+---+---+---+---+---+---+---
  630.    A bit in
  631.    the routing      0   0   0   1   1   1   1   1   1   1   0   0   0
  632.    table                       ^                           ^
  633.                     <--------->|                <--------->|
  634.                         ^   route up                 ^ route down
  635.                         |                            |
  636.                   FORWARD_DELAY               PORT_EXPIRATION
  637.  
  638.                                            T: FULL_UPDATE_TIME
  639.  
  640.                         Figure 10. Port Expiration
  641.  
  642.  
  643.    When a downstream switch discovers another best path to the VSS or a
  644.    new VSS, it stops split horizon with poison reverse and sends
  645.    ordinary update messages. Whenever the local switch receives an
  646.    ordinary update message from its downstream switch, it SHOULD
  647.    immediately clear the corresponding bit in the routing table and stop
  648.    forwarding of broadcast/multicast frames.
  649.  
  650. 4.8 Node Discovery
  651.  
  652.    When a NSP[9] packet, requesting a node address from a port, is
  653.    received, the local switch considers that a new node is connected,
  654.    and marks the corresponding bit in the broadcast/multicast routing
  655.    table. When the local switch detects that the port went down as
  656.    described in [9], it clear the corresponding bit.
  657.  
  658. 4.9 Invalidating The Broadcast/multicast Routing Table
  659.  
  660.    When a new VSS is discovered or when the VSS becomes unreachable, the
  661.    entire broadcast/multicast routing table is invalidated. That is, a
  662.    change of upstream port affects the entire broadcast/multicast
  663.  
  664.  
  665.  
  666. Murakami, Maruyama                                             [Page 11]
  667.  
  668. I/D            MAPOS Version 1 Switch-Switch Protocol         May 1997
  669.  
  670.  
  671.    routing. However, a change of a downstream port does not affect
  672.    forwarding to other downstream ports, its upstream port, and nodes.
  673.  
  674. 5. Detailed Protocol Operation
  675.  
  676.    This section explains SSP packet format and protocol processing in
  677.    detail.
  678.  
  679. 5.1 Packet Format
  680.  
  681.    This subsection describes the packet encapsulation in HDLC frame and
  682.    the packet format.
  683.  
  684. 5.1.1 Packet Format and Its Encapsulation
  685.  
  686.    SSP packet format is designed based on RIP[6] and its successor, RIP2
  687.    [7]. Figure 11 shows the packet format. A SSP packet is encapsulated
  688.    in the information field of a MAPOS HDLC frame. The HDLC protocol
  689.    field of SSP is 0xFE05 in hex as defined by the ``MAPOS Version 1
  690.    Assigned Numbers'' [10]. The packet is sent encapsulated in a unicast
  691.    packet with the destination address 0000 0001, which indicates the
  692.    control processor of an adjacent switch.
  693.  
  694.  
  695.    (MSB)                                                       (LSB)
  696.    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
  697.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -------
  698.    |    Command    |   Version     |           unused              | SSP header
  699.    +---------------+---------------+-------------------------------+ -------
  700.    | Address Family Identifier     |            All 0              |
  701.    +-------------------------------+-------------------------------+
  702.    |                         HDLC Address                          | an SSP
  703.    +---------------------------------------------------------------+ route
  704.    |                         Subnet Mask                           | entry
  705.    +---------------------------------------------------------------+
  706.    |                         All 0                                 |
  707.    +---------------------------------------------------------------+
  708.    |                         Metric                                |
  709.    +---------------+---------------+-------------------------------+ ------
  710.    | Address Family Identifier     |            All 0              |
  711.  
  712.                         Figure 11 SSP packet format
  713.  
  714.  
  715.    The maximum packet size is 512 octet. The first four octets is the
  716.    SSP header. The remainder of the message is composed of 1 - 25 route
  717.    entries. Each entry is 20 octets long.
  718.  
  719. 5.1.2 SSP Header
  720.  
  721.    SSP header consists of a command field and a version field. The
  722.  
  723.  
  724.  
  725. Murakami, Maruyama                                             [Page 12]
  726.  
  727. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  728.  
  729.  
  730.    command field is one octet long and holds one of the following
  731.    values;
  732.  
  733.      1 - request     A request to send all or part of SSP routing table.
  734.  
  735.      2 - response    A message containing all, or a part of the sender's
  736.                      SSP routing table.  This message may be sent in
  737.                      response to a request, or it may be an update
  738.                      message generated by the sender.
  739.  
  740.    The Version field indicates the version of SSP being used. The
  741.    current version number is 1.
  742.  
  743. 5.1.3 SSP Route Entries
  744.  
  745.    Each entry has an address family identifier. It indicates an
  746.    attribute of the entry. SSP routing protocol uses 2 as its identifier
  747.    by default. The identifier 0 indicates unspecified. This value is
  748.    used when a switch requests other switches to send the entire SSP
  749.    routing table. A recipient of the message SHOULD ignore all entries
  750.    with unknown value.
  751.  
  752.    The HDLC address is a destination address. It may be a switch address
  753.    or a node address. The subsequent subnet mask is applied to the HDLC
  754.    address to yield the switch number portion. The field is 4 octet long
  755.    and the address is placed in the least significant position.
  756.  
  757.    Metric indicates the distance to the destination node. That is, how
  758.    many switches a message must go through en route to the destination
  759.    node. The metric field must contain a value between 1 and 31. The
  760.    metric of 16 indicates that the destination is not reachable and is
  761.    ignored by recipients. The values between 17 and 31 are utilized for
  762.    poisoned reverse with split horizon and also means unreachable. The
  763.    metric 0 indicates the local switch itself.
  764.  
  765. 5.2 Routing Table
  766.  
  767.    Every switch has an SSP routing table. The table is a collection of
  768.    route entries - one for every destination. An entry consists of the
  769.    following information;
  770.  
  771.     (1) destination : A unicast destination address.
  772.  
  773.     (2) subnet mask : A mask to extract the switch address by applying
  774.     bitwise AND with the destination address
  775.  
  776.     (3) next hop port : The local port number connected to the adjacent
  777.     switch along the path to the destination.
  778.  
  779.     (4) metric : Distance to the destination node. The metric of an
  780.     adjacent switch is 1 and that of local switch is 0.
  781.  
  782.  
  783.  
  784. Murakami, Maruyama                                             [Page 13]
  785.  
  786. I/D            MAPOS Version 1 Switch-Switch Protocol         May 1997
  787.  
  788.  
  789.     (5) timers for unicast routing : Timers associated with unicast
  790.     routing such as EXPIRATION_TIMER and GC_TIMER.
  791.  
  792.     (6) flags : Various flags associated with the route such as route
  793.     change flag to indicate that the route has changed recently or it
  794.     has timed out.
  795.  
  796.     (7) bit map routing table for broadcast/multicast : Each bit
  797.     corresponding to the port to an upstream or a downstream switch of
  798.     the spanning tree is marked in addition to the ports to end nodes.
  799.     Broadcast/multicast frames are forwarded only through those ports
  800.     with their corresponding bit set. Since only one spanning tree
  801.     exists at a time in a network, each route entry does not necessarily
  802.     have to have this field.
  803.  
  804.     (8) timers for broadcast/multicast routing : Timers associated with
  805.     broadcast/multicast routing such as FORWARD_DELAY_TIMER and
  806.     PORT_EXPIRATION_TIMER. These timers are prepared for each bit of
  807.     broadcast/multicast routing table.
  808.  
  809. 5.3 Sending Routing Messages
  810.  
  811. 5.3.1 Packet Construction
  812.  
  813.    Because of the split horizon with poisoned reverse, a routing message
  814.    differs depending on the adjacent switch to which the message is
  815.    being sent. The upstream switch of a route, that is next hop,
  816.    receives a message which contains the corresponding route with a
  817.    metric between 17 and 31. Switches that are not the upstream switch
  818.    of any route receive the same message. Here, we assume that a packet
  819.    for a routing message is constructed for an adjacent switch which is
  820.    connected through the local port N.
  821.  
  822.    First, set the version field to 1, the current SSP version. Then, set
  823.    the command to "response". Set other fields which are supposed to be
  824.    zero to zero.  Next, start filling in entries.
  825.  
  826.    To fill in the entries, perform the following for each route. The
  827.    destination HDLC address, netmask, and its metric are put into the
  828.    entry in the packet.  Routes must be included in the packet even if
  829.    their metrics are unreachable(16).  If the next hop port is N, 16 is
  830.    added to the metric for split horizon with poisoned reverse.
  831.  
  832.    Recall that the maximum packet size is 512 bytes.  When there is no
  833.    more space in a packet, send the current message and start a new one.
  834.    If a triggered update is being generated, only entries whose route
  835.    change flags are set need be included.
  836.  
  837.  
  838. 5.3.2 Sending update
  839.  
  840.  
  841.  
  842.  
  843. Murakami, Maruyama                                             [Page 14]
  844.  
  845. I/D             MAPOS Version 1 Switch-Switch Protocol         May 1997
  846.  
  847.  
  848.    Sending update may be triggered in any of the following ways;
  849.  
  850.     (1) Initial Update
  851.  
  852.     When a switch first comes up, it SHOULD send to all adjacent
  853.     switches a request asking for their entire routing tables. The
  854.     destination address is 00000001. When a port comes on-line, the
  855.     request packet is sent to the port. The packet, requesting the
  856.     entire routing table, MUST have at least an entry with the address
  857.     family identifier 0 meaning unspecified.
  858.  
  859.     When a switch receives a request packet, it first checks the version
  860.     number of the SSP header. If it is not 1, the packet is silently
  861.     discarded. Otherwise, the address family identifier is examined.  If
  862.     the value is 0, the entire SSP routing table is returned in one or
  863.     more response packets destined to 00000001. Otherwise, the request
  864.     is silently discarded.  Although the original RIP specification
  865.     defines the partial routing table request, SSP routing protocol
  866.     omits it for the sake of simplicity.
  867.  
  868.     (2) Periodic Update
  869.  
  870.     Every switch participating in the routing process sends an update
  871.     message (response message) to all its neighbor switches once every
  872.     FULL_UPDATE_TIME (10 seconds). For the periodic update, a response
  873.     packet(s) is used. The destination address is always 00000001. An
  874.     update message contains the entire SSP routing table. The maximum
  875.     packet size is 512byte. Thus, an update message may require several
  876.     packets to be packed.
  877.  
  878.     (3) Triggered Update
  879.  
  880.     When a route in the unicast routing table is changed or a local port
  881.     goes down, the switch advertises a triggered update packet without
  882.     waiting for the full update time. The difference between triggered
  883.     update and the other update is that triggered updates do not have to
  884.     include the entire routing table. Only changed entries should be
  885.     included. Triggered update may be suppressed if a regular periodic
  886.     update is due.
  887.  
  888.     Note that when a route is advertised as unreachable (metric 16) by
  889.     an adjacent switch, update process is triggered as well as
  890.     expiration of the route in the local switch.
  891.  
  892.     (4) On Termination
  893.  
  894.     When a switch goes down, it is desirable to advertise all the routes
  895.     with metric 16, that is, unreachable.
  896.  
  897. 5.4 Receiving Routing Messages
  898.  
  899.  
  900.  
  901.  
  902. Murakami, Maruyama                                             [Page 15]
  903.  
  904. I/D            MAPOS Version 1 Switch-Switch Protocol         May 1997
  905.  
  906.  
  907.    When a switch receives an update, it first checks the version number.
  908.    If it is not 1, the update packet is silently discarded. Otherwise,
  909.    it processes the entries in it one by one.
  910.  
  911.    For each entry, the address family identifier is checked. If it is
  912.    not 2, the entry is ignored. Otherwise, the metric is checked. The
  913.    value should be between 0 and 31.  An entry with illegal metric is
  914.    ignored. Next, the HDLC address and the subnet mask is checked. An
  915.    entry with an invalid address such as broadcast is ignored. If the
  916.    entry passed all these validation checks, it is processed according
  917.    to the following steps;
  918.  
  919.     Step 1 - Process Poisoned Reverse
  920.  
  921.     If the metric value is between 0 and 16, it is an unicast
  922.     information. Go ahead to Step 2.
  923.  
  924.     If the metric value is between 17 and 31, it indicates poisoned
  925.     reverse, that the local switch has been chosen as the next hop for
  926.     the route. However, if the corresponding entry is not included in
  927.     the current routing table or the message is from a port connected to
  928.     its upstream switch, the message is illegal -- ignore it and return
  929.     to Step 1 to process the next entry. Otherwise,
  930.  
  931.  
  932.       (1) Initialize the PORT_EXPIRATION_TIMER corresponding to the
  933.           downstream port.
  934.       (2) Operate the FORWARD_DELAY_TIMER as follows;
  935.           (2-1) If the broadcast/multicast forwarding was already enabled,
  936.                 go to (3).
  937.           (2-2) If the FORWARD_DELAY_TIMER corresponding to the
  938.                 downstream port was already started, increment the
  939.                 timer. If the timer expires, mark the bit in the
  940.                 broadcast/multicast routing table corresponding to the
  941.                 port and stop the timer.
  942.           (2-2) Otherwise, start the FORWARD_DELAY_TIMER.
  943.       (3) Return to Step 1 to process the next entry.
  944.  
  945.  
  946.     Step 2 - Process Unicast Routing Information
  947.  
  948.     First, add the cost associated with the link, usually 1, to the
  949.     metric. If the result is greater than 16, 16 is used. Then, look up
  950.     the unicast routing table for the corresponding entry. There are two
  951.     cases.
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961. Murakami, Maruyama                                             [Page 16]
  962.  
  963. I/D             MAPOS Version 1 Switch-Switch Protocol         May 1997
  964.  
  965.  
  966.  
  967.       Case 1  no corresponding entry is found
  968.  
  969.        If the new metric is 16, return to step 1 to process the next entry.
  970.        Otherwise,
  971.        (1) Create a new route entry in the routing table
  972.        (2) Initialize EXPIRATION_TIMER and GC_TIMER
  973.        (3) The port corresponding to the new route is the next_hop port
  974.            for the route. Thus, mark the bit in the broadcast/multicast
  975.            routing table corresponding to the new next_hop port and start
  976.            FORWARD_DELAY_TIMER. If this new route is for the switch with
  977.            the minimum switch number, select it as the VSS and use its
  978.            broadcast/multicast routing table. (See NOTE 1.)
  979.        (4) Set the route change flag and invoke triggered update process
  980.        (5) Return to step 1 to process the next entry.
  981.  
  982.            [NOTE 1]
  983.              There are two implementations;
  984.               (1) Prepare a spanning tree for each route and use
  985.                   only one corresponding to the current VSS. In
  986.                   this case, each unicast route entry has a
  987.                   broadcast/unicast routing table.
  988.               (2) Prepare only one spanning tree corresponding to the
  989.                   current VSS. In this case, a switch has only one
  990.                   broadcast/multicast routing table.
  991.               In this document, the former is assumed.
  992.  
  993.       Case 2. A corresponding entry is found
  994.  
  995.        In this case, the update message is processed differently according
  996.        to the new metric value.
  997.  
  998.        (a) new_metric < 16 & new_metric > current_metric
  999.  
  1000.           (1)If and only if the update is from the same port(next_hop
  1001.              port) as the existing one,
  1002.             (1-1) Update the entry
  1003.             (1-2) Initialize EXPIRATION_TIMER and GC_TIMER
  1004.  
  1005.           (2) If the corresponding bit to the port, which the update
  1006.               message is received, is marked in the broadcast/multicast
  1007.               routing table, clear the bit.
  1008.           (3) Return to Step 1 and process the next entry.
  1009.  
  1010.        (b) new_metric < 16 & new_metric < current_metric
  1011.  
  1012.           (1) Update the entry and clear the bit in the
  1013.               broadcast/multicast routing table corresponding to the old
  1014.               next_hop port.
  1015.           (2) Initialize EXPIRATION_TIMER, GC_TIMER, and PORT_EXPIRATION_TIMER
  1016.               for the new next_hop port.
  1017.  
  1018.  
  1019.  
  1020. Murakami, Maruyama                                             [Page 17]
  1021.  
  1022. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  1023.  
  1024.  
  1025.           (3) Mark a bit in the broadcast/multicast routing table
  1026.               corresponding to the new next_hop port and start
  1027.               FORWARD_DELAY_TIMER.
  1028.           (4) Set the route change flag and invoke triggered update with
  1029.               poisoned reverse for the new next_hop.
  1030.           (5) Return to Step 1 to process the next entry.
  1031.  
  1032.        (c) new_metric < 16 & new_metric = current_metric
  1033.  
  1034.           If a new route with the same metric value as the existing
  1035.           routing table entry is received, use the old one as follows;
  1036.  
  1037.           (1) If the new next hop is equal to the current one, initialize
  1038.               EXPIRATION_TIMER and GC_TIMER. Otherwise, ignore this update.
  1039.           (2) If the bit corresponding to the port, from which the update
  1040.               message was received, is marked in the broadcast/multicast
  1041.               routing table, clear the bit.
  1042.           (3) Return to Step 1 to process the next entry.
  1043.  
  1044.        (d) the new metric = 16 & the new next hop = the current one
  1045.  
  1046.           If the current metric is not equal to 16, this is a new
  1047.           unreachable information. Then,
  1048.           (1) Update the entry and clear the bit in the
  1049.               broadcast/multicast routing table corresponding to the old
  1050.               next_hop port.
  1051.           (2) If this route is for the current VSS, select a new VSS in
  1052.               the valid routing table entries. Valid means that the
  1053.               destination is reachable.
  1054.           (3) Set the route change flag and invoke triggered update
  1055.               process to notify the unreachable route.
  1056.           Otherwise,
  1057.               do nothing and return to Step 1 to process the next entry.
  1058.  
  1059.        (e) the new metric = 16 & the new next hop /= the current one
  1060.  
  1061.           (1) If the bit corresponding to the port, from which the
  1062.               update message was received, is marked in the
  1063.               broadcast/multicast routing table, clear the bit.
  1064.           (2) Return to Step 1 to process the next entry.
  1065.  
  1066.  
  1067. 5.5 Timers
  1068.  
  1069.    The timer routine increments the following timers and executes its
  1070.    associated process on their expiration.
  1071.  
  1072.     (1) EXPIRATION_TIMER and GC_TIMER
  1073.  
  1074.     The EXPIRATION_TIMERs and GC_TIMERs of each entry in the unicast
  1075.     routing table are incremented every FULL_UPDATE_TIME (10 seconds by
  1076.  
  1077.  
  1078.  
  1079. Murakami, Maruyama                                             [Page 18]
  1080.  
  1081. I/D         MAPOS Version 1 Switch-Switch Protocol         May 1997
  1082.  
  1083.  
  1084.     default). When a EXPIRATION_TIMER expires, the metric is changed to
  1085.     unreachable(16), update process is triggered, and GC_TIMER is
  1086.     started. When a GC_TIMER expires, the entry is deleted from the
  1087.     local routing table. EXPIRATION_TIMER and GC_TIMER are cleared every
  1088.     time a switch receives a routing update.
  1089.  
  1090.     (2) FORWARD_DELAY_TIMER
  1091.  
  1092.     FORWARD_DELAY_TIMER is completely handled in the receive process and
  1093.     has no relation to the timer routine.
  1094.  
  1095.     (3) PORT_EXPIRATION_TIMER
  1096.  
  1097.     PORT_EXPIRATION_TIMERs associated with each bit in the
  1098.     broadcast/multicast routing table are incremented every
  1099.     FULL_UPDATE_TIME (10 seconds by default).  When the timer expires,
  1100.     the corresponding downstream switch is considered to be down and the
  1101.     corresponding bit in the broadcast/multicast routing table is
  1102.     cleared. This timer is cleared by the receive process every time a
  1103.     poisoned reverse packet is received from the corresponding switch.
  1104.  
  1105.  
  1106. 6. Further considerations on implementation
  1107.  
  1108. 6.1 Port State
  1109.  
  1110.    A switch assumes that every port is connected to a switch initially.
  1111.    Thus, it sends update packets to every port. When a node is connected
  1112.    to a port, the switch recognizes it by receiving an NSP request
  1113.    packet, and stops sending SSP packets to the port. Whenever a switch
  1114.    detects a connection failure such as loss of signal and out-of-
  1115.    synchronization, it should clear the internal state table
  1116.    corresponding of the port.
  1117.  
  1118. 6.2 Half way connection problem
  1119.  
  1120.    A port consists of two channels, transmit and receive. Although it is
  1121.    easy for a node or a switch to detect a receive channel failure,
  1122.    transmit channel failure may not be detected, causing half way
  1123.    connection.  This results in a black hole.
  1124.  
  1125.    Thus, whenever a switch receives a SSP update packet from a port, it
  1126.    SHOULD check the status of the corresponding transmit channel.
  1127.    SONET/SDH has a feedback mechanism for that purpose. The status of
  1128.    the local transmit channel received at the remote end can be sent
  1129.    back utilizing the overhead part, FEBE(Far End Block Error) and
  1130.    FERF(Far End Receive Failure), of the corresponding receive channel.
  1131.    If the signals indicates that the transmit channel has a problem, the
  1132.    SSP packet received from the remote end should be silently discarded.
  1133.    However, some SONET/SDH services do not provide path overhead
  1134.    transparency.
  1135.  
  1136.  
  1137.  
  1138. Murakami, Maruyama                                             [Page 19]
  1139.  
  1140. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  1141.  
  1142.  
  1143.    Although, SONET/SDH APS(Automatic Protection Switching) can be
  1144.    utilized to switch service from a failed line to a spare line, the
  1145.    function is out of scope of this protocol.
  1146.  
  1147. 7. Security Considerations
  1148.  
  1149.    Security issues are not discussed in this memo.
  1150.  
  1151. References
  1152.  
  1153.    [1]   K. Murakami and M. Maruyama, "MAPOS - Multiple Access Protocol
  1154.          over SONET/SDH Version 1," May 1997.
  1155.  
  1156.    [2]   CCITT Recommendation G.707: Synchronous Digital Hierarchy Bit
  1157.          Rates, 1990.
  1158.  
  1159.    [3]   CCITT Recommendation G.708: Network Node Interface for Synchronous
  1160.          Digital Hierarchy, 1990.
  1161.  
  1162.    [4]   CCITT Recommendation G.709: Synchronous Multiplexing Structure,
  1163.          1990.
  1164.  
  1165.    [5]   American National Standard for Telecommunications - Digital
  1166.          Hierarchy - Optical Interface Rates and Formats Specification,
  1167.          ANSI T1.105-1991.
  1168.  
  1169.    [6]   Hedrick, C., "Routing Information Protocol", STD 34, RFC 1058,
  1170.          Rutgers University, June 1988.
  1171.  
  1172.    [7]   G. Malkin., "RIP Version 2 - Carrying Additional Information ",
  1173.          RFC1723, Xylogics, Inc., November 1994.
  1174.  
  1175.    [8]   T. Pusateri, "Distance Vector Multicast Routing Protocol",
  1176.          draft-ietf-idmr-dvmrp-v3-03, September 1996
  1177.  
  1178.    [9]   K. Murakami and M. Maruyama, "A MAPOS version 1 Extension -
  1179.          Node Switch Protocol," May 1997.
  1180.  
  1181.    [10]  M. Maruyama and K. Murakami, "MAPOS Version 1 Assigned Numbers,"
  1182.          May, 1997.
  1183.  
  1184.  
  1185. Acknowledgements
  1186.  
  1187.    The authors would like to acknowledge the contributions and
  1188.    thoughtful suggestions of John P. Mullaney, Clark Bremer, Masayuki
  1189.    Kobayashi, Paul Francis, Toshiaki Yoshida, Takahiro Sajima, and
  1190.    Satoru Yagi.
  1191.  
  1192. Authors' Address
  1193.  
  1194.  
  1195.  
  1196.  
  1197. Murakami, Maruyama                                             [Page 20]
  1198.  
  1199. I/D           MAPOS Version 1 Switch-Switch Protocol         May 1997
  1200.  
  1201.  
  1202.  
  1203.              Ken Murakami
  1204.              NTT Software Laboratories
  1205.              3-9-11, Midori-cho
  1206.              Musashino-shi
  1207.              Tokyo 180, Japan
  1208.              E-mail: murakami@ntt-20.ecl.net
  1209.  
  1210.              Mitsuru Maruyama
  1211.              NTT Software Laboratories
  1212.              3-9-11, Midori-cho
  1213.              Musashino-shi
  1214.              Tokyo 180, Japan
  1215.              E-mail: mitsuru@ntt-20.ecl.net
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221. Murakami, Maruyama                                             [Page 21]
  1222. INTERNET-DRAFT              EXPIRES OCTOBER 1997           INTERNET-DRAFT
  1223.  
  1224.