CURRENT_MEETING_REPORT_ Reported by Deborah Estrin/USC and Tony Li/cisco Minutes of the Source Demand Routing Working Group (SDR) Changes to the Specification Changes to the specification were presented and discussed. Major modifications were made to support interior SDRP. The new packet header format was presented. All packets now carry a hop count, which formerly was only in data packets. All packets now carry target router and notification fields, even though only control packets use them. Notification uses a byte which would be necessary for alignment anyhow, so this causes four bytes of overhead on data packets. The source route length is now the number of IP addresses, not the number of bytes. The next hop pointer also now is in terms of addresses. The source route now supports interior routing due to the need expressed at the previous SDRP BOG for source demand routing within domains. Source routes now contain three types of entries, all of which are syntactically IP addresses. An entry may be a normal IP address, or an AS number, or a change in source route attributes. An AS number is encoded in the low order two octets of network 128.0.0.0. Changed source route attributes are encoded in the low order three octets of 127.0.0.0. Currently, the only change possible is to change the strict/loose source route bit. This accommodates source routes which need a mix of strict and loose source routing. There are changes to forwarding to match the new source route format. If the address in the source route that is currently being processed is a normal IP address, then forwarding checks to see if it matches the local address and if so, looks at the next address in the source route. Otherwise the packet is forwarded to the indicated address using normal IP forwarding. If the address in the source route encodes an AS number that matches the local AS#, then forwarding looks at the next entry in the source route; otherwise the packet is forwarded to the indicated AS looking at D-FIB. If the address in the source route encodes a change in attribute type, then the SDRP speaker reaches in and sets the attribute bit accordingly and looks at the next source route entry for processing. SDRP Overview A brief SDRP overview was presented for new folks; see the BOF Minutes from the previous IETF or the Unified architecture document for background. SDRP Usage Document We discussed a draft of the SDRP usage document distributed before the IETF. 1 SDRP can be used in the near-term to provide special routes that compliment existing IGP and BGP/IDRP routing. We can phase SDRP into the operational Internet without wholesale replacement of routing. At the same time as we are proceeding with protocol specifications for nearer-term experimentation, longer-term issues are already under consideration. To provide a sense of ``where we are headed'' with this protocol and the Unified architecture in general, a companion document on SDRP futures has also been drafted. In the packet format and forwarding protocol specification we do not specify how an SDRP router that originates an SDRP packet acquires an SDRP route. An SDRP route is defined as a sequence of domain identifiers and/or IP addresses, or a combination; the route may be strict or loose. The usage document should discuss mechanisms for acquiring SDRP routes using EXISTING routing information distribution mechanisms (BGP/IDRP). In particular, it will cover the following three sources of routes: 1. BGP/IDRP routes 2. Manually configured routes 3. Route fragments Any legal BGP or IDRP route is, by definition, a legal SDRP route, so long as there are SDRP speakers at appropriate points along the path. Every BGP/IDRP speaker may maintain information about multiple feasible routes to a destination (routes advertised by different neighbors). But a BGP speaker chooses at most one route to be active (selected), and an IDRP speaker may choose more than one route to be active (selected) only if all selected routes have different ``distinguishing attributes''. As a result, the currently active (selected) IDRP/BGP route may not be appropriate for the packet. One of the simplest forms of SDRP route acquisition is to select among the alternative routes advertised by the node's neighbors. This requires NO modifications to BGP/IDRP. It does require development of appropriate route selection rules, both manual and semi-automated, for selecting particular BGP/IDRP routes to be used as SDRP routes. Network administrators can also create SDRP routes by examination of network topology BGP/IDRP databases, or manually collecting network information through active probing (traceroute). The operational status of routes can be determined dynamically using the passive and active mechanisms defined in SDRP packet forwarding, allowing the scheme to adapt to topological changes. For the usage document we need to give examples of useful manual configurations. We must also emphasize the need to use PROBE to detect 2 black hole routes and the utility of having several SDRP routes as fallback routes to somewhat make up for the fact that these will be ``static'' due to manual configuration. Route fragments from different BGP/IDRP routes can be used, in part or whole, to create desired SDRP routes that do not appear in the node's neighbors' BGP/IDRP tables. This allows the administrator to ``cut and paste'' to create new routes. If SDRP is used within a domain, an IGP route can be used as an SDRP routes. Additional information derived from IGP can also be used to construct routes, e.g., the OSPF link state database for reachability within the OSPF system. Interior SDRP is an area that in particular needs further discussion and development of a usage model. For example, we need to: o Clarify how you get information about exit points into the interior. o Investigate the use of information that OSPF and ISIS carry already o Consider adding the ability to query BGP speakers internally. Another mechanism not given in the specification is how a source host's SDRP-speaking border router maps a particular packet to a particular SDRP route. This is not part of the protocol specification because it can be left to local control; we need not be coordinated across the Internet, or even across the set of routers on a single path. However, to use SDRP, the network administrator must be able to configure the information used to map host-generated payload packets to appropriate routes, therefore it must be addressed in the usage document. The mapping indicates whether a packet can be sent out using the BGP/IDRP route; and if not, which available SDRP route can be used (if any). A domain may choose any mapping function that is unambiguous and whose input information can be found in the payload packet or locally to the router (e.g., based upon incoming interface); but may ``pay for'' more sophisticated mappings. For the usage document we need to develop good examples, clarify where the mapping/classification is done and note the tradeoffs between doing it closer to the host and at border router. BGP/IDRP and SDRP routes have transit policy qualifications associated with them. The syntax and semantics of SDRP policies should be consistent with transit IDRP/BGP policies. We should probably proceed by initially using the existing BGP/IDRP policy semantics and syntax and evaluating the need for extensions after gaining some experience. For the next IETF we will review the IDRP policy language and identify if there are unmet needs for SDRP. 3 In the current specification, we disclaim any attempt to provide secure/verifiable enforcement of transit policies. The essential tools needed for this security service are more a function of the authentication and integrity mechanisms available in the protocol providing delivery service for SDRP, than of SDRP itself. However, transit policy conformance can be audited by sampling data to identify violators. Spot checks can be effective and are used in many other kinds of systems (computerized and manual). Auditing procedures and sampling rules are a subject for local control and may vary across different SDRP routes. It would be useful to develop some examples for the usage document. The only planned modification of BGP/IDRP is an optional attribute indicating that a particular domain supports SDRP and optionally specifies address(es) of SDRP speaker(s) in the domain. This is important for route selection and forwarding decisions. There are two proposals for this function so far and the arguments for and against will be discussed shortly on the SDRP mailing list. SDRP supports interior policy routing by allowing SDRP routes to carry IP addresses. This can be used to direct traffic via configured paths in the source domain. It can also be used to direct routing of packets within other domains; for example, by specifying a particular exit router for a transit domain. Particular routes within the destination domain can also be specified; but this requires detailed knowledge of the topology and addressing of other domains which requires mutual agreements for information update between domain administrators. In the usage document we should discuss the possible use of OSPF and ISIS information and the implications for attempting to use this (or not) with other interior routing protocols such as RIP, or IGRP. We should also document the use of IBGP for this purpose. The Unified architecture is designed to allow evolution. SDR was also designed to allow innovation without global coordination. We are working to specify parts of the protocol that could be implemented and used in the short-term such that they will interwork with other parts of the architecture still under development. In particular, we have so far specified the packet format and forwarding protocol while details of SDR route computation are still under development. Mechanisms for route computation and even information distribution/collection can be changed more readily than packet forwarding mechanisms because route computation is a local matter. Information distribution concerns some subset of routers or domains whereas packet forwarding procedure must be agreed upon by all routers that implement SDRP. Important but evolving aspects of the architecture include: o Route construction o Policy language o Route setup 4 o Multicast routing o Alternate path routing for reservation-oriented (virtual circuit) traffic. We want to extend route construction mechanism to obtain routes that conform to source-specific policies where a route's use is restricted to certain sources, or QoS requirements where a route supports a particular performance or policy related QoS (color), and/or path-constraint policies where a route must pass through or avoid particular transit domain(s)). Routes available via IDRP are the result of path selection processes in all the intermediate IDRP speakers between the source and destination. So we need mechanisms for the source to obtain information about other routes that it is allowed to use but that intermediate domains filtered out as a result of their path preferences. We can characterize different approaches to route construction according to whether construction is based on distributed or centralized processing. For example: using an IDRP route is a form of distributed processing since route is constructed hop by hop by nodes on a path. Collecting inter-domain topology/policy information from around the network and computing a route at the source is a form of centralized processing. Route fragments represent intermediate point where the source centrally controls the acquisition and concatenation of fragments, but the fragments themselves represent the result of a distributed computation. Query is one example mechanism where a source domain SDRP speaker queries its immediate neighbor IDRP domains to get all available routes to a particular destination (possibly with QOS specified as well). The SDRP speaker could also query non-neighbor IDRP speakers; but this raises the question of heuristics for deciding whom to query... which is still a subject for further research. Query is an example of centralized processing and can also be used to obtain route fragments. The Extract mechanism is a second proposed mechanism for on-demand SDRP route acquisition. For example, the source could send an extract request to the destination indicating desired QOS and possibly exclusionary transit information (e.g., what transit it does NOT want to use). The destination would then cause IDRP to propagate back routes that fit the characteristics specified by the source. The routes would NOT be stored in the RIBs en route back to the source; rather the information would be passed along on an FYI basis. Extract is an example of distributed processing and could also be extended to send extract request to a preferred transit domain for it to initiate the extract Extract could also be used to obtain route 5 fragments. The big question is how to constrain the propagation of the return information; hop-count limits, limits on the number of routes propagated by each domain are possibilities, each of which trades off overhead for some loss of information. Other schemes for collecting information and computing routes are the subject of ongoing research. However, the combination of extract, query, and route fragment mechanisms may be adequate to meet most needs; this needs further study. We need a common language for specifying policy constraints on all routes. This would allow other domains to do policy computations to determine feasible routes. The language must be extensible. For example, in response to a policy query, a domain may respond with its policy configuration. The Policy language would look like a boolean expression; and policy computation would consist of evaluating this expression. Syntactically, the expression appears as a series of terms; satisfying any term satisfies the expression. Possible variables include: o QOS of the packet o Source domain o Source address o Destination domain o Destination address o Transport protocol o Application protocol o Time of day o Inter-domain path in use. Terms that contain unrecognized variables would be ignored. The initial specification for packet format and forwarding includes a full SDRP route in every packet sent. When the duration of a packet stream is significantly longer than the end-to-end delay, and if the payload in the packets is small, it is worth establishing state information in SDRP speakers along route, instead of carrying a full SDRP route in every packet, i.e., ``setup''. Once state is established, the source can rely on a route identifier in each packet and thereby reduce SDRP packet header size and processing time. However in designing a setup protocol it is important to not IMPOSE setup on all SDRP speakers (might be short on state space or might not otherwise wish to support setup). Strawman Proposal A strawman proposal for setup operations was presented. SDRP multicast would coexist and interoperate with IDRP/BGP multicast routing mechanisms. We anticipate more than the single IP multicast 6 routing model currently used in the internet. IDRP may be used for setting up the multicast distribution trees (or branches thereof) when the generic routes satisfy the requirements of the application and group (i.e., QOS). In particular there will be complementary mechanisms that are more efficient than DVMPR or MOSPF style multicast for supporting sparse multicast groups. Both IDRP and SDRP will be used to support these mechanisms. SDRP would set up multicast distribution trees (or branches thereof) when the generic routes do not meet the needs of the application and group. SDRP can be used to support alternate path routing for reservation (or more generally virtual circuit) traffic. Source routing is good for achieving alternate path routing because it has inherent loop avoidance and it avoids placing burden on intermediate switches to compute and retain multiple routes to each destination. Alternate path routing is particularly important for reservation traffic where a call setup request may be rejected due to insufficient resources at some intermediate switch/link as a result of heavy utilization. In this case, source would like to attempt alternate routes that do not go through the bottleneck link. SDRP can provide a source with alternate, loop free, routes; particularly appropriate when SDRP setup is used. A recent Internet-Draft by Rob Coltun and Marco Sosa also concluded that source routing is the best means of achieving alternate path routing for virtual circuit routing. Given that a route must have sufficient resources to accommodate a reservation flow (i.e., stream, call), it might be useful for the source to maintain recently measured load levels on those links in the network that it uses frequently; for example from those links used by active flows. There are open research issues to resolve in the inter-domain case where detailed information of remote domains not available. Because SDRP can be used to support interior routing, SDRP could be used for alternate path routing within areas of a domain and within domains. Initially, it may be simplest to have the source try to use an alternate domain level route when a reject is received from a remote domain; this may be justified if one assumes that the hop by hop routing choice used in that domain to traverse the domain does reflect long-term utilization in that domain. There is much more to be said on all of these subjects. Projects and Milestones Projects and milestones were discussed. The following is a list of topics to be discussed and people interested in working on them. Usage Document (Draft before July IETF). Deborah 7 Estrin, Yakov Rekhter and Peter Ford. BGP/IDRP Attributes Draft (Draft by May). Tony Li, Yakov Rekhter and Deborah Estrin (referee). Prototype (Working prototype for others to see by June). Daniel Zappala and Tony Li will look it over. Setup Specification (Draft before July IETF). Deborah Estrin, Tony Li and Osmund deSouza. Info. Distribution/Route Selection (Draft description of Extract Mechanism (not specification) and more detailed plan for how to proceed in short and mid-term by July IETF). Tony Li, Steve Hotz, David Bridgam dab@epilogue.com, Yakov Rekhter and Brijesh Kumar. Policy Language (Presentation and discussion at July IETF; draft document for November). Tony Li, David Karrenberg, roll@bsd.stupi.se, Steve Hotz, Sue Hares and Steve Willis. Multicasting (Possible draft for November). Deborah Estrin and Osmund deSouza. Use of SDRP for Adaptive Routing] (Discuss at July or November IETF; In the mean time discuss with vcroute BOF). Deborah Estrin and Daniel Zappala. Attendees Vikas Aggarwal aggarwal@jvnc.net Michael Anello mike@xlnt.com Tony Bates tony@ripe.net David Bolen db3l@ans.net Ed Brencovich edb@dss.com David Bridgham dab@epilogue.com Jeff Carman tcarman@bnr.ca James Cassell jcassell@dsac.dla.mil David Conklin conklin@jvnc.net Dave Cullerot cullerot@ctron.com Tony DeSimone tds@hoserve.att.com Osmund DeSouza osmund.desouza@att.com Kurt Dobbins kurtdob@ctron.com Kishan Dudkikar kishan@icm1.icp.net Deborah Estrin estrin@isi.edu Peter Ford peter@goshawk.lanl.gov Karen Frisa karen.frisa@andrew.cmu.edu 8 Robert Hinden hinden@eng.sun.com David Jacobson dnjake@vnet.ibm.com Matthew Jonson jonson@server.af.mil Merike Kaeo merike@alw.nih.gov Daniel Karrenberg daniel@ripe.net Padma Krishnaswamy kri@sabre.bellcore.com Giri Kuthethoor giri@ms.uky.edu Mark Laubach laubach@hpl.hp.com Tony Li tli@cisco.com Kim Long klong@sura.net Charles Lynn clynn@bbn.com Glenn Mansfield glenn@aic.co.jp Jun Matsukata jm@eng.isas.ac.jp David Meyer meyer@ns.uoregon.edu Greg Minshall minshall@wc.novell.com Dennis Morris morrisd@imo-uvax.disa.mil Erik Nordmark nordmark@eng.sun.com Peder Norgaard pcn@tbit.dk Zbigniew Opalka zopalka@agile.com Laura Pate pate@gateway.mitre.org John Penners jpenners@advtech.uswest.com Maryann Perez perez@cmf.nrl.navy.mil Yakov Rekhter yakov@watson.ibm.com Robert Reschly reschly@brl.mil Ben Robinson ben_robinson@vnet.ibm.com Manoel Rodrigues manoel_rodrigues@att.com Shawn Routhier sar@epilogue.com Hal Sandick sandick@vnet.ibm.com Vilson Sarto vilson@fapq.fapesp.br John Scudder jgs@merit.edu Kanan Shah kshag@cmf.nrl.navy.mil Andrew Smith asmith@synoptics.com Martha Steenstrup msteenst@bbn.com Bernhard Stockman boss@ebone.net Terry Sullivan terrys@newbridge.com John Tavs tavs@vnet.ibm.com Marten Terpstra marten@ripe.net Kannan Varadhan kannan@oar.net Chuck Warlick warlick@theophilis.nsfc.nasa.gov Steven Willis steve@wellfleet.com Richard Woundy rwoundy@vnet.ibm.com 9