通过 OSI 七层模型打开计算机网络大门

最近为了准备面试,又再看了一遍 图解TCP/IP,发现很多知识点看了就忘,并没有形成一个系统知识,那么今天开始通过一系列的文章来系统总结一下计算机网络,在接下来的文章中会对重要的那几个模型进行讲解。

分层的体系结构

在开始组织关于因特网体系结构的想法之前,我们先看看一个人类社会与之类比的例子,实际上,在日常生活中我们一直都与复杂系统打交道。

想象一下有人请你描述比如航班系统的情况吧,你怎样用一个结构来描述这样一搞复杂的系统?

描述这种系统的一种方式是,描述当你乘某个航班时,你乣采取的一系列动作,你要购买机票,托运行李,去登机口,并最终登上这次航班。该飞机起飞,飞行到目的地。当飞机着落后,你从登机口离机并认领行李。如果这次行程不理想,你向票务机构投诉这次航班(当然你的努力并没有什么卵用)

这个时候我们已经能从这里看出与计算机网络的某些类似: 航空公司把你从源送到目的地;

通过 OSI 七层模型打开计算机网络大门

观察上图,该图将航线功能划分为一些层次,提供了我们能够讨论航线旅行的框架。注意到每个层次与下面的层次结合在一起,实现了某些功能、服务。在票务层及以下,完成了一个人从航线柜台到航线柜台的转移。在行李层及一下,完成了人和行李从行李托运到行李认领的转移等等。
价值
利用分层的体系结构,我们可以讨论一个大而复杂系统的定义良好的特定部分。这种简化本身由于模块化而具有很高价值,这使某层所提供的服务易于改变,只要该层对其上面的层提供相同的服务,并且使用来自下面层次的相同服务,当某层的实现变化时,该系统的其余部分保持不变

协议的分层

ISO 在制定标准化 OSI 之前,对网络体系结构相关的问题进行了充分的讨论,最终提出了作为通信协议设计指标的 OSI 参考模型,这一模型将通信协议中必要的功能分成了七层。

在这一模型中,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务,上下层之间进行交互时所遵循的约定叫作 "接口",同一层之间的交互所遵循的约定叫作协议。

协议分层就如同前端开发中的模块化开发,它希望实现从第一层到第七层的所有模块,并将它们组合起来实现网络通信,分层可以将每个分层独立使用,即使系统中某些分层发生变化,也不会波及整个系统,因此可以构造一个扩展性和灵活性都较强的系统。

OSI参考模型

OSI 参考模型将这一个复杂的协议整理并分为了易于理解的七个分层

应用层

应用层位于 OSI 分层结构的第七层,它是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如 HTTP,它提供了 Web 文档的骑牛和传送、SMTP ,它提供了电子邮件报文的传输和 FTP 它提供了两个端系统之间的文件传送。

在我们使用浏览器的时候,浏览器里输入 www.baidu.com 猪样友好的端系统名字转换为32比特的网络地址,也是借助于特定的应用层协议即域名系统 DNS 完成的。

应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组,我们把这种位于应用层的信息分组称为报文。

表示层

表示层位于 OSI 分层结构的第六层,它的主要作用是将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上一层能够处理的格式,因此它主要负责数据格式的转换。

具体来说就是将设备固有的数据格式转换为网络标准传输格式,不同设备对统一比较溜解释的结果可能会不同,它们会将接收不同表现形式的信息,如文字流、图像、声音进行转换,压缩,加密,或者打包。

会话层

会话层位于 OSI 分层结构的第五层,它的主要作用是负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输和相关管理。

传输层

传输层位于 OSI 分层结构的第四层,它在应用程序端点之间传送应用报文层报文,在因特网当中,有两种传输协议,它们分别是 TCPUDP,利用其中的人一个都能运输应用层报文。

TCP 向它的应用程序提供了面向链接的服务,这种服务包括了应用层报文想目的地确保传递和流量控制,即发送方/接收方速率匹配。TCP 也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。

UDP 协议向它的应用程序提供无连接服务,这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞控制,传输层的分组也称为报文段。

网络层

网络层位于 OSI 分层结构的第三层,它负责将称为数据报的网络层分组从一台主机移动到另一台主机,也就是目的地址。

在一台源主机中的传输层协议 TCPUDP 向网络层递交传输层报文段和目的地址,就像你通过邮政服务寄信件时提供一个目的地址一样,网络层确定的是主机到主机,而传输层确定的是进程到进程之间。

目的地址可以是多个网络通过路由器连接而成的某一个地址,因此这一层主要负责寻址和路由选择。

链路层

链路层位于 OSI 分层结构的第二层,它主要负责的是物理层面上的互连、节点之间的通信传输。

它会将 0、1 序列划分为具有意义的数据帧传送给对端(数据帧的生成和接收),它只负责将数据运送给物理相连的六安段,并不负责直接发送到最终地址。

物理层

物理层位于 OSI 分层结构的第一层,虽然链路层的任务是将整个帧从一个网络元素移动到临近的网络元素,而物理层的任务是将该帧中的一个个比特从一个节点移动到下一个节点,在这层中的协议仍然是链路相关的,并且进一步与该链路(双绞铜线、单模光纤)的实际传输媒体相关。

它实际上就是将数据的 0、1 转换成电信号或者光信号,通过光纤、双绞线甚至是无线电波等介质传输到指定的地址以达到数据传输。

参考文献

  • 书籍: 图解TCP/IP;
  • 书籍: 计算机网络原书第七版;

本文正在参加「金石计划」

原文链接:https://juejin.cn/post/7214374960194093093 作者:Moment

(0)
上一篇 2023年3月26日 上午10:36
下一篇 2023年3月26日 上午10:46

相关推荐

发表评论

登录后才能评论