最近一直在思考怎么将计算机网络整个内容串起来,为什么网络的发展历程是这样的?自己也一直认为学习网络知识最好的方法是基于网络发展历程角度来学习,网络发展的每一个阶段都会遇到一个问题,相应地会有对应的解决方案来解决这个问题,但同时也会引入新的问题,如此反复,螺旋式上升,每一个问题的解决方案也就成为了一个对应的网络协议技术。
这几天发现可以借用马斯洛需求模型来解释网络的各个发展过程:
马斯洛需求模型图如下:
将网络应用上述马斯洛模型后呈如下:(简化版)
网络的首要任务是解决节点之间的互通问题,节点间互通问题可以拆解为两个子问题,
(1)需要知道对端所在的地方,即对端的存在;
(2)找出到达对端所在地的路径;
如何知道对端所在的地方?对端主动向外通告所在地信息,即路由通告;
知道了对端通告的所在地信息后,如何找出到达的路径?利用六人小世界模型(对应为距离向量路由算法,比如RIP)或者现代社会地图寻路(对应为链路状态算法OSPF、ISIS);
由于RIP协议存在很大的缺陷,并且基于AS间节点互通的特殊要求,距离向量路由算法便衍生出BGP协议技术。
解决了生理需求,即节点互通后,需要考虑安全可靠性方面问题,万一路径遭人破坏,怎么办?这个新问题推动产生了各种备份保护技术,过程涉及故障感知、无缝衔接(备转主)、重新收敛。相应地产生出各种技术,BFD检测技术、FRR等等。原始FRR方案设计是基于邻居节点提供保护思想,所以相应地也就有很多限制条件,即可能不存在满足无环要求的邻居节点提供备份保护,于是又不断地推动产生R-LFA,直至最新出现的Ti-LFA技术。
新技术产生主要有两个条件:
(1)新的用户需求的提出;
(2)配套辅助技术的成熟;
比如上述R-LFA技术是环形组网用户需求的提出,Ti-LFA则是由于SR配套支撑技术的成熟;
生理需求解决后便是自我实现,自我实现主要体现在自控感上,自我实现意识越强,则越自如地控制自己的生活节奏,对应引出了源路由技术,即源头控制报文去往目的地的路径走向等等;
网络的发展可能会基于两个方面而推动:
(1)马斯洛需求模型;
(2)“你的灯还亮着吗:发现问题真正所在”里面说到的“解决一个问题的同时必然会引入其它一系列问题”,也就是每一个技术成立都是有前置限制条件的,打破前置限制条件可能会引出新的技术。
网络应用还包括用户如何接入网络等一系列问题,这里就没有包括在内进行讨论了,可以尝试着以上述的分析角度来回顾一下它们可能的发展过程。