OSI七层模型
由上到下依次为:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/IP五层模型
由于OSI七层模型更倾向于理论化,实际应用中采用的是TCP/IP五层模型。
由上到下依次为:
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层
以实际的TCP/IP五层模型为导向,引出对其理解:
首先先对相关基础概念进行解读:
-
层:下层为上层服务,每层有其各自的任务与功能
-
协议:每层都有不同的协议,且每层可能有不同的协议。
协议从根本上来说就是约定好的表达方式,比如协议规定0是no,1是yes,你问我吃了吗?我回你1,就表示yes,我吃了。
同样的,1也可以表示no,而0表示yes,这种情况与前一种相比,同样是针对0与1的信号,表达出了不同的意思,即为不同的协议。
这种第二种甚至其他情况的出现,就意味着,同一层网络模型,可以有多个不同协议。
物理层
在物理层中,如名字一样,涉及到物理层面。
可以是光线、网线、无线电波等在物理世界存在的媒介,通过这些媒介来传递信息。
如何传递?通过光线的明与暗,网线电位的高与低,电波的大小振幅等。
这些逻辑上的正与反,就可以通过数字0和1来表示,网络设备通过物理硬件来接收这些物理信号,将其“翻译”为0和1的组合序列。
数据链路层
在开始层的概念中提到,下层为上层服务,因此数据链路层作为物理层的上层,是可以直接使用其根据物理信号转换出的0/1序列。
数据链路层就可以处理一串的0-1排列,而一段有限的0/1序列,就被称为帧(frame),这就是数据链路层所处理的单位。
在数据链路层也有多个协议,这些协议可以规定这些01的序列的表达方式,比如规定01111110作为一帧的开头和结尾,通过读取到01111110就可以分割帧。
在帧中同样可以包含这个数字序列的目的地址,即要发给哪一台设备,就像邮编一样。
当然帧中也应该包含发送给目标设备的具体信息内容等。
网络层
有了数据链路层提供的帧,帧中包含目的地址,网络层作为一个发牌、邮递员、中间商的角色,它就可以根据给定的序列目标地址,将数据,从发送者的手中,经过一系列路由最终找到接收者,并将数据发给接收者。
传输层
通过网络层,可以将数据信息从一台设备发送到另一台设备。
一台设备不仅仅只能提供一个服务,不能只存在一个进程。
因此,收到的信息,设备应该具体给哪一个进程?这就是传输层要干的事情。
传输层在信息中加入了具体应该发给哪个进程,从而让设备中的特定进程接收到目标数据。
应用层
应用层就是为应用程序服务。
比如web服务,A访问B提供的web服务。
在应用层中存在的协议,就可以规定网页应该怎么描述。
A与B基于相同的协议,对一个网页进行描述,A就可以得到B描述的网页的正确模样了。