Internet DRAFT - draft-yeung-icmp-vnet

draft-yeung-icmp-vnet






Internet                                                        D. Yeung
Internet-Draft                                             Cisco Systems
Intended status: Informational                                  Feb 2013
Expires: August 5, 2013


                  ICMP Extensions for Virtual Network
                        draft-yeung-icmp-vnet-01

Abstract

   This document specifies the extensions to ICMP that allow virtual
   network information to be included in an ICMP packet.  These
   extensions can be used to facilitate troubleshooting network problems
   within a virtual network or across multiple virtual networks.

Status of This Memo

   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 August 5, 2013.

Copyright Notice

   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.




Yeung                    Expires August 5, 2013                 [Page 1]

Internet-Draft            ICMP Virtual Network                  Feb 2013


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . . . 3
   2.  ICMP Multiple-part Message Extension  . . . . . . . . . . . . . 3
   3.  Virtual Network Information Objects for ICMP  . . . . . . . . . 3
     3.1.  Incoming Virtual Network Name Object  . . . . . . . . . . . 4
     3.2.  Outgoing Virtual Network Name Object  . . . . . . . . . . . 4
     3.3.  Incoming Virtual Network ID Object  . . . . . . . . . . . . 5
     3.4.  Outgoing Virtual Network ID Object  . . . . . . . . . . . . 6
   4.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 8
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 8
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 8
   Appendix A.  Additional Stuff . . . . . . . . . . . . . . . . . . . 8


































Yeung                    Expires August 5, 2013                 [Page 2]

Internet-Draft            ICMP Virtual Network                  Feb 2013


1.  Introduction

   Internet Control Message Protocol (ICMP) [RFC0792] has been widely
   used for troubleshooting purposes.  This document utilizes the ICMP
   multi-part message extension [RFC4884] to define new virtual network
   information objects in ICMP messages.

   When using a traceroute diagnostic tool across virtual network
   domains, it is useful to have ICMP Time Exceeded messages, defined in
   section 4.2 and 4.5 of [RFC4884], to include transit virtual network
   information of intermediate routers.

1.1.  Requirements Language

   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 [RFC2119].

2.  ICMP Multiple-part Message Extension

   The ICMP message MUST include the IP header and leading payload
   octets of the original datagram.  An ICMP Extension Structure Header
   MUST follow the octets from the original datagram and come before any
   ICMP Extension Objects.

3.  Virtual Network Information Objects for ICMP

   This section defines a list of new ICMP virtual network information
   objects that can be optionally appended to the ICMP Time Exceeded and
   Destination Unreachable messages.  These new ICMP virtual network
   information objects are defined per section 8, ICMP Extension
   Objects, of [RFC4884] and have the format below.

   Object header and payload:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Length            |   Class-Num   |     C-Type    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                 // (Object payload) //                        |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                     Figure 1: ICMP Extension Objects




Yeung                    Expires August 5, 2013                 [Page 3]

Internet-Draft            ICMP Virtual Network                  Feb 2013


3.1.  Incoming Virtual Network Name Object

   The router MAY include the incoming virtual network name object when
   sending out the ICMP messages.

   Object header and payload:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Length            |       5       |      11       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Virtual Network Name                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //                Virtual Network Name, continued.             //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Virtual Network Name, continued.              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 2: Incoming Virtual Network Name Object

   Length:
           Length of the object, measured in octets, including the
           object header and object payload.  The value is 4 + 4 * N,
           where N is the number of 4-octets used to store the Virtual
           Network Name.

   Class-Num:
           Set to the value of 5 to identify the Virtual Network
           Information Object class.

   C-Type:
           Set to the value of 11 to identify the Incoming Virtual
           Network Name Object.

   Virtual Network Name:
           This object payload contains the name of the virtual network
           of the incoming interface.  Human-readable text for this
           object MUST be provided in the US-ASCII charset
           [ANSI.X3-4.1986] using the Default Language [RFC2277].  This
           field must have a length that is a multiple of 4 bytes; the
           string should be padded with zeroes as necessary.

3.2.  Outgoing Virtual Network Name Object

   The router MAY include the outgoing virtual network name object when
   sending out the ICMP messages.




Yeung                    Expires August 5, 2013                 [Page 4]

Internet-Draft            ICMP Virtual Network                  Feb 2013


   Object header and payload:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Length            |       5       |      12       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Virtual Network Name                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //                Virtual Network Name, continued.             //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Virtual Network Name, continued.              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 3: Outgoing Virtual Network Name Object

   Length:
           Length of the object, measured in octets, including the
           object header and object payload.  The value is 4 + 4 * N,
           where N is the number of 4-octets used to store the Virtual
           Network Name.

   Class-Num:
           Set to the value of 5 to identify the Virtual Network
           Information Object class.

   C-Type:
           Set to the value of 12 to identify the Outgoing Virtual
           Network Name Object.

   Virtual Network Name:
           This object payload contains the name of the virtual network
           of the outgoing interface should the original packet is
           forwarded.  Human-readable text for this object MUST be
           provided in the US-ASCII charset [ANSI.X3-4.1986] using the
           Default Language [RFC2277].  This field must have a length
           that is a multiple of 4 bytes; the string should be padded
           with zeroes as necessary.

3.3.  Incoming Virtual Network ID Object

   The router MAY include the incoming virtual network ID object when
   sending out the ICMP messages.








Yeung                    Expires August 5, 2013                 [Page 5]

Internet-Draft            ICMP Virtual Network                  Feb 2013


   Object header and payload:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Length            |       5       |      13       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Virtual Network ID                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Figure 4: Incoming Virtual Network ID Object

   Length:
           Length of the object, measured in octets, including the
           object header and object payload.  The value is 8.

   Class-Num:
           Set to the value of 5 to identify the Virtual Network
           Information Object class.

   C-Type:
           Set to the value of 13 to identify the Incoming Virtual
           Network Name ID.

   Virtual Network ID:
           This object payload contains the ID of the virtual network of
           the incoming interface.

3.4.  Outgoing Virtual Network ID Object

   The router MAY include the outgoing virtual network ID object when
   sending out the ICMP messages.

   Object header and payload:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             Length            |       5       |      14       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Virtual Network ID                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               Figure 5: Outgoing Virtual Network ID Object







Yeung                    Expires August 5, 2013                 [Page 6]

Internet-Draft            ICMP Virtual Network                  Feb 2013


   Length:
           Length of the object, measured in octets, including the
           object header and object payload.  The value is 8.

   Class-Num:
           Set to the value of 5 to identify the Virtual Network
           Information Object class.

   C-Type:
           Set to the value of 14 to identify the Outgoing Virtual
           Network Name ID.

   Virtual Network ID:
           This object payload contains the ID of the virtual network of
           the outgoing interface should the original packet is
           forwarded.

4.  Acknowledgements

   The authors would like to thank Padma Pillay-Esnault, Naiming Shen
   and many others for review and comments.

   This document was produced using Marshall Rose's xml2rfc tool.

5.  IANA Considerations

   This document defines new ICMP Extension Object Class 5 for the
   Virtual Network Information Object registry.

   Within the new Virtual Network Information Object class, the
   following Class Sub-type are defined.

      +--------------------------------------+----------------------+
      | Object Name                          | Class Sub-type Value |
      +--------------------------------------+----------------------+
      | Incoming Virtual Network Name Object |          11          |
      | Outgoing Virtual Network Name Object |          12          |
      | Incoming Virtual Network ID Object   |          13          |
      | Outgoing Virtual Network ID Object   |          14          |
      +--------------------------------------+----------------------+

        Table 1: Virtual Network Information Object Class Sub-types

6.  Security Considerations

   These ICMP extensions can provide operators with additional
   information during network troubleshooting.  It may be desirable to
   provide this information only to network operators.  The



Yeung                    Expires August 5, 2013                 [Page 7]

Internet-Draft            ICMP Virtual Network                  Feb 2013


   implementation should allow the configuration of the policy control
   over the operation of these objects.  For example, an access list can
   be attached to check the IP destination of the ICMP packets with this
   extension belong to internal network management subnet.

7.  References

7.1.  Normative References

   [RFC0792]         Postel, J., "Internet Control Message Protocol",
                     STD 5, RFC 792, September 1981.

   [RFC2119]         Bradner, S., "Key words for use in RFCs to Indicate
                     Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4884]         Bonica, R., Gan, D., Tappan, D., and C. Pignataro,
                     "Extended ICMP to Support Multi-Part Messages",
                     RFC 4884, April 2007.

7.2.  Informative References

   [ANSI.X3-4.1986]  American National Standards Institute, "Coded
                     Character Set - 7-bit American Standard Code for
                     Information Interchange", ANSI X3.4, 1986.

   [RFC2277]         Alvestrand, H., "IETF Policy on Character Sets and
                     Languages", BCP 18, RFC 2277, January 1998.

Appendix A.  Additional Stuff

Author's Address

   Derek Yeung
   Cisco Systems
   170 West Tasman Drive
   San Jose, CA  95134
   USA

   Phone:
   EMail: myeung@cisco.com











Yeung                    Expires August 5, 2013                 [Page 8]