Fred,

I don't follow the argument made in the previous email against the proposal to 
use a simplified form of dest/src routing.  The argument seems to assume that 
the destination prefix is completely ignored, which is not the case.  With this 
proposal, a packet is first routed based on longest match for destination 
prefix.  The source prefix is only considered when the destination route lookup 
reaches ::/0.  Therefore, communication within the customer network works as 
expected since there will be destination prefix matches corresponding to the 
customer network.

In order to understand all of the details, I created an example topology below 
that I believe covers most of the relevant PA multi-homing scenarios.  The 
customer site connects using four different ISPs.  ISP1 just offers Internet 
connectivity.  ISP2 just offers a service corresponding to destination address 
B2.  ISP3 offers both Internet connectivity and a service corresponding to B3.  
ISP4 offers internet connectivity and a service corresponding to B4.  The 
customer site has a provider-assigned subnet from each of the ISPs (A1, A2, A3, 
and A4).  The customer site has two LANs.  LAN-Y (with hosts H21 and H22) is 
directly connected to R1, R2, and R3.  LAN-X (with hosts H31 and H32) has to go 
through a routed hop (R7 or R8) to reach R1, R2, or R3.  The only way for any 
of the hosts to reach R4 (and ISP4) is through R8.  The hosts on LAN-X have 
addresses from a subnet of each of the provider assigned block ( subnets A1x, 
A2x, A3x, and A4x), while the hosts on LAN-Y have addresses from a subnet of 
each of the provider assigned block ( subnets A1y, A2y, A3y, and A4y).  B0 
represents a destination address somewhere on the Internet unrelated to any of 
the ISPs.

                                             -----------------
   LAN-X        LAN-Y          ,-----.      /                 \
          +--+         +--+  ,'       `.   :                   :
       +--+R7+-----+---+R1+-+   ISP 1   ---+--                 :
       |  +--+     |   +--+  `.       ,'   :                   :
   H31-+       H21-+           `-----'     :   The Internet    :
       |           |           ,-----.     :                   :
   H32-+  +--+ H22-+   +--+  ,'       `.   :                   :
       +--+R8+-----+---+R2+-+   ISP 2   )  :                   :
          ++-+     |   +- +  `.       ,'   :                   :--B0
           |       |           `--+--'     :                   :
           |       |              |        :                   :
           |       |              B2       :                   :
           |       |                       :                   :
           |       |           ,-----.     :                   :
           |       |   +--+  ,'       `.   :                   :
           |       +---+R3+-+   ISP 3   ---+---                :
           |           +--+  `.       ,'   :                   :
           |                   `--+--'     :                   :
           |                      |        :                   :
           |                      B3       :                   :
           |                               :                   :
           |                   ,-----.     :                   :
           |           +--+  ,'       `.   :                   :
           +-----------+R4|-+   ISP 4   ---+---                :
                       +--+  `.       ,'   :                   :
                               `--+--'     :                   :
                                  |         \                 /
                                  B4         -----------------

We consider how H31 and H21 reach various destinations.  The destinations to 
consider are B0, B2, B3, B4, H32 and H22.

First, we look at the information that the routers distribute among themselves 
using an IGP.

R1 originates a route for (D=::/0, S=A1).

R2 originates a route for (D=B2).

R3 originates routes for (D=::/0, S=A3) and (D=B3).

R4 originates routes for (D=::/0, S=A4) and (D=B4).

R7 and R8 originates routes for (D=A1x), (D=A2x), (D=A3x), and (D=A4x), and 
(D=A1y), (D=A2y), (D=A3y), and (D=A4y).

Next, we look at the information that the routers distribute to hosts on the 
LAN using the Neighbor Discovery protocol.  From Prefix information Options 
(PIOs) in Router Advertisements, hosts on LAN-X learn that A1x, A2x, A3x, and 
A4x are on-link, while hosts on LAN-Y learn that A1y, A2y, A3y, and A4 are 
on-link.

A router indicates that it acts as a default router by advertising a non-zero 
Router Lifetime in a Router Advertisement. Or that it doesn't act as a default 
router by advertising a Router Lifetime value of zero.  A reasonable choice in 
this network would be to have R1 and R3 advertise that they are default routers 
on LAN-Y and have R7 and R8 advertise that they are default routers on LAN-X.

It appears to me that with just the information described above (that is, 
destination routes and simplified dest/source routes distributed among the 
routers, and the Router Advertisements on the LANs indicated default routers),  
packets from H31 and H21 can reach all six destinations, assuming the host uses 
an acceptable source address for the given destination.  However, the next-hop 
chosen by the host may not be optimal.

For example, for a packet to get from H21 to H32, it may take the path 
H21->R1->R7->H32, instead of the more direct path H21->R7->H32.  However, this 
situation can be improved using existing mechanisms by having R7 advertise 
Route information Options (RIOs) for prefixes A1x, A2x, A3x, and A4x into LAN-Y 
so that H21 can choose R7 as its next-hop to directly reach H32.

draft-ietf-6man-multi-homed-host-06 points out an example of a host making a 
sub-optimal choice of next-hop related to multi-homing.  In the topology above, 
when H21 sends a packet with src in A1y and dest = B0, it could choose next-hop 
R3.  This would require R3 to forward the packet to R1 based on the fact that 
R1 originated an IGP route for (D=::/0, S=A1).  
draft-ietf-6man-multi-homed-host-06 proposes to have hosts use the PIOs in 
Router Advertisements to make better choices of next-hops.  Assuming that only 
R1 advertises a PIO for A1y, then H21 can use that information to send a packet 
with src in A1y to R1 as its default next-hop.  This seems like a reasonable 
optimization.

I would like to make two observations about the analysis above.  First, the 
solution proposed in draft-ietf-6man-multi-homed-host-06 is consistent with the 
proposed simplified form of dest/source routing.  
draft-ietf-6man-multi-homed-host-06 only allows one to choose a default router 
based on source prefix.  It doesn't provide a way to pair an arbitrary RIO with 
a source prefix.

Second, in the solution described above, which would seem to cover most 
multi-homing scenarios, the routes exchanged between routers using the IGP do 
not require source addresses to be paired with arbitrary destination prefixes.  
The simplified form of dest/source routing (only pairing a source prefix with 
the default destination route) is sufficient for the routing done by the 
routers.

At this point, I have not seen a PA multi-homing scenario that I believe would 
benefit from using arbitrary dest/source routing.  Instead, I think that PA 
multi-homing scenarios can be efficiently addressed by simplified dest/source 
routing.  To be clear, this is not an argument against the mechanism in 
draft-ietf-6man-multi-homed-host-06. Instead, it is an argument against the 
mechanism in draft-baker-ipv6-isis-dst-src-routing-04, which specifies a 
general mechanism for pairing arbitrary destination prefixes with arbitrary 
source prefixes. I think that a simplified mechanism that only pairs source 
prefixes with the default destination route in the IGP would work just as well 
for PA multi-homing scenarios.

If there is an error in the above analysis or there is a useful PA multi-homing 
scenario not covered by the above example, then I look forward to discussing it.

Thanks,
Chris


From: Fred Baker (fred) [mailto:[email protected]]
Sent: Monday, March 28, 2016 2:47 PM
To: Chris Bowers <[email protected]>
Cc: [email protected]
Subject: Re: multi-homing for provider-assigned IPv6 addresses


On Mar 27, 2016, at 9:03 AM, Chris Bowers 
<[email protected]<mailto:[email protected]>> wrote:

Fred,

I would like to better understand the particular use case offered as a 
counter-example.  One version of this counter-example is described in Section 
2.3 of draft-baker-rtgwg-src-dst-routing-use-cases-01 (Specialized Egress 
Routing).  I have copied figure 3 from that draft below.

                                                ,-------.
                                             ,-'         `-.
             ,---.            ,-----.      ,'               `.
            /     \    +-+  ,'       `.   /                   \
           /       +---+R+-+   ISP 1   --+---                  \
          /         \  +-+  `.       ,' ;                       :
         ; Customer  :        `-----'   |       The Internet    |
         | Network   |        ,-----.   :                       ;
         :           ; +-+  ,'       `.  \                     /
          \         +--+R+-+   ISP 2   )  \                   /
           \       /   +-+  `.       ,'    `.               ,'
            \     /           `--+--'        '-.         ,-'
             `---'               |              `-------'
                           Some specialized
                              Service

       Figure 3: Egress Routing with a specialized upstream network


If a customer network homed to ISP1 and ISP2 (with PA prefixes S1 and S2) needs 
to reach a destination prefix (D2) associated with a service offered by ISP2, 
then the customer network can route all traffic with destination address in D2 
to ISP2 using existing destination-based routing.

Yes, if the packet first goes through a router that is not depicted in the 
diagram (I didn't describe the interior of the customer network, which could be 
as simple as a LAN and as complex as you care to imagine). If the only routing 
is done by the host itself, the packet will go to the router the host considers 
to be its default router, which is pretty likely to be the other router in this 
example. That is the subject of draft-ietf-6man-multi-homed-host. Note, BTW, 
that the picture is essentially NTT's BFLETS configuration, with the exception 
that (as I understand it) the two ISPs are served by the same managed router, 
deployed by NTT and configured to route appropriately.


Therefore, it seems to me that pairing a source prefix with an arbitrary 
destination prefix is not required to support the Specialized Egress Routing 
use case in draft-baker-rtgwg-src-dst-routing-use-cases-01. In any case, it 
would be useful to come to agreement about what is required to address the 
Specialized Egress Routing use case described in 
draft-baker-rtgwg-src-dst-routing-use-cases-01.

I'm happy to discuss that. I think it misses the point, however. If the use 
case described isn't a good one, let's think of a better use case, perhaps one 
that doesn't involve a PA prefix from an ISP. Perhaps the biggest issue with 
your proposal, which was to take all traffic using a given source prefix to an 
appropriate egress router, is that it precludes the use of the address to 
communicate within the customer network. All traffic would dogleg through the 
egress router, and I'm not sure I see how packets get from that router to a 
point inside without looping. There has to be a way to prefer to 
destination-address route some traffic and source-address route some other 
traffic. The simplest way I can think of is to use both addresses in every 
route lookup, interpreting a traditional destination route as a 
source/destination route from ::/0 to the stated destination, or (if there are 
multiple route tables by source prefix) duplicate the destination route table 
in each.

If instead the counter-example use case described below is different from 
Specialized Egress Routing use case in 
draft-baker-rtgwg-src-dst-routing-use-cases-01, it would be useful to describe 
that use case in more detail so that we can evaluate it more thoroughly.

I'll take a look at that. Of course, I can't update the draft until next week.

Thanks,
Chris

-----Original Message-----
From: Fred Baker (fred) [mailto:[email protected]]
Sent: Thursday, March 24, 2016 11:37 PM
To: Chris Bowers <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: multi-homing for provider-assigned IPv6 addresses


> On Mar 24, 2016, at 9:32 PM, Fred Baker (fred) 
> <[email protected]<mailto:[email protected]>> wrote:
>
>
>> On Mar 24, 2016, at 4:34 PM, Chris Bowers 
>> <[email protected]<mailto:[email protected]>> wrote:
>>
>> It seems to me that most use cases for ipv6 multi-homing with 
>> provider-assigned addresses only need to route based on source address when 
>> the destination prefix is the default route.  So why not require that source 
>> prefixes can only be paired up with the default destination prefix ::/0?
>
> When what one has in mind is an egress route, that probably makes sense. 
> However, it precludes an entire class of use cases mentioned in the use case 
> draft. Why do that?

Let me give you an obvious variant. Imagine, if you will, that I have a PA 
prefix from each of N ISPs, and therefore a default route to each of N ISPs. 
Imagine also that I have a particular prefix that I would like to route through 
via a given one of those N ISPs, in the special case that I happen to have been 
smart enough to use that source prefix. So now I have N+1 source/destination 
routes - unless you tie it to default routes.

A premature optimization usually breaks things...

_______________________________________________
rtgwg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/rtgwg

Reply via email to