Internet DRAFT - draft-yin-traceroute-ipmpls
draft-yin-traceroute-ipmpls
Internet Engineering Task Force Y. Yin
Internet-Draft S. Jiang, Ed.
Intended status: Informational Z. Li
Expires: April 24, 2014 M. Chen
Huawei Technologies Co., Ltd
October 21, 2013
A Traceroute Framework in IP/MPLS Heterogeneous Networks
draft-yin-traceroute-ipmpls-00
Abstract
This document introduces a traceroute framework that can obtain
information of a real traffic flow path through heterogeneous IP/MPLS
network environments.
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 April 24, 2014.
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.
Yin, et al. Expires April 24, 2014 [Page 1]
Internet-Draft Traceroute in IP/MPLS Heterogeneous Env October 2013
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Procedures of the IP/MPLS Heterogeneous Traceroute Mechanism 2
2.1. New Components Needed . . . . . . . . . . . . . . . . . . 4
2.2. Form a New Echo-Request Message . . . . . . . . . . . . . 5
2.3. Process an Echo-Request Message . . . . . . . . . . . . . 5
2.3.1. Response requested information . . . . . . . . . . . 5
2.3.2. Update Routing-Decide field . . . . . . . . . . . . . 6
2.3.3. Update Return-Path field . . . . . . . . . . . . . . 6
2.3.4. Send a new Echo-Request message . . . . . . . . . . . 6
2.4. Process an Echo-Reply Message . . . . . . . . . . . . . . 6
2.5. Termination of the Traceroute Request . . . . . . . . . . 7
3. Security Considerations . . . . . . . . . . . . . . . . . . . 7
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
6. Change log [RFC Editor: Please remove] . . . . . . . . . . . 7
7. Informative References . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
The current ISP networks may actually be constructed by IP/MPLS
heterogeneous network technologies. ISP services may be delivered
across these IP/MPLS heterogeneous network environments.
To locate the network fault quickly, IETF has defined the
corresponding ping and trace functions for each network technology,
independently. However, none of these technologies are able to
gather the trace information of all these heterogeneous network
environments. It is difficult to trace the complete end-to-end
paths. Another issue of these ping/trace functions is path
replicability. [I-D.yin-tsvwg-ipflow-pathtrace-ps] describes the
issues and the requirements for a new IP/MPLS traffic flow path trace
mechanism in details.
In order to meet these requirements, this document introduces a new
traceroute framework that traces the real traffic flow path while the
real forwarding-relevant information are carried and updated in the
path. It can therefore obtain information of a real traffic flow
path through IP/MPLS heterogeneous network environments.
It is worthy of noticing that this mechanism requires support of all
fowarding devices. It is suitable to be used within a single
administration domain.
2. Procedures of the IP/MPLS Heterogeneous Traceroute Mechanism
Yin, et al. Expires April 24, 2014 [Page 2]
Internet-Draft Traceroute in IP/MPLS Heterogeneous Env October 2013
The new traceroute mechanism, introduced by this document, mainly
targets the IP/MPLS heterogeneous networks.
In order to describe the applicable scenarios and procedures, in this
document, below network topology illustrates a traceroute example
scenaio, in which the IP load balancing and traversing a MPLS network
are demonstrated.
|<-----------------Administration Domain--------------->|
| |<-MPLS Domain->| |
| +---+ +---+ +---+ |
| +---| C |---| M1|---| E |---+ |
+---+ | +---+ +---+ | +---+\ /+---+\ /+---+ | +---+ | +---+
| S |---| A |---| B |---+ X X +---| G |---| D |
+---+ | +---+ +---+ | +---+/ \+---+/ \+---+ | +---+ | +---+
| +---| D |---| M2|---| F |---+ |
| +---+ +---+ +---+ |
| |<-MPLS Domain->| |
|<-----------------Administration Domain--------------->|
The real traffic is from the S(ource) node to the D(estination) node.
The traceroute request is initialized at node A, and ideally
terminated at node G. From the node B, the IP packet may be forwarded
to node C or node D. Then it is MPLS domain, where the intermedia
device M1 or M2 cannot be detected by current IP ping/trace
mechanism. This mechanism assume that all MPLS nodes have IP
connectivities and can communicate with each other according to IP
addresses.
In the new traceroute mechanism, the traceroute requesting node
passes three type of information, as illustrated in the below figure,
to the next hop. An example of traceroute request message:
+-----------------------------------------------------+
| IP & UDP header for Echo-Request Message |
+-----------------------------------------------------+
|Forwarding-Decide field contains Real IP/MPLS headers|
+-----------------------------------------------------+
| Options |
+-----------------------------------------------------+
The IP and UDP headers indicate the recipient - this is a traceroute
request. The Forwarding-Decide field contains real IP/MPLS headers,
copied from a packet in a real traffic flow, or pseudo headers
forming to represent a traffic flow. It may include IP header, MPLS
header and TCP/UDP header. The IP/MPLS headers in the Forwarding-
Yin, et al. Expires April 24, 2014 [Page 3]
Internet-Draft Traceroute in IP/MPLS Heterogeneous Env October 2013
Decide field are maintained or modified in the exactly same way when
a real traffic packet is processed in the forwarding procedure.
Every on-path node decides the next hop according to the Forwarding-
Decide field. This would guarantee the traced route follows the same
path of the real traffic packet, because the forwarding decide
information is exactly same. Options are mainly used to indicate the
on-path nodes requested information and the return path. The on-path
nodes report the requested information of themselves to the
traceroute requesting node directly.
2.1. New Components Needed
There are a few new components needed in order to fulfil the newly-
introduced hop-by-hop traceroute mechanism. They are listed below.
Traceroute Port A well-known UDP port that indicates the recipient
devices that received UDP mesages are for traceroute purpose.
An echo request message: a new UDP message that is carrying the
traceroute request. It is processed, may be modified, then passed
on hop by hop.
* Transaction ID, used to distinguish mutliple traceroute
requests initiated by the same traceroute requesting node.
* Forwarding-Decide field, contains all information that may
affect the path choice for a specific packet, including IP
header, TCP/UDP header, MPLS header, and IP tunnel header. The
field contents are maintained or modified in the exactly same
way when a real IP packet is processed in the forwarding
procedure.
* Required-Information option, used to indicate the on-path nodes
the information desired by the traceroute requesting node.
* Return-Path field, used to indicate the return path for the
responsed Echo-Reply message. It operates like a stack: the
closed relay nodes first, then second close, till the original
requesting node.
An echo reply message: a new UDP message that is used to return the
requested information of intermedia node to the traceroute
requesting node.
* Transaction ID, copied from the correspondent Echo-Request
message. It is used to distinguish mutliple traceroute
requests initiated by the same traceroute requesting node.
Yin, et al. Expires April 24, 2014 [Page 4]
Internet-Draft Traceroute in IP/MPLS Heterogeneous Env October 2013
* Information options, the information of the requested node.
They are the response to the required information option.
* Return-Path field, copied from the correspondent Echo-Request
message. The MPLS or tunnel ingress nodes need these
information to relay the Echo-Reply message to the traceroute
requesting node.
The detailed format or data structure is out of scope for this
informational document.
2.2. Form a New Echo-Request Message
In the new traceroute mechanism, the traceroute request device (node
A) forms an Echo-Request message, in which the Forwarding-Decide
field contains a real IP header and TCP/UDP hearder that is copied
from a packet in a real traffic flow, or a pseudo IP header and TCP/
UDP hearder, towards node D. This Echo-Request message also indicates
what information of these on-path devices are desired. The
traceroute request device also records itself in the Return-Path
field.
The Echo-Request message is carried by an IP packet, which the
destination address is filled by the loopback address and source
address is the requesting node itself. IP TTL is set to value that
indicate the maximum trace route hops. It then sends the new IP
packet towards the next hop according to the Forwarding-Decide field.
This mechanism description in this section currently assumes that the
traceroute requests start from IP.
2.3. Process an Echo-Request Message
Upon receiving the IP packet that contains an Echo-Request message,
the recipiet node processes it to the new traceroute function,
because of the loopback address and the newly defined Traceroute
port. There are four follow-up procedures on the recipient:
responsing its own information, updating Fowarding-Decide field,
updating Return-Path field, and sending a new Echo-Request message.
2.3.1. Response requested information
The new traceroute function returns the requested information of this
node, according to Required-Information option in the Echo-Request
message, back to the traceroute requesting node (or the closest relay
node), by sending an Echo-Reply message.
Yin, et al. Expires April 24, 2014 [Page 5]
Internet-Draft Traceroute in IP/MPLS Heterogeneous Env October 2013
The IP address of the traceroute requesting node or the closest relay
node, is obtained from the Return-Path field of the Echo-Request
message. Transaction ID is copied from the Echo-Request message.
The Return-Path field from the Echo-Request message must be copied
into the Echo-Reply message.
2.3.2. Update Routing-Decide field
The Forwarding-Decide field is maintained/modified in the exactly
same way when the real traffic packet that the Forwarding-Decide
field represents is processed, including add/remove new MPLS header,
update MPLS label, add/remove IP tunnel header, NAT44 or NAT66
translation or etc.
2.3.3. Update Return-Path field
The node first check whether the second close node in the Return-Path
field is reachable or not. If yes, it removes the closest node in
the Return-Path field; if not, do nothing. Note, if there is only
one node in the Return-Path field, it must not be removed.
The node then adds the IP address of itself into the Return-Path
field, and the necessary information that this node must have in
order to distinguish the previous node, such as Virtual Routing and
Forwarding (VRF) information, etc.
2.3.4. Send a new Echo-Request message
This node then forms a new IP packet, in which the destination
address is filled by the loopback address, source address is itself.
It carries the Echo-Request message in the payload. TTL in IP header
is reduced by 1 every hop.
According to the MPLS header, if there is, IP header and TCP/UDP
hearder in the Forwarding-Decide field, the device decides the next
hop, then sends the new IP packet towards the next hop.
2.4. Process an Echo-Reply Message
Upon receiving an Echo-Reply message that the destination IP address
is itself, the recipient must decide whether the Echo-Reply is
terminate here or needs to be relayed out, by checking whether it is
the last node in the Return-Path field.
Yin, et al. Expires April 24, 2014 [Page 6]
Internet-Draft Traceroute in IP/MPLS Heterogeneous Env October 2013
If it is not the last node, it must be the first node. It then
obtains the necessary information for it to distinguish the next
node. It removes itself out of the stack of the Return-Path field.
It then relays the Echo-Reply message to the next relay node or the
original requesting node that it learns from the Return-Path field.
2.5. Termination of the Traceroute Request
Ideally, the traceroute request should be terminated at the edge of
the administration domain if the traffic destination was out of
domain, Node G in the example scenario. The forwarding devices on
the edge of the administration domain should be configured not to
send traceroute messages out on the interfaces that connected to
subscribers or devices out of the administration domain.
However, the leak of traceroute request message should not bring much
impact. The subscriber node does not support this traceroute
function would drop it siliently as unknown message. The ingress
devices of another administration domain or another ISP/transit
network would filter this message.
3. Security Considerations
Without an authentication mechanim, this mechanism would be risk to
expose network device information. It should only be used either
when combines with an authentication mechanim or in a closed single
administration domain, in which the end user requests or request from
outside of this administration domain should be filtered at the edge
of the sdministration domain.
The leak of traceroute request message does not create much security
risk. The information carried with in the message does not contain
much sensitive information of the network. The only potential risk
information is exposing of the IP addresses of intermediate
forwarding devices in the return parth option.
4. IANA Considerations
This memo includes no request to IANA.
5. Acknowledgements
This document was produced using the xml2rfc tool [RFC2629].
6. Change log [RFC Editor: Please remove]
draft-yin-hopbyhop-traceroute-00: original version. 2013-10-21.
Yin, et al. Expires April 24, 2014 [Page 7]
Internet-Draft Traceroute in IP/MPLS Heterogeneous Env October 2013
7. Informative References
[I-D.yin-tsvwg-ipflow-pathtrace-ps]
Yin, Y., Jiang, S., and G. Yan, "IP Flow Path Trace
Requirements", draft-yin-tsvwg-ipflow-pathtrace-ps-00
(work in progress), July 2013.
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999.
Authors' Addresses
Yuanbin Yin
Huawei Technologies Co., Ltd
Q15, Huawei Campus, No.156 Beiqing Road
Hai-Dian District, Beijing, 100095
P.R. China
Email: yinyuanbin@huawei.com
Sheng Jiang (editor)
Huawei Technologies Co., Ltd
Q14, Huawei Campus, No.156 Beiqing Road
Hai-Dian District, Beijing, 100095
P.R. China
Email: jiangsheng@huawei.com
Zhenbin Li
Huawei Technologies Co., Ltd
Q15, Huawei Campus, No.156 Beiqing Road
Hai-Dian District, Beijing, 100095
P.R. China
Email: lizhenbin@huawei.com
Mach(Guoyi) Chen
Huawei Technologies Co., Ltd
Q14, Huawei Campus, No.156 Beiqing Road
Hai-Dian District, Beijing, 100095
P.R. China
Email: mach.chen@huawei.com
Yin, et al. Expires April 24, 2014 [Page 8]