程序员人生 网站导航

TCP/IP 网络精讲:OSI七层模型(第二课)

栏目:互联网时间:2015-01-13 08:51:10



内容简介


1、前言

2、第1部份第2课:互联网的创建,OSI7层模型

3、第1部份第3课预告:OSI第1层,连接你的机器



前言


PS:昨天做了课程大纲以后,发现这个坑挖得有点大。不过既然挖了,岂有不跳之理。男子汉1言既出,就甚么马也难追了。


今天我们就来学习: 《OSI7层模型》


昨天说到,目前全球有18亿网民,互联网的范围已是超乎想象般宏大。


那末问题来了:

我们怎样实现在这么多的机器之间通讯呢?

怎样能够不在这数据的迷宫里失去方向呢?


我们1起来学习,以期找到问题的答案。

首先我们来理解互联网是怎样创建的,和使用甚么规范来很好地组织这么多信息。



第1部份第2课:互联网的创建,OSI7层模型


假想1下,假设你可以在任什么时候候通讯,和任何人通讯,岂不是很棒。这就是互联网的初衷。


平时,当我们身处1个10人小组,会感到表达自己的观点有点困难。如果是100人,就更困难。假设有1000人,那几近就听不到你说话了。但是互联网就是要向不可能挑战,要能够做到:在任什么时候刻,同时和任何人通讯。固然了,要到达这个目的,必须要建立1个复杂的通讯系统,使得各台机器之间能够相互对话。


但是这样的1个通讯模型如何构建呢?


我们可以从最熟习的通讯方式开始理解。

来盘点1下1般的通讯方式吧:

  • 说话

  • 打电话

  • 邮件

  • 飞鸽传书 →_→

  • 等等


接下来,让我们试着来理解,在这些通讯方式中,有哪些基本要素是我们通讯活动所必不可少的。

说话的方式,我们需要:

  • 说话者

  • 听话者

  • 传声媒介(空气)


打电话的方式,跟说话是类似的,除我们还需要1个在说话和电子学之间的中介。实际上,我们要把说话的声音转成电信号,电信号通过电话线等传播介质到达接收者那1端,然后转为声音被听见。在这里有1个信息的封装。 

我们可以举邮件的例子来看1下这个封装信息的系统,在邮件收发时我们需要:

  • 寄件人

  • 收件人

  • 传播介质(信)

  • 容器(信封)

  • 中介(邮局)


是否是渐渐能理解我们通讯需要甚么条件了。

问题又来了:

我们对电脑也能这样利用吗?

怎样才能让大家可以同时发出讯息呢?

我们能够即时和地球另外一真个某人通讯吗?  


接下来我们就看1下网络的先驱者们如何把人类通讯的原理“利用”到电脑的通讯中。

他们把所有研究的成果重组,创建了1个标准,所有连到互联网的人都要遵照,这个标准就是:OSI7层模型。  

OSI7层模型,听上去是否是很帅?这个标准诞生在1984年,只比我早了3年诞生(不谨慎暴露了自己的年龄 →_→)。


聪明的读者或许注意到了,这个标准比互联网的出现晚了很久。 

缘由很简单:OSI7层模型是在人们有了很多机器之间通讯的经验以后才能够诞生的。因此这个标准不但能够适用于现有的通讯,也适用于将来的通讯及其可能的演进。它的目的是使通讯标准化,以保证机器最大化的演进潜力和协同工作能力。


听起来很不错,但是到底OSI7层模型是甚么啊?


OSI7层模型是1个标准,规定了机器(主要是电脑)之间如何通讯。因此假设你想要让你的洗碗机和洗衣机通讯的话,就需要遵从OSI模型,或最少从OSI模型取得启发。这意味着需要遵从分层的通讯方式。


这里的层又是甚么呢?


OSI模型是1个分层的模型,就是说它分为几个部份,每部份称为1层,每层扮演固定的角色,就像下图所看到的:


OSI7层模型



上图中,我们可以看到OSI有7层,每层名字都不1样。


为何是7层,不是14层或250层?


还记得之条件到的吗?我们知道要通讯,需要有固定数目的组分,比如 发送者,接收者,语言,等等。网络的先驱者们设计了用于构建通讯系统的主要元素,他们发现数目定为7最适合。因此OSI的每层都有特定的分工,这7层合起来就能够使1台机器和另外一台通讯。


下面我们来看1下这7层各自的细节。


第1层或物理层

  • 名字: 物理层

  • 作用:为通讯提供传播媒介

  • 辅助作用:没有

  • 相干装备:集线器(也就是常说的Hub)


第2层或数据链路层

  • 名字: 数据链路层

  • 作用:使局域网中的机器相互连接

  • 辅助作用:侦测传输毛病

  • 相干装备:交换机(也就是常说的Switch)


第3层或网络层

  • 名字: 网络层

  • 作用:使各个网络相互连接

  • 辅助作用:分割传输的数据包

  • 相干装备:路由器(也就是常说的Router)


第4层或传输层

  • 名字: 传输层

  • 作用:管理利用程序的连接

  • 辅助作用:保证连接的有效建立

  • 相干装备:没有


第5层或会话层

  • 我们不在意!


是的,你没有看错:我们不在意第5层。

在第4层以上的,除第7层,我们都不在意。固然了,我也有些夸大。但是第5层和第6层不在本课程斟酌范围以内。

缘由很简单:

OSI7层模型是1个理论模型,今天的互联网使用的实际模型是TCP/IP模型,而后者不使用OSI的第5层和第6层,因此我们疏忽它们。


好,我想你应当理解了。固然了,第7层我们需要斟酌。其实正是为了这第7层上的利用程序我们才大费周章,构建这个模型。是的,第7层就是老总,就得服侍着,就是这么任性 →_→


第7层或利用层:

  • 名字: 利用层

  • 作用:没有

  • 辅助作用:没有

  • 相干装备:代理(也就是常说的Proxy)


甚么?第7层居然没有作用!那“服侍”它干吗?说白了,这1层就是展现我们构建通讯架构所要服务的所有利用程序。

因此,第7层我们也不多做研究,而是把重心放在提供服务和引导数据传递的第1⑷层。其实,还有1种说法是把1⑷层合称为“网络层”。由于正是这4层负责引导数据从1台机器传递到另外一台机器,以供机器上的属于第7层的利用程序使用。


在深入理解这4层之前,很有必要提1下使用OSI模型的两个原则:

1. 每层都是相对独立的

2. 每层只能和相邻的层通讯


“每层都是相对独立的”:

其所产生的影响是某1层所用的信息不能被另外一层使用。例如,对某些有1定网络知识的读者来讲,应当知道IP地址是属于第3层的,就不能被另外的层所使用。

这样规定的好处是可以方便通讯方式的变革。

想象1下,今天你使用互联网,虽然你可能其实不了解它的原理,但实际上你使用的是第3层的IPv4(Internet Protocol Version 4,第4代互联网协议)这个协议。未来,我们将从IPv4演进到IPv6(第6代互联网协议,相比第4代的32位地址空间,可以到达128位地址空间)。这时候,假设我们除第3层之外,在另外一些层中也用到了IPv4,那我们除要改第3层的协议,我们也要改其他凡是用到IPv4协议的层,就会很麻烦。

保持各层的相对独立性可使得我们更换1层所关联的协议时,无需更改其他的层。


“每层只能和相邻的层通讯”:

为了理解这个原则,我们必须了解机器是怎样利用OSI模型来通讯的。

想象以下场景:

你坐在电脑前,打开你的阅读器。你在阅读器的地址栏里输入1个网址,那个网站就出现了。

虽然你其实不知情,但其实你就在使用OSI模型。

大体来讲,位于OSI第7层的利用程序(此处是阅读器),与第1⑷层(合称“网络层”)对话,以便这4层把机器上的利用程序所要的信息从远真个机器上(比如google.com的服务器)传输过来。

在1个传输进程中,我们会逾越OSI模型的各层,从上到下。

因而可知,多亏了第2个原则,我们能保证在信息的传输进程中,OSI模型的各层都会被逾越,也就保证每层的作用都能得到实现。固然了,差不多是这样。由于实际上对互联网,OSI模型是1个理论模型,第7层实际上是跳过5,6层而直接和底下4层通讯的。所以是 7 -> 4 -> 3 -> 2 -> 1 。


好了,今天的课程就到这里。

总结1下需要记住的知识点:

  • OSI7层模型是1个规范,其规定了机器之间如何通讯

  • OSI模型是1个理论模型,互联网实际使用的是TCP/IP模型

  • OSI模型有7层

  • 每层都有1个特定的作用

  • 第1⑷层合称为“网络层”

  • 每层相对独立

  • 每层只能和相邻的层通讯

  • 当传输数据时,我们从OSI的最上层遍历到最下层,在另外一个机器那里,曾是相反的方向,从最下层到最上层




第1部份第3课预告:OSI第1层,连接你的机器


现在你应当对OSI7层模型有了1个大体的了解。

下1课,我们就深入其中,学习OSI第1层(物理层)的细节。

明天见啦!




程序员同盟 微信公众号*您若觉得本文不错,点击“分享

*新朋友请关注「程序员同盟」微信搜公众号  ProgrammerLeague



程序员同盟”公众号专为程序员,App设计师,各位爱好编程和酷爱分享的小火伴们推送各样编程相干知识,优秀软件推荐,业界动态等。搜索ProgrammerLeague 加关注~


延续关注 程序员同盟 微信公众号,更多有趣,有料,有亮点的内容等着你哦!

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐