[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FW: Questions about tunneltrace



Eric,

Thanks for your comments. See reply below....


> -----Original Message-----
> From: owner-tun-trace@ops.ietf.org
> [mailto:owner-tun-trace@ops.ietf.org]On Behalf Of Eric Rosen
> Sent: Tuesday, February 27, 2001 12:16 PM
> To: tun-trace@ops.ietf.org
> Subject: Questions about tunneltrace
>
>
> From draft-bonica-tunneltrace-01:
>
>       9) When the tunneling technology isolates the user-plane from the
>       control-plane, do not rely upon the control plane to discover the
>       path.
>
> From draft-bonica-tunproto-00:
>
>    D2 receives the TraceProbe, exercises access control, and determines
>    that it is the hop's head end device. D2 consults its FIB and
>    determines that an IP-in-IP tunnel supports H1.
>
> I think this is saying that  D2 must consult its control
> structures in order
> to determine whether the "hop" H1  is a tunnel or not.  Doesn't
> this violate
> the requirement above?  In the  event of failures, D2's
> "determination" that
> data packets are supposed to be traveling through a tunnel
> doesn't necessar-
> ily mean that data packets would actually travel through that tunnel.

You have a point! Strictly speaking, I am not tracing through the
user-plane, but bouncing back and forth between the user-plane and the
control-plane. I have no choice but to do so.

In order to remain in the user-plane, I would have to send a series of
datagrams from the head-end of the top-level tunnel to the tail-end of the
top level tunnel, causing the each datagram to self destruct at a different
point along the path. Upon destruction, each datagram would elicit some
feedback that would a) include tunnel details and b) be sent all the way
back to the head-end of the top-level path.

Isn't that the kind of layer violation that we are trying to avoid?

Even if this is an acceptable layer violation, don't I still need to do such
things when tracing through tunnels that don't support TTL decrement?

>
> I am also  puzzled more generally about the phrase "D2  consults
> its FIB and
> determines  that a  ...  tunnel  supports H1."   I don't
> understand  how in
> general  D2  can  make  this  determination from  the
> information  that  is
> available in  the traceprobe packet.  If  we're trying to  trace
> nested MPLS
> tunnels, then it would  seem that we at least need to  know the
> label that a
> data packet would have  when it enters D2, but I don't  see any
> place to put
> that.
> More generally,  there doesn't seem to be  any provision
> for handling
> the case  in which  the routing  of a packet  is not  based
> entirely  on the
> packet's destination address.
>
> Similarly, I don't see  how a hop can be identified by  a
> object" which
> has only the IP addresses of the  hop endpoints.  There can be
> any number of
> tunnels between the same  two endpoints, each with different
> characteristics
> and  even with  different routes.   The  only data  you seem  to
> provide  of
> choosing one of these tunnels over the others is the destination
> IP address,
> and this isn't necessarily sufficient.


Again, you have a point!

When we analyse H1, the following information is available:

	-> top-level information (D1's loopback, D4's loopback, TOS)
	-> H1 information (a head-end address on D2, and a tail-end address on D3)

Now, assume that there are two tunnels between D2 and D3. One supports all
UDP traffic, while the other supports all TCP traffic. As currently
specified, GTTP could not distinguish between them. I need another field in
the traceProbe that contains the begining of the packet that I would trace,
including transport layer headers.

>
> On a  more trivial  matter, the  protocol draft will  need to
> say something
> about timing out remembered traceprobes,  in case the trace
> response doesn't
> come back.

Agreed. I will catch this on the next revision.

>
>
>