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]