应用层

应用层实际是应用协议层或应用层协议:主要是保证协议的双方能够看到完全相同的内容与完全相同的内容表达形式。如果以邮政系统为例,假设Alice要和Bob通信,应用层就是Alice要选择Bob能够看懂的语言,并将这种语言表示的内容写成一封信。Alice相信这样的信能够完好无损地送到Bob。至于如何送到,Alice不需要操心,她可以利用邮政系统的提供的服务。


表示层

用邮政系统类比的话表述层协议的作用就好比Alice写好了一封信,带着写好的信到邮局,到邮局交给营业员,营业员按照邮政系统协议规定的地址格式记下Bob的地址。如果Bob在中国,地址形式就是……, 如果Bob在美国,地址形式就是…….。然后按照内容的顺序扔到一个筐里。


会话层

在邮政系统比较难找到会话层对应的功能,如果一定要类比,我们可以设计一个功能:如果Alice写的信非常长,不能装到一个信息信封内,那么会话层的的作用就是,给信纸的每一页按顺序编号,然后分装到几个信封里。并按照表示层的地址表示方法,给每个信封写上地址。


传输层

如果 Alice 就是经济学院的一名学生,邮局就是陕师大邮局,那么传输层的作用就是决定如何把Alice 信送到西安市邮政总局。如果 Alice的信只是一封普通的信,那么师大邮局就会将这封信与其他信一起用一辆车送到西安邮政局,如果这封信一辆车拉不下,就会分成两辆车送。如果Alice的信是一封特别重要的急件,并且 Alice 愿意为此付足够的钱,师大邮局也可以派专人、专车单独送这封信。这就是传输层要做的工作。


网络层

网络层的作用就是当信被送到西安市邮政局以后,假设 Bob在北京,西安市邮政局要决定是采用飞机、汽车还是火车,是通过郑州、太原还是广州送到北京。这取决于Alice支付的费用,以及经过的各个地方的邮政系统效率、路途远近、成本高低等因素。


数据链路层

假设已经选定经郑州运到北京。数据链路层的作用就是如何确保信能够准确无误地送到郑州,再送到北京。这是靠一系列机制保证的。但互联网和邮政不同的是,邮政系统信是唯一的,邮政系统不能对信进行复制,而在网络中信息可以复制。在西安邮局始终保持一个副本,给郑州发一封信,而郑州局每收到一封信,就给西安发一个收到的确认,如果西安邮局没有收到确认,就再发一次。直到收到确认,然后删除保留的副本。


物理层

物理层的作用就是在西安-郑州-北京之间修建一条或者若干条铁路、公路或空中航线。以公路为例,这样的公路系统要有维护与管理系统,维护与管理系统应该能保证汽车顺利通行,而不管汽车拉的是黄金、木材还是什么。