Draft-ietf-ripv2-ripng-00.txt G. Malkin/Xylogics November 1994 RIP for IPv6 Abstract This document specifies a routing protocol, based on the Routing Information Protocol (RIP), as defined in [1,2], for IP version 6 (IPv6), as defined in [3]. NOTE: This is a drafty draft! Status of this Memo This document is an Internet-Draft. 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." To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Acknowledgements This document is based on an Internet Draft for SIP-RIP written in March 1993 by myself and Christian Huitema. Malkin Expires: 16May94 [Page 1] Internet Draft RIPng May 1994 Table of Contents 1. Justification . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Protocol Design . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1 Packet Format . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Prefered Route Determination . . . . . . . . . . . . . . . . 4 3.3 Authentication . . . . . . . . . . . . . . . . . . . . . . . 5 4. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 1. Justification IPv6 is derived from SIPP, the Simple Internet Protocol Plus. It stands to reason that the simplest, most widely supported, and best understood routing protocol should be modified to support it. At the same time, RIPng will make use of some of the RIP-2 extensions. 2. Overview RIPng is not a new version of IP RIP. It is a new protocol which will be run over its own UDP port. Despite that, the changes are only to the format of the routing entries within a routing packet, the basic manipulation of routes and the routing table remains unchanged. RIPng makes use of some of the RIP-2 enhancements (i.e., subnet masks and authentication). The subnet mask field has been replaced by a single byte which specifies the number of bits in the subnet mask, which therefore disallows the use of discontiguous subnet masks. The metric has been reduced to a single byte, but the maximum number of hops permitted is now 32 instead of 16. A new field, throughput class, has been added to characterize the links which are used by a route. The most important change, however, is the increase in the size of the address field from 32 bits to 128 bits. Additionally, RIPng packets will not have an arbitrary maximum size assigned to them. Since routing uptdates are never forwarded, there are no fragmentation problems. Therefore, the maximum size of a RIPng update will be roughly the MTU of the transmission medium, rounded down to an integral number of routing entries. For example, on an Ethernet, which has an MTU of 1500 octets, a RIPng routing update could be up to 1492 bytes long (72 entries * 20 bytes per entry + 4 bytes RIPng header + 8 bytes UDP header + 40 bytes minimum IPv6 header). Of course, space would have to be reserved for IPv6 Malkin Expires: 16May94 [Page 2] Internet Draft RIPng May 1994 options, so perhaps 70 entries per packet would be more likely. Still, this is a 280% improvement over IP RIP packets. 3. Protocol Design RIPng will be run on UDP port ???. Periodic RIPng routing updates will be sent to the IPv6 "all routers on this link" multicast address, ????. 3.1 Packet Format IP RIP packets are limited to 25 routing entries which limits the maximum packet size to 512 bytes (including UDP header). This can cause unnecessary overhead on LANs with larger MTUs when there are more than 25 routes to be advertised. Since routing updates are not forwarded, there is no reason to artificially limit the maximum packet size. Therefore, the number of routing entries in any given RIPng update shall be governed by the MTU of the link over which the update is to be transmitted. For example, on an Ethernet there may be up to 73 entries in a single update (73 entries times 20 bytes per entry plus 4 bytes of RIP header plus 8 bytes of UDP header plus 20 bytes of IPv6 header equals 1492 bytes). The RIPng packet format is: 0 1 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command (1) | Version (1) | unused | +---------------+---------------+-------------------------------+ | Type (1) | Mask Length(1)| TP Class (1) | Metric (1) | +-------------------------------+-------------------------------+ | | ~ IPng Address (16) ~ | | +---------------------------------------------------------------+ All fields are coded in IPv6 network byte order (big-endian). Command: 1 - request 2 - response Version: 1 - RIPng version 1 Malkin Expires: 16May94 [Page 3] Internet Draft RIPng May 1994 Type: 1 - Packet Authentication (see section 3.3) 2 - IPv6 Route Mask Length: The number of one bits in the address/subnet mask, moving left to right. The mask, when applied to the IPv6 address, yields the non-host portion of the address. Use of a mask length, rather than a complete mask, allows the RIPng route entries to be smaller. The drawback, is that discontiguous masks cannot be specified. TP Class: The Throughput Class allows information about the bandwidth of the route to be propogated between routers. The throughput would be encoded with the following formula: INT(10 * log10(datarate_in_Kbps)) There will be no negative classes, so datarates under 1Kbps will be class 0. The following table shows the throughput classes for a few common datarates: Datarate TP Class Datarate TP Class 1200bps 0 4Mbps 36 9600bps 9 10Mbps 40 19.2Kbps 12 16Mbps 42 56Kbps 17 45Mbps 46 115.2Kbps 20 100Mbps 50 1.544Mbps 31 1Gbps 60 Of course, the maximum datarate that can be encoded in one byte is only 3,162,277,000,000,000,000Tbps. Metric: The number of hops to the destination. Infinity is 32. IPv6 Address: The IPv6 address of this route's destination. 3.2 Prefered Route Determination The prefered route is determined by taking into account both the Malkin Expires: 16May94 [Page 4] Internet Draft RIPng May 1994 Throughput Class and the Metric according to the following rules. 1- When a route is received through a subnet, the Metric is incremented by 1 and the Throughput Class is set to the minimum of the received value and the subnet's Throughput Class. 2- If the Metric has reached infinity, the route shall not be used. 3- When two routes have different Throughput Classes, the route with the larger Throughput Class value is considered to be the shorter, prefered route. 4- When two routes have equal Throughput Classes, the route with the lesser Metric is the shorter, prefered route. 3.3 Authentication The authentication mechanism is similar to that used in RIP-2. If the Type field of the first (and ONLY the first) entry in the packet is type 1, then the remainder of the 20 byte entry is interpreted as a packet authentication. If authentication is not in use, then no entries in the packet should have an Type field value of 1. The beginning of a packet with an authentication entry has the following format: 0 1 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Command (1) | Version (1) | Routing Domain (2) | +---------------+---------------+-------------------------------+ | Type = 1 | Authtype (1) | reserved (2) | +-------------------------------+-------------------------------+ ~ Authentication (16) ~ +---------------------------------------------------------------+ Currently, the only Authentication Type is simple password and it is type 2. The Authentication field contains the plain text password. If the password is under 16 bytes, it must be left-justified and padded to the right with nulls (0x00). A password is not null terminated; it is 16 bytes long. 4. Security Considerations RIPng uses the same authentication mechanism as RIP-2. The authentication types are described in section 3.3 Malkin Expires: 16May94 [Page 5] Internet Draft RIPng May 1994 References [1] Hedrick, C., "Routing Information Protocol", Request For Comments (RFC) 1058, Rutgers University, June 1988. [2] Malkin, G., "RIP Version 2 - Carrying Additional Information", Request For Comments (RFC) 1723, Xylogics, Inc., November, 1994. [3] Hinden, R., "IP Next Generation Overview", draft-hinden-ipng-overview-00.txt, October 1994 Author's Address Gary Scott Malkin Xylogics, Inc. 53 Third Avenue Burlington, MA 01803 Phone: (617) 272-8140 EMail: gmalkin@Xylogics.COM Malkin Expires: 16May94 [Page 6]