architecture draft - part 1
msteenst@bbn.com Fri, 08 May 1992 16:31 UTC
Received: from nri.nri.reston.va.us by ietf.NRI.Reston.VA.US id aa04811;
8 May 92 12:31 EDT
Received: from nri.reston.va.us by NRI.Reston.VA.US id aa25975;
8 May 92 12:37 EDT
Received: from PARK-STREET.BBN.COM by NRI.Reston.VA.US id aa25971;
8 May 92 12:37 EDT
Received: from park-street by PARK-STREET.bbn.COM id aa07448;
8 May 92 12:10 EDT
Received: from ALEXANDER.BBN.COM by PARK-STREET.BBN.COM id aa07444;
8 May 92 12:08 EDT
To: yakov@watson.ibm.com
cc: idpr-wg@bbn.com
Subject: architecture draft - part 1
Date: Fri, 08 May 92 11:54:47 -0400
From: msteenst@bbn.com
Message-ID: <9205081237.aa25971@NRI.Reston.VA.US>
Hello Yakov, Thank you for carefully reading and commenting on the IDPR architecture draft. I indeed found your comments useful; they pointed out those areas of the document that were not clearly spelt out. In the following note, I have tried to address your questions on the draft, many of which have been persuasively addressed by Noel and Woody during the past week. I haven't covered your questions in order; instead they are arranged by topic. I will send a follow-on to cover the rest of the comments. Please let me know if you have questions that have yet to be addressed. Transit Policies ------- -------- Transit policies include offered qualities of service, cost of service, and domain access restrictions. For IDPR, we selected the "distribute restrictions" rather than "restrict distribution" paradigm because we thought it would make a more manageable implementation and because we wanted sources to make their route selection based on as much information as they could obtain. By making transit policies public, domains can distribute the range of service offerings and costs to IDPR entities (route servers in particular) that act on behalf of users to generate and select appropriate routes. Yes, the IDPR architecture allows different domains to express monetary cost in different units (eg., charge per byte or session time). And yes, this does complicate the route selection procedures. Right now, most of the monetary cost related policies are serving as best-guess place holders only, until we learn more about how they will be used. Source Policies ------ -------- In its current version, IDPR does NOT require any changes to hosts. User service requirements are collected from various sites in the domain by the administrator of that domain. They may be described in text files or telephone conversations or whatever, but there is no network protocol for collecting this information. The domain administrator then configures the domain's source policies based on the service requirements collected and distributes this information to each policy gateway in the domain. In the future, we may wish to add to hosts the ability to specify their own service requirements. For IP hosts, perhaps there will be a set of special options for describing service requirements. The path agents would interpret these service requirements and pass them on to the route servers for generation of routes with the requested services. However, for now, IDPR does not expect hosts to communicate their service requirements through any protocol. I doubt that every user would want to advertise its source policies all over the Internet. For security reasons, users may wish to keep source policies private. Moreover, as source policies can be different for different hosts, advertising source policies at that granularity means potentially a lot of information that must be distributed. Routing Generation and Selection ------- ---------- --- --------- IDPR route servers are capable of generating routes that are optimal with respect to a given criteria such as delay and according to the information contained in their routing information databases (which need not be complete). However, we believe that in most cases users are not as interested in optimal routes as they are in routes whose services are within given bounds. That is, a user would accept any route within a given set of bounds and does not necessarily require the best route within those bounds. Removing the requirement for optimal routes means that a route server: - need not maintain a complete routing information database,; - can terminate route generation when the first satisfactory route has been generated; - can select, from its route database, a route that meets the specified criteria (provided such a route exists), rather than generating an optimal route from scratch. Link State Bias ---- ----- ---- I do not deny a preference for the link state paradigm for policy-based routing. But I did not intend to "sweep things under the rug". A policy gateway need not understand the syntax and semantics of a transit policy in order to distribute a link state message. Rather, the policy gateway only needs to understand the syntax of the control portion of the link state message (which does not include the policies) in order to distribute a link state message. Yes, to use a given transit policy to generate a route, a route server needs to know its syntax and semantics. However, a route server does not need to understand a transit policy in order to accept a link state message and store it in its database. When new policy choices are added to IDPR, the capability to understand them will not be installed simultaneously in all route servers. The route servers that do not understand a new transit policy cannot use that transit policy to make a route selection. However, they can store the transit policy in their routing information database and expect to use it later when they have the knowledge to interpret it. A route server may either exclude a domain X with unknown transit policies from its route, or it may include X in its route. That is up to the route server. In either case, the policy gateways in X ultimately decide whether to accept or reject the path during path setup. This flexibility allows one to gradually phase in new transit policies without disrupting IDPR routing. Route servers need not store all transit policies received. They can choose to store only those transit policies that allow access to traffic from their domain, that their domain allows to be included in policy routes, or that they can understand. Hence, complete routing information from all IDPR domains stored in each route server is not required by the IDPR architecture. Complexity ---------- When comparing link state routing/source specified forwarding and distance vector routing/hop-by-hop forwarding for policy routing, I concentrated on the differences in functionality provided rather than storage, communication, and computational complexity. The reason was not that I was trying to hide the exorbitant cost of link state routing, but rather that when comparing IDPR to BGP, I found that there was very little difference in the amount of resources needed for each of these approaches, under anticipated network conditions. About a year ago, I tried a little comparison between BGP and IDPR in terms of resources required. I made certain assumptions such as, informally stated as follows: - transit policies were of the type gleaned from the RFC 1125; - there were no source policies; - number of domains, path length, and number of networks in a domain, similar to those in your BGP analysis document; - each domain received a routing update about a given domain from each neighbor; - a variety of average number of neighboring domains (less than 20); - low rate of changes in domains (less than one change a day per domain). With these not unreasonable assumptions, I was somewhat surprised to find little difference between the two protocols in the storage, communications, and computation required for distributing, processing, and storing routing information and setting up and storing forwarding information. I had expected IDPR to be much more expensive. Instead, I found that the costs were very close and in several cases IDPR was even less expensive than BGP. The route generation cost comparison was more difficult. With IDPR, each source domain has to absorb the cost of generating routes. However, pure transit domains need not compute any routes, because IDPR uses source specified forwarding. Hence, the redundant computations associated with more traditional link state algorithms (in which each node independently computes all routes to all destinations using the link state database) are reduced by IDPR, in an environment in which only some of the domains are sources of data messages. With BGP, each node executes a pattern matching procedure for each update messsage received, comparing AD-paths and networks against configured templates to determine acceptability of the route contained in the update message. Route generation is distributed among all nodes along the route. If all domains are sources of traffic to different destinations, and if the number and size of the BGP templates is quite small, then BGP routes will cost less to generate than IDPR routes. If this is not the case, then it is not easy to make a general statement about which approach provides lower-cost route generation. One can always pick a set of assumptions about network conditions such that link state/source specified routing requires more resources than distance vector/hop-by-hop routing. And, one can easily pick a different set of assumptions such that the opposite is true. Hence, one must pose a very specific set of assumptions before attempting to compare the complexities of the two approaches. One cannot make meaningful general statements. Encapsulation ------------- Wtih IDPR, we made a decision to encapsulate IDPR messages in headers that were understandable by the local domain. This allows an IDPR message to tunnel through any type of domain - IP, CLNP, Appletalk, you name it. In, for example, an all-IP internetwork, one might consider eliminating the encapsulation, carrying the IDPR data message header in IP options, and changing the destination address at each policy gateway to correspond to the next policy gateway. However, remember that the IDPR architecture allows each IDPR data message to be protected by a digital signature and that each digital signature covers the entirety of the IDPR data message. For an IDPR data message covered by a digital signature, if the digital signature is generated by the source domain's private key, for example, no other domain is able to sign the message. Hence, intermediate policy gateways along the path cannot arbitrarily adjust fields in the message, because they cannot produce a valid signature for the message. Perhaps our decisions to allow IDPR data messages to be signed and to make the signature cover the entirety of the IDPR message are overkill. We may want to relax these security restrictions, so that in cases with uniform domains, we could collapse some of the encapulating header information. We need to weigh the alternatives carefully. m
- architecture draft - part 1 msteenst
- architecture draft - part 1 Tony Li
- Re: architecture draft - part 1 Noel Chiappa
- architecture draft - part 1 Tony Li
- Re: architecture draft - part 1 Noel Chiappa