Softwire | Y. Cui |
Internet-Draft | J. Dong |
Intended status: Standards Track | P. Wu |
Expires: December 25, 2016 | M. Xu |
Tsinghua University | |
2013 |
Softwire Mesh Management Information Base (MIB)
draft-ietf-softwire-mesh-mib-02
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular it defines objects for managing softwire mesh [RFC5565].
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on December 25, 2016.
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.
Softwire mesh framework RFC 5565 [RFC5565] is a tunneling mechanism which enables connectivity between islands of IPv4 networks across single IPv6 backbone and vice versa. In softwire mesh, extended multiprotocol-BGP (MP-BGP)is used to set up tunnels and advertise prefixes among address family border routers (AFBRs).
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular it defines objects for managing softwire mesh [RFC5565].
For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). They are defined using the mechanisms stated in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].
This document uses terminology from softwire problem statement RFC 4925 [RFC4925] and softwire mesh framework RFC5565 [RFC5565].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
The softwire mesh MIB provides a method to configure and manage the softwire mesh objects through SNMP.
Since AFBR need to negotiate with BGP peer what kind of tunnel they will use, it should firstly announce the types of tunnels it supports. The swmSupportedTunnlTable subtree provides the information. According to section 4 of RFC 5512[RFC5512], current softwire mesh tunnel types include IP-IP, GRE and L2TPv3.
The swmEncapsTable subtree provides softwire mesh NLRI-NH information about the AFBR. It keeps the mapping between E-IP prefix and I-IP address of next hop. The mappings determine which I-IP destination address will be used to encapsulate the received packet's according to its E-IP destination address. The definitions of E-IP and I-IP are explained in section 4.1 of RFC 5565[RFC5565].
The subtree provides softwire mesh BGP neighbor information of an AFBR. It includes the address of the softwire mesh BGP peer, and the kind of tunnel that the AFBR would use to communicate with this BGP peer.
The subtree provides conformance information of MIB objects.
The Interfaces MIB [RFC2863] defines generic managed objects for managing interfaces. Each logical interface (physical or virtual) has an ifEntry. Tunnels are handled by creating logical interfaces (ifEntry). Being a tunnel, softwire mesh has an entry in the Interface MIB, as well as an entry in IP Tunnel MIB. Those corresponding entries are indexed by ifIndex.
The ifOperStatus in the ifTable would be used to represents whether the mesh function of the AFBR has been triggered. If the software mesh capability is negotiated during the BGP OPEN phase, the mesh function is considered to be started, and the ifOperStatus is "up". Otherwise the ifOperStatus is "down".
In the case of IPv4-over-IPv6 softwire mesh tunnel, the ifInUcastPkts counts the number of IPv6 packets which are sent to the virtual interface for decapsulation into IPv4. The ifOutUcastPkts counts the number of IPv6 packets which are generated by encapsulating IPv4 packets sent to the virtual interface. Particularly, if these IPv4 packets need fragmentation, ifOutUcastPkts counts the number of packets after fragmentation.
In the case of IPv6-over-IPv4 softwire mesh tunnel, the ifInUcastPkts counts the number of IPv4 packets, which are sent to the virtual interface for decapsulation into IPv6. The ifOutUcastPkts counts the number of IPv4 packets, which are generated by encapsulating IPv6 packets sent to the virtual interface. Particularly, if these IPv6 packets need to be fragmented, tifOutUcastPkts counts the number of packets after fragmentation. Similar definition apply to other counting objects in ifTable.
The IP Tunnel MIB [RFC4087] contains objects applicable to all IP tunnels, including softwire mesh. On the other hand, Softwire Mesh MIB extends the IP tunnel MIB to further describe encapsulation-specific information.
Running a point to multi-point tunnel, it is necessary for a softwire mesh AFBR to maintain an encapsulation table, used to perform correct "forwarding" among AFBRs. This forwarding on an AFBR is performed by using the E-IP destination address to look up the I-IP encapsulation destination address in the encapsulation table. An AFBR also needs to know the BGP peer information of the other AFBRs, so that it can negotiate the NLRI-NH information and the tunnel parameters with them.
Softwire mesh requires the implmentation of the IP Tunnel MIB. The tunnelIfEncapsMethod in the tunnelIfEntry should be set to softwireMesh("xx"), and corresponding entry in the softwire mesh MIB module will exist for this tunnelIfEntry. The tunnelIfRemoteInetAddress must be set to 0.0.0.0 for IPv4 or :: for IPv6 because it is a point to multi-point tunnel.
Since tunnelIfAddressType in tunnelIfTable represents the type of address in the corresponding tunnelIfLocalInetAddress and tunnelIfRemoteInetAddress objects, we can use this semantic to specify the type of the softwire mesh, which is either IPv4-over-IPv6 or IPv6-over-IPv4. When tunnelIfAddressType is IPv4, the mesh is IPv6-over-IPv4; When tunnelIfAddressType is IPv6, the encapsulation would be IPv4-over-IPv6.
The following MIB module IMPORTS objects from SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB [RFC2863] and INET-ADDRESS-MIB [RFC4001].
SOFTWIRE-MESH-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, transmission FROM SNMPv2-SMI OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF InetAddress, InetAddressPrefixLength FROM INET-ADDRESS-MIB ifIndex FROM IF-MIB IANAtunnelType FROM IANAifType-MIB; swmMIB MODULE-IDENTITY LAST-UPDATED "201302180000Z" -- February 18, 2013 ORGANIZATION "Softwire Working Group" CONTACT-INFO " Yong Cui Email: yong@csnet1.cs.tsinghua.edu.cn Jiang Dong Email: dongjiang@csnet1.cs.tsinghua.edu.cn Peng Wu Email: weapon@csnet1.cs.tsinghua.edu.cn Mingwei Xu Email: xmw@cernet.edu.cn Email comments directly to the softwire WG Mailing List at softwires@ietf.org " DESCRIPTION "This MIB module contains managed object definitions for the softwire mesh framework." REVISION "201302180000Z" DESCRIPTION "The MIB module is defined for management of object in the Softwire mesh framework." ::= { transmission 999 } --999 to be replaced with correct value swmMIBObjects OBJECT IDENTIFIER ::= { swmMIB 1 } -- swmSupportedTunnelTable swmSupportedTunnelTable OBJECT-TYPE SYNTAX SEQUENCE OF SwmSupportedTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of objects that shows what kind of tunnels can be supported by the AFBR." ::= { swmMIBObjects 1 } swmSupportedTunnelEntry OBJECT-TYPE SYNTAX SwmSupportedTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of objects that shows what kind of tunnels can be supported in the AFBR. If the AFBR supports multiple tunnel types, the swmSupportedTunnelTalbe would have several entries." INDEX { swmSupportedTunnelType } ::= { swmSupportedTunnelTable 1 } SwmSupportedTunnelEntry ::= SEQUENCE { swmSupportedTunnelType IANAtunnelType } swmSupportedTunnelType OBJECT-TYPE SYNTAX IANAtunnelType MAX-ACCESS read-only STATUS current DESCRIPTION "Represents the tunnel type that the AFBR support. " ::= { swmSupportedTunnelEntry 1 } -- end of swmSupportedTunnelTable --swmEncapsTable swmEncapsTable OBJECT-TYPE SYNTAX SEQUENCE OF SwmEncapsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of objects that display and control the softwire mesh encapsulation information." ::= { swmMIBObjects 2 } swmEncapsEntry OBJECT-TYPE SYNTAX SwmEncapsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of objects that manages the softwire mesh I-IP encapsulation destination based on the E-IP destination prefix." INDEX { ifIndex, swmEncapsEIPDst, swmEncapsEIPMask } ::= { swmEncapsTable 1 } SwmEncapsEntry ::= SEQUENCE { swmEncapsEIPDst InetAddress, swmEncapsEIPMask InetAddressPrefixLength, swmEncapsIIPDst InetAddress } swmEncapsEIPDst OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the destination prefix, which is used for I-IP encapsulation destination lookup based on longest prefix match. The address type is opposite to tunnelIfAddressType in tunnelIfTable." ::= { swmEncapsEntry 1 } swmEncapsEIPMask OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS read-only STATUS current DESCRIPTION "The prefix length of E-IP address." ::= { swmEncapsEntry 2 } swmEncapsIIPDst OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The I-IP address as the encapsulated destination according to the E-IP address. The address type is the same as tunnelIfAddressType in tunnelIfTable. Since the tunnelIfRemoteInetAddress in tunnelIfTable should be 0.0.0.0 or ::, swmEncapIIPDst is the destination address used in the outer IP header." ::= { swmEncapsEntry 3 } -- End of swmEncapsTable -- swmBGPNeighborTable swmBGPNeighborTable OBJECT-TYPE SYNTAX SEQUENCE OF SwmBGPNeighborEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of objects that displays the softwire mesh BGP neighbor information." ::= { swmMIBObjects 3 } swmBGPNeighborEntry OBJECT-TYPE SYNTAX SwmBGPNeighborEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of objects that displays the softwire mesh BGP neighbor information." INDEX { ifIndex, swmBGPNeighborInetAddress } ::= { swmBGPNeighborTable 1 } SwmBGPNeighborEntry ::= SEQUENCE { swmBGPNeighborInetAddress InetAddress, swmBGPNeighborTunnelType IANAtunnelType } swmBGPNeighborInetAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the ABFR's BGP neighbor. The address type is the same as tunnelIfAddressType in tunnelIfTable" ::= { swmBGPNeighborEntry 1 } swmBGPNeighborTunnelType OBJECT-TYPE SYNTAX IANAtunnelType MAX-ACCESS read-only STATUS current DESCRIPTION "Represents the type of tunnel that the AFBR chooses to transmit traffic with another AFBR/BGP neighbor" ::= { swmBGPNeighborEntry 2 } -- End of swmBGPNeighborTable -- conformance information swmMIBConformance OBJECT IDENTIFIER ::= { swmMIB 2 } swmMIBCompliances OBJECT IDENTIFIER ::= { swmMIBConformance 1 } swmMIBGroups OBJECT IDENTIFIER ::= { swmMIBConformance 2 } -- compliance statements swmMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Describes the requirements for conformance to the softwire mesh MIB." MODULE -- this module MANDATORY-GROUPS { swmSupportedTunnelGroup, swmEncapsGroup, swmBGPNeighborGroup } ::= { swmMIBCompliances 1 } swmSupportedTunnelGroup OBJECT-GROUP OBJECTS { swmSupportedTunnelType } STATUS current DESCRIPTION "The collection of objects which are used to show what kind of tunnel the AFBR supports." ::= { swmMIBGroups 1 } swmEncapsGroup OBJECT-GROUP OBJECTS { swmEncapsEIPDst, swmEncapsEIPMask, swmEncapsIIPDst } STATUS current DESCRIPTION "The collection of objects which are used to display softwire mesh encapsulation information." ::= { swmMIBGroups 2 } swmBGPNeighborGroup OBJECT-GROUP OBJECTS { swmBGPNeighborInetAddress, swmBGPNeighborTunnelType } STATUS current DESCRIPTION "The collection of objects which are used to display softwire mesh BGP neighbor information." ::= { swmMIBGroups 3 } END
The swmMIB module can be used for configuration of certain objects, and anything that can be configured can be incorrectly configured, with potentially disastrous results. Because this MIB module reuses the IP tunnel MIB, the security considerations of the IP tunnel MIB is also applicable to the Softwire mesh MIB.
SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.
It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).
Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator's responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.
The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry, and the following IANA-assigned tunnelType values recorded in the IANAtunnelType-MIB registry:
Descriptor OBJECT IDENTIFIER value ---------- ----------------------- swmMIB { transmission XXX }
IANAtunnelType ::= TEXTUAL-CONVENTION SYNTAX INTEGER { softwireMesh ("XX") -- softwire Mesh tunnel }
The authors would like to thank Dave Thaler, Jean-Philippe Dionne, Qi Sun, Sheng Jiang, Yu Fu for their valuable comments.
[RFC2223] | Postel, J. and J. Reynolds, "Instructions to RFC Authors", RFC 2223, DOI 10.17487/RFC2223, October 1997. |
[RFC3410] | Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, DOI 10.17487/RFC3410, December 2002. |
[RFC2629] | Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, DOI 10.17487/RFC2629, June 1999. |
[RFC4181] | Heard, C., "Guidelines for Authors and Reviewers of MIB Documents", BCP 111, RFC 4181, DOI 10.17487/RFC4181, September 2005. |
[idguidelines] | IETF Internet Drafts editor, "http://www.ietf.org/ietf/1id-guidelines.txt" |
[idnits] | IETF Internet Drafts editor, "http://www.ietf.org/ID-Checklist.html" |
[xml2rfc] | XML2RFC tools and documentation, "http://xml.resource.org" |
[ops] | the IETF OPS Area, "http://www.ops.ietf.org" |
[ietf] | IETF Tools Team, "http://tools.ietf.org" |