1. I love link-state protcols. I love BGP. But somebody please explain to me why we have to carry LS-information inside BGP ?

    I like simple. I like section 2.12 if rfc1925. A few months ago Ivan made a post about "lego blocks". How technology should not all be inter-woven. It should be made separate independent blocks, which can be combined freely by the user.

    BGP-LS is the opposite. It makes things more complex. Link-state protocols, and also BGP, are not simple concepts. (Try explain a linkstate protocol to your mother). Building good implementations is even harder. Simplicity helps. Complexity makes everything harder.

    The easy and simple solution would have been to just throw all the info into a TCP-connection between a router and the controller. Done. The functionality will look very similar to BGP-LS. But simpler. Can be done independent of BGP. No need to mess with new attributes, etc. Why not take the simple route ?

    Look at BGP Monitoring Protocol. Very similar. You dump a bunch of routing information to a controller. That could have been done over BGP. But the BGP-guys themselves decided that that was overly complex. So they made BMP. Just open a TCP connection, uni-directional, and dump the routing information in a simple format. No need to mess up BGP even more.

    So why ?
    Why can't you just dump the LSDB over a TCP connection ?
    Why do it over BGP ?
    Is there any real benefit ?
    Why ?
  2. BGP-LS isn't really that complicated. BMP in mirror mode is very simple on the router end, but the monitoring mode still packs normal BGP updates into a BMP header. The receiver end still has to process and figure out what to do with the data, BGP-LS is no different. Sure you have the BGP state machine and other things to deal with but the reality is BGP-LS is fairly widely implemented already.

    A better and more modern solution is just have a RESTCONF based subscription to the router and get topology data (and lots of other things) through that. There is a specific draft on accessing YANG-based data via an async subscription, making it very flexible. OpenDaylight for instance allows you to do this today, you subscribe to a specific asynchronous topology stream to get topology and updates. However the first BGP-LS draft was a long long time ago at this point.
Add comment