我们在上一章节讨论了计算机网络的发展史,从进程发展的趋势来说,可以理解为无到有,从混乱到趋向稳定。为什么说是从混乱到趋向稳定呢,实际上是因为,我们仍在这个过程中不断得探索着如何去建立一个稳定的网络环境,而非已经到了真正意义上的稳定时代。因此,同志们呐,革命尚未成功,同志们仍需努力啊!
emm,既然说到了从混乱到趋向稳定的过程,那我们今天要唠嗑的OSI七层模型的一个典型——一个从混乱的通信协议中逐步建立起通用的网络模型。同时,它也是一个相对理想的网络模型,可以说是一代信息互联网人汇集起来的智慧结晶了。因此,这也是我们为什么要讨论这个模型的原因——从历史代价中发掘趋势,厘清未来的发展方向。哇,多么崇高的屁话,就不再多说了,下面让我们一起进入历史吧!
在上一章节里,我们阐述了从20世纪70年代起,开始有了计算机通信的尝试。而这个尝试实际上并不是一个人或一个团队来完成的,它的跨度之大,可以理解为所有有识之士的一次共同尝试。在那个群星荟萃的时代里,既有IBM的SNA协议,也有digital的DNA协议,更有诞生于美国国防部的TCP/IP协议可供计算机间的通信。这一切看起来似乎很不错,我们有多个选择。但实际上,群雄割据的结果往往是以一方的胜利为代价。为什么这么说呢?这是因为,给予各协议间的实现不一致,两台不同协议的主机之间往往是不能够进行通信的,就好比打电话,一端是英语,一端是普通话,如果双方都不能正确识别对方的语言,那无疑是对牛弹琴。因此,在那个时间段里,各厂商之间的矛盾在于市场之间的争夺。而谁的协议使用最广泛,则无疑会导致用户群体增加,从而增加市场的份额,因此,各厂商间的消耗战如火如荼(ps:此处无实例,仅做铺垫描述,不敢代表历史啊哈哈哈~),后来,不管是出于用户希望能和其他所有人进行交互的立场也好,还是出于消耗战下带来的高额代价的思考也罢。国际标准化组织ISO在1997年成立了一个委员会,推出了定义网络协议的一个标准化模型-OSI,该模型层共分七层,比较详细地定义了从顶层应用到底层链路的各个协议,换句话说,只要各厂商能依据该模型建立对应的协议,则该协议可适用于所有基于该模型的电脑,而不仅局限于自家产品本身。这看来似乎对当时最大的厂商不利,市场份额被瓜分是个痛点。但如果不做这个改变,那么被中小型厂商联合孤立的代价或许会更惨。而从整个计算机发展历史来看,没有跟随历史潮流作出改变的公司,往往会被历史潮流推倒,这是后话,暂且不提。当我们能肯定的是,时至今日,尽管OSI七层模型仅是个理想模型,并没有谁能真正定义这个模型的实际内容。但却早就了依据该模型而逐步被广泛接受的TCP/IP协议族成了最大赢家,成为了现时的普遍意义上的通用网络协议。那么,这个模型到底包含了什么内容呢?我们来看一下:
说起OSI的结构,毫无疑问,从题目就可以看出,它共分为7层,从下往上分别为:

  • 1.物理层:该层的核心是定义了网络传输的机械规范和电气规范,保证了将模拟信号转化为数字信号并且对外传输,核心实际为我们常说的网线,重点在于它是如何保证上述功能得以实现。其中,涉及到两点:第一:数模转换,第二:数据收发。其中,关于第一点,实际上是通过电子信号的高低位来实现的,即我们常说的门的机制。这部分实际上需要和数据链路层发生一定的交互。第二,关于数据收发,则基于通信双方共同遵守的一些在硬件配备上的协议,比如:我们常见的水晶头,实际就基于该层的一个物理协议进行生产的。
  • 2.数据链路层:该层的核心实际是数据在传输前的最后一个核心步骤,主要包括数据拆解,包装,纠错等。这里的功能其实围绕一个关键词进行,那就是数据帧。如果有细心的朋友,细心留意下家里电脑的水晶头,其实你会发现,在联网的情况下,我们的水晶头是会有一定的闪烁过程的。这里的闪烁过程,实际上就是物理层在对外收发数据信息。但对数据的发送和解析部分,实际上传输的就是经过解析之后的数据帧。或者你可以这样简单理解,一个闪烁过程,实际上包含了进行的是两次转换,即高门和低门的转换,那这里的高门和地门是谁控制的呢,实际是由底层驱动依据数据帧的比特位进行对换的,因此,物理层的传输数据,我们也称之为比特流。实际上就是基于数据帧而进行的收发规则转换。
  • 3.网络层:网络层的概念,实际上是基于多人通信的前提,如果说我们只有两台电脑之间的数据传输,那不用说都知道,数据都是双方之间在传递。但现在变成了三台电脑之间的相互通信呢?我们就要考虑这段信息的目的地是谁的问题了,因此,网络层的核心就是控制数据传输,通过路由寻址的方式,保证数据间的正确传输
  • 4.传输层:顾名思义,该层的核心在于数据传输。什么意思呢,举个例子:加入现在A要向B发送一个约10G的数据,在这个过程中,C又想向A发送100m的数据。按道理来说,我才100m的东西,你A收起来很快的,是不是应该先把我的事情处理好了,再去弄其他的事情呢?可是A说不行,我现在发着东西给B,不能停下来接收你的东西!不然我又要重新和B建立联系,再来发送了。所以C只好一直等啊等啊,直到3天3夜之后,A才接收到他的这个请求。可能这样说还觉得问题不是很大,那现在重新比喻一下,A现在和朋友打着游戏,女朋友C打电话过来了,A说,游戏要紧,继续撸。让C在那里等着,直到游戏打完,这时候再去找C,可能A会发现C已经和D在一起了。。。这么说,知道问题的严重性了吧?为了避免这种情况的发生呢?我们可以参考分时策略,把所有的数据分成n个小包,我们在一定的事件内只处理部分的数据信息,比如这一帧,我们对外发送信息,下一帧,我们接收并处理来自外部的数据,这样通过分包的机制,避免了数据传输造成的阻塞,或者因为链接中断导致数据缺失的情况了。而这个,则是传输层的一个核心思想
  • 5.会话层:该层的核心是拉起和撤销会话。什么意思呢?比如当A要向B发送一个HeloWorld,那它首先就要先把这个字段划分为数据包,然后去查找路由表,通过路由表获得B的地址,然后呢,再把数据转化成数据帧,最后让网线按照高低门对外发送出去。这么一个过程是不是显得优先繁琐了,既然说每一次的数据交互都是这样的套路,那为什么我不能请个人回来,让他专门负责这件事呢?以后的我只需要和他说,给谁发送什么什么信息就好了,其他的流程他会主动帮我们完成。那这个人,实际就是会话层,它负责维护我们和目标主机的请求和响应。
  • 6.表示层:这一层的核心功能是管理不同平台的数据显示。实际上,我们用手机QQ和电脑QQ聊天的时候,虽然明面上我们看到的信息都是一样的,都是一样的表情包一样的语音一样的文字。但实际上,平台间对于数据处理的方式存在很大的差异,为了保证数据间的统一。需要一个层级来针对不同的平台进行对应的数据处理,以保证最后我们所看到的数据是统一的,而避免出现A向B发送了一个“我爱你”,而B确收到了A说的“滚犊子”这样的悲剧发生。
  • 7.应用层:最后一个,实际就是前面几个流程的外显,比如QQ,比如邮箱等。实际上我们说的QQ,邮箱,可能是包括了多个应用层。所谓的应用层,是指一整套符合流程规范的协议族。比如FTP,Telnet,DNS,SMTP等,我们基于这些完善的协议族,开发出符合人们使用习惯的各种应用。因此才叫应用层。

好了,以上就是OSI的层级关系以及功能的大概描述。细心观察可以发现,它实际上是基于一个个的功能需求而逐步完善的,并且在这个过程中,每一个层级之间的分工是相对比较明确的,每一层都有对应的拆箱和装箱的协议对应。保证了对同一条数据,能够做到装箱传输,也能通过拆箱重组。保证了一条信息的正确传递过程。而实际上,网络协议出现的初衷,正式基于让所有人间都能正确传递信息这样的一种愿想。因此,如果需要记忆上面七层的内容,不防把它带入到信息传递这一需求中,去分析每一层在这个过程担当了什么角色,自然而然的就会对它们有所了解了。
当然,我们说了,这是个理想模型,之所以是理想模型,是因为它把一些层次之间的功能界限分开了,而实际上,有些地方的功能是可以视作一体的,所以,对于我们常用的TCP/IP,一般依据功能,会划分成4层或5层,这个没有具体的禅定到底是4层还是5层,就好比糖粽子和咸粽子的争论一样,意义不大。因为实际的功能协议都是基于OSI七层模型来确定的。因此也不做过多的描述。
ok,以上就是OSI七层模型的一些讲解。文中为了便于理解,可能会用到一些不是十分专业的的词汇,在表达上可能会有些误解。如果有发现这些错误的地方,烦请斧正,不胜感激~
最好:来一波章节预告:下一章:也说TCP/IP之Socket通信模型,阐述基于OSI思想的一个应用模型,欢迎下次赏脸,日期,emmm,不定~

也说TCP/IP之OSI七层模型相关推荐

  1. 网际互联及TCP/IP 协议OSI七层模型: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

    网际互联及TCP/IP 协议OSI七层模型: 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 物理层 作用:定义一些电器,机械,过程和规范,如集线器: PDU(协议数据单元):bit/比特 ...

  2. TCP/IP和OSI七层模型区别

    区别: 1.TCP/IP是一个协议簇,而OSI是一个模型: 2.TCP/IP是五层结构,而OSI是七层结构: 3.TCP/IP的第三层仅支持IP协议,OSI支持所有的网络层协议. 联系: 1.OSI引 ...

  3. TCP/IP 网络通信协议 之 OSI 七层模型

    3.1 OSI七层模型 TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议.它是在网络的使用中的最基本的通信协议. 针对TCP/IP协议的标准化,国际标准化组织(ISO)制定的一个用于计算 ...

  4. TCP/IP协议与OSI七层模型

    TCP/IP协议与OSI七层模型 TCP/IP协议 TCP分层 细分TCP/IP协议族 TCP与UDP之间的区别 TCP三次握手 OSI七层模型 OSI七层模型以及各层作用 OSI 七层模型中每一层的 ...

  5. TCP/IP四层模型和OSI七层模型

    TCP/IP四层模型和OSI七层模型对应表.我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类.     表1-1  TCP/IP四层模型和OSI七层模型对应表 ...

  6. 计算机网络7层协议模型,计算机网络(一) OSI七层模型及TCP/IP dubbo协议

    3.TCP/IP 四层模型: TCP/IP协议:是一个网络通信模型,是OSI 七层模型的简化,为4层模型,泛指众多(TCP,UDP,IP等)协议: OSI TCP/IP 功能 协议 应用层 应用层 文 ...

  7. OSI七层模型与TCP/IP四层模型

    OSI七层模型与TCP/IP四层模型 OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名"开放式系统互联通信参考模型&q ...

  8. 计算机网络--详述OSI七层模型与TCP/IP五层模型

    OSI七层协议 一.OSI参考模型 今天我们先学习一下以太网最基本也是重要的知识--OSI参考模型. 1.OSI的来源 OSI(Open System Interconnect),即开放式系统互联. ...

  9. 网络编程(part6)--OSI七层模型及四层模型(TCP/IP)

    鄙人学习笔记 文章目录 OSI七层模型(标准) 四层模型(TCP/IP模型) 数据传输过程 网络协议 OSI七层模型(标准) ●制定组织: ISO(国际标准化组织) ●作用:使网络通信工作流程标准化 ...

最新文章

  1. Vue报错:Uncaught RangeError: Maximum call stack size exceeded
  2. python3 清除asyncio队列 方法
  3. 翻译:Single Sign-On for Everyone
  4. mysql 替换 多个逗号_如何使用mySQL replace()替换多个记录中的字符串?
  5. linux删除最后一个字符串,Bash删除字符串中的第一个和最后一个字符
  6. C#中DictionaryTKey,TValue排序方式
  7. css 动画 - 这次不会忘记了
  8. PS发光眩光效果插件:BBTools Glow Glare for Mac
  9. html页面之间传参乱码,急求教,在两个htm页面传参数时中文出现了乱码,试了网上的方法不管用。_html/css_WEB-ITnose...
  10. 替换 centOS6.5 默认安装的旧版 firefox ,安装最新版 firefox 全过程
  11. 运维测试工作笔记0003---使用Jmeter测试_http接口_高并发测试
  12. 智还王项目中出现的问题和使用的一些方法
  13. 集中火力,专项击破!数据分析可视化广深线下培训火热来袭
  14. 随手记--计算机网络原理
  15. 基于F340 实现Bridge功能(二):上位机应用程序编写
  16. 图网络深度解析:为什么说图网络是 AI 的未来?
  17. js自执行函数(function(){})()前加个分号是什么意思?
  18. 2021年危险化学品经营单位主要负责人考试及危险化学品经营单位主要负责人找解析
  19. Android点选下拉列表框选项,获取选项内容
  20. mysql 三个表级联查询,以主表为主数据表为辅

热门文章

  1. Day284285286287.死锁 -Juc
  2. JDK、JRE和JVM之间的关系
  3. TMS320C6748 EMIF时钟配置
  4. 2023年湖北七大员有哪几种?证书全国通用吗?秋禾火
  5. Vue 毫秒(秒)数值与日期转换
  6. DUMP文件分析1:DUMP文件简介
  7. css鼠标悬停事件,css鼠标悬停特效
  8. 电商直播选品该怎么做?有没有好用的工具?
  9. Linux操作系统实践——Samba服务器搭建
  10. Jenkins 核心概念:探索 Jenkins 魔法世界