Internet DRAFT - draft-draves-ipngwg-ingress-filtering

draft-draves-ipngwg-ingress-filtering





IPng Working Group                                          Richard Draves 
Internet Draft                                          Microsoft Research 
Document: draft-draves-ipngwg-ingress-filtering-00.txt        May 18, 2001 
                                                                           
 
   Ingress Filtering, Site Multihoming, and Source Address Selection 

Status of this Memo 

   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC 2026 [1]. 

   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups. Note that 
   other groups may also distribute working documents as Internet-
   Drafts. 

   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." 

   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/ietf/1id-abstracts.txt. 

   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html. 

Abstract 

   This draft discusses some issues surrounding ingress filtering by 
   IPs, site multihoming, and source address selection. The problem is 
   that in a site which has prefixes from multiple ISPs, the source 
   address selected by a host might be inconsistent with the egress ISP 
   for a particular destination address. If the ISP deploys source-
   address-based ingress filtering, the host will be unable to 
   communicate with the destination. The draft proposes some possible 
   approaches towards a solution. 

1. Introduction 

   Site multihoming occurs when a site is attached to multiple ISPs. In 
   one model for site multihoming, the site acquires a site prefix for 
   each ISP. The multiple site prefixes are all advertised within the 
   site, so each host in the site acquires multiple addresses. 

   Some ISPs perform source-address-based ingress filtering. Their 
   access routers drop packets arriving from a customer, if the source 
   address in the packet does not match the site prefix that the ISP 
   has allocated to the customer. 

   The routing within a site is based on destination address and does 
   not consider source address. Some destination addresses may be 
  
Draves                  Expires December 2001                       1 
draft-draves-ipngwg-ingress-filtering-00                  May 18, 2001 
 
 
   routed to one ISP, and other destination addresses routed towards 
   another ISP. 

   Putting this all together creates a problem for source address 
   selection on the hosts. If the host chooses the wrong source address 
   for a destination, its packets will be dropped when they arrive at 
   the ISP. 

2. Possible Approaches to a Solution 

2.1. Sites with One Link 

   If the site has one link then the problem is simplified. Suppose 
   that each ISP router attached to the link advertises its own prefix. 
   The host can remember which router advertised which prefix. When the 
   host selects a router for a particular destination address, the host 
   can also be careful to select a source address from a prefix 
   advertised by that router. 

   More generally, this works if each router interface forwards all 
   received packets towards a single ISP. Then that router interface 
   puts in its RAs just the prefix associated with the ISP to which it 
   forwards. 

   However, this doesn't work in many common situations. For example, 
   suppose the site contains a leaf link, attached to the site by a 
   single router. The hosts on the leaf link have a single default 
   router and they will acquire prefixes from multiple ISPs from the 
   single router. 

2.2. Prefix Policy Configuration 

   The default source address selection algorithm [2] provides for 
   administrative configuration via a prefix policy table. The prefix 
   policy table allows the administrator to specify source address 
   prefixes which should preferentially be used when communicating with 
   given destination address prefixes. 

   The intra-site routing partitions the space of destination addresses 
   into prefixes that are routed towards each ISP. This information, 
   assuming it is available to the administrator, may be used to 
   configure the prefix policy table on each host and hence avoid 
   having packets dropped due to incorrect choice of source address. 

   One complicating factor is that the partition may not be constant 
   across the site. In other words, when host A in the site sends to 
   destination D, the packet may be routed towards ISP X and when host 
   B in the site sends to destination D, the packet may be routed 
   towards ISP Y. This means host A and host B would need different 
   prefix policy configuration. 

   Conceivably, the prefix policy configuration could be automatically 
   determined by the intra-site routers, since they have knowledge of 
  
Draves                  Expires December 2001                       2 
draft-draves-ipngwg-ingress-filtering-00                  May 18, 2001 
 
 
   the routing, and distributed to the hosts via a new Router 
   Advertisement option. 

2.3. New ICMP Error 

   Suppose that when an ISP's access router drops a packet because it 
   fails a source-address-based ingress check, that the access router 
   generates a new type of ICMP error. The ICMP error would contain (in 
   option data) the allowed source prefix (or list of prefixes?) for 
   the destination address. 

   When a host receives this new ICMP error, it can remember the 
   allowed source address prefix(es) in its Destination Cache Entry for 
   the destination address. This would influence source address 
   selection for that destination. This is analogous to maintaining the 
   Path MTU in the Destination Cache Entry. 

   One problem with this approach is that the ICMP error will take an 
   awkward path to reach the host. If ISP A is generating the error, 
   then that means the offending packet's source address belongs to 
   another ISP B's prefix. Hence the ICMP error, which is sent to that 
   source address, will travel back to the site via ISP B instead of 
   directly from ISP A's access router back to the site. Besides being 
   inefficient, it may be that the path via ISP B to the site is not 
   working and hence the ICMP error won't make it to the site. After 
   all, one reason for site multihoming is to be robust to such ISP 
   failures. 

   Possibly an exception could be made to the usual method of 
   generating the ICMP error in ISP A's access router, so that this 
   particular ICMP error is forced back out the same interface (towards 
   the site) by which the offending packet arrived. 

   Or perhaps a more principled way to achieve this effect: use a 
   routing header (or encapsulation?) in the ICMP error to route the 
   error to an anycast address based on the site prefix. For example, 
   when ISP A's access router generates the error because the packet's 
   source address A doesn't match the prefix P that ISP A allocated to 
   the site, then it uses a routing header to first send the error to 
   an anycast address equal to prefix P (this anycast address being 
   assigned to all routers within the site) and from there to the 
   normal destination, address A. Then the usual routing within ISP A 
   will take the packet directly back to the site without transitting 
   any other ISP. 

   There are a couple fairly reasonable assumptions in this idea. 
   First, the prefix P would be a /48. So the assumption is that the 
   subnet-router anycast address idea (for /64 prefixes) would be 
   extended to other prefix lengths. Second, it assumes "convex" 
   routing within the site. That is, it assumes that once the ICMP 
   error packet made it to any router in the site (via the anycast 
   address P), then the path back to the originating host (address A) 
   would lie entirely within the site. If this assumption is false (for 
  
Draves                  Expires December 2001                       3 
draft-draves-ipngwg-ingress-filtering-00                  May 18, 2001 
 
 
   example if the site border router directly connected to ISP A has a 
   default route pointing to ISP A and does not have a more-specific 
   route for address A), then the ICMP error would leave the site, 
   transit ISP B, and reenter the site. 

References 
 
   1 S. Bradner, "The Internet Standards Process -- Revision 3", BCP 9, 
      RFC 2026, October 1996. 

   2 R. Draves, "Default Address Selection for IPv6", draft-ietf-
      ipngwg-default-addr-select-04.txt, May 2001. 

Acknowledgments 

   This draft derives from discussions with Christian Huitema, Dave 
   Thaler, and Brian Zill. 

Author's Address 

   Richard Draves 
   Microsoft Research 
   One Microsoft Way 
   Redmond, WA 98052 
   Phone: 1-425-936-2268 
   Email: richdr@microsoft.com 



























  
Draves                  Expires December 2001                       4 
draft-draves-ipngwg-ingress-filtering-00                  May 18, 2001 
 
 
   Full Copyright Statement 

   Copyright (C) The Internet Society (2001).  All Rights Reserved. 

   This document and translations of it may be copied and furnished to 
   others, and derivative works that comment on or otherwise explain it 
   or assist in its implementation may be prepared, copied, published 
   and distributed, in whole or in part, without restriction of any 
   kind, provided that the above copyright notice and this paragraph 
   are included on all such copies and derivative works.  However, this 
   document itself may not be modified in any way, such as by removing 
   the copyright notice or references to the Internet Society or other 
   Internet organizations, except as needed for the purpose of 
   developing Internet standards in which case the procedures for 
   copyrights defined in the Internet Standards process must be 
   followed, or as required to translate it into languages other than 
   English. 

   The limited permissions granted above are perpetual and will not be 
   revoked by the Internet Society or its successors or assigns. 

   This document and the information contained herein is provided on an 
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 


























  
Draves                  Expires December 2001                       5