Internet DRAFT - draft-baker-rtgwg-src-dst-routing-use-cases

draft-baker-rtgwg-src-dst-routing-use-cases







Network Working Group                                           F. Baker
Internet-Draft                                             Cisco Systems
Intended status: Informational                                     M. Xu
Expires: October 29, 2016                                        S. Yang
                                                                   J. Wu
                                                     Tsinghua University
                                                          April 27, 2016


       Requirements and Use Cases for Source/Destination Routing
             draft-baker-rtgwg-src-dst-routing-use-cases-02

Abstract

   This note attempts to capture important use cases for source/
   destination routing.

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 October 29, 2016.

Copyright Notice

   Copyright (c) 2016 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.



Baker, et al.           Expires October 29, 2016                [Page 1]

Internet-Draft         Source/Destination Routing             April 2016


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Simple Egress Routing . . . . . . . . . . . . . . . . . .   3
     2.2.  General Egress Routing  . . . . . . . . . . . . . . . . .   5
     2.3.  Specialized Egress Routing  . . . . . . . . . . . . . . .   6
     2.4.  Intra-domain access control . . . . . . . . . . . . . . .   7
     2.5.  Traffic Engineering . . . . . . . . . . . . . . . . . . .   8
   3.  Derived Requirements  . . . . . . . . . . . . . . . . . . . .   9
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   6.  Privacy Considerations  . . . . . . . . . . . . . . . . . . .  10
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  10
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Appendix A.  Change Log . . . . . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   Source/Destination routing has been proposed in the IPv6 community
   and specifically in homenet as a means of dealing with multihomed
   networks whose upstream networks give them provider-allocated
   addresses.  An initial approach was suggested in [RFC3704], which
   assumed that a packet following a default route to an egress CPE
   Router might arrive at the wrong one, and need to be redirected to
   the right CPE Router.  Subsequent approaches, including those listed
   in the bibliography, have focused on using routing protocols or
   routing procedures with extensions that make decisions based on both
   the source and the destination address.

   "Source/Destination Routing" is defined as routing in which both the
   source and the destination address must be considered in selecting
   the next hop.  It might be thought of as routing "to a destination
   with a constraint" - a router might have multiple routes to a given
   destination, and follow the one that also obeys the constraint, or it
   might have only one route to a destination but correctly fail to
   forward a packet that doesn't meet the constraint.  From that
   perspective, the logic here extends to other cases in which a
   constraint might be placed on the route.  As with all routing, a
   primary requirement is to follow the longest-match-first rule to the
   destination; following a less specific route may well take traffic to
   the wrong place.





Baker, et al.           Expires October 29, 2016                [Page 2]

Internet-Draft         Source/Destination Routing             April 2016


   As a side note, source address spoofing in this case will be limited
   to addresses from the indicated source prefixes, obviating the need
   for upstream ingress filtering.  Ingress filtering within the domain
   in LAN switches can prevent spoofing of addresses within those
   prefixes.

   This note attempts to capture common use cases.  These will be in
   terms of a general statement of intent coupled with a specific
   example of the intent for clarity.  The use cases are obviously not
   limited to these, but these should be a reasonably complete set.

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.  Use Cases

   The use cases proposed here are not an exhaustive set, but are
   representative of a set of possibilities.  At least three are
   presently-deployed use cases; the fourth is a possible use case
   within an edge network.

2.1.  Simple Egress Routing

   One use case is as shown in Figure 1.  A customer network has two or
   more upstream networks, and a single CPE Router.  Each upstream
   network allocates a prefix for use in the customer network, and the
   customer network configures a subnet from each of those ISP prefixes
   on each of its LANs.  The CPE Router advertises default routes into
   the network that are "from" each PA prefix.  Apart from prefix
   itself, the services of the upstream ISPs are indistinguishable; they
   each get the customer to the Internet.

















Baker, et al.           Expires October 29, 2016                [Page 3]

Internet-Draft         Source/Destination Routing             April 2016


                                                 ,-------.
                                              ,-'         `-.
             ,---.             ,-----.      ,'               `.
            /     \          ,'       `.   /                   \
           /       \        (   ISP 1   --+---                  \
          /         \      / `.       ,' ;                       :
         ; Customer  : +-+/    `-----'   |       The Internet    |
         | Network   +-+R|\    ,-----.   :                       ;
         :           ; +-+ \ ,'       `.  \                     /
          \         /       (   ISP 2   ---+--                 /
           \       /         `.       ,'    `.               ,'
            \     /            `-----'        '-.         ,-'
             `---'                               `-------'

     Figure 1: Egress Routing in a Multihomed Environment with One CPE
                                  Router

   The big issue in this network is, of course, ingress filtering
   [RFC2827] by the upstream ISP.  If packets intended for a remote
   destination pass through the wrong ISP, they will be blocked.  In the
   ideal case, traffic following default route gets to the upstream
   network indicated by its source address.

   The CPE Router could, at least in concept, advertise a single default
   route into the network, as all traffic to an upstream ISP must pass
   through that CPE Router.  However, should another CPE Router be added
   later, it would have to change its behavior to accommodate that CPE
   Router (as in Section 2.2).  Hence, the single CPE Router must
   advertise two default routes into the network, one "from" each PA
   prefix.

   In this case, the destination prefix in routing is a default route,
   ::/0.  The source prefix is the prefix allocated by the ISP.  In this
   case, routing within the network is largely unchanged, as all traffic
   to another network goes to the CPE Router, but the CPE Router must
   send it to the correct ISP.

   Note that in this use case, if there are other routers or internal
   routes in the network, there is no need for them to specify source
   prefixes on their routes, and if they do, the prefix specified is
   likely to be :;/0.  The reason is that traffic arriving from the ISPs
   must be delivered to destinations within the network, so routing
   cannot preclude them.








Baker, et al.           Expires October 29, 2016                [Page 4]

Internet-Draft         Source/Destination Routing             April 2016


2.2.  General Egress Routing

   A more general use case is as shown in Figure 2.  A customer network
   has two or more upstream networks, with a separate CPE Router for
   each one.  Each upstream network allocates a prefix for use in the
   customer network, and the customer network configures a subnet from
   each of those ISP prefixes on each of its LANs.  Each CPE Router
   advertises a default route into the customer network.  Apart from
   prefix itself, the services of the upstream ISPs are
   indistinguishable; they each get the customer to the Internet.

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

           Figure 2: Egress Routing in a Multihomed Environment

   The big issue in this network is again ingress filtering [RFC2827] by
   the upstream ISP.  If packets intended for a remote destination pass
   through the wrong ISP, they will be blocked.  Traffic following
   default route gets to the upstream network indicated by its source
   address.

   In this case, the destination prefix in routing is a default route,
   ::/0.  The source prefix is the prefix allocated by the ISP.  We want
   a routing algorithm that sends packets matching such a specification
   to the CPE Router advertising that default route.

   Note that in this use case, if there are other routers or internal
   routes in the network, there is no need for them to specify source
   prefixes on their routes, and if they do, the prefix specified is
   likely to be :;/0.  The reason is that traffic arriving from the ISPs
   must be delivered to destinations within the network, so routing
   cannot preclude them.







Baker, et al.           Expires October 29, 2016                [Page 5]

Internet-Draft         Source/Destination Routing             April 2016


2.3.  Specialized Egress Routing

   A more specialized use case is as shown in Figure 3.  A customer
   network has two or more upstream networks, with one or more CPE
   Routers; the example shows a separate CPE Router for each one.  Each
   upstream network allocates a prefix for use in the customer network,
   and the customer network configures a subnet from each of those ISP
   prefixes on each of its LANs.  Some CPE Routers might advertise a
   default route into the customer network; one or more of the other CPE
   Routers, perhaps all of them, advertise a more-specific route.  The
   services offered by the upstream networks differ in some important
   way.

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

       Figure 3: Egress Routing with a specialized upstream network

   A specific example of such a service is the NTT B-FLETS video service
   in Japan; however, the use case describes any use with one or more
   walled gardens.  In the B-FLETS case, a customer may purchase
   services from a number of ISPs, providing general Internet access.
   However, the video service requires customers accessing it to use its
   allocated prefix, and other ISPs (following [RFC2827]) will not
   accept that prefix as a source address.  This is similar to the
   previous use cases, but

   o  the only application at that "ISP" is the video service,

   o  packets using the video service MUST use the video service's
      source and destination addresses, and

   o  no other service will accept a video service address as a source
      address.




Baker, et al.           Expires October 29, 2016                [Page 6]

Internet-Draft         Source/Destination Routing             April 2016


   The big issue in this network is, once again, ingress filtering
   [RFC2827] by the upstream ISP, with the additional caveat that the
   upstream services are far from identical.  If packets intended for a
   remote destination pass through the wrong ISP, they will be blocked.
   Additionally, while other ISPs advertise access to the general
   Internet, they may not provide service to the specialized service in
   question.  Hence, egress routing in this case also ensures delivery
   to the intended destination using the bandwidth it provides.  In the
   ideal case, traffic following default route gets to the upstream
   network indicated by its source address.

   In this case, one or more ISPs might offer a default route as a
   destination prefix in routing, ::/0.  The source prefix is the prefix
   allocated by the ISP.  In addition, the ISP offering the specialized
   service advertises one or more specific prefixes for those services,
   with appropriate source prefixes for their use.  We want a routing
   algorithm that sends packets matching such a specification to the CPE
   Router advertising that indicated route, and dropping, perhaps with
   an ICMPv6 response, packets for which it effectively has no route.

   Note that in this use case, if there are other routers or internal
   routes in the network, there is no need for them to specify source
   prefixes on their routes, and if they do, the prefix specified is
   likely to be :;/0.  The reason is that traffic arriving from the ISPs
   must be delivered to destinations within the network, so routing
   cannot preclude them.

2.4.  Intra-domain access control

   A use case within the confines of a single network is as shown in
   Figure 4.  A network has one or more internal networks with differing
   access permission sets; the financial servers might only be
   accessible from a set of other prefixes that financial people are
   located in, or university grade records is only reachable from the
   offices of professors.  This could be implemented using firewalls
   between the domains, or using application layer filters; in this
   case, the routing architecture replaces an exclusive firewall rule.

   In this case, each domain advertises reachability to its prefix,
   listing acceptable source prefixes.  Domains that are willing to be
   generally reached might advertise ::/0 as a source prefix, or the
   prefix in use in the general domain.









Baker, et al.           Expires October 29, 2016                [Page 7]

Internet-Draft         Source/Destination Routing             April 2016


                             _.--------------.
                        _.-''                 `---.
                    ,-''                           `--.
                  ,'                                   `.
                ,'    ,---------.          ,---------.   `.
               /     ( Domain 1  )        ( Domain 2  )    \
              ;       `---------'          `---------'      :
              |                 Inter-domain                |
              :                   Backbone                  ;
               \      ,---------.          ,---------.     /
                `.   ( Domain 3  )        ( Domain 4  )  ,'
                  `.  `---------'          `---------' ,'
                    `--.                           _.-'
                        `---.                 _.-''
                             `--------------''

                   Figure 4: Intradomain Access Control

   The big issue in this network is a difference in policy.

2.5.  Traffic Engineering

   This use case derives from real requirements of CERNET2, an IPv6
   network with 59 PoPs and sites from 22 cities.  The network shown in
   Figure 5 has multiple internal networks with different priorities
   when accessing the target network.  For example, domain 1 and domain
   2 need higher speed.  At the same time, the egress router R1 is much
   more congested than R2, because traffic from almost all domains
   (including 1, 2, 3, 4) travel through R1.  It is anticipated that
   network can divert traffic (from some domain to target network) to
   another egress router for reducing the total latency.

   For a mid-size network, CERNET2 wants to make the operations more
   dynamic and does not want to use static routing or PBR.  Also,
   CERNET2 does not want to use MPLS and MTR, because it does not have
   MPLS/MTR operators and the learning curve is quite high.  So, CERNET2
   desires to deploy src/dst routing.

   In this case, the egress router advertises reachability from specific
   source prefixes to the target network, with different metric
   representing the priority.  For example, by adjusting the advertised
   metrics, the path from domain 1 and 2 towards the target network will
   have much smaller metrics when going through R2 than through R1.
   Thus, the routers across the intra-domain will divert the traffic
   from domain 1 and 2 to R2 when forwarding to the target network.

   This implementation uses Source/Destination Routing Using BGP-4
   [I-D.xu-src-dst-bgp].



Baker, et al.           Expires October 29, 2016                [Page 8]

Internet-Draft         Source/Destination Routing             April 2016


               _.----.                                          ,-------.
          _.-''       `---.                                  ,-'         `-.
      ,-''                 `--.               ,-----.      ,'               `.
    ,'                         `.     +--+  ,'       `.   /                   \
  ,'  ,---------.  ,---------.   `+---+R1+-+   ISP 1   --+                     \
 /   ( Domain 1  )( Domain 2  )    `  +--+  `.       ,' ;                       :
;     `---------'  `---------'      : `       -----'    |       The Internet    |
|             Inter-domain          |                   |                       |
:               Backbone            ;         ,-----.   :                       ;
 \    ,---------.  ,---------.     /  +--+  ,'       `.  \                     /
  `. ( Domain 3  )( Domain 4  )  ,+---+R2+-+   ISP 2   ---+                   /
    `.`---------'  `---------' ,'     +--+  `.       ,'    `.               ,'
      `--.                 _.-'               `-----'        '-.....+....,-'
          `---.       _.-''                                         |
               `----''                                           ,--+--.
                                                               ,'       `.
                                                               |  Target |
                                                               `.Network,'
                                                                  -----'

                       Figure 5: Traffic Engineering

3.  Derived Requirements

   The use cases in can each be met if:

   o  The routing protocol or mechanism includes a source prefix.  It is
      acceptable that a default source prefix of ::/0 (all addresses)
      applies to routes that don't specify a prefix.

   o  The routing protocol or mechanism includes a destination prefix,
      which may be a default route (::/0) or any more specific prefix up
      to and including a host route (/128).

   o  The FIB lookup yields the route with the most specific (e.g.
      longest-match) destination prefix that also matches the source
      prefix constraint, or no match.

4.  IANA Considerations

   This memo asks the IANA for no new parameters.

5.  Security Considerations

   As a descriptive document, this note adds no new security risks to
   the network.





Baker, et al.           Expires October 29, 2016                [Page 9]

Internet-Draft         Source/Destination Routing             April 2016


6.  Privacy Considerations

   As a descriptive document, this note adds no new privacy risks to the
   network.

7.  Acknowledgements

   This note was discussed with Acee Lindem, Jianping Wu, Juliusz
   Chroboczek, Les Ginsberg Lorenzo Colitti, Mark Townsley, Markus
   Stenberg, Matthieu Boutier, Ole Troan, Ray Bellis, Shu Yang, and Xia
   Yin.

8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

8.2.  Informative References

   [I-D.baker-fun-routing-class]
              Baker, F., "Routing a Traffic Class", draft-baker-fun-
              routing-class-00 (work in progress), July 2011.

   [I-D.baker-ipv6-isis-dst-src-routing]
              Baker, F. and D. Lamparter, "IPv6 Source/Destination
              Routing using IS-IS", draft-baker-ipv6-isis-dst-src-
              routing-05 (work in progress), April 2016.

   [I-D.baker-ipv6-ospf-dst-src-routing]
              Baker, F., "IPv6 Source/Destination Routing using OSPFv3",
              draft-baker-ipv6-ospf-dst-src-routing-03 (work in
              progress), August 2013.

   [I-D.boutier-homenet-source-specific-routing]
              Boutier, M. and J. Chroboczek, "Source-specific Routing",
              draft-boutier-homenet-source-specific-routing-00 (work in
              progress), July 2013.

   [I-D.troan-homenet-sadr]
              Troan, O. and L. Colitti, "IPv6 Multihoming with Source
              Address Dependent Routing (SADR)", draft-troan-homenet-
              sadr-01 (work in progress), September 2013.





Baker, et al.           Expires October 29, 2016               [Page 10]

Internet-Draft         Source/Destination Routing             April 2016


   [I-D.xu-homenet-traffic-class]
              Xu, M., Yang, S., Wu, J., and F. Baker, "Traffic Class
              Routing Protocol in Home Networks", draft-xu-homenet-
              traffic-class-02 (work in progress), April 2014.

   [I-D.xu-src-dst-bgp]
              Xu, M., Yang, S., and J. Wu, "Source/Destination Routing
              Using BGP-4", draft-xu-src-dst-bgp-00 (work in progress),
              March 2016.

   [RFC2827]  Ferguson, P. and D. Senie, "Network Ingress Filtering:
              Defeating Denial of Service Attacks which employ IP Source
              Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827,
              May 2000, <http://www.rfc-editor.org/info/rfc2827>.

   [RFC3704]  Baker, F. and P. Savola, "Ingress Filtering for Multihomed
              Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March
              2004, <http://www.rfc-editor.org/info/rfc3704>.

Appendix A.  Change Log

   Initial Version:  August 2013

   Repost:  October 2014, initial draft reposted on request.

   CERNET2:  April 2016, CERNET2 use cases added.

Authors' Addresses

   Fred Baker
   Cisco Systems
   Santa Barbara, California  93117
   USA

   Email: fred@cisco.com


   Mingwei Xu
   Tsinghua University
   Department of Computer Science, Tsinghua University
   Beijing  100084
   P.R. China

   Phone: +86-10-6278-1572
   Email: xumw@tsinghua.edu.cn






Baker, et al.           Expires October 29, 2016               [Page 11]

Internet-Draft         Source/Destination Routing             April 2016


   Shu Yang
   Graduate School at Shenzhen, Tsinghua University
   Division of Information Science and Technology
   Shenzhen  518055
   P.R. China

   Phone: +86-755-2603-6059
   Email: yang.shu@sz.tsinghua.edu.cn


   Jianping Wu
   Tsinghua University
   Department of Computer Science, Tsinghua University
   Beijing  100084
   P.R. China

   Phone: +86-10-6278-5983
   Email: jianping@cernet.edu.cn

































Baker, et al.           Expires October 29, 2016               [Page 12]