什么是 OSI 模型?
开放式系统互联 (OSI) 模型是将网络通信功能分为七层的概念框架。通过网络发送数据是一个复杂过程,因为各种硬件和软件技术必须跨越地理和政治界限协同工作。OSI 数据模型为计算机网络提供了一种通用语言,因此各种技术可以使用标准协议或通信规则进行通信。特定层中的每项技术都必须提供特定的功能并执行特定的功能,才能在网络中发挥作用。较高层的技术可以从抽象中受益,因为它们可以使用较低级别的技术,而不必担心底层的实现细节。
为什么 OSI 模型如此重要?
开放式系统互联 (OSI) 模型的各层跨软件和硬件组件封装每种类型的网络通信。该模型旨在允许两个独立系统通过基于当前操作层的标准化接口或协议进行通信。
接下来介绍 OSI 模型的优点。
对复杂系统的共同理解
工程师可以使用 OSI 模型来组织和建模复杂的网络系统架构。这样我们就可以根据其主要功能来分离每个系统组件的操作层。通过抽象将系统分解成更小的、可管理部分的功能使人员更容易将其概念化为一个整体。
加快研发速度
借助 OSI 参考模型,工程师可以更好地了解他们的工作。当他们创建需要相互通信的新网络系统时,他们知道正在开发哪个(或哪些)技术层。工程师可以开发网络系统并利用一系列可重复的流程和协议。
灵活的标准化
OSI 模型不指定在级别之间使用的协议,而是指定协议执行的任务。该模型实现了网络通信开发的标准化,使人员可以快速了解、构建和分解高度复杂的系统,而无需事先了解系统。这种模型还能提取详细信息,因此工程师不需要了解模型的每个方面。在现代应用程序中,我们可以对较低级别的网络和协议抽象化,以简化系统设计和开发。下图显示了现代应用程序开发中如何使用 OSI 模型。
OSI 模型的七层是什么?
开放系统互联(OSI)模型由国际标准化组织和其他机构在 20 世纪 70 年代末制定。1984 年发布了第一版 ISO 7498 标准,当前版本为 ISO/IEC 7498-1:1994。接下来介绍模型的七层。
物理层
物理层是指物理通信介质和通过该介质传输数据的技术。数据通信的核心是通过光纤电缆、铜缆和空气等各种物理通道传输数字和电子信号。物理层包括与信道密切相关的技术和指标的标准,例如蓝牙、NFC 和数据传输速度。
数据链路层
数据链路层是指用于通过物理层已经存在的网络连接两台计算机的技术。该层管理数据帧,这些数据帧是封装在数据包中的数字信号。数据的流量控制和错误控制通常是数据链路层的重点。以太网是该级别标准的一个示例。数据链路层通常分为两个子层:介质访问控制(MAC)层和逻辑链路控制(LLC)层。
网络层
网络层涉及的概念包括跨分散网络或者节点或计算机的多个互连网络进行的路由、转发和寻址。网络层也可以管理流量控制。在整个互联网上,互联网协议 v4(IPv4)和 IPv6 是主要的网络层协议。
传输层
传输层的主要重点是确保数据包以正确的顺序到达,没有丢失或错误,或者在需要时可以无缝恢复。流量控制和错误控制通常是传输层的重点。在这一层,常用的协议包括传输控制协议(TCP)(一种近乎无损、基于连接的协议)和用户数据报协议(UDP)(一种有损的无连接协议)。TCP 通常用于所有数据必须完好无损的情况(例如文件共享),而 UDP 则用于没有必要保留所有数据包的情况(例如视频流式传输)。
会话层
会话层负责会话中两个独立应用程序之间的网络协调。会话管理一对一应用程序连接的开始和结束以及同步冲突。网络文件系统(NFS)和服务器消息块(SMB)是会话层的常用协议。
表示层
表示层主要关注应用程序发送和使用的数据本身的语法。例如,超文本标记语言(HTML)、JavaScript 对象标记(JSON)和逗号分隔值(CSV)都是描述表示层数据结构的建模语言。
应用层
应用层关注应用程序本身的特定类型及其标准化通信方法。例如,浏览器可以使用超文本传输安全协议(HTTPS)进行通信,而 HTTP 和电子邮件客户端可以使用 POP3(邮局协议版本 3)和 SMTP(简单邮件传输协议)进行通信。
并非所有使用 OSI 模型的系统都会实现每一层。
在 OSI 模型中如何进行通信?
开放系统互联(OSI)模型中的各层经过精心设计,无论应用程序和底层系统的复杂程度如何,应用程序都可以通过网络与其他设备上的另一个应用程序进行通信。为此,使用了各种标准和协议与上层或下层进行通信。每个层都是独立的,只知道与其上层和下层通信的接口。
通过将所有层和协议链接在一起,可以将复杂的数据通信从一个高级应用程序发送到另一个高级应用程序。此流程的工作原理如下所示:
- 发送方的应用层将数据通信向下传递到下一个层。
- 在传递数据之前,每个层都会为数据添加自己的标头和寻址。
- 数据通信向下层移动,直到最终通过物理介质传输。
- 在介质的另一端,每层根据该级别的相关标头处理数据。
- 在接收端,数据向上层移动并逐渐解包,直到另一端的应用程序收到数据。
OSI 模型有哪些替代方案?
过去曾使用过各种联网模型,例如顺序数据包交换/互联网数据包交换(SPX/IPX)和网络基本输入输出系统(NetBIOS)。如今,开放系统互联(OSI)模型的主要替代方案是 TCP/IP 模型。
TCP/IP 模型
TCP/IP 模型由五个不同的层组成:
- 物理层
- 数据链路层
- 网络层
- 传输层
- 应用层
虽然物理层、网络层和应用层等层似乎直接映射到 OSI 模型,但事实并非如此。相反,TCP/IP 模型最准确地映射到互联网的结构和协议。
OSI 模型仍然是一种广受欢迎的联网模型,从整体角度描述网络的运作方式,用于教育。但是,TCP/IP 模型现在在实践中更常用。
关于专有协议和模型的说明
需要注意的是,并非所有基于互联网的系统和应用程序都遵循 TCP/IP 模型或 OSI 模型。同样,并非所有基于离线的联网系统和应用程序都使用 OSI 模型或任何其他模型。
OSI 和 TCP/IP 模型都是开放标准。这些模型经过精心设计,任何人都可以使用,也可以进一步构建以满足特定要求。
组织还设计自己的内部专有标准,包括协议和模型,这些标准是封闭源代码的,仅用于其系统。有时,组织随后可能会将其发布给公众,以实现互操作性和进一步的社区发展。一个例子是 s2n-tls,这是一种 TLS 协议,最初是 Amazon Web Services(AWS)的专有协议,但现在是开源的。
AWS 如何满足您的计算机联网需求?
AWS 可帮助组织设计、部署和扩展联网系统和应用程序,减少团队之间的摩擦。
我们有一套强大的 AWS 联网和内容分发产品。这些产品旨在补充并集成您的内部应用程序和服务,涵盖各个级别的网络操作。下面是一些示例:
- AWS App Mesh 通过内置的通信监控和控制功能为您的所有服务提供安全的应用程序级联网
- Amazon CloudFront 是一种内容分发网络(CDN)服务,旨在获得优异性能、安全性和开发人员便利性
- AWS Direct Connect 提供从您的组织到您的 AWS 资源的直接连接,这种连接不会触及互联网
- 弹性负载均衡(ELB)在 AWS 目标之间分配传入的网络流量,以提高应用程序的可扩展性
立即创建账户,开始在 AWS 上使用联网系统和应用程序。