home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_u_z / draft-ietf-vrrp-spec-00.txt < prev    next >
Text File  |  1997-06-24  |  36KB  |  1,007 lines

  1.  
  2.  
  3. INTERNET-DRAFT                                                 S. Knight
  4. June 22, 1997                                Ascend Communications, Inc.
  5.                                                                D. Weaver
  6.                                              Ascend Communications, Inc.
  7.                                                               D. Whipple
  8.                                                          Microsoft, Inc.
  9.                                                                R. Hinden
  10.                                                   Ipsilon Networks, Inc.
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                    Virtual Router Redundancy Protocol
  18.  
  19.                      <draft-ietf-vrrp-spec-00.txt>
  20.  
  21.  
  22.  
  23. Status of this Memo
  24.  
  25.    This document is an Internet-Draft.  Internet-Drafts are working
  26.    documents of the Internet Engineering Task Force (IETF), its areas,
  27.    and its working groups.  Note that other groups may also distribute
  28.    working documents as Internet-Drafts.
  29.  
  30.    Internet-Drafts are draft documents valid for a maximum of six months
  31.    and may be updated, replaced, or obsoleted by other documents at any
  32.    time.  It is inappropriate to use Internet- Drafts as reference
  33.    material or to cite them other than as ``work in progress.''
  34.  
  35.    To learn the current status of any Internet-Draft, please check the
  36.    ``1id-abstracts.txt'' listing contained in the Internet- Drafts
  37.    Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net
  38.    (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
  39.    Rim).
  40.  
  41.    This internet draft expires on December 23, 1997.
  42.  
  43. Abstract
  44.  
  45.    The memo documents the Virtual Router Redundancy Protocol.  This is a
  46.    protocol which allows several routers to utilize the same virtual IP
  47.    address.  One router will be elected as a master, with X routers
  48.    acting as backups in case of failure of the master router.  The
  49.    primary advantage to utilizing this protocol, is that host systems
  50.    may be configured with a single default gateway, rather than running
  51.  
  52.  
  53.  
  54. draft-ietf-vrrp-spec-00.txt                                     [Page 1]
  55.  
  56. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  57.  
  58.  
  59.    an active routing protocol.  Each interface on each router within a
  60.    VRRP cluster, will be configured with a real IP address, and the
  61.    virtual IP address for the particular cluster.  Overall, this
  62.    protocol adds to the options for providing fault redundancy for
  63.    router networks.
  64.  
  65.  
  66. Table Of Contents
  67.  
  68.    1.  Introduction...............................................3
  69.    2.  Scope......................................................3
  70.    3.  Definitions................................................4
  71.    4.  Sample Configurations......................................4
  72.       4.1   Sample Configuration 1................................4
  73.       4.2   Sample Configuration 2................................5
  74.    5.  Protocol...................................................6
  75.       5.1   VRRP Packet Format....................................6
  76.       5.2   IP Field Descriptions.................................6
  77.       5.3   VRRP Field Descriptions...............................7
  78.    6.  Protocol State Machine.....................................9
  79.       6.1 Parameters..............................................9
  80.       6.2 Timers.................................................10
  81.       6.3  State Transition Diagram..............................10
  82.       6.4  State Descriptions....................................10
  83.       6.5  State Table...........................................12
  84.    7.  Sending and Receiving VRRP Packets........................14
  85.       7.1  Receiving VRRP Packets................................14
  86.       7.2 Transmitting Packets...................................14
  87.       7.3 Virtual MAC Address....................................15
  88.    8.  Host Operation............................................15
  89.       8.1   Host ARP Requests....................................15
  90.    9.  Operational Issues........................................15
  91.       9.1 ICMP Redirects.........................................15
  92.       9.2 Proxy ARP..............................................15
  93.       9.3 Network Management.....................................16
  94.    10. Operation over Token Ring.................................16
  95.    11. References................................................17
  96.    12. Security Considerations...................................17
  97.    13. Authors' Addresses........................................17
  98.    14. Acknowledgments...........................................17
  99.    15. Changes from Previous Drafts..............................18
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110. draft-ietf-vrrp-spec-00.txt                                     [Page 2]
  111.  
  112. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  113.  
  114.  
  115. 1.  Introduction
  116.  
  117.    The reason for the development of VRRP is to create a standard
  118.    protocol, with multi-vendor support to resolve the problem of router
  119.    failure.  Specifically, when a single router is utilized as a default
  120.    gateway, and all hosts are statically configured to this default
  121.    gateway, a failure is catastrophic.  VRRP resolves this problem by
  122.    creating virtual clusters, where each cluster is configured with a
  123.    set of member routers.  Each member router is either a master router
  124.    for the cluster or a backup router for the cluster, but not both
  125.    simultaneously. In addition, there MUST only be a single master
  126.    router per cluster, at any given time. All member routers are
  127.    configured to be part of a cluster, with a given virtual IP address.
  128.    This virtual IP address is utilized as the default gateway on all of
  129.    the host systems.  Given a failure on the current master router, the
  130.    next appropriate backup router will become the master router for the
  131.    given cluster.  When routers are configured with the equal priority
  132.    the router which is master will stay master as long as it is up.
  133.  
  134.    Of course this problem could be solved by running a standard routing
  135.    protocol such as OSPF, RIP, or RIPv2 on the hosts.  However, this is
  136.    not always feasible due to either security issues, when hosts are
  137.    multihomed, or in some cases implementations of these routing
  138.    protocols simply do not exist.
  139.  
  140.    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  141.    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  142.    document are to be interpreted as described in [RFC 2119].
  143.  
  144.  
  145. 2.  Scope
  146.  
  147.    This memo describes the Virtual Router Redundancy Protocol.
  148.  
  149.    This protocol is intended for IPv4 only.  A version for IPv6 will be
  150.    defined in a separate specification.
  151.  
  152.    Within the scope of this specification are:
  153.  
  154.       1.  Packet format and header contents.
  155.       2.  State Diagrams and Descriptions
  156.       3.  Network Design Samples
  157.  
  158.    Outside of the scope are
  159.  
  160.       1.  Network management
  161.       2.  Host internal optimizations
  162.  
  163.  
  164.  
  165.  
  166. draft-ietf-vrrp-spec-00.txt                                     [Page 3]
  167.  
  168. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  169.  
  170.  
  171. 3.  Definitions
  172.  
  173.    Cluster
  174.  
  175.       Used to describe a set of routers who all have membership to the
  176.       set of routers S, where S contains all routers configured with
  177.       the same virtual IP address.
  178.  
  179.    Master Router
  180.  
  181.       Used to describe the currently active router, for a particular
  182.       cluster, with a particular virtual IP address.  Their can only be
  183.       one master router in a particular cluster.
  184.  
  185.    Backup Router
  186.  
  187.       Used to describe a router which is configured to act as a backup
  188.       for a particular cluster.  There can be several backup routers in
  189.       a single cluster.
  190.  
  191.  
  192. 4.  Sample Configurations
  193.  
  194. 4.1  Sample Configuration 1
  195.  
  196.    The following figure shows a simple VRRP network.
  197.  
  198.                        +--------------------------+
  199.                        |        Cluster X         |
  200.                        |                          |
  201.                        |   +-----+      +-----+   |
  202.                        |   | MRX |      | BRX |   |
  203.                        |   +-----+      +-----+   |
  204.          Real IP 1 ---------->*            *<---------- Real IP 2
  205.                        |      |      *     |      |
  206.                        +-------------^------------+
  207.                               |      |     |
  208.            -------------------+------|-----+-----+-------------+------
  209.                                      |           ^             ^
  210.                  Virtual IP --(VIPX)-+         (VIPX)        (VIPX)
  211.                                                  |             |
  212.                                               +--+--+       +--+--+
  213.                                               |  H1 |       |  H2 |
  214.                                               +-----+       +-----+
  215.  
  216.    The above configuration shows the most likely utilization of the VRRP
  217.    protocol. In this configuration, the hosts simply point their default
  218.    routes at the virtual IP address X (VIPX), and the routers run VRRP
  219.  
  220.  
  221.  
  222. draft-ietf-vrrp-spec-00.txt                                     [Page 4]
  223.  
  224. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  225.  
  226.  
  227.    between themselves.  The router on the left is the default master
  228.    router (MRX), and the router on the right is the backup router (BRX).
  229.  
  230.       Legend:  ---+---+---+--  =  802 network, Ethernet or FDDI
  231.                             H  =  Host computer
  232.                            MR  =  Master Router
  233.                            BR  =  Backup Router
  234.                             *  =  IP Address
  235.                           VIP  =  default gateway for hosts (Virtual IP)
  236.  
  237.  
  238. 4.2  Sample Configuration 2
  239.  
  240.    The following figure shows a more interesting VRRP network.
  241.  
  242.                   +--------------------------+
  243.                   | Cluster X and Cluster Y  |
  244.                   |                          |
  245.                   |   +-----+      +-----+   |
  246.                   |   | MRX |      | BRX |   |
  247.                   |   |  &  |      |  &  |   |
  248.                   |   | BRY |      | MRY |   |
  249.                   |   +-----+      +-----+   |
  250.     Real IP 1 ---------->*            *<---------- Real IP 2
  251.                   |      |  *      *  |      |
  252.                   +---------^------^---------+
  253.                          |  |      |  |
  254.        ------------------+--|------|--+-----+--------+--------+--------+--
  255.                             |      |        ^        ^        ^        ^
  256.         Virtual IP --(VIPX)-+      |      (VIPX)   (VIPY)   (VIPX)   (VIPY)
  257.                                    |        |        |        |        |
  258.         Virtual IP --(VIPY)--------+     +--+--+  +--+--+  +--+--+  +--+--+
  259.                                          |  H1 |  |  H2 |  |  H3 |  |  H4 |
  260.                                          +-----+  +-----+  +--+--+  +--+--+
  261.  
  262.    In the above configuration, half of the hosts point their default
  263.    gateway at cluster X's virtual IP address (VIPX), and half the hosts
  264.    point their default gateway at cluster Y's virtual IP address (VIPY).
  265.    This has the effect of load balancing the outgoing traffic, while
  266.    also providing full redundancy.
  267.  
  268.       Legend:  ---+---+---+--  =  802 network, Ethernet or FDDI
  269.                             H  =  Host computer
  270.                            MR  =  Master Router
  271.                            BR  =  Backup Router
  272.                             *  =  IP Address
  273.                           VIP  =  default gateway for hosts (Virtual IP)
  274.  
  275.  
  276.  
  277.  
  278. draft-ietf-vrrp-spec-00.txt                                     [Page 5]
  279.  
  280. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  281.  
  282.  
  283. 5.  Protocol
  284.  
  285.    The purpose of the VRRP packet is to communicate to all other VRRP
  286.    routers both the priority and the state of the master's associated
  287.    interface.
  288.  
  289.    VRRP packets are sent encapsulated in IP packets.  They are sent to
  290.    an IPv4 multicast address assigned for VRRP.
  291.  
  292. 5.1  VRRP Packet Format
  293.  
  294.    This section defines the format of the VRRP packet and the relevant
  295.    fields in the IP header.
  296.  
  297.        0                   1                   2                   3
  298.        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
  299.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  300.     0 |    Version    | VRRP Cluster  |   Priority    |     Type      |
  301.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  302.     1 |   Auth Type   |   Adver Int   |          Checksum             |
  303.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  304.     2 |                      Virtual IP address                       |
  305.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  306.     3 |                      Authentication Data                      |
  307.       +---------------------------------------------------------------+
  308.     4 |                                                               |
  309.       +---------------------------------------------------------------+
  310.  
  311.  
  312. 5.2  IP Field Descriptions
  313.  
  314. 5.2.1  Source Address
  315.  
  316.    The real IP address of the interface the packet is being sent from.
  317.  
  318. 5.2.2  Destination Address
  319.  
  320.    The VRRP IP multicast address assigned by the IANA.  It is defined to
  321.    be:
  322.  
  323.        224.0.0.(TBD IANA assignment)
  324.  
  325.    This is a link local scope multicast address.  Routers should not
  326.    forward a datagram with this destination address regardless of its
  327.    TTL.
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. draft-ietf-vrrp-spec-00.txt                                     [Page 6]
  335.  
  336. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  337.  
  338.  
  339. 5.2.3  TTL
  340.  
  341.    The TTL should be set to 255.  A VRRP router receiving a packet with
  342.    the TTL not equal to 255 MUST discard the packet.
  343.  
  344. 5.2.4  Protocol
  345.  
  346.    The VRRP IP protocol number assigned by the IANA.  It is defined to
  347.    be (TBD).
  348.  
  349. 5.3 VRRP Field Descriptions
  350.  
  351. 5.3.1  Version
  352.  
  353.    The version field specifies the VRRP protocol version of this packet.
  354.    This document defines version 1.
  355.  
  356. 5.3.2  VRRP Cluster
  357.  
  358.    The VRRP Cluster field specifies the cluster this packet applies to.
  359.    Note:  The interface may participate in more than one VRRP cluster
  360.    simultaneously, perhaps serving as master in one cluster, while
  361.    simultaneously serving as backup in other clusters.
  362.  
  363. 5.3.3  Priority
  364.  
  365.    The priority field specifies the currently configured VRRP priority
  366.    value for this interface and cluster.  Higher values equal higher
  367.    priority.  This field is an 8 bit unsigned field, giving 1 as the
  368.    minimum priority, and 255 as the maximum priority.  The default
  369.    priority is 100 (decimal).
  370.  
  371.    Priority value of zero (0) has a special meaning.  It means that the
  372.    current master had decided to stop running VRRP.  This is used to
  373.    cause other backup routers to quickly become master with out having
  374.    to timeout the current master.
  375.  
  376.    In the event that two or more routers within a cluster have equal
  377.    priority, and that priority is the highest priority in the cluster,
  378.    initially the router with the higher real interface IP address
  379.    (interpreted as a 32 bit unsigned integer) will become master.  Any
  380.    new router joining the cluster with the same priority will not become
  381.    master even if it has a higher IP address unless the current master
  382.    goes down.
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390. draft-ietf-vrrp-spec-00.txt                                     [Page 7]
  391.  
  392. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  393.  
  394.  
  395. 5.3.4  Type
  396.  
  397.    The type field specifies the type of this VRRP packet.  The only
  398.    packet type defined in this version of the protocol is:
  399.  
  400.        1      ADVERTISEMENT
  401.  
  402.    All other values are currently unknown, and if a packet is received
  403.    with a value not listed, it should be discarded.
  404.  
  405. 5.3.5  Authentication Type
  406.  
  407.    The authentication type field identifies the authentication method
  408.    being utilized.  The current supported authentications are listed
  409.    below:
  410.  
  411.       0 - No authentication
  412.       1 - Simple text authentication
  413.       2 - IP Security Option Authentication
  414.  
  415.    For simple text authentication any VRRP packet with an authentication
  416.    string that does not match its configured authentication string
  417.    should be discarded.
  418.  
  419.    The authentication type field is an 8 bit number and must be one of
  420.    the above listed values.
  421.  
  422. 5.3.5.1 IP Security Option Authentication
  423.  
  424.    When authentication is performed by using the IP Authentication
  425.    Header as specified in [AUTH], the Authentication type should be set
  426.    to "2".  If packet is received with the Authentication type set to
  427.    "2" indicating IP security option authentication and no
  428.    authentication header is present in the packet, the packet should be
  429.    discarded.
  430.  
  431. 5.3.6 Advertisement Interval (Adver Int)
  432.  
  433.    This field is the time interval for Master to Send ADVERTISEMENTS.
  434.    Default is 1 second.  This field is used for troubleshooting
  435.    misconfigured routers.
  436.  
  437. 5.3.7 Checksum
  438.  
  439.    The checksum field is used to detect data corruption in the VRRP
  440.    message.
  441.  
  442.    The checksum is the 16-bit one's complement of the one's complement
  443.  
  444.  
  445.  
  446. draft-ietf-vrrp-spec-00.txt                                     [Page 8]
  447.  
  448. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  449.  
  450.  
  451.    sum of the entire VRRP message starting with the version field.  For
  452.    computing the checksum, the checksum field is set to zero.
  453.  
  454.  
  455. 5.3.8  Virtual IP address
  456.  
  457.    The virtual IP address field specifies the Virtual IP (VIP) address
  458.    associated with the particular cluster.  This field is used for
  459.    troubleshooting misconfigured routers.
  460.  
  461.    The VIP should be an IP address assigned from the subnet that the
  462.    interface is attached.
  463.  
  464. 5.3.9  Authentication Data
  465.  
  466.    The authentication string is currently utilized for simple text
  467.    authentication, similar to the simple text authentication found in
  468.    OSPF.  It is up to 8 characters of plain text.  If the configured
  469.    authentication string is shorter than 8 bytes, the remaining space
  470.    MUST be zero-filled. Any VRRP packet with an authentication string
  471.    that does not match its configured authentication string should be
  472.    discarded. The authentication string is unique on a per cluster
  473.    basis.
  474.  
  475. 6.  Protocol State Machine
  476.  
  477. 6.1 Parameters
  478.  
  479.  
  480.     Cluster_ID              Cluster identifier.  Configured item.
  481.  
  482.     Priority                Priority value for this cluster.  Configured
  483.                             item.  Default is 100 (decimal).
  484.  
  485.     Virtual_IP              Virtual IP Address for this cluster.
  486.                             Configured item.
  487.  
  488.     Advertisement_Interval  Time interval for Master to Send
  489.                             ADVERTISEMENTS.  Default is 1 second.
  490.  
  491.     Skew_Time               Calculated time to skew
  492.                             Master_Down_Interval.  Defined to be:
  493.  
  494.                                ( (256 - Priority) / 256 )
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502. draft-ietf-vrrp-spec-00.txt                                     [Page 9]
  503.  
  504. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  505.  
  506.  
  507.     Master_Down_Interval    Time interval for Backup to declare Master
  508.                             down.  Defined to be:
  509.  
  510.                                (3 * Advertisement_Interval) + Skew_time
  511.  
  512.                             seconds.
  513.  
  514.  
  515. 6.2 Timers
  516.  
  517.     Master_Down_Timer       Timer which fires when Master has not been
  518.                             heard for Master_Down_Interval.
  519.  
  520.     Adver_Timer             Timer which fires when time to send next
  521.                             ADVERTISEMENT based on
  522.                             Advertisement_Interval.
  523.  
  524.  
  525.  
  526. 6.3  State Transition Diagram
  527.  
  528.                           +---------------+
  529.                           |               |<-------------+
  530.                +--------->|  Initialize   |              |
  531.                |          |               |----------+   |
  532.                |          +---------------+          |   |
  533.                |                                     |   |
  534.                |                                     V   |
  535.        +---------------+                       +---------------+
  536.        |               |---------------------->|               |
  537.        |    Master     |                       |    Backup     |
  538.        |               |<----------------------|               |
  539.        +---------------+                       +---------------+
  540.  
  541. 6.4  State Descriptions
  542.  
  543.    In the below state descriptions, the state names will be identified
  544.    as follows {state-name}, and the packets will be identified by
  545.    utilizing all upper case characters.
  546.  
  547. 6.4.1   Initialize
  548.  
  549.    {Initialize} is the initial state an interface takes when VRRP is
  550.    enabled or disabled.  The basic function of the state is to wait for
  551.    a startup event.  When that is received it:
  552.  
  553.       - Set the Master_Down_Timer to Master_Down_Interval
  554.  
  555.  
  556.  
  557.  
  558. draft-ietf-vrrp-spec-00.txt                                    [Page 10]
  559.  
  560. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  561.  
  562.  
  563.       - Set state to {Backup} state.
  564.  
  565. 6.4.2   Backup
  566.  
  567.    The main purpose of {Backup} state is for an interface to wait for
  568.    the current master to stop sending ADVERTISEMENT packets.
  569.  
  570.    While in this state, an interface should do the following:
  571.  
  572.       - Should not respond to ARP request for the interface VIP router
  573.          address
  574.  
  575.       - Should discard packets with destination link layer MAC address
  576.          equal to virtual router MAC.
  577.  
  578.       - Should discard packets addressed to the interface VIP address.
  579.  
  580.       - If Master_Down_Timer fires, Send ADVERTISEMENT, set Adver_Timer
  581.          to Advertisement_Interval, and set state to {Master} state
  582.  
  583.       - If ADVERTISEMENT received,
  584.  
  585.             If Priority of the received ADVERTISEMENT is Zero, then set
  586.             Mater_Down_Timer to Skew_Time.
  587.  
  588.             If Priority of the received ADVERTISEMENT is greater than
  589.             this interfaces Priority, then reset Master_Down_Timer.
  590.  
  591.             If Priority of the received ADVERTISEMENT is equal to this
  592.             interfaces Priority, then reset Master_Down_Timer.
  593.  
  594.             If Priority of the received ADVERTISEMENT is lower than this
  595.             interfaces Priority, then discard ADVERTISEMENT.
  596.  
  597. 6.4.3   Master
  598.  
  599.    In {Master} state an interface is functioning as the actual physical
  600.    router for the virtual router IP and MAC address.
  601.  
  602.    While in this state, an interface should do the following:
  603.  
  604.    - Accept and forward traffic for the virtual router MAC address.
  605.  
  606.    - Respond to ARP requests for the VIP address with the virtual router
  607.       MAC address.
  608.  
  609.    - Respond to packets addressed to the VIP address.
  610.  
  611.  
  612.  
  613.  
  614. draft-ietf-vrrp-spec-00.txt                                    [Page 11]
  615.  
  616. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  617.  
  618.  
  619.    - If Adver_Timer fires, send a ADVERTISEMENT and reset Adver_Timer.
  620.  
  621.    - If ADVERTISEMENT received,
  622.  
  623.          If Priority of the received ADVERTISEMENT is higher than this
  624.          interfaces Priority, then cancel Adver_Timer, Set
  625.          Master_Down_Timer, and set state to {Backup}.
  626.  
  627.          If Priority of the received ADVERTISEMENT is equal to this
  628.          interfaces Priority, then:
  629.  
  630.             If IP Address of sender of ADVERTISEMENT is higher than this
  631.             interfaces IP Address, then cancel Adver_Timer, Set
  632.             Master_Down_Timer, and set state to {Backup}.
  633.  
  634.             If IP Address of sender of ADVERTISEMENT is lower than this
  635.             interfaces IP Address, discard ADVERTISEMENT.
  636.  
  637.          If Priority of the received ADVERTISEMENT is lower than this
  638.          interfaces Priority, discard ADVERTISEMENT.
  639.  
  640.  
  641. 6.5  State Table
  642.  
  643.    +---------------+---------------+---------------+---------------+
  644.    |Current State->| {Initialize}  |   {Backup}    |   {Master}    |
  645.    |               |               |               |               |
  646.    |    Event      |               |               |               |
  647.    |      |        |               |               |               |
  648.    |      V        |               |               |               |
  649.    +---------------+---------------+---------------+---------------+
  650.    |               | Set Master_   |               |               |
  651.    | Startup       |  Down_Timer   |               |               |
  652.    |               | State =       |               |               |
  653.    |               |  Backup       |               |               |
  654.    +---------------+---------------+---------------+---------------+
  655.    |               |               | Cancel Master_| Cancel Adver_ |
  656.    | Shutdown      | Ignore        |  Down_Timer   |  Timer        |
  657.    |               | Event         | State =       | Send ADVER w/ |
  658.    |               |               |  Initialize   |  Priority=0   |
  659.    |               |               |               | State = Init. |
  660.    +---------------+---------------+---------------+---------------+
  661.    |               |               | Send          |               |
  662.    | Master_Down_  |               |  ADVERTISEMENT|               |
  663.    | Timer fires   |               | Set Adver_    |               |
  664.    |               |               |  Timer        |               |
  665.    |               |               | State = Master|               |
  666.  
  667.  
  668.  
  669.  
  670. draft-ietf-vrrp-spec-00.txt                                    [Page 12]
  671.  
  672. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  673.  
  674.  
  675.    +---------------+---------------+---------------+---------------+
  676.    | Adver_Timer   |               |               | Send ADVER.   |
  677.    | fires         |               |               | Reset Adver_  |
  678.    |               |               |               |  Timer        |
  679.    +---------------+---------------+---------------+---------------+
  680.    | Receive VRRP  |               | Set Master_   | Send ADVER.   |
  681.    | ADVERTISEMENT |               |  Down_Timer=  | Reset Adver_  |
  682.    | with Priority |               | Skew_Timer    |  Timer        |
  683.    | equal Zero    |               |               |               |
  684.    +---------------+---------------+---------------+---------------+
  685.    | Receive VRRP  |               |               | Cancel Adver_ |
  686.    | ADVERTISEMENT |               | Reset         |  Timer        |
  687.    | with Higher   |               | Master_Down_  | Set Master__  |
  688.    | Priority      |               | Timer         |  Down_Timer   |
  689.    |               |               |               | State = Backup|
  690.    +---------------+---------------+---------------+---------------+
  691.    | Receive VRRP  |               |               | Cancel Adver_ |
  692.    | ADVERTISEMENT |               | Reset         |  Timer        |
  693.    | with Equal    |               | Master_Down_  | Set Master__  |
  694.    | Priority      |               | Timer         |  Down_Timer   |
  695.    | and Higher IP |               |               | State = Backup|
  696.    | Address       |               |               |               |
  697.    +---------------+---------------+---------------+---------------+
  698.    | Receive VRRP  |               |               |               |
  699.    | ADVERTISEMENT |               | Reset         |  Discard      |
  700.    | with Equal    |               | Master_Down   |  Packet       |
  701.    | Priority      |               | Timer         |               |
  702.    | and Lower IP  |               |               |               |
  703.    | Address       |               |               |               |
  704.    +---------------+---------------+---------------+---------------+
  705.    | Receive VRRP  |               |               |               |
  706.    | ADVERTISEMENT |               | Discard       |  Discard      |
  707.    | with Lower    |               | Packet        |  Packet       |
  708.    | Priority      |               |               |               |
  709.    +---------------+---------------+---------------+---------------+
  710.    | Receive ARP   |               |               |  Send ARP     |
  711.    | Request for   |               | Discard       |  Reply w/     |
  712.    | VIP address   |               | Packet        |  VMAC         |
  713.    +---------------+---------------+---------------+---------------+
  714.    | Receive IP    |               |               |  Process as   |
  715.    | packet w/     |               |               |  Normal IP    |
  716.    | Destination   |               |               |  Packet sent  |
  717.    | = VIP         |               |               |  to Router    |
  718.    +---------------+---------------+---------------+---------------+
  719.    | Receive IP    |               |               |  Process and  |
  720.    | packet w/     |               |               |  Forward as   |
  721.    | Dest. MAC     |               |               |  Normal IP    |
  722.    | = VMAC        |               |               |  Packet       |
  723.  
  724.  
  725.  
  726. draft-ietf-vrrp-spec-00.txt                                    [Page 13]
  727.  
  728. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  729.  
  730.  
  731.    +---------------+---------------+---------------+---------------+
  732.    | Unknown VRRP  |               | Discard       |  Discard      |
  733.    | packet        |               | Packet        |  Packet       |
  734.    +---------------+---------------+---------------+---------------+
  735.  
  736.  
  737. 7.  Sending and Receiving VRRP Packets
  738.  
  739.  
  740. 7.1  Receiving VRRP Packets
  741.  
  742.    The following rules must be performed when a VRRP packet is received:
  743.  
  744.       - Verify TTL = 255.
  745.       - Verify that received packet length is greater or equal to VRRP
  746.         header length.
  747.       - Verify checksum in packet
  748.       - Verify version
  749.       - Verify Source address does not equal interface IP address
  750.       - Verify Cluster identifier valid on received interface
  751.       - Perform indicated authentication
  752.       - Verify VIP in packet is same as configured VIP for this cluster
  753.       - Verify Adver Interval in packet is same as configured VIP for
  754.         this cluster
  755.  
  756.    If one of these checks fails, the receiver should discard the packet,
  757.    log the event and indicate via network management that an error
  758.    occurred.
  759.  
  760.  
  761. 7.2 Transmitting Packets
  762.  
  763.    The following operations must be performed prior to transmitting a
  764.    VRRP packet.
  765.  
  766.       - Fill in packet fields with appropriate interface and cluster
  767.         information
  768.       - Compute Checksum
  769.       - Set source MAC to Virtual MAC Address
  770.       - Send to VRRP IP Multicast Group
  771.  
  772.    Note: VRRP packets are transmitted with the Virtual MAC address as
  773.    the source MAC to ensure that learning bridges correctly determine
  774.    the LAN segment the virtual MAC is attached to.
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782. draft-ietf-vrrp-spec-00.txt                                    [Page 14]
  783.  
  784. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  785.  
  786.  
  787. 7.3 Virtual MAC Address
  788.  
  789.    The default virtual MAC address associated with the virtual IP
  790.    address is a IEEE 802 MAC Address of the following format:
  791.  
  792.    00-00-5E-XX-XX-{cluster id} (in hex in internet standard bit-order)
  793.  
  794.    The first three octets are the IANA's OUI.  The next two octets (to
  795.    be assigned by the IANA) indicate the address address block assigned
  796.    to the VRRP protocol.  {cluster id} in the last octet is the VRRP
  797.    cluster identifier.  This mapping allows for up to 255 VRRP clusters
  798.    per interface.
  799.  
  800.    Implementations may also allow Virtual MAC addresses to be configured
  801.    for each cluster.
  802.  
  803.  
  804. 8.  Host Operation
  805.  
  806. 8.1  Host ARP Requests
  807.  
  808.    When a client sends a ARP request for the virtual IP address, the
  809.    appropriate master router should respond to the ARP request with the
  810.    above virtual MAC address for the appropriate cluster.  This allows
  811.    the client to always use the same MAC address regardless of the
  812.    current master router.  The request should be handled as a standard
  813.    ARP reply.
  814.  
  815.  
  816. 9.  Operational Issues
  817.  
  818. 9.1 ICMP Redirects
  819.  
  820.    VRRP operation relies on the client host only using the Virtual IP
  821.    address and corresponding Virutal MAC.  It is important that client
  822.    hosts do not learn the real IP address of VRRP routers on LAN
  823.    segment.  Consequentially routers on the same LAN segment MUST NOT
  824.    send ICMP Redirects with the real IP address of any VRRP routers.
  825.  
  826.  
  827. 9.2 Proxy ARP
  828.  
  829.    If Proxy ARP is being used on routers running VRRP, the VRRP routers
  830.    must advertise the Virtual MAC address in the Proxy ARP message.
  831.    Doing otherwise would cause them to learn the real IP address of the
  832.    VRRP routers.
  833.  
  834.  
  835.  
  836.  
  837.  
  838. draft-ietf-vrrp-spec-00.txt                                    [Page 15]
  839.  
  840. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  841.  
  842.  
  843. 9.3 Network Management
  844.  
  845.    It is important that network management tools (e.g., SNMP, Telnet,
  846.    etc.)  always use the real IP addresses of VRRP routers.  This is
  847.    necessary to insure that network management is aware of the real
  848.    status of the VRRP routers (e.g., detect that a router has failed so
  849.    that it can be repaired).
  850.  
  851.  
  852. 10.  Operation over Token Ring
  853.  
  854.    TBD
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894. draft-ietf-vrrp-spec-00.txt                                    [Page 16]
  895.  
  896. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  897.  
  898.  
  899. 11.  References
  900.  
  901.    [AUTH]    Atkinson, R., "IP Authentication Header", RFC 1826, Naval
  902.              Research Laboratory, August 1995.
  903.  
  904.    [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
  905.              Requirement Levels", RFC2119, BCP14, March 1997.
  906.  
  907. 12. Security Considerations
  908.  
  909.    The protocol design supports no authentication, simple text
  910.    authentication, and integrity/authentication/integrity using the IP
  911.    Security options.
  912.  
  913. 13. Author's Addresses
  914.  
  915.    Steven Knight                           Phone: +1 612 943-8990
  916.    Ascend Communications                   EMail: Steven.Knight@ascend.com
  917.    High Performance Network Division
  918.    10250 Valley View Road, Suite 113
  919.    Eden Prairie, MN USA 55344
  920.  
  921.    Douglas Weaver                          Phone: +1 612 943-8990
  922.    Ascend Communications                   EMail: Doug.Weaver@ascend.com
  923.    High Performance Network Division
  924.    10250 Valley View Road, Suite 113
  925.    Eden Prairie, MN USA 55344
  926.  
  927.    David Whipple                           Phone: +1 206 703-3876
  928.    Microsoft Corporation                   EMail: dwhipple@microsoft.com
  929.    One Microsoft Way
  930.    Redmond, WA USA 98052-6399
  931.  
  932.    Robert Hinden                           Phone: +1 408 990-2004
  933.    Ipsilon Networks, Inc.                  EMail: hinden@ipsilon.com
  934.    232 Java Drive
  935.    Sunnyvale, CA 94089
  936.  
  937. 14. Acknowledgments
  938.  
  939.    The authors would like to thank Glen Zorn, and Michael Lane, Clark
  940.    Bremer, Hal Peterson, Danny Mitzel, and Peter Hunt for their comments
  941.    and suggestions.
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950. draft-ietf-vrrp-spec-00.txt                                    [Page 17]
  951.  
  952. INTERNET-DRAFT     Virtual Router Redundancy Protocol       22 June 1997
  953.  
  954.  
  955. 15. Changes from Previous Drafts
  956.  
  957.    Changes from <draft-hinden-vrrp-00.txt>
  958.  
  959.     - Changed default behavior to stay with current master when
  960.       priorities are equal.  This behavior can be changed by configuring
  961.       explicit priorities.
  962.  
  963.     - Changed Master state behavior to not send Advertisements when
  964.       receiving Advertisement with lower priorty.  Change reduces worst
  965.       case election message overhead to "n", where "n" is number of
  966.       configured equal priority VRRP routers.
  967.  
  968.     - Added Skew_Time parameter and changed receiving advertisement with
  969.       zero priority behavior to cause resulting advertisement sent to be
  970.       skewed by priority.
  971.  
  972.     - Changed sending behavior to send VRRP packets with VMAC as source
  973.       MAC and added text describing why this is important for bridged
  974.       environments.
  975.  
  976.     - Changed definition of VMAC to be in IANA assigned unicast MAC
  977.       block.
  978.  
  979.     - Added Advertisement Interval to VRRP header.
  980.  
  981.     - Added text regarding ICMP Redirects, Proxy ARP, and network
  982.       management issues.
  983.  
  984.     - Various small text clarifications.
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006. draft-ietf-vrrp-spec-00.txt                                    [Page 18]
  1007.