思科园区SD-Access方案中,网络Fabric控制面,采用的是LISP,这可能是业界独家吧,为什么不使用万能的BGP,而使用LISP呢? 思科有自己的解释。
LISP协议的具体原理比较简单,本文就不拷贝粘贴了,有兴趣的同学可以去网上搜一下,半小时估计就看懂了。从使用的角度,LISP某种程度和DNS类似,采用查询+cache机制,每次转发时,要找MAP server询问对端在哪里,当然如果cache中存在表项,就不用每次都找人问了。这个机制是一种on demand机制,相对应的,BGP和其他路由协议,都算是一种主动推送全网信息机制,不管你要不要,路由都推给你,变化也会通知你(当然也可以使用路由策略来控制,那些路由不推送给那些设备)
就DNS的场景而言,互联网所有的域名和地址映射,不主动推送到每个主机,原因很明显,因为DNS表项太大了,主机当然也没有完整表项的需求,需要时发请求查询就是了,就像大公司里的通信录,我不需要把几万人记录在我手机上,偶尔要找个人,按需查询就行了, 如果经常联系的,就存在手机上,相当于有个cache对吧。
按思科专家的观点,园区网络也有这个特点,很多通信的概率很低,比如园区的两台主机,所以没有必要把全网路由都存下来,浪费大的表项,只是为了理论上可能的通信需求。基于这个理念,把LISP拿来用起来了,达到了按需请求路由,节省表项,降低成本的效果(至于最终设备是否降低了成本,当然还有其他考虑,这里只是从表项需求看)
另一个问题是,在移动办公成为主流的背景下,主机经常移动,如果用BGP等协议,那就会不断的发生全网的路由刷新,同样,这些刷新往往对其他节点来说也是不必要的,LISP的机制,刷新只涉及接入设备和MAP server,网络就更安静,控制面的压力小。(虽然应对不断的查询,也是问题,但只需要有个强劲的控制面节点就OK了)
万能的BGP应该可以实现路由表的控制,使用路由策略,相对复杂一些吧。