个人主页:聆风吟
系列专栏:网络奇遇记、数据结构
少年有梦不应止于心动,更要付诸行动。
为了使不同体系结构的计算机网络都能互连起来,国际标准化组织(简称:ISO)于1977年成立了专门机构研究该问题。不久,它们提出了一个使全世界各种计算机可以互连成网的标准框架,这就是著名的开放系统互连参考模型,简称OSI。在1983年形成了开放系统互连参考模型的正式文件(ISO 7498国际标准)。
OSI参考模型是一个七层协议的体系结构,自下而上依次是物理层、数据链路层、网络层、运输层、会话层、表示层以及应用层,如下图所示:
OSI体系结构是法律上的国际标准,只获得了一些理论研究的成果,但在市场化方面却输给了TCP/IP标准。OSI失败的原因有以下几点:
因特网是全球覆盖范围最广、用户数量最多的互联网,它采用TCP/IP参考模型。TCP/IP参考模型是一个四层协议的体系结构,自下而上依次是网络接口层、网际层、运输层以及应用层,TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为了网络接口层,将会话层和表示层合并到了应用层,如下图所示:
(1) TCP/IP体系结构的网络接口层并没有规定什么具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如有线的以太网接口、无线局域网的Wi-Fi接口,而不限定仅使用一种或几种网络接口。因此,TCP/IP体系结构在本质上只有上面个三层。
(2) 国际协议IP是TCP/IP体系结构网际层的核心协议。
(3) 传输控制协议(TCP)和用户数据报协议(UDP)是TCP/IP体系结构传输层的两个重要协议。
(4) TCP/IP体系结构的应用层包含了大量的应用层协议,例如超文本传送协议(HTTP)、简单邮件传送协议(SMTP)、域名系统(DNS)以及实时运输协议(RTP)等。
由于TCP/IP协议体系中包含大量的协议,而IP协议和TCP协议是其中非常重要的两个协议,因此用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族。
补充:在嵌入式系统开发领域,TCP/IP协议族也常称为TCP/IP协议栈。这是因为TCP/IP协议体系的分层结构与数据结构中的栈在图形画法上是类似的。
原理参考模型是一个五层协议的体系结构,自下而上依次是物理层、数据链路层、网络层、运输层以及应用层。五层协议的原理体系结构将TCP/IP体系结构的网络接口层又重新划分为物理层和数据链路层,这样更利于我们对计算机网络的学习。
我们以五层原理体系结构为例,自下而上、非常简单地介绍一下各层的主要功能。实际上,如果要真正弄清楚各层作用还需要学习了后面章节中协议的之后,让我们细水长流,以后的事情交给以后,不给当下造成学习障碍。
计算机网络物理层的主要功能是将数字信号转换为传输介质上的模拟信号,以便在传输介质中传输。它的主要任务包括:
通过传输介质传输比特流:物理层负责将比特流转换为适合传输介质的电信号,并将这些电信号传输到接收方。
建立、维护和释放物理连接:物理层负责建立物理连接,以便在通信中传输数据。在通信完成后,物理层负责释放连接,以便其他设备可以使用传输介质。
传输介质的管理:物理层负责管理传输介质的使用,包括传输速率、电气特性、机械特性等。
差错检测和纠正:物理层负责检测和纠正传输过程中出现的错误,以确保传输的准确性和可靠性。
封装数据:数据链路层将网络层传输过来的IP数据报封装成帧,加上帧头和帧尾,以便在物理层进行传输。
传输控制:数据链路层负责控制帧的传输,包括数据帧的发送和接收,以及处理出现的差错和重传。
访问控制:数据链路层通过媒体访问控制协议(MAC协议)来控制网络上的节点访问媒介的顺序和方式,以避免数据碰撞和冲突。
差错检测:数据链路层通过循环冗余校验(CRC)等技术来检测数据传输中出现的差错,以保证数据的可靠传输。
流量控制:数据链路层通过设置窗口大小等机制来控制发送方的发送速率,以避免网络拥塞和数据丢失。
链路管理:数据链路层负责维护链路状态信息,包括链路地址、链路状态、链路速率等,以提供更高层次的服务。
网络层主要功能是提供端到端的逻辑通信,为各个主机之间的通信建立逻辑上的路径。具体来说,它的主要功能包括:
路由选择:网络层通过路由选择算法,选择最优路径将数据包从源主机发送到目标主机。
分组转发:网络层将报文分组,每个数据包都有自己的目的地址和源地址,通过路由选择算法将分组转发到正确的目的地。
差错控制:网络层对分组进行差错检测和处理,保证数据的正确性。
流量控制:网络层负责控制数据包的流量,以避免网络拥塞。
拥塞控制:网络层监测网络负载情况,通过拥塞控制机制,保证网络的稳定性和可靠性。
总之,网络层是计算机网络中非常重要的一层,它为逻辑通信提供了基础,保障了网络的正常运行。
可靠性传输:运输层通过使用流量控制、差错控制和重传机制等技术,确保数据的可靠传输,即使在网络出现故障时也能够保证数据的完整性和可靠性。
分段和重组:运输层将应用层传输过来的数据进行分段和重组,以便于网络传输和接收。
连接控制:运输层通过建立、维护和终止传输层连接,确保数据的可靠传输和正确接收,同时还可以对连接进行管理和监控。
流量控制:运输层通过流量控制机制,控制数据的发送和接收速率,避免网络拥塞和资源浪费。
差错控制:运输层通过差错控制机制,检测和纠正数据传输过程中出现的差错。
多路复用和分解:运输层可以同时处理多个数据流,实现多路复用和分解,提高网络的性能和效率。
总的来说,运输层在计算机网络中具有重要的作用,它能够保证数据的可靠传输和正确接收,提高网络的性能和效率,同时也是实现各种应用程序之间通信的基础。
应用层是计算机网络中最高层的一个层次,主要功能包括:
总之,应用层是网络通信的最高层,主要提供各种高层次服务和协议,方便用户在网络中进行数据交换和各种应用程序的实现。
本文主要讲解:
本文主要讲解了常见的三种计算机网络体系结构 —— 开放系统互连参考模型、TCP/IP参考模型、原理参考模型,以及介绍了计算机网络各层的主要功能。
今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!