[Nml-wg] About modelisation of the network description

John Vollbrecht jrv at internet2.edu
Thu Mar 6 16:50:06 CST 2008


This is to contribute to the conversation about networks and  
abstraction.    This is from the point of view of DCN and the need to  
do path computation at both the inter and intra network level.

In my view the elements in a (interdomain) topology are nodes, links  
and networks (or domains).

Nodes and links are pretty well understood, and are used for  
intradomain routing.
Networks and links are used for interdomain routing, and it seems to  
me that often the attempt is to "abstract" networks as nodes so they  
use the same path finding as is used for nodes and links.
There are problems with doing this, because networks are note nodes,  
and if abstracted to something other than what they are the abstract  
capabilities, with few exceptions, will be different than the real  
properties.  For example if a network is abstracted as a single node,  
then there is no way to show different capacites between different  
edge points.  If the network is abstracted as a mesh where every edge  
connect to every other edge, and there as a way to indicate bandwidth  
between edge points, then there is no way to show that some  
connections between edge points share the same internal path and so  
may block each other.

In my mind it is good to consider network as a basic topological  
element.  When doing interdomain routing, it is done between  
networks.  One can use fully qualified links between networks, and  
can get these by "lifting" the interdomain links from the topology of  
each network.  Routing between networks may need more policy or hints  
than routing within a domain, so it may be necessary to share  
properties of networks when routing between networks.

I realize that this is very similar to creating an abstact view of a  
network, but I think it make it clearer what is being done, and it  
seems to me does is not harder and may be easier than creating  
abstract views.

I am interested in what others think about this.

John

On Mar 5, 2008, at 9:32 PM, Aaron Brown wrote:

> As I was writing the replay to Freek's question and getting my ideas
> clearly stated I diverged a bit from explicitly answering questions
> asked, so this is more of my general view of "how things should  
> look" :-)
>
> So, if a network is a subclass of node (thing with interfaces) and a
> network can also contain arbitrary network elements. How does one  
> view a
> network as a node?
>
> A network in its most reasonable XML description looks like this:
>
> <network name="internet2">
>     <node name="host1">
>        <port name="eth0" />
>     </node>
>     <node name="host2">
>        <port name="eth0" />
>     </node>
>     <node name="host3">
>        <port name="eth0" />
>     </node>
> </network>
>
> A node in its most reasonable XML description looks like:
>
> <node name="router1">
>     <port name="eth0" />
>     <port name="eth1" />
>     <port name="eth2" />
> </node>
>
> How would a network be described as both a node and a group so that it
> can be used in either context?
>
> <network name="internet2">
>     <port name="host1_eth0" />
>     <port name="host2_eth0" />
>     <port name="host3_eth2" />
>
>     <comprised-of>
>         <node name="host1>
>            <port name="eth0" />
>         </node>
>         <node name="host2>
>            <port name="eth0" />
>         </node>
>         <node name="host3>
>            <port name="eth0" />
>         </node>
>     </comprised-of>
> </network>
>
> Now, let's say host 1, 2 and 3 were really providing the same logical
> service (say, host1 routes web service requests back to actual  
> services
> on hosts 2 and 3). I want a logical view of this because i don't care
> how the web service is implemented. So, do I describe it as a  
> network? a
> device? I'd say it's a logical node in our context.
>
> <node name="logicalWebService">
>     <port name="host1_eth0" />
>
>     <service type="http" name="moodle" />
>
>     <comprised-of>
>         <node name="host1>
>            <port name="eth0" />
>         </node>
>         <node name="host2>
>            <port name="eth0" />
>         </node>
>         <node name="host3>
>            <port name="eth0" />
>         </node>
>     </comprised-of>
> </node>
>
> If one really wanted a more abstract view of the logical web service,
> you'd simply get rid of the comprised-of element:
>
> <node name="logicalWebService">
>     <port name="host1_eth0" />
>
>     <service type="http" name="moodle" />
> </node>
>
> In the end, the full logical node definition looks (for all intents  
> and
> purposes) identical to the network definition. Thus, I think the node
> concept lends itself nicely to a more general form of abstraction. To
> that end, is network really a special case? A network can be viewed as
> the abstract node by ignoring (or not including) the comprised-of
> portion. However, you can include those elements in it if so desired.
> Thus, whenever you're looking at a node-like element, there's a  
> standard
> way of asking "what makes up this logical entity(domain, network, web
> service, whatever)?".
>
> Going further, if you define a group like so:
>
> <group name="something">
>     <comprised-of>
>        ... network elements ...
>     </comprised-of>
> </group>
>
> Node looks to be a more specific version of group since it's a  
> group of
> network elements (maybe none if you're at the atomic level of
> abstraction for a given topology element) that contains a set of
> external interfaces for that group of nodes.
>
> As to the specific view/network model:
>
> I think a view seems to be just be a restated group element. For
> example, let's say my topology includes the entire topology for 8
> domains. Why can't I create a view that comprises elements in all 8
> domains? (If, for example, I were creating a view that included all  
> the
> PingER nodes that exist around the world).
>
> Network seems to be 'domain inside of domain'. If I can subdivide my
> domain into 4 large networks, why can't i subdivide my networks into
> smaller networks? Relatedly, why can't a node exist in two networks at
> once? Example: layer4 overlay network or a VPN.
>
> Other things to think about:
>
> There are points between the domain is entirely opaque and the  
> domain is
> entirely open:
>
> All external nodes might be included in the description and might be
> connected via abstract links describing the logical connections  
> between
> those points (I can get you bandwidth X across the domain if you exit
> via interface A and bandwidth Y if you exit via interface B). Does the
> "network as node" model work well for that case? In this case, you'd
> probably want to a network consisting of a set of abstract nodes
> connected via abstract links, but that shouldn't be too difficult to
> describe in this model.
>
> I figure I'll stop typing now since I've already taken up far too much
> of your time ;)
>
> Cheers,
> Aaron
> _______________________________________________
> nml-wg mailing list
> nml-wg at ogf.org
> http://www.ogf.org/mailman/listinfo/nml-wg

John Vollbrecht, Senior Network Engineer
Internet2
office +1-734-352-4960 | mobile +1-734-395-7890





More information about the nml-wg mailing list