Network Working Group Shunyi Zhang Internet Draft NJUPT Intended status: Experiment Ling Tan Expires: June 3, 2011 NJUPT Xiangyan Ning NJUPT Jingxian Liu NJUPT Dec 3, 2010 Definition of a secondary routing structure draft-shunyi-secondary-routing-structure-00.txt Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. 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 Shunyi Zhang Expires June 3, 2011 [Page 1] Internet-Draft Definition of a secondary routing structure Dec 2010 This Internet-Draft will expire on June 3, 2011. Copyright Notice Copyright (c) 2010 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. Abstract This document introduces a dynamic secondary routing structure with the destination address and subnet mask as the first index and DSCP value as the second. DSCP values of various applications are extracted and packets are forwarded in accordance with them. Therefore, applications with different demands of Quality of Service (QoS) can be served accordingly, which can promote the quality of transmission and finally achieve differentiated services. Table of Contents 1. Introduction................................................2 2. Conventions used in this document............................3 3. DSCP Values of Differentiated Application....................3 4. Definition of the dynamic secondary routing structure.........4 5. Security Considerations......................................7 6. IANA Considerations.........................................7 7. References..................................................7 7.1. Normative References....................................7 7.2. Informative References..................................7 8. Acknowledgments.............................................7 1. Introduction With the fast development of the Internet, management of the increasingly complex networks has drawn people's attention. Service differentiation provides scalability and stability, which can well adapt current heterogeneous network and fulfills distinct requirements of users. Traditional routing table is likely to cause traffic congestion and does not differentiate various types of services. Moreover, the Internet has a more sophisticated topology Shunyi Zhang Expires June 3, 2011 [Page 2] Internet-Draft Definition of a secondary routing structure Dec 2010 today, and its structure is varying all the time. A routing table with a fixed structure fails to meet the need of the changing network environment. This Internet draft gives a dynamic secondary index of routing structure based on DSCP value over traditional address-based routing table, which can well accommodate the changes of the Internet and provide better QoS guarantee. 2. Conventions used in this document Differentiated service (DiffServ) defines a structure which allows scalable services classification on the Internet. It can provide low latency and QoS guarantee for critical network traffic such as video and voice while provide best-effort guarantee for non-critical traffic such as file transfers. [RFC 2474] 3. DSCP Values of Differentiated Application The traditional Integrated Service doesn't provide scalability and stability which are essential to the development of the Internet. IETF proposed the Differentiated Service. In Differentiated Service, core router divides IP packets into different types in accordance with DS field of IP packet header, with no need to store the information of each flow. Each type of traffic has a corresponding PHB (Per Hop Behavior) [RFC 2597] and different demands of QoS. The DS field in IP packet header is defined as TOS value of IPv4 packet header or six bytes of traffic class of IPv6 packet header [IPv6]. The DSCP value is a part of the DS field. It identifies the type of the traffic. When a packet arrives at a router, it is identified by the Traffic Identification module and is noted with a specific DSCP value as its application type. Then the router searches for the proper next hop from the routing table with this DSCP value [RFC 2475]. A two-bit Currently Unused (CU) field is reserved at present in its definition. In our previous document (draft-Shunyi- Unified-Traffic-00), the CU field is used as an extension of DS field. The DS field structure is presented below: 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | DSCP | CU | +---+---+---+---+---+---+---+---+ DSCP: differentiated services codepoint Shunyi Zhang Expires June 3, 2011 [Page 3] Internet-Draft Definition of a secondary routing structure Dec 2010 CU: currently unused Part of the definition of different DSCP value is listed as follows: DSCP value application type 0x00 GRE 0x04 SKYPE 0x61 FTP 0x6f BitTorrent 0x86 X11-TCP 4. Definition of the dynamic secondary routing structure The conventional routing table which contains destination address, subnet mask and next hop is likely to cause traffic congestion and does not provide differentiated services for various types of traffic. In this Internet draft we define a new dynamic secondary routing structure with destination address as the first index and DSCP value as the second one. In other words, each router keeps a table that records destination addresses and subnet masks in the first index, then for the same destination address, the router refers to the second index and finds its next hop in terms of the DSCP value of the packet which was marked when the packet reaches the router. The second index of the routing table is constructed dynamically. The structure of this routing table is as follows: ------------------------------------------- First index | Destination Address | Subnet Mask | ------------------------------------------- ------------------------------------------- Second index | DSCP Value | Next Hop | ------------------------------------------- It is well known that different types of traffic have different QoS demands. For example, if a flow is detected as online interactive traffic, like Skype, a route with low latency and jitter should be assigned to it, while traffic of simple text transmission has low QoS requirements. So properties like bandwidth, latency and jitter should be taken into consideration when forming the secondary routing table. Shunyi Zhang Expires June 3, 2011 [Page 4] Internet-Draft Definition of a secondary routing structure Dec 2010 It is clear that the first part of the routing table is a list of destination addresses and subnet masks of received packets, and the second index reflects the relation between DSCP value and next hop. Due to the fact that listing every DSCP value in second index may cause difficulty in storing and searching, we make a rough sort that combines some DSCP values and assign them with a same next hop. Note that the services with the same next hop should have similar QoS demands. The properties mentioned above should better not be considered independently, but we still divide the applications roughly into several classes for simplicity: (1) Traffic that demands a threshold for bandwidth (2) Traffic that demands lowest latency (3) Traffic that demands least jitter (4) Traffic that demands a shortest path Each router also keeps some information tables of its adjacent nodes including the bandwidth and the current payload of the link, latency and jitter of the link as well as the distance to other nodes in the network, which can help to choose the next hop. The information table is shown as follows. -------------------------------------------------------------- | Adjacent nodes | bandwidth | payload | latency | jitter | B ---- --- --- --- C ---- --- --- --- --- -------------------------------------------------------------- Information table of node A This information is monitored and measured all the time and should be exchanged in a certain interval. When a packet is received, it should be classified first, then search for destination according to the secondary routing table. For example, when an application demands a lower limit of bandwidth, the router refers to the information table and finds a qualified link with the smallest bandwidth, and the node adjacent to it is selected as the next hop. Floyd Algorithm can be used to calculate the distances between any two nodes and form the Shunyi Zhang Expires June 3, 2011 [Page 5] Internet-Draft Definition of a secondary routing structure Dec 2010 routing table. If this application is classified as a traffic that demands a shortest path, Floyd Algorithm can be adopted. An example is shown next to explain how this routing table with secondary index works. Routers are denoted as letters such as D, B, E, etc. First index Second index |Destination address |Subnet mask| |128.30.33.0 |255.255.255.128|-----|DSCP value |Next Hop| 0x23 D 0x42 B 0x4f E 0x66 A --- --- |128.30.33.128 |255.255.255.128|-----|DSCP value |Next Hop| 0x09 H --- --- |128.30.36.0 |255.255.255.0|-------|DSCP value |Next Hop| --- --- --- --- When a router receives a packet, it extracts the destination address and subnet mask of the packet. Then it searches the second index of the routing table. First, it checks the types of services of this packet, and reflects it to one of the four types that we defined in advance. Second, the information table of this node is created and then the next hop can be determined. Once the next hop is selected, the packet will be forwarded. This dynamic routing table is especially applicable to the case that applications have the same source address and destination address. Because there can be many optional routes between two hosts in this situation. Thus different routes should be selected for applications Shunyi Zhang Expires June 3, 2011 [Page 6] Internet-Draft Definition of a secondary routing structure Dec 2010 with different demands. For example, a route with relatively high performance and good QoS guarantee can be provided for traffic that has high latency demand and is sensitive to jitter, while for services like simple file transfer, a route providing best-effort QoS guarantee can be preferable. Obviously, the second index of the routing table is constructed dynamically, which makes it possible to monitor and control the current state of the whole network. Thus network congestion can be avoided and better QoS can be guaranteed. 5. Security Considerations Noting the packets with different DSCP value and the definition of the new dynamic secondary routing structure do not have any direct impact on security. 6. IANA Considerations This document has no IANA considerations. 7. References 7.1. Normative References [1] [RFC2474] Nichols, K., "Definition of the Differentiate Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC2474, December 1998. [2] [RFC2597] Heinanen, J., "Assured forwarding PHB Group", RFC 2597, JUNE 1999. [3] [IPv6] Hinden, R., "Internet Protocol, Version 6(IPv6) Specification", RFC2460, December 1998. 7.2. Informative References [4] [RFC2475]Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z. and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, December 1998. 8. Acknowledgments The author would like to acknowledge the Differentiated Service Working Group for the Differentiated Services architecture which [RFC2475] helped shape this document. Shunyi Zhang Expires June 3, 2011 [Page 7] Internet-Draft Definition of a secondary routing structure Dec 2010 Authors' Addresses Shunyi Zhang Nanjing University of Posts and Telecommunications NO.66 XinMofan Road Nanjing China Phone: 86-025-85882205 Email: dirzsy@njupt.edu.cn Ling Tan Nanjing University of Posts and Telecommunications NO.66 XinMofan Road Nanjing China Email: cillatan0@163.com Xiangyan Ning Nanjing University of Posts and Telecommunications NO.66 XinMofan Road Nanjing China Email: xyning@126.com Jingxian Liu Nanjing University of Posts and Telecommunications NO.66 XinMofan Road Nanjing China Email: Y004091303@njupt.edu.cn Shunyi Zhang Expires June 3, 2011 [Page 8]