互联网的目的是为了实现通信,而通信的基础是有一套行之有效的网络协议。正如我们在交谈的时候需要符合一定的语法和用语规范一样,机器之间的通话也必须符合协议。否则,每一台机器各说各的,永远也无法相互理解。“协议森林”是我已经开始写的一系列关于网络协议的文章,希望能对这个错综复杂的森林进行一个简单的总结。
网络协议是技术,但又关乎设计与历史。Ethernet, IP, UDP, TCP, HTTP, DNS... 这些协议像是一片茂密的树林,盘根错节。协议之间相互关联,有时合作,有时竞争,有时是弱肉强食的替代。了解网络分层,是理解这个森林的第一步。而森林的心脏,是存在了三十多年的TCP/IP套装协议。在变化迅捷的IT领域,TCP/IP坚如磐石的地位可以算是一个奇迹。这一点也是可以理解的。许多单机技术可以很快更新,比如Java和C++兴起,而Pascal语言、Fortran语言快速没落。然而,网络协议的更换并不简单。这要求整个网络的所有设备的配合。网络协议是不老传说,它的相关技术,就非常值得拥有。
网络协议的发展总是伴随着很有趣的历史故事。网络协议的产生都有其历史环境。一些网络协议可能看起来很笨拙,但放在当时,是聪明的解决方案。所以,在了解网络协议的时候,需要了解该协议的诞生过程和设计目的。
网络协议可以参考许多经典书籍。“协议森林”忽略了许多细节,并采用比较直白的表达方式。
综述
连接层协议
网络层协议
传输层协议
应用层
综合
隧道与VPN
参考资料
下面是参考书籍:
豆列
http://book.douban.com/doulist/1626951/
有许多资料来源于wikipedia