OSI参考协议---想知道网络中数据是如何传输的吗?

Day 1,360, 22:53 Published in China Japan by Elandias

如果你打算给你远房亲戚的大表哥的二舅的儿子写一封信,你该怎么做?
也许你应该找一张信纸,在开头写上尊敬的远房亲戚的大表哥的二舅的儿子你好,然后写正文,最后是此致敬礼。你会把信纸装进信封,把信封粘好并贴上邮票送到邮局。邮局将你的信分拣并送往目的城市,然后邮递员把信件派到他家。如果你远房亲戚的大表哥的二舅的儿子希望读这封信,他就必须拆开信封,如果你远房亲戚的大表哥的二舅的儿子是个直爽的人,他就会撇开那些开头结尾的客套话,直接读正文。

事实上在网络中,数据的传输也是类似这样的步骤进行的。ISO(International Standard Organized 国际标准化组织,你平常所见到的ISO9001也是这个组织提出的)组织早在20世纪70年代就提出并构建了一个模型,它的名字与这个组织很般配,叫做OSI/RM(Open System Interconnection Reference Model 开放式系统互连 参考模型)
这个模型分为七层,它很好的诠释了在网络中如同你装信封、贴邮票的一系列步骤,这些步骤在网络术语中称之为encapsulation(封装)

如果两台主机都遵循这个模型,并且想要在网络上互相通信,那么通信的步骤将会是这样的:

=== Application Layer ===          === Application Layer ===
↓=== Presentation Layer ===        === Presentation Layer ===↑
封=== Session Layer ===          === Session Layer ===解
=== Transport Layer ===          === Transport Layer ===封
装=== Network Layer ===          === Network Layer ===装
↓=== Datalink Layer ===          === Datalink Layer ===↑
=== Physical Layer === - - - - - - - === Physical Layer ===

      host A - - - - - - - - - - - - - - - - - - - host B

离你最近的那层叫做Application Layer(应用层),它为你的操作系统或网络应用程序提供访问网络服务的接口。
经过应用层的封装后,下面是Presentation Layer(表示层),你的音频视频的格式的压缩和解压缩就是在这层完成的。
接下来是Session Layer(会话层),在你登陆erpeublik时,你的账号密码的验证就是在这一层完成的。
然后是Transport Layer(传输层),网络端口的概念就是在这一层体现的,比如你希望浏览网页,那你一定会用到TCP80端口。
Network Layer(网络层),负责网络上的寻址,你家里的路由器,以及我们众所周知的IP协议就是工作在这一层。
那么接下来是Datalink Layer(数据链路层),我们熟悉的ethernet(以太网)以及你的网卡上的MAC地址,就是在这一层工作。
最后是Physical Layer(物理层),你看得见摸得着的线缆就工作在这一层。数据在这一层以单纯的高低电压代表0和1传输。
数据经过这七层的封装后通过网线中的电流传播,对方接收到以后,再从下往上依次解封装,变成原来的数据。

讲了这么多,然而事实上真正的网络中使用的却不是OSI参考协议。我们真正使用的TCP/IP协议只有4层,因为应用层、表示层、会话层都大相庭径,所以他们被全部规整为应用层。而数据链路层和物理层也被规整为网络接口层。但它的工作原理和OSI参考模型是一样的。

现在你应该知道在网络中,我们是如何写信和装信的了。如果你的电脑现在正连接在网络上,那么你每分钟都会接收和发送成百上千个这样的“信件”。在下一期,我会详细讲一讲在网络层中,你的“信件”究竟长什么样子。以及我们耳熟能详IP协议究竟是什么东西。我会在网络上抓取一个真实的IP封包给大家看。

如果你喜欢这篇文章,请vote+subscribe,最好还能留下你的shout。这对我帮助很大。