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-dobbins-00.txt < prev    next >
Text File  |  1997-04-17  |  40KB  |  994 lines

  1.  
  2.  
  3. INTERNET-DRAFT  
  4.  
  5. Network Working Group                                    K. Dobbins
  6. Expire in six months                                       T. Grant
  7. Category:  Informational                                  D. Ruffen
  8.                                                          E. Ziegler
  9.                                      Cabletron Systems Incorporated
  10.                                                          April 1997
  11.  
  12.  
  13.  Address Resolution and Location Discovery (ARLD) Protocol
  14.         <draft-rfced-info-dobbins-00.txt>
  15.  
  16.  
  17. Status of this Memo
  18.  
  19.    This document is an Internet-Draft.  Internet-Drafts are working
  20.    documents of the Internet Engineering task Force (IETF), its areas,
  21.    and its working groups.  Note that other groups may also distribute
  22.    working documents as Internet-Drafts.
  23.  
  24.    Internet-Drafts are draft documents valid for a maximum of six
  25.    months and may be updated, replaced, or obsoleted by other
  26.    documents at any time.  It is inappropriate to use Internet-Drafts
  27.    as reference material or to cite them other than as "work in
  28.    progress".
  29.  
  30.    To learn the current status of any Internet-Draft, please check the
  31.    "1id-abstract.txt" listing contained in the Internet-Drafts Shadow
  32.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  33.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  34.    ftp.isi.edu (US West Coast).
  35.  
  36.  
  37. Abstract
  38.  
  39.    The Address Resolution and Location Discovery (ARLD) protocol 
  40.    is part of the InterSwitch Message Protocol (ISMP).  ISMP was 
  41.    designed to facilitate interswitch communication within 
  42.    distributed connection-oriented switching networks.  The ARLD 
  43.    protocol is used to resolve a packet destination address when 
  44.    the source and destination pair of a packet does not match a 
  45.    known connection.  It is also used to provide end-station 
  46.    address mobility between switches.
  47.  
  48. Table of Contents
  49.  
  50.    Status of this Memo.....................................1
  51.    Abstract................................................1
  52.    1.  Introduction........................................2
  53.        1.1  Data Conventions...............................2
  54.    2.  ISMP Overview.......................................2
  55.    3.  General ISMP Packet Format..........................3
  56.        3.1  Frame Header...................................3
  57.        3.2  ISMP Packet Header.............................4
  58.        3.3  ISMP Message Body..............................5
  59.    4.  ARLD Protocol Operational Overview..................5
  60.        4.1  Definitions....................................5
  61.             4.1.1  Address.................................6
  62.             4.1.2  Undirected Messages.....................6
  63.             4.1.3  Switch Flood Path.......................6
  64.             4.1.4  Upstream Neighbor.......................6
  65.             4.1.5  Downstream Neighbor.....................6
  66.        4.2  Address Resolution.............................6
  67.        4.3  End-Station Address Mobility...................7
  68.    5.  Tag/Length/Value (TLV) Format.......................9
  69.    6.  Interswitch Resolve Message........................11
  70.    7.  Interswitch New User Message.......................14
  71.    References.............................................17
  72.    Security Considerations................................17
  73.    Author's Addresses.....................................17
  74.  
  75.  
  76.  
  77. K. Dobbins, et. al.                                        [Page 1]
  78.  
  79. DRAFT            ARLD Protocol Specification          April 1997
  80.  
  81. 1.  Introduction
  82.  
  83.    This draft is being distributed to members of the Internet 
  84.    community in order to solicit reactions to the proposals 
  85.    contained herein.  While the specification discussed here may 
  86.    not be directly relevant to the research problems of the 
  87.    Internet, it may be of interest to researchers and implementers.
  88.  
  89. 1.1  Data Conventions
  90.  
  91.    The methods used in this memo to describe and picture data 
  92.    adhere to the standards of Internet Protocol documentation 
  93.    [RFC1700], in particular:
  94.  
  95.       The convention in the documentation of Internet Protocols 
  96.       is to express numbers in decimal and to picture data in 
  97.       "big-endian" order.  That is, fields are described left to 
  98.       right, with the most significant octet on the left and the 
  99.       least significant octet on the right.
  100.  
  101.       The order of transmission of the header and data described 
  102.       in this document is resolved to the octet level.  Whenever 
  103.       a diagram shows a group of octets, the order of transmission 
  104.       of those octets is the normal order in which they are read 
  105.       in English. 
  106.  
  107.       Whenever an octet represents a numeric quantity the left 
  108.       most bit in the diagram is the high order or most 
  109.       significant bit.  That is, the bit labeled 0 is the most 
  110.       significant bit.
  111.  
  112.       Similarly, whenever a multi-octet field represents a 
  113.       numeric quantity the left most bit of the whole field is 
  114.       the most significant bit.  When a multi-octet quantity is 
  115.       transmitted the most significant octet is transmitted 
  116.       first.
  117.  
  118. 2.  ISMP Overview
  119.  
  120.    The InterSwitch Message Protocol (ISMP) is used for interswitch 
  121.    communication within distributed connection-oriented switching 
  122.    networks.  ISMP provides the following services:
  123.  
  124.    -  Topology services.  Each switch maintains a distributed 
  125.       topology of the switch fabric by exchanging the following 
  126.       interswitch messages with other switches:
  127.  
  128.       -  Interswitch Keepalive messages (SNDM protocol) are sent by 
  129.          each switch to announce its existence to its neighboring 
  130.          switches and to establish the topology of the switch 
  131.          fabric.
  132.  
  133.  
  134.  
  135. K. Dobbins, et. al.                                        [Page 2]
  136.  
  137. DRAFT            ARLD Protocol Specification          April 1997
  138.  
  139.       -  Interswitch Spanning Tree BPDU messages and Interswitch 
  140.          Remote Blocking messages (LSMP protocol) are used to 
  141.          determine and maintain a loop-free flood path between all 
  142.          network switches in the fabric.  This flood path is used 
  143.          for all undirected interswitch messages -- that is, 
  144.          messages of the ARLD, SBCD and SFCT protocols.
  145.  
  146.       -  Interswitch Link State messages (VLS protocol) are used 
  147.          to determine and maintain a fully connected mesh topology 
  148.          graph of the switch fabric.  Call-originating switches use 
  149.          the topology graph to determine the path over which to 
  150.          route a call connection.
  151.  
  152.    -  Address resolution services.  Interswitch Resolve messages 
  153.       (ARLD protocol) are used to resolve a packet destination 
  154.       address when the packet source and destination pair does not 
  155.       match a known connection.  Interswitch New User messages 
  156.       (also part of the ARLD protocol) are used to provide end-
  157.       station address mobility between switches.
  158.  
  159.    -  Tag-based flooding.  A tag-based broadcast method (SBCD 
  160.       protocol) is used to restrict the broadcast of unresolved 
  161.       packets to only those ports within the fabric that belong to 
  162.       the same VLAN as the source.
  163.  
  164.    -  Call tapping services.  Interswitch Tap messages (SFCT 
  165.       protocol) are used to monitor traffic moving between two end 
  166.       stations.  Traffic can be monitored in one or both 
  167.       directions along the connection path.
  168.  
  169.                              NOTE
  170.  
  171.             This document describes the ARLD protocol.  
  172.             Other ISMP protocols are described in other 
  173.             RFCs.  See the References section for a 
  174.             list of these related RFCs.
  175.  
  176. 3.  General ISMP Packet Format
  177.  
  178.    ISMP packets are of variable length and have the following 
  179.    general structure:
  180.  
  181.    -  Frame header
  182.    -  ISMP packet header
  183.    -  ISMP message body
  184.  
  185. 3.1  Frame Header
  186.  
  187.    ISMP packets are encapsulated within an IEEE 802-compliant 
  188.    frame using a standard header as shown below:
  189.  
  190.  
  191.  
  192.  
  193. K. Dobbins, et. al.                                        [Page 3]
  194.  
  195. DRAFT            ARLD Protocol Specification          April 1997
  196.  
  197.     0                   1                   2                   3
  198.     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
  199.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  200. 00 |                                                               |
  201.    +      Destination address      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  202. 04 |                               |                               |
  203.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+        Source address         +
  204. 08 |                                                               |
  205.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  206. 12 |             Type              |                               |
  207.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
  208. 16 |                                                               |
  209.    +                                                               +
  210.    :                                                               :
  211.  
  212.    Destination address
  213.  
  214.       This 6-octet field contains the Media Access Control (MAC) 
  215.       address of the multicast channel over which all switches in 
  216.       the fabric receive ISMP packets.  The destination address of 
  217.       all ISMP packets contain a value of 01-00-1D-00-00-00.
  218.  
  219.    Source address
  220.  
  221.       This 6-octet field contains the physical (MAC) address of 
  222.       the switch originating the ISMP packet.
  223.  
  224.    Type
  225.  
  226.       This 2-octet field identifies the type of data carried 
  227.       within the frame.  The type field of ISMP packets contains 
  228.       the value 0x81FD.
  229.  
  230. 3.2  ISMP Packet Header
  231.  
  232.    The ISMP packet header consists of 6 octets, as shown below: 
  233.  
  234.     0                   1                   2                   3
  235.     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
  236.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  237. 00 |///////////////////////////////////////////////////////////////|
  238.    ://////// Frame header /////////////////////////////////////////:
  239.    +//////// (14 octets)  /////////+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  240. 12 |///////////////////////////////|            Version            |
  241.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  242. 16 |       ISMP message type       |        Sequence number        |
  243.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  244. 20 |                                                               |
  245.    +                                                               +
  246.    :                                                               :
  247.  
  248.  
  249.  
  250.  
  251. K. Dobbins, et. al.                                        [Page 4]
  252.  
  253. DRAFT            ARLD Protocol Specification          April 1997
  254.  
  255.    Frame header
  256.  
  257.       This 14-octet field contains the frame header.
  258.  
  259.    Version
  260.  
  261.       This 2-octet field contains the version number of the 
  262.       InterSwitch Message Protocol to which this ISMP packet 
  263.       adheres.  This document describes ISMP Version 2.0.
  264.  
  265.    ISMP message type
  266.  
  267.       This 2-octet field contains a value indicating which type of 
  268.       ISMP message is contained within the message body.  Valid 
  269.       values are as follows:
  270.  
  271.          1    (reserved)
  272.          2    Interswitch Keepalive messages (SNDM protocol)
  273.          3    Interswitch Link State messages (VLS protocol)
  274.          4    Interswitch Spanning Tree BPDU messages and Remote 
  275.               Blocking messages (LSMP protocol)
  276.          5    Interswitch Resolve and New User messages (ARLD 
  277.               protocol)
  278.          6    (reserved)
  279.          7    Tag-Based Flood messages (SBCD protocol)
  280.          8    Interswitch Tap messages (SFCT protocol)
  281.  
  282.       ARLD protocol messages have a message type of 5.
  283.  
  284.    Sequence number
  285.  
  286.       This 2-octet field contains an internally generated sequence 
  287.       number used by the various protocol handlers for internal 
  288.       synchronization of messages.
  289.  
  290. 3.3  ISMP Message Body
  291.  
  292.    The ISMP message body is a variable-length field containing the 
  293.    actual data of the ISMP message.  The length and content of 
  294.    this field are determined by the value found in the message 
  295.    type field.
  296.  
  297. 4.  ARLD Protocol Operational Overview
  298.  
  299.    The ARLD protocol provides two services:
  300.  
  301.    -  Resolution of packet destination addresses
  302.    -  End-station address mobility between switches
  303.  
  304. 4.1  Definitions
  305.  
  306.    The following terms are used in this description of the ARLD 
  307.    protocol.
  308.  
  309. K. Dobbins, et. al.                                        [Page 5]
  310.  
  311. DRAFT            ARLD Protocol Specification          April 1997
  312.  
  313. 4.1.1  Address
  314.  
  315.    Within most computer networks, the concept of "address" is 
  316.    somewhat elusive because different protocols can (and do) use 
  317.    different addressing schemes and formats.  To distinguish 
  318.    between the various protocol-specific forms of addressing, 
  319.    ARLD messages specify addresses in a format known as 
  320.    Tag/Length/Value (TLV), unless otherwise noted in the text.  
  321.    (See Tag/Length/Value (TLV) Format for a description of this 
  322.    format.).  
  323.  
  324. 4.1.2  Undirected Messages
  325.  
  326.    Undirected messages are those messages that are (potentially) 
  327.    sent to all switches in the switch fabric -- that is, they are 
  328.    not directed to any particular switch.  ISMP messages of the 
  329.    SBCD, ARLD, and SFCT protocols are undirected messages.
  330.  
  331. 4.1.3  Switch Flood Path
  332.  
  333.    The switch flood path is used to send undirected ISMP messages 
  334.    throughout the switch fabric.  The flood path is formed using a 
  335.    spanning tree algorithm that provides a single path through the 
  336.    switch fabric and guarantees loop-free delivery to every other 
  337.    switch in the fabric.
  338.  
  339. 4.1.4  Upstream Neighbor
  340.  
  341.    A switch's upstream neighbor is that switch connected to the 
  342.    incoming link of the switch flood path -- that is, the switch 
  343.    from which the undirected message was received.  Note that each 
  344.    switch receiving an undirected message has, at most, one 
  345.    upstream neighbor, and  the originator of any undirected ISMP 
  346.    message has no upstream neighbors.
  347.  
  348. 4.1.5  Downstream Neighbor
  349.  
  350.    A switch's downstream neighbors are those switches connected to 
  351.    all outgoing links of the flood path except the link over which 
  352.    the undirected message was received.  Note that for each 
  353.    undirected message some number of switches have no downstream 
  354.    neighbors.
  355.  
  356. 4.2  Address Resolution
  357.  
  358.    When a switch receives a packet on one of its local access 
  359.    ports, it examines the destination address of the packet to try 
  360.    to determine where the packet should be sent -- that is, it 
  361.    tries to "resolve" the destination address.  
  362.  
  363.    There are a variety of circumstances under which a switch may 
  364.    not be able to resolve an address.  For example, the address 
  365.    may be a physical MAC address that the switch has not 
  366.  
  367. K. Dobbins, et. al.                                        [Page 6]
  368.  
  369. DRAFT            ARLD Protocol Specification          April 1997
  370.  
  371.    previously encountered, or the address may be a high-level 
  372.    network address (such as an IP address) for which the switch 
  373.    has no MAC address mapping.
  374.  
  375.    If  the switch cannot resolve the address from within its own 
  376.    local database, it formats and sends an Interswitch Resolve 
  377.    request message to other switches in the switch fabric.  The 
  378.    Interswitch Resolve request message contains the destination 
  379.    address as it was received within the packet, along with a list 
  380.    of requested addressing information.
  381.  
  382.    When a switch receives an Interswitch Resolve request message 
  383.    from one of its upstream neighbors, it checks to see if the 
  384.    destination end station is connected to one of its local access 
  385.    ports.  If so, it formulates an Interswitch Resolve response 
  386.    message by filling in the requested address information, along 
  387.    with its own MAC address.  It then sets the message status 
  388.    field to ResolveAck, and returns the message to its upstream 
  389.    (requesting) neighbor.
  390.  
  391.    If the switch cannot resolve the address, it forwards the 
  392.    Interswitch Resolve request message to its downstream 
  393.    neighbors.  If the switch has no downstream neighbors, it sets 
  394.    the message status field to Unknown, and returns the message to 
  395.    its upstream (requesting) neighbor.
  396.  
  397.    When a switch forwards an Interswitch Resolve request message 
  398.    to its downstream neighbors, it keeps track of the number of 
  399.    requests it has sent out and received back.  It will only 
  400.    respond back to its upstream (requesting) neighbor when one of 
  401.    the following conditions occurs:
  402.  
  403.    -  It receives any response with a status of ResolveAck
  404.    -  All downstream neighbors have responded with a status of 
  405.       Unknown
  406.  
  407.    Note that any Interswitch Resolve request message that is not 
  408.    responded to within a certain predetermined time (currently 5 
  409.    seconds) is assumed to have a response status of Unknown.
  410.  
  411.    If the destination end station address cannot be resolved by 
  412.    the above method, the originating switch will flood the packet 
  413.    to the source VLAN using the Tag Based Flood message (SBCD 
  414.    protocol).
  415.  
  416. 4.3  End-Station Address Mobility
  417.  
  418.    When a switch detects a new end-station address on one of its 
  419.    local ports, it sends an Interswitch New User request message 
  420.    over the switch flood path to all other switches in the fabric.  
  421.    The purpose of the Interswitch New User request is two-fold:
  422.  
  423.  
  424.  
  425. K. Dobbins, et. al.                                        [Page 7]
  426.  
  427. DRAFT            ARLD Protocol Specification          April 1997
  428.  
  429.    -  It informs the other switches that the end-station address 
  430.       has changed and any entries for that end station in local 
  431.       databases should be dealt with appropriately.
  432.  
  433.    -  It requests information about the static VLAN(s) to which 
  434.       the end station has been assigned.
  435.  
  436.    When a switch receives an Interswitch New User request message 
  437.    from one of its upstream neighbors, it first forwards the 
  438.    message to all its downstream neighbors.  No actual processing 
  439.    or VLAN resolution is attempted until the message reaches the 
  440.    end of the flood path and begins its trip back along the return 
  441.    path.   This ensures that all switches in the fabric receive 
  442.    notification of the new user and have synchronized their 
  443.    databases.
  444.  
  445.    If a switch receives an Interswitch New User request message 
  446.    but has no downstream neighbors, it does the following:  
  447.  
  448.    -  If the end station was previously connected to one of the 
  449.       switch's local ports, the switch formulates an Interswitch 
  450.       New User Response message by loading the VLAN identifier(s) 
  451.       of the static VLAN(s) to which the end station was assigned, 
  452.       along with its own MAC address.  (VLAN identifiers are 
  453.       stored in Tag/Length/Value (TLV) format.)  The switch then 
  454.       sets the message status field to NewUserAck, and returns the 
  455.       message to its upstream (requesting) neighbor.  
  456.  
  457.       Otherwise, the switch sets the status field to 
  458.       NewUserUnknown and returns the message to its upstream 
  459.       neighbor.
  460.  
  461.    -  The switch then deletes the end station from its local 
  462.       database, as well as any entries associated with the end 
  463.       station in its connection table.
  464.  
  465.    When a switch forwards an Interswitch New User request message 
  466.    to its downstream neighbors, it keeps track of the number of 
  467.    requests it has sent out and does not respond back to its 
  468.    upstream neighbor until all requests have been responded to.  
  469.  
  470.    -  As each response is received, the switch checks the status 
  471.       field of the message.  If the status is NewUserAck, the 
  472.       switch retains the information in that response.  When all 
  473.       requests have been responded to, the switch returns the 
  474.       NewUserAck response to its upstream neighbor.
  475.  
  476.    -  If all the Interswitch New User Request messages have been 
  477.       responded to with a status of NewUserUnknown, the switch 
  478.       checks to see if the end station was previously connected to 
  479.       one of its local ports.  If so, the switch formulates an 
  480.       Interswitch New User Response message by loading the VLAN 
  481.       identifier(s) of the static VLAN(s) to which the end station 
  482.  
  483. K. Dobbins, et. al.                                        [Page 8]
  484.  
  485. DRAFT            ARLD Protocol Specification          April 1997
  486.  
  487.       was assigned, along with its own MAC address.  (VLAN 
  488.       identifiers are stored in Tag/Length/Value (TLV) format.)  
  489.       The switch then sets the message status field to NewUserAck, 
  490.       and returns the message to its upstream (requesting) 
  491.       neighbor.  
  492.  
  493.       Otherwise, the switch sets the status field to 
  494.       NewUserUnknown and returns the message to its upstream 
  495.       neighbor.
  496.  
  497.    -  The switch then deletes the end station from its local 
  498.       database, as well as any entries associated with the end 
  499.       station in its connection table.
  500.  
  501.    When the originating switch has received responses to all the 
  502.    Interswitch New User Request messages it has sent, it does the 
  503.    following:
  504.  
  505.    -  If it has received a response message with a status of 
  506.       NewUserAck, it loads the new VLAN information into its local 
  507.       database.  
  508.  
  509.    -  If all responses have been received with a status of 
  510.       NewUserUnknown, the originating switch assumes that the end 
  511.       station was not previously connected anywhere in the network 
  512.       and assigns it to a VLAN according to the VLAN membership 
  513.       rules and order of precedence.
  514.  
  515.    If any Interswitch New User Request message has not been 
  516.    responded to within a certain predetermined time (currently 5 
  517.    seconds), the originating switch recalculates the flood path 
  518.    and resends the Interswitch New User Request message.
  519.  
  520. 5.  Tag/Length/Value (TLV) Format
  521.  
  522.    Within most computer networks, the concept of "address" is 
  523.    somewhat elusive because different protocols can (and do) use 
  524.    different addressing schemes and formats.  For example, 
  525.    Ethernet (physical layer) addresses are six octets long, while 
  526.    IP (network layer) addresses are only four octets long.
  527.  
  528.    To distinguish between the various protocol-specific forms of 
  529.    addressing, ARLD messages specify addresses in a format known 
  530.    as Tag/Length/Value (TLV).  This format uses a variable-length 
  531.    construct as shown below:
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541. K. Dobbins, et. al.                                        [Page 9]
  542.  
  543. DRAFT            ARLD Protocol Specification          April 1997
  544.  
  545.     0                   1                   2                   3
  546.     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
  547.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  548.    |                                                               |
  549.    :                              Tag                              :
  550.    |                                                               |
  551.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  552.    | Value length  |                                               |
  553.    +-+-+-+-+-+-+-+-+                                               +
  554.    |                          Address value                        |
  555.    :                                                               :
  556.    |                                                               |
  557.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  558.  
  559.    Tag
  560.  
  561.       This variable-length field specifies the type of address 
  562.       contained in the structure.  Note that the tag itself is a 
  563.       complex structure consisting of a single octet containing 
  564.       the length of the ASCII tag identifier string and a variable 
  565.       number of octets containing the value of the identifier, as 
  566.       shown below:
  567.  
  568.     0                   1                   2                   3
  569.     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
  570.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  571.    | Tag ID length |                                               |
  572.    +-+-+-+-+-+-+-+-+                                               +
  573.    |                          Tag identifier                       |
  574.    :                                                               :
  575.    |                                                               |
  576.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  577.  
  578.       The following address tag identifiers are currently defined:
  579.  
  580.          ID string            ID length
  581.  
  582.          address.ethernet         16
  583.          address.ip               10
  584.          address.ip.udp           14
  585.          address.ipx              11
  586.          address.netbios          15
  587.          address.vlan             12
  588.          address.hostname         16
  589.  
  590.    Value length
  591.  
  592.       This 1-octet field contains the length of the value of the 
  593.       address.  The valid lengths associated with the currently 
  594.       defined address types are shown below:
  595.  
  596.  
  597.  
  598.  
  599. K. Dobbins, et. al.                                       [Page 10]
  600.  
  601. DRAFT            ARLD Protocol Specification          April 1997
  602.  
  603.          Identifier          Value length
  604.  
  605.          address.ethernet          6
  606.          address.ip                4
  607.          address.ip.udp            2
  608.          address.ipx              10
  609.          address.netbios          16
  610.          address.vlan            <16
  611.          address.hostname       <256
  612.  
  613.    Address value
  614.  
  615.       This variable-length field contains the value of the 
  616.       address.  The length of this field is stored in the Value 
  617.       length field.
  618.  
  619. 6.  Interswitch Resolve Message
  620.  
  621.    The ARLD Interswitch Resolve message consists of a variable 
  622.    number of octets, as shown below:
  623.  
  624.     0                   1                   2                   3
  625.     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
  626.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  627. 00 |                                                               |
  628.    +                         Frame header /                        +
  629.    :                       ISMP packet header                      :
  630.    |                                                               |
  631.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  632. 20 |         ARLD version          |            Opcode             |
  633.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  634. 24 |            Status             |           Call Tag            |
  635.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  636. 28 |                                                               |
  637.    +     Source MAC of packet      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  638. 32 |                               |                               |
  639.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     Originating switch MAC    +
  640. 36 |                                                               |
  641.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  642. 40 |                                                               |
  643.    +       Owner switch MAC        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  644. 44 |                               |                               |
  645.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
  646. 48 |                                                               |
  647.    :                   Known destination address                   :
  648.    |                                                               |
  649.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  650.  n |     Count     |                                               |
  651.    +-+-+-+-+-+-+-+-+                                               +
  652. n1 |                         Resolve list                          |
  653.    :                                                               :
  654.    |                                                               |
  655.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  656.  
  657. K. Dobbins, et. al.                                       [Page 11]
  658.  
  659. DRAFT            ARLD Protocol Specification          April 1997
  660.  
  661.         n = 46 + length of known address TLV
  662.         n1 = n + 4
  663.  
  664.    In the following description of the message fields, the term 
  665.    "originating" switch refers to the switch that issued the 
  666.    original Interswitch Resolve request.  The term "owner" switch 
  667.    refers to that switch to which the destination end station is 
  668.    attached.  And the term "responding" switch refers to either 
  669.    the "owner" switch or to a switch at the end of the control 
  670.    path that does not own the end station but issues an 
  671.    Interswitch Resolve response because it has no downstream 
  672.    neighbors.
  673.  
  674.    With the exception of the resolve list (which has a different 
  675.    size and format in a Resolve response message), all fields of 
  676.    an Interswitch Resolve message are allocated by the originating 
  677.    switch, and unless otherwise noted below, are written by the 
  678.    originating switch.
  679.  
  680.  
  681.    Frame header/ISMP packet header
  682.  
  683.       This 20-octet field contains the frame header and the ISMP 
  684.       packet header.
  685.  
  686.    ARLD version
  687.  
  688.       This 2-octet field contains the version number of the ARLD 
  689.       protocol to which this message adheres.  This document 
  690.       describes ARLD Version 1. 
  691.  
  692.    Opcode
  693.  
  694.       This 2-octet field contains the operation code of the 
  695.       message.  Valid values are as follows:
  696.  
  697.          1    The message is a Resolve request.
  698.          2    The message is a Resolve response.
  699.          3    (unused in Resolve messages)
  700.          4    (unused in Resolve messages)
  701.  
  702.       The originating switch writes a value of 1 to this field, 
  703.       while the responding switch writes a value of 2.
  704.  
  705.    Status
  706.  
  707.       This 2-octet field contains the status of a Resolve response 
  708.       message.  Valid values are as follows:
  709.  
  710.          0    The Resolve request succeeded (ResolveAck).  
  711.          1    (unused)
  712.          2    The Resolve request failed (Unknown).
  713.  
  714.  
  715. K. Dobbins, et. al.                                       [Page 12]
  716.  
  717. DRAFT            ARLD Protocol Specification          April 1997
  718.  
  719.       This field is written by the responding switch.
  720.  
  721.    Call tag
  722.  
  723.       This 2-octet field contains the call tag of the end station 
  724.       packet for which this Resolve request is issued.  The call 
  725.       tag is a 16-bit value (generated by the originating switch) 
  726.       that uniquely identifies the packet.
  727.  
  728.    Source MAC of packet
  729.  
  730.       This 6-octet field contains the physical (MAC) address of 
  731.       the end station that originated the packet identified by the 
  732.       call tag.
  733.  
  734.    Originating switch MAC
  735.  
  736.       This 6-octet field contains the physical (MAC) address of 
  737.       the switch that issued the original Resolve request.
  738.  
  739.    Owner switch MAC
  740.  
  741.       This 6-octet field contains the physical (MAC) address of 
  742.       the switch to which the destination end station is attached 
  743.       -- that is, the switch that was able to resolve the 
  744.       requested addressing information.  This field is written by 
  745.       the owner switch.
  746.  
  747.       If the status of the response is Unknown, this field is 
  748.       irrelevant.
  749.  
  750.    Known destination address
  751.  
  752.       This variable-length field contains the known attribute of 
  753.       the destination end-station address.  This address is stored 
  754.       in Tag/Length/Value format.
  755.  
  756.    Count
  757.  
  758.       This 1-octet field contains the number of address attributes 
  759.       requested or returned.  This is the number of items in the 
  760.       resolve list.
  761.  
  762.    Resolve list
  763.  
  764.       This variable-length field contains a list of the address 
  765.       attributes either requested by the originating switch or 
  766.       returned by the owner switch.  Note that in a Resolve 
  767.       request message, this list contains only the tags of the 
  768.       requested address attributes.  On the other hand, a Resolve 
  769.       response message with a status of ResolveAck contains the 
  770.       full TLV of each resolved address attribute.  The number of 
  771.       entries in the list is specified in the count field. 
  772.  
  773. K. Dobbins, et. al.                                       [Page 13]
  774.  
  775. DRAFT            ARLD Protocol Specification          April 1997
  776.  
  777.  
  778.       In an Interswitch Resolve response message, this field is 
  779.       irrelevant if the status of the response is Unknown.
  780.  
  781. 7.  Interswitch New User Message
  782.  
  783.    The ARLD Interswitch New User message consists of a variable 
  784.    number of octets, as shown below:
  785.  
  786.     0                   1                   2                   3
  787.     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
  788.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  789. 00 |                                                               |
  790.    +                         Frame header /                        +
  791.    :                       ISMP packet header                      :
  792.    |                                                               |
  793.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  794. 20 |         ARLD version          |            Opcode             |
  795.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  796. 24 |            Status             |           Call Tag            |
  797.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  798. 28 |                                                               |
  799.    +     Source MAC of packet      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  800. 32 |                               |                               |
  801.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+     Originating switch MAC    +
  802. 36 |                                                               |
  803.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  804. 40 |                                                               |
  805.    +   Previous owner switch MAC   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  806. 44 |                               |                               |
  807.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
  808. 48 |                                                               :
  809.    :                    MAC address of new user                    +
  810.    |                                                               |
  811.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  812. 70 |     Count     |                                               |
  813.    +-+-+-+-+-+-+-+-+                                               +
  814. 74 |                          Resolve list                         |
  815.    :                                                               :
  816.    |                                                               |
  817.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  818.  
  819.    In the following description of the message fields, the term 
  820.    "originating" switch refers to the switch that issued the 
  821.    original Interswitch New User request.  The term "previous 
  822.    owner" switch refers to that switch to which the end station 
  823.    was previously attached.  And the term "responding" switch 
  824.    refers to either the "previous owner" switch or to a switch at 
  825.    the end of the control path that did not own the end station 
  826.    but issues an Interswitch New User response because it has no 
  827.    downstream neighbors.
  828.  
  829.  
  830.  
  831. K. Dobbins, et. al.                                       [Page 14]
  832.  
  833. DRAFT            ARLD Protocol Specification          April 1997
  834.  
  835.    With the exception of the resolve list, all fields of an 
  836.    Interswitch New User message are allocated by the originating 
  837.    switch, and unless otherwise noted below, are written by the 
  838.    originating switch.
  839.  
  840.  
  841.    Frame header/ISMP packet header
  842.  
  843.       This 20-octet field contains the frame header and the ISMP 
  844.       packet header.
  845.  
  846.    ARLD version
  847.  
  848.       This 2-octet field contains the version number of the ARLD 
  849.       protocol to which this message adheres.  This document 
  850.       describes ARLD Version 1. 
  851.  
  852.    Opcode
  853.  
  854.       This 2-octet field contains the operation code of the 
  855.       message.  Valid values are as follows:
  856.  
  857.          1    (unused in a New User message)
  858.          2    (unused in a New User message)
  859.          3    The message is a New User request.
  860.          4    The message is a New User response.
  861.  
  862.       The originating switch writes a value of 3 to this field, 
  863.       while the responding switch writes a value of 4.
  864.  
  865.    Status
  866.  
  867.       This 2-octet field contains the status of a New User 
  868.       response message.  Valid values are as follows:
  869.  
  870.          0    The end station VLAN(s) was successfully resolved 
  871.               (NewUserAck).  
  872.          1    (unused)
  873.          2    The end station VLAN(s) was not resolved 
  874.               (NewUserUnknown).
  875.  
  876.       This field is written by the responding switch.
  877.  
  878.    Call tag
  879.  
  880.       This 2-octet field contains the call tag of the end station 
  881.       packet for which this New User request is issued.  The call 
  882.       tag is a 16-bit value (generated by the originating switch) 
  883.       that uniquely identifies the packet that caused the switch 
  884.       to identify the end station as a new user.
  885.  
  886.  
  887.  
  888.  
  889. K. Dobbins, et. al.                                       [Page 15]
  890.  
  891. DRAFT            ARLD Protocol Specification          April 1997
  892.  
  893.    Source MAC of packet
  894.  
  895.       This 6-octet field contains the physical (MAC) address of 
  896.       the end station that originated the packet identified by the 
  897.       call tag. 
  898.  
  899.    Originating switch MAC
  900.  
  901.       This 6-octet field contains the physical (MAC) address of 
  902.       the switch that issued the original New User request.
  903.  
  904.    Previous owner switch MAC
  905.  
  906.       This 6-octet field contains the physical (MAC) address of 
  907.       the switch to which the end station was previously attached 
  908.       -- that is, the switch that was able to resolve the VLAN 
  909.       information.  This field is written by the previous owner 
  910.       switch.
  911.  
  912.       If the status of the response is Unknown, this field is 
  913.       irrelevant.
  914.  
  915.    MAC address of new user
  916.  
  917.       This 24-octet field contains the physical (MAC) address of 
  918.       the new user end-station, stored in Tag/Length/Value format.
  919.  
  920.    Count
  921.  
  922.       This 1-octet field contains the number of VLAN identifiers 
  923.       returned.  This is the number of items in the resolve list.  
  924.       This field is written by the previous owner switch.
  925.  
  926.       If the status of the response is Unknown, this field and the 
  927.       resolve list are irrelevant.
  928.  
  929.    Resolve list
  930.  
  931.       This variable-length field contains a list of the VLAN 
  932.       identifiers of all static VLANs to which the end station 
  933.       belongs, stored in  Tag/Length/Value format.  The number of 
  934.       entries in the list is specified in the count field.  This 
  935.       list is written by the previous owner switch.
  936.  
  937.       If the status of the response is Unknown, this field is 
  938.       irrelevant.
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947. K. Dobbins, et. al.                                       [Page 16]
  948.  
  949. DRAFT            ARLD Protocol Specification          April 1997
  950.  
  951. References
  952.  
  953.    [RFC1700]    Reynolds, S.J., Postel, J.  Assigned Numbers.  
  954.                 October 1994.
  955.  
  956.    Dobbins, K., et. al.  ARLD Protocol Specification
  957.    Work in Progress.
  958.  
  959.    Dobbins, K., et. al.  ISM Protocol Specification
  960.    Work in Progress.
  961.  
  962.    Dobbins, K., et. al.  LSMP Protocol Specification
  963.    Work in Progress.
  964.  
  965.    Dobbins, K., et. al.  SBCD Protocol Specification
  966.    Work in Progress.
  967.  
  968.    Dobbins, K., et. al.  SNDM Protocol Specification
  969.    Work in Progress.
  970.  
  971.   Dobbins, K., et. al.  VLS Protocol Specification
  972.   Work in Progress.
  973.  
  974. Security Considerations
  975.  
  976.    Security issues are not discussed in this document.
  977.  
  978. Authors' Addresses
  979.  
  980.    Cabletron Systems, Inc., is located at:
  981.  
  982.       Post Office Box 5005
  983.       Rochester, NH  03866-5005
  984.       (603) 332-9400
  985.  
  986.    Kurt Dobbins      Email:  dobbins@ctron.com
  987.    Tom Grant         Email:  tgrant@ctron.com
  988.    Dave Ruffen       Email:  ruffen@ctron.com
  989.    Eric Ziegler      Email:  ziegler@ctron.com
  990.  
  991.  
  992.  
  993. INTERNET-DRAFT      EXPIRES: OCTOBER 1997      INTERNET-DRAFT
  994.