Network Working Group J. Wu Internet-Draft J. Bi Intended status: Experimental Tsinghua University Expires: August 29, 2007 M. Williams Juniper Networks Feb 25, 2007 SAVA Testbed and Experiences to Date draft-wu-sava-testbed-experience-00 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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. This Internet-Draft will expire on August 29, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract This draft describes the testbed installed at Tsinghua University and other Universities in China attached to the CERNET-II IPv6 backbone, some SAVA testing that has been carried out on that network and some preliminary results of that testing. Wu, et al. Expires August 29, 2007 [Page 1] Internet-Draft SAVA Testbed Feb 2007 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 RFC 2119 [RFC2119]. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. SAVA Testbed . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. CERNET2 . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. SAVA Testbed on CERNET2 Infrastructure . . . . . . . . . . 3 3. SAVA Solutions Tested and Experiences . . . . . . . . . . . . 5 3.1. Inter-ISP Case (Neighbouring AS) . . . . . . . . . . . . . 5 3.2. Inter-ISP Case (Intervening AS) . . . . . . . . . . . . . 8 3.3. Intra-ISP (Access Network) Case . . . . . . . . . . . . . 9 4. Test Experience . . . . . . . . . . . . . . . . . . . . . . . 10 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 8.1. Normative References . . . . . . . . . . . . . . . . . . . 10 8.2. Informative References . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Intellectual Property and Copyright Statements . . . . . . . . . . 13 Wu, et al. Expires August 29, 2007 [Page 2] Internet-Draft SAVA Testbed Feb 2007 1. Introduction The problem addressed in the Source Address Validation Architecture activity is outlined in [I-D.wu-sava-problem-statement] and a proposed solution framework for discussion is outlined in [I-D.wu-sava-framework]. Some potential procedures that could be used as solution elements in the framework have been devised and one is introduced and discussed in [I-D.wu-sava-solution-e2e-ipv6]. It should be stressed that at this early stage, the solutions proposed in the solution document are not intended to pre-empt work carried out by the IETF in the solution space. Indeed, consensus must be reached on a framework before solution work can be fully undertaken. The shape of the "holes" needs to be established before the "pegs" can be carved. Furthermore, it is envisaged that more than one solution could be devised and deployed for each of the proposed solution elements required under the framework, in keeping with the requirement for a loosely-coupled architecture and, as far as possible, a plug-and-play framework. The intention of the solutions documents is to provide some solution ideas which can be implemented on the testbed described in this document. This document describes the testbed and the solutions implemented and tested on it to date. 2. SAVA Testbed 2.1. CERNET2 CERNET2 is one of the China Next Generation Internet (CNGI) backbones. CERNET2 connects 25 core nodes distributed in 20 cities in China at speeds of 2.5-10 Gb/s. The CERNET2 backbone is an IPv6- only network. 2.2. SAVA Testbed on CERNET2 Infrastructure It is intended that eventually the SAVA testbed will be implemented directly on the CERNET2 backbone, but in the early stages the testbed has been implemented as an overlay structure on top of CERNET2. This is because first, some of the algorithms need to be implemented in the testbed routers themselves and to date they have not been implemented on any of the commercial routers forming the CERNET2 backbone. Second, since CERNET2 is a production backbone, any new protocols and networking techniques need to be tested in a non- disruptive way. Wu, et al. Expires August 29, 2007 [Page 3] Internet-Draft SAVA Testbed Feb 2007 --------------- | Transit AS | --------------- | | ------ ------ |ASBR| |ASBR| ------ ------ | | | | Inter-ISP | | layer ........|...........|................. ------ ------ |ASBR| |ASBR| ------ ------ | | ----- ----- |AS1| |AS2| ----- ----- | | Intra-ISP | | layer ........|...........|................. | | ----- ----- |ASw| |ASw| Access ----- ----- layer | | ---------- ---------- | access | | access | | net | | net | ---------- ---------- | | ----- ----- | H1| |H2 | ----- ----- Figure 1: SAVA Framework Layers Notwithstanding the aforementioned restrictions on the early testbed, the testbed is fully capable of functional testing of solutions for all parts of the SAVA solution framework. Namely, it is possible to test procedures for ensuring the validity of IPv6 source addresses in the access network and in packets sent from the access network to an IPv6 service provider, packets sent within one service provider's network, packets sent between neighboring service providers and packets sent between service providers separated by an intervening transit network. The testbed is distributed across 7 universities connected to Wu, et al. Expires August 29, 2007 [Page 4] Internet-Draft SAVA Testbed Feb 2007 CERNET2, namely Tsinghua University, Beijing University, Beijing University of Post and Telecommunications, Shanghai Jiaotong University, Wuhan Polytechnic University, Southeast University in Nanjing, and South China Polytechnic University in Guangzhou. Each of the university installations is connected to the CERNET2 backbone through a set of inter-ISP filtering and monitoring equipment. (Inter-ISP Layer). Of the installations, the installation at Tsinghua University is the most fully-featured, with inter-ISP, Intra-ISP and access layer validation all able to be tested. In addition, a suite of applications that could be subject to spoofing attacks or which can be subverted to carry out spoofing attacks are installed on a variety of servers. The Tsingua testbed consists of three separate Autonomous systems joined by MBGP speakers. to be added Figure 2: CERNET2 Overlay SAVA Test Environment to be added Figure 3: Tsinghua University Trustable Internet Test Network to be added Figure 4: Tsinghua University Network AS100 detail to be added Figure 5: Tsinghua University Test Network AS200 Detail to be added Figure 6: Tsinghua University Test Network AS300 Detail 3. SAVA Solutions Tested and Experiences 3.1. Inter-ISP Case (Neighbouring AS) Wu, et al. Expires August 29, 2007 [Page 5] Internet-Draft SAVA Testbed Feb 2007 --------- | AIMS | ------|- | -------------- -----------|----- | AS-4 |----- ------| AS-1 | |----- | |ASBR |----->|ASBR | ------|- |ASBR |---> Global IPv6 | |----- ------| | VRGE | |----- Network --------------- | -------- | ----- ----------------- |ASBR| |ASBR| ------ ------ / | / | / | / | ---------- ----- |ASBR, VE| |ASBR| --------------- ------------- | AS-2 | | AS-3 | | | | | | | | | | | | | --------------- ------------- Key: AIMS == AS-IPv6 prefix Mapping Server, VRGE == Validation Rule Generating Engine, VE == Validating Engine Figure 7: Inter-ISP (Neighboring AS) Setup In the solution implemented on the testbed, the solution for the validation of IPv6 prefixes is separated into three functional modules: The Validation Rule Generating Engine (VRGE), the Validation Engine (VE) and the the AS-IPv6 prefix Mapping Server. (AIMS). Validation rules (VR) that are generated by the VRGE are expressed as IPv6 address prefixes. The VRGE generates validation rules, and each AS has one. In the testbed, these are implemented on a LINUX server. The VE loads validation rules generated by VRGE to filter packets passed between ASs (In the case of Figure 7, from neighbouring ASs into AS-1. In the SAVA testbed, the VE is implemented as a simulated L2 device on a Linux-based machine inserted into the data path just outside each ASBR interface that faces a neigbouring AS, but in a real-world implementation it would probably be implemented as a packet filter set on the ASBR. The AS-IPv6 prefix mapping server is also implemented on a Linux machine and derives a mapping between IPv6 Wu, et al. Expires August 29, 2007 [Page 6] Internet-Draft SAVA Testbed Feb 2007 prefix and the AS of that prefix's "entry" into the region of validated IPv6 prefixed by processing AS-Path information. The rules are derived according to the table below, as described in [Gao]. --------------------------------------------------------------------------- | \Export| Own | Customer's| Sibling's | Providor's | Peer's | |To \ | Address | Address | Address | Address | Address | |-----\-------------------------------------------------------------------| | Providor | Y | Y | Y | | | |-------------------------------------------------------------------------| | Customer | Y | Y | Y | Y | Y | |-------------------------------------------------------------------------| | Peer | Y | Y | Y | | | |-------------------------------------------------------------------------| | Sibling | Y | Y | Y | Y | Y | --------------------------------------------------------------------------- Figure 8: AS-Relation Based Inter-AS Filtering Different ASes exchange and transmit VR information using the AS- relation-based export rules in the VR generation server. As per Figure 8, an AS exports the address prefixes of its own , its customers, its providers, it siblings and its peers to its customers and siblings as valid prefixes, while it only exports the address prefixes of its own, its customers and its siblings to its providers and peers as valid prefixes. With the support of AS Number to IPv6 Address Mapping service, only AS numbers of valid address prefixes are transferred between ASes and the AS number is mapped to address prefixes at the VRGE. Only changes of AS relation and changes of IP address prefixes belonging to an AS require the generation of VR updates. The procedure's principle steps are as folows (as seen by AS-1 in Figure 7): 1. When the VRG has initialised, it reads the AS neighbour table and establishes TCP connections to all the VEs in its own AS. 2. The VRGE initiates a VR renewal. According to its export table, it sends its own originated IPv6 prefixes to neighbouring ASs VRGEs. Rules are expressed as AS numbers. 3. When a VRGE receives the new rules from its neighbour, it then uses its own export table to decide whether it should accept the rules and, if it accepts a rule, whether or not it should re- export the rule to other neighbouring ASs. Wu, et al. Expires August 29, 2007 [Page 7] Internet-Draft SAVA Testbed Feb 2007 4. If the VRGE accepts a rule, it used the AIMS to transform AS- expressed rules into IPv6 refix-expressed rules. 5. The VRGE then pushes the thus-generated rules to all the VEs in its AS. The VEs then use these prefix-based rules to filter incoming packets. 3.2. Inter-ISP Case (Intervening AS) In the case where two ASs do not exchange packets directly, it s not possibe to deploy a solution like that in the previous section. However, it is highly desirable for non-neighbouring ISPs to be able to form a trust alliance such that packets leaving one AS will be recognised by the other and inherit the validation status they possessed on leaving the first AS. There is more than one way to do this. For the SAVA experiments to date, the signature method detailed in [I-D.wu-sava-solution-e2e-ipv6] has been used. This particular method uses a weak signature. +-----+ | REG | +-----+ ,-------------- ,-------------- ,' ` `. ,' ` `. / \ / \ / \ / \ ; +-----+ +----+ +----+ +-----+ ; | | ASC | |AER | |AER | | ASC | | : +-----+ +----+` +----+ +-----+ : \ / \ / \ / \ / `. ,' `. ,' '-------------' '-------------' AS-1 AS-2 KEY: REG == Registration Server, ASC == AS Control Server, AER == AS Edge Router. Figure 9: Validation Setup Between non-Neighbouring ASs There are three major components in the system: the Registration Server(REG), the AS Control Server(ASC), and the AS Edge Router(AER). The Registration Server is the "center" of the trust alliance (TA) . It maintains a member list for the TA. It performs two major functions: Wu, et al. Expires August 29, 2007 [Page 8] Internet-Draft SAVA Testbed Feb 2007 o Processes requests from the AS Control Server, to get the member list for the TA. o When the member list is changed, notifiy each AS Control Server. Each AS deploying the method should have an AS Control Server. The AS Control Server has three major functions: o Communicate with the Registration Server, to get the up-to-date member list of TA. o Communicate with the AS Control Server in other member AS in the TA, to exchange updates of prefix ownership information, and to exchange signatures. o Communicate with all edge routers of the local AS, to configure the processing component on the edge routers. The AS Edge Router does the work of adding signature to the packet at the sending AS, and the work of verifying and removing the signature at the destination AS. In the design of this system, in order to decrease the burden on the REG, most of the control traffic happens between ASCs. 3.3. Intra-ISP (Access Network) Case Assuming an ISP has implemented source address validation on its connection to peers and transit providers, the intra-ISP case reverts to access validation. There are many options for access validation, including BCP38 filtering, depending on the strength of validation required. The solution tested in the SAVA testbed takes the strongest requirement for validation in the access network. That is, any IPv6 address should have a unique association with an entity that is specifically authorised to use that IPv6 address. (BCP38 filtering, on the other hand typically only requires that the source address of a packet entering the provider network belong to a prefix that is allocated to or has transit through the attached access network.) An Extended Access Control Protocol is used in order to distribute authorised IPv6 addreses to end-users and to ensure a record of the authorised user and the corresponding IPv6 address and MAC address for each port of the access switch. As a result it is possible for the access switch to filter any packets sent by the user (or sokmeone pretending to be the user) that do not carry the authorised IPv6 source address and the corresponding MAC address. The SAVA extendes access control used for this proof of concept follows the following 4 Wu, et al. Expires August 29, 2007 [Page 9] Internet-Draft SAVA Testbed Feb 2007 steps: 1. End user sends an identity verification supplication, and the access switch sends a RADIUS request to the SAVA access validation server. 2. On successful establishment of identity, the SAVA access validation server issues an authorised IPv6 address for the user. 3. The access switch, on receiving the RADIUS authentication success message combines the embedded IPv6 address, the end-user identity, end-user MAC address and the switch port number into a binding relationship. In addition, it sends the issued address to the end-user host. 4. The access switch begins to filter packets sent from the end-user host. Packets which do not conform to an authorised (MAC SA, IPv6 SA, Switch Port) tuple are discarded. 4. Test Experience The solutions outlined above have been implemented on the testbed described above. Successful testing of all solutions has been carried out. A more detailed discussion will be forthcoming in the next version of this draft. 5. IANA Considerations This document makes no request of IANA. Note to RFC Editor: this section may be removed on publication as an RFC. 6. Security Considerations 7. Acknowledgements 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Wu, et al. Expires August 29, 2007 [Page 10] Internet-Draft SAVA Testbed Feb 2007 8.2. Informative References [Gao] Gao, L., "On Inferring Autonomous System Relationships in the Internet", Infocom 2001, December 2001. [I-D.wu-sava-framework] Wu, J., "Source Address Validation Architecture (SAVA) Framework", draft-wu-sava-framework-00 (work in progress), February 2007. [I-D.wu-sava-problem-statement] Wu, J., Bonica, R., Bi, J., Li, X., Ren, G., and M I. Williams, "Source Address Validation Architecture (SAVA) Problem Statement", February 2007. [I-D.wu-sava-solution-e2e-ipv6] Wu, J., "An End-to-end Source Address Validation Solution for IPv6", draft-wu-sava-solution-e2e-ipv6-00 (work in progress), February 2007. Authors' Addresses Jianping Wu Tsinghua University Phone: Fax: Email: jianping@cernet.edu.cn URI: Jun Bi Tsinghua University Phone: Fax: Email: junbi@tsinghua.edu.cn URI: Wu, et al. Expires August 29, 2007 [Page 11] Internet-Draft SAVA Testbed Feb 2007 Mark Williams Juniper Networks Phone: Fax: Email: miw@juniper.net URI: Wu, et al. Expires August 29, 2007 [Page 12] Internet-Draft SAVA Testbed Feb 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Wu, et al. Expires August 29, 2007 [Page 13]