> Let's forget about BGP for a moment, and let's concentrate on
> the functionality.
> Whatever you want to call it, it is pretty much a 
> publish/subscribe model

Agreed.. Dimitri, in that spirit FWIW here is a crack at a neutral 
names/no-types/protocols 'model' based on some of the debate so far.

1) We have inner,middle,outer untyped identifiers in the millions.
    { id.in, id.mid, id.out} 

2) We have global, local untyped names for a group in the 10s of thousands.
    { group.glob, group.loc}

3) We have a way to PUT ( <key>, value ) and GET(<key>)->value
   pairs and to SUBSCRIBE to changes at all outer addressable
   devices that are members of at least one group very quickly. PUB/SUB.

Here is trival example where inner id's are {a1...c3}, outer 
id's are {A,B,C} and the middle are am1..

b1 -bm1-+                +-- am1 - a1
        |                |
b2 -bm2-+ B ---------- A +-- am2 - a2
        |  \         /   |
b3 -bm3-+   \       /    +-- am3 - a3
             \     /
              \   /
                C
             +--+--+
             |  |  |
           cm1 cm2 cm3
             |  |  |
            c1 c2  c3

3) Unicast Data Plane model supports encapsulation which is superset of:

     [id.out] [group.local] [id.mid] [id.in] 

4) Multicast is by ? serial unicast only strong requirement?
5) Loop prevention by ? - not discussed

6) Control Plane model supports a superset of:

   Membership resolution
       - PUT( < id.out, group.glob > , group.loc)
       - GET( < id.out, group.glob > ) -> group.loc
       - GET (< * , group.glob > ) -> { <group.loc, id.out> .. }

   Middle<=>Outer tunnel resolution
       - PUT ( < id.mid, group.glob> , id.out )
       - GET ( < id.mid, group.glob>) -> id.out 

   Middle<=>Inner (i.e. ARP resolution)
       - PUT ( < id.in, group.glob> , id.mid )
       - GET ( < id.in, group.glob> ) -> id.mid 

Clearly there is lots of interesting stuff to debate without getting into what 
it looks like with any specific types/protocols and of course the gap analysis 
then take the form of where an existing protocol differs from an agreed 'good' 
abstract model.

Peter Ashwood-Smith
_______________________________________________
nvo3 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/nvo3

Reply via email to