[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: hard questions: request routing
At first I thought the single metric solution would work, but now I'm
convinced by all the discusion that it is hard. I think the two level
solution is the right one for the reasons that Brad gives; I can't see
needing anything more.
Don
On Thu, 29 Mar 2001, Dmitri Krioukov wrote:
> I still think that the easiest way to
> attack p.2 is a very straightforward hard
> choice -- everyone agrees on the single
> metric whose primary purpose is proper
> inter-CDN request routing with loop
> avoidance -- an analogue of "the
> control plane" for inter-CDN routing
> if you wish. This metric may not even
> have any other semantics. Or it may
> have one (like delay) if any consensus
> is possible to achieve. All other
> (optional or not) metrics are in
> "the data plane" then.
> --
> dima.
>
> > -----Original Message-----
> > From: owner-cdn@ops.ietf.org [mailto:owner-cdn@ops.ietf.org]On
Behalf Of
> > Cain, Brad
> > Sent: Thursday, March 29, 2001 2:50 PM
> > To: 'cdn@ops.ietf.org'
> > Cc: Cain, Brad
> > Subject: hard questions: request routing
> >
> >
> >
> > During the IETF, there were several conversations related to
> > request routing protocol design. I've put
> > together the following list of items that were discussed. [note
that
> > #1 is not request routing specific]
> >
> > 1. - encoding format for protocols. should the encoding be:
byte-based,
> > ascii, or xml? there seems to be a variety of opinions on this one.
> > however, it would be nice to have all protocols out of CDI use the
> > same encoding format. here are some advantages/disadvantages of
each
> > approach
> >
> > byte: advantages: quick to parse. well known for infrastructure
protocols.
> > compact encoding. easy for embedded systems. argument
that
> > CDI is "infrastructure" protocols and should be compact
and
> > fast to parse.
> > disadvantages: inconvenient for ascii items (e.g. URIs).
inconvenient
> > for debugging. argument that CDI is
"application-layer"
> > and should be at least ascii parsable. may be difficult
> > to extend syntax for certain circumstances.
> >
> > ascii: advantages: reasonable to parse. well known for web based
protocols
> > (http). reasonable for embedded systems. seems ok for
infrastructure
> > protocols. easy to debug and troubleshoot. easy to
extend.
> > convenient for ascii items (e.g. URIs).
> > disadvantages: not as fast as byte for parsing, extra
bandwidth overhead
> > compared to byte.
> >
> > xml: advantages: extensible standard for information exchange. may
make use of
> > inherent xml features later. relativly easy to debug
and
> > troubleshoot. easy to extend. convenient for ascii
items.
> > disadvantages: not as easy to parse as ascii or byte. requires
xml parser
> > in device (not as easy for embedded systems). protocols
built
> > will have dependency on xml. argument that CDI
protocols are
> > "infrastructure" protocols and should be ascii or byte.
> >
> > note: this is a large topic -- if anyone wants to comment
extensively on this
> > topic I would encourage creating a new thread
> >
> >
> >
> > 2. - loop freedom. request routing systems must ensure that request
routing
> > decision processes to not cause loops. the difficult part about
this problem
> > is that many people have expressed interest in having multiple
metrics
> > exchanged. if multiple metrics are used as a basis of a decision
then loop
> > freedom can only be accomplished if one or more of the following
> > conditions are met:
> > 1 everyone agrees on the metrics and the order of evaluation
> > 2 there is a centralized place for routing policy conflicts
(e.g. route
> > arbiter)
> > 3 everyone agrees on global metrics, but has peer-to-peer
specific
> > metrics
> > 4 there are methods in the request routing itself that allow
> > loop prevention (e.g. dns "soft state")
> > 5 topology is constrained to two levels (e.g. star topology)
> >
> > given the extent of this problem, two practical solutions were
discussed. the
> > first was putting "soft state" into dns (e.g. AS path into CNAMEs).
this cute
> > hack works nicely but may not sit well in the ietf. the other was
to constrain
> > the topology to two levels (e.g. no third party peering). the
arguments here
> > go something like this:
> > 1 two levels is enough for now
> > 2 content providers probably wouldnt want their content to be
> > controlled/delivered by two entities removed
> > 3 request routing is an overlay so there is no techical reason
that a
> > provider cant interconnect any other (unlike ip routing)
> > what ever decision is made, we should still put in place
*advertisement*
> > loop prevention
> >
> >
> > 3. - request routing information. request routing systems exchange
> > different types of information. in the drafts so far, we have
focused on
> > two major "types" of information: the first is keyed on an IP prefix
> > (area advertisements), the second is keyed on a URI (content
advertisements).
> > according to discussions, this is the extend of "major" types needed
> > right now (though of course we need multiple metrics per major
type).
> >
> >
> >
> > 4. - dns vs. layer-7/in-line. one of the difficulties of request
routing
> > interconnection is that there are two drastically different methods
of
> > implementing it. the first (and most common) is through dns. the
second
> > is through a layer-7 router (note: this is different from server
load
> > balancing -- e.g. layer-7 routers at the edge). the discussion
focused
> > on how to design a protocol which would accomodate both and how they
> > would interwork (beyond the protocol level). the comments were:
> > - in either case the *information* itself is (mostly) common
> > - if we solve dns first we can retrofit for in-line/layer-7
> > - some of the problems are outside the scope of protocols
> > in general it was felt that solving the dns case first was the
> > right way to go.
> >
> >
> >
> > 5. - content types. when performing inter provider request routing,
> > it is undesirable to route a request to a network which cannot serve
> > the content type. in a dns request routing system, the content type
> > is not visible to the system UNLESS it is encoded in the dns name.
> > a discussion took place regarding the ability to standardize the
> > methods of content type encoding in dns names. although many
thought
> > it convenient, it was in general deemed hard. a way to accomplish
> > the same result is to:
> > - exchange content type abilities of networks in interprovider
> > protocols
> > - exchange a content types (e.g. mime type) per domain in
> > content advertisements. this would originate from the
> > authoritative cdn.
> > having protocols carry the "mapping" was (in general) thought
> > to be the best compromise. [note: some did still express an
> > interest in standardizing so the exchange of this information
> > is unnecessary]
> >
> >
> >
> >
> >
> > -brad
> >
> >
> >
> >
>
>
Eric Dean
President, Crystal Ball Inc.
W 703-322-8000
F 703-322-8010
M 703-597-6921