Network Working Group A. Celer Internet Draft Expiration Date: December 1999 Nortel (Northern Telecom) Ltd. June 1999 VRRP Extention to Support Dynamic Topology Changes of Virtual Router topology draft-celer-vrrp-ext-00.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 except that the right to produce derivative works is not granted. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This draft defines an extention to Virtual Router Redundancy Protocol (VRRP) [1] which limits the amount of provisioning required to support the VRRP operations. It specifically addresses the scenario when the primary owner of the interfaces leaves the Virual Router group. Table of Contents 1 Introduction ............................................ 2 2 VRRP State Machine ...................................... 2 3 Sending and Receiving VRRP Packets ...................... 5 4 Security Considerations ................................. 6 5 Message Formats ......................................... 6 6 Backward Compatibility .................................. 8 7 Refrences ............................................... 8 8 Author's Address ........................................ 8 Celer, A Internet Draft [Page 1] Internet Draft ietf-draft-vrrp-ext.txt June 1999 1. Introduction The Virtual Router Redundancy Protocol (VRRP) specifies an election protocol that dynamically assigns responsibility for a virtual router to one of the VRRP routers on the LAN. The VRRP router controlling the IP address(es) associated with the virtual router is called the Master, and forwards packets sent to these IP addresses. In case of the Master's failure or deliberate decision to leave the group, the back-up virtual router will assume the forwarding responsibility for these IP addresses. Current protocol definition does not allow for the dynamic removal of the IP address(es) if the router decides to the leave group of routers it belongs to. Currently, the router sends the VRRP advertisement message, specifying priority zero for the addresses. Another router in this virtual router group will assume ownership over these addresses. If the IP address(es) are removed from under Virtual Router control, all routers which participate in this virtual router have to be de-provisioned. The proposed extention to the protocol will allow dynamic removal of IP address(es) associated with router which leaves the virtual router. This draft introduces the new VRRP message type: LEAVE_GROUP which can be used to remove the addresses from the virtual router topology. 2. VRRP State Machine Introduction of the new VRRP message types does not change the Virtual Router definition of states in VRRP state machine. New message type processing is included in appropriate sections. 2.1 Parameters New attribute is added to discribe the 'persistance' of the IP address. It can have one of two values: Dynamic and Static. Dynamic - defines the IP address which should be removed from the Virtual Router in case that shutdown event is received Static - defines the IP address which should remain part of the Virtual Router in case the shutdown event is received. 2.2 Timers The set of timers does not change. 2.3 Initialize State The Initialize state does not change. Celer, A Internet Draft [Page 2] Internet Draft ietf-draft-vrrp-ext.txt June 1999 2.4 Backup State The purpose of the {Backup} state is to monitor the availability and state of the Master Router. While in this state, a VRRP router MUST do the following: - MUST NOT respond to ARP requests for the IP address(s) associated with the virtual router. - MUST discard packets with a destination link layer MAC address equal to the virtual router MAC address. - MUST NOT accept packets addressed to the IP address(es) associated with the virtual router. - If a Shutdown event is received, then: o Cancel the Master_Down_Timer o Transition to the {Initialize} state endif - If the Master_Down_Timer fires, then: o Send an ADVERTISEMENT o Broadcast a gratuitous ARP request containing the virtual router MAC address for each IP address associated with the virtual router o Set the Adver_Timer to Advertisement_Interval o Transition to the {Master} state endif - If an ADVERTISEMENT is received, then: If the Priority in the ADVERTISEMENT is Zero, then: o Set the Master_Down_Timer to Skew_Time else: If Preempt_Mode is False, or If the Priority in the ADVERTISEMENT is greater than or equal to the local Priority, then: o Reset the Master_Down_Timer to Master_Down_Interval else: o Discard the ADVERTISEMENT Celer, A Internet Draft [Page 3] Internet Draft ietf-draft-vrrp-ext.txt June 1999 endif endif endif - If a LEAVE_GROUP is received, then: if priority in LEAVE_GROUP message is 255, then: o Remove the IP address(es) in the message from the database endif endif 2.5 Master State While in the {Master} state the router functions as the forwarding router for the IP address(es) associated with the virtual router. While in this state, a VRRP router MUST do the following: - MUST respond to ARP requests for the IP address(es) associated with the virtual router. - MUST forward packets with a destination link layer MAC address equal to the virtual router MAC address. - MUST NOT accept packets addressed to the IP address(es) associated with the virtual router if it is not the IP address owner. - MUST accept packets addressed to the IP address(es) associated with the virtual router if it is the IP address owner. - If a Shutdown event is received, then: o Cancel the Adver_Timer o If none of the routers in the Virtual Router group runs VRRPv.2 o send an LEAVE_GROUP message with the list of the interfaces to be removed from the Virtual Router; priority is set to 255 endif o send an ADVERTISEMENT with Priority = 0 o Transition to the {Initialize} state endif Celer, A Internet Draft [Page 4] Internet Draft ietf-draft-vrrp-ext.txt June 1999 - If the Adver_Timer fires, then: o Send an ADVERTISEMENT o Reset the Adver_Timer to Advertisement_Interval endif - If an ADVERTISEMENT is received, then: If the Priority in the ADVERTISEMENT is Zero, then: o Send an ADVERTISEMENT o Reset the Adver_Timer to Advertisement_Interval else: If the Priority in the ADVERTISEMENT is greater than the local Priority, or If the Priority in the ADVERTISEMENT is equal to the local Priority and the primary IP Address of the sender is greater than the local primary IP Address, then: o Cancel Adver_Timer o Set Master_Down_Timer to Master_Down_Interval o Transition to the {Backup} state else: o Discard ADVERTISEMENT endif endif endif - If LEAVE_GROUP is received, then: If Priority in the LEAVE_GROUP message is 255, then o remove included IP addresses from the database endif endif 3. Sending and Receiving VRRP Packets The rules for sending and receiving VRRP packets do not differ from those defined in [1] . Celer, A Internet Draft [Page 5] Internet Draft ietf-draft-vrrp-ext.txt June 1999 4. Security Considerations The rules do not differ from those defined in [1] . 5. Message Formats This section defines the format of the VRRP packet. Relevant fields in the IP header are the same as described in [1]. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Type | Virtual Rtr ID| Priority | Count IP Addrs| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Auth Type | Adver Int | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Address (1) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Address (n) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Authentication Data (1) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Authentication Data (2) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.1 Version The version field specifies the VRRP protocol version of this packet. This document defines version 3. 5.2 Type The type field specifies the type of this VRRP packet. There are two packet types defined: 1 ADVERTISEMENT 2 LEAVE_GROUP A packet with unknown type MUST be discarded. 5.3 Virtual Rtr ID (VRID) The Virtual Router Identifier (VRID) field identifies the virtual router this packet is reporting status for. Celer, A Internet Draft [Page 6] Internet Draft ietf-draft-vrrp-ext.txt June 1999 5.2 Type The type field specifies the type of this VRRP packet. There are two packet types defined: 1 ADVERTISEMENT 2 LEAVE_GROUP A packet with unknown type MUST be discarded. 5.3 Virtual Rtr ID (VRID) The Virtual Router Identifier (VRID) field identifies the virtual router this packet is reporting status for. 5.4 Priority The priority field specifies the sending VRRP router's priority for the virtual router. Higher values equal higher priority. This field is an 8 bit unsigned integer field. The priority value for the VRRP router that owns the IP address(es) associated with the virtual router MUST be 255 (decimal). VRRP routers backing up a virtual router MUST use priority values between 1-254 (decimal). The default priority value for VRRP routers backing up a virtual router is 100 (decimal). The priority value zero (0) has special meaning indicating that the current Master has stopped participating in VRRP. This is used to trigger Backup routers to quickly transition to Master without having to wait for the current Master to timeout. In case of LEAVE_GROUP message priority is set to 255 . 5.5 Count IP Addrs The number of IP addresses contained in this VRRP advertisement. 5.6 Authentication Type This draft does not change definition of the Authentication types as defined in [1]. 5.7 Advertisement Interval (Adver Int) This draft does not change definition of the advertisement interval as defined in [1]. Celer, A Internet Draft [Page 7] Internet Draft ietf-draft-vrrp-ext.txt June 1999 5.8 Checksum This draft does not change definition of the checksum as defined in [1]. 5.9 IP Address(es) This draft does not change definition of the IP address(es) as defined in [1]. 5.10 Authentication Data This draft does not change definition of the authentication data as defined in [1]. 6. Backward Compatibility This extension is backward compatible. The router which implements version 3 of VRRP protocol will recognize the presence of version 2 compatible routers in the group, and if it receives the {shutdown} event, it will send the ADVERTISEMENT message with pririty zero (0) only. LEAVE_GROUP message, if removal of its IP address(es) is required will be sent only when all routers which are members of the Virtual Router run VRRP v.3 . In case that at least one router in Vritual Router group does not recognize LEAVE_GROUP message, runs VRRP v.2, it will drop the message, and take ownership of the IP address(es) which belonged to router leaving the Virtual Router group. To remove the IP address(es) from the list, all routers in Virtual Router group will have to go through {shutdown} event. 7. References [1] RFC2338 Virtual Router Redundancy Protocol 8. Author's Address Alicja Celer Nortel (Northern Telecom), Ltd. PO Box 3511 Station C Ottawa ON K1Y 4H7 Canada EMail: aceler@nortelnetworks.com Celer, A Internet Draft [Page 8]