[189540] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

Re: rfc 1812 third party address on traceroute

daemon@ATHENA.MIT.EDU (Octavio Alvarez)
Wed Jun 1 17:14:30 2016

X-Original-To: nanog@nanog.org
To: Hugo Slabbert <hugo@slabnet.com>, nanog@nanog.org
From: Octavio Alvarez <octalnanog@alvarezp.org>
Date: Wed, 1 Jun 2016 14:14:26 -0700
In-Reply-To: <20160531165200.GE6467@bamboo.slabnet.com>
Errors-To: nanog-bounces@nanog.org

On 05/31/2016 09:52 AM, Hugo Slabbert wrote:
>> I'm not sure if you mean that, if sent through C it should have the
>> source addres of A, or that it should actually be sent through A
>> regardless of the routing table (which sounds better to me).
> 
> How is the latter better?  What guarantees are there that the 
> adjacent L3 device on R's interface A has a route for S [?]

Consider this scenario:

     .-------.  ISP1ADDR/30                {
D---|B   R  A|---------------[ ISP 1 ]---- {
     `---C---'                             {
         |(towards S)                      { S is someplace
         |                                 { over this side
    .----F---.                             {
 ---|G  R2  H|--------------*[ ISP 2 ]---- {
    `--------'  ISP2ADDR/30                {

In the asterisk there is BCP38 filtering which won't allow ISPADDR/30.
The packet expired on R incoming from ISP 1. Under Randy's scenario, the
TTL-exceeded packet would get dropped by ISP2.

The only way for the packet to get through is to follow RFC 1812, or to
send it back through A using A's address (this follows RFC 1812 4.3.2.4).

> and if such a route exists that it doesn't simply point at R?

If the route points back to R, then R just forwards it using the routing
table as with any packet.


Best regards.

home help back first fref pref prev next nref lref last post