目标 4.1:OSI 模型
数据单元 | 层 | 功能 | |
---|---|---|---|
主机 层 |
数据 | 7. 应用 | 网络进程到应用程序 |
6. 表示 | 数据表示和加密 | ||
5. 会话 | 主机间通信 | ||
段 | 4. 传输 | 端到端连接和可靠性 | |
媒体 层 |
数据包 | 3. 网络 | 路径确定和 逻辑寻址 |
帧 | 2. 数据链路 | 物理寻址 | |
位 | 1. 物理 | 媒体、信号和二进制传输 |
目标 4.1:解释 OSI(开放系统互连)模型中每一层的函数
开放系统互连参考模型(OSI 参考模型或 OSI 模型)是分层通信和计算机网络协议设计的抽象描述。最基本的形式是将网络架构划分为七层,从上到下分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。因此,它通常被称为 OSI 七层模型。
一层是概念上类似的功能的集合,这些功能为上层提供服务,并接收下层的服务。例如,提供跨网络无错误通信的层为上层应用程序提供路径,同时调用下一层来发送和接收构成路径内容的数据包。
参考 附录 A:记忆辅助 以帮助回忆各层的正确顺序。
应用层是 OSI 层中离最终用户最近的一层,这意味着 OSI 应用层和用户都直接与软件应用程序交互。此层与实现通信组件的软件应用程序交互。应用层功能通常包括识别通信伙伴、确定资源可用性和同步通信。在识别通信伙伴时,应用层确定具有要传输数据的应用程序的通信伙伴的身份和可用性。在确定资源可用性时,应用层必须确定是否存在用于请求的通信的足够网络资源。在同步通信中,所有应用程序之间的通信都需要由应用层管理的合作。
表示层在应用程序层实体之间建立上下文,其中,如果表示服务提供映射,则更高层实体可以使用不同的语法和语义。如果映射可用,则表示服务数据单元将封装到会话协议数据单元中,并向下传递到堆栈。
此层通过在应用程序格式和网络格式之间进行转换,提供与数据表示(例如加密)的独立性。表示层将数据转换为应用程序接受的格式。此层格式化和加密要跨网络发送的数据。它有时被称为语法层。[5]
原始表示结构使用抽象语法符号 1(ASN.1)的基本编码规则,具有将 EBCDIC 编码的文本文件转换为 ASCII 编码的文件,或将对象和其他数据结构从 XML 序列化到 XML 的功能。
会话层控制计算机之间的对话(连接)。它建立、管理和终止本地应用程序和远程应用程序之间的连接。它提供全双工、半双工或单工操作,并建立检查点、延期、终止和重新启动过程。OSI 模型使该层负责会话的优雅关闭(这是传输控制协议的属性),还负责会话检查点和恢复(通常在互联网协议套件中未使用)。会话层通常在使用远程过程调用的应用程序环境中显式实现。
传输层提供端用户之间透明的数据传输,为上层提供可靠的数据传输服务。传输层通过流量控制、分段/重组和错误控制来控制给定链接的可靠性。某些协议是面向状态和连接的。这意味着传输层可以跟踪段,并重新传输失败的段。传输层还提供成功数据传输的确认,并在没有错误发生时发送下一个数据。
OSI 定义了五类连接模式传输协议,从类 0(也称为 TP0,提供最少的功能)到类 4(TP4,为不太可靠的网络设计,类似于互联网)。类 0 不包含错误恢复,设计用于在提供无错误连接的网络层上使用。类 4 最接近 TCP,尽管 TCP 包含一些功能,例如优雅关闭,OSI 将这些功能分配给会话层。此外,所有 OSI TP 连接模式协议类都提供加速数据和记录边界保留。下表显示了 TP0-4 类别的详细特征:[1]
功能名称 | TP0 | TP1 | TP2 | TP3 | TP4 |
---|---|---|---|---|---|
面向连接的网络 | 是 | 是 | 是 | 是 | 是 |
无连接网络 | 否 | 否 | 否 | 否 | 是 |
连接和分离 | 否 | 是 | 是 | 是 | 是 |
分段和重组 | 是 | 是 | 是 | 是 | 是 |
错误恢复 | 否 | 是 | 是 | 是 | 是 |
重新启动连接(如果过多的协议数据单元 PDU 未得到确认) | 否 | 是 | 否 | 是 | 否 |
在单个虚拟电路上的复用和解复用 | 否 | 否 | 是 | 是 | 是 |
显式流量控制 | 否 | 否 | 是 | 是 | 是 |
超时重传 | 否 | 否 | 否 | 否 | 是 |
可靠的传输服务 | 否 | 是 | 否 | 是 | 是 |
也许可视化传输层的一个简单方法是将其与邮局进行比较,邮局处理发送的邮件和包裹的调度和分类。但是请记住,邮局管理邮件的外层信封。更高层可能具有双信封的等效项,例如只能由收件人读取的加密表示服务。粗略地说,隧道协议在传输层运行,例如在 IP 网络上承载非 IP 协议,例如 IBM 的 IBM 系统网络体系结构 | SNA 或 Novell 的互联网络数据包交换 | IPX,或者使用 IPsec 进行端到端加密。虽然通用路由封装 (GRE) 看起来像是网络层协议,但如果有效负载的封装只在端点进行,则 GRE 更接近于使用 IP 标头但包含完整帧或数据包以传递到端点的传输协议。2 层隧道协议 | L2TP 将点对点协议 | PPP 帧承载在传输数据包中。
虽然不是在 OSI 参考模型下开发的,也不完全符合 OSI 对传输层的定义,但互联网协议套件的传输控制协议 (TCP) 和用户数据报协议 (UDP) 通常在 OSI 中归类为第 4 层协议。
网络层提供将可变长度数据序列从一个网络上的源主机传输到另一个网络上的目标主机的功能和程序手段,同时保持传输层请求的服务质量(与连接同一网络中的主机的 数据链路层形成对比)。网络层执行网络路由功能,也可能执行碎片和重组,并报告传递错误。路由器在此层运行,在扩展网络中发送数据,使互联网成为可能。这是一种逻辑寻址方案 - 值由网络工程师选择。寻址方案不是分层的。
网络层可以分为三个子层
- 子网访问 - 考虑处理网络接口的协议,例如 X.25;
- 子网依赖的收敛 - 当需要将传输网络的级别提升到两侧网络的级别时
- 子网独立的收敛 - 处理跨多个网络的传输。
后一种情况的一个例子是 CLNP 或 IPv7 ISO 8473。它管理着一次一个跃点的无连接数据传输,从终端系统到入口路由器,从路由器到路由器,以及从出口路由器到目标终端系统。它不负责对下一个跃点的可靠传递,只负责检测错误数据包以便丢弃。在这种方案中,IPv4 和 IPv6 必须与 X.25 归类为子网访问协议,因为它们承载的是接口地址而不是节点地址。
许多层管理协议属于网络层,这些协议在管理附件 ISO 7498/4 中定义。这些协议包括路由协议、组播组管理、网络层信息和错误以及网络层地址分配。是有效载荷的功能使得这些协议属于网络层,而不是承载它们的协议。
数据链路层提供了在网络实体之间传输数据的功能和程序方法,并检测和可能纠正物理层可能发生的错误。最初,该层旨在用于点对点和点对多点媒体,这是电话系统中广域媒体的特征。局域网架构(包括广播能力的多路访问媒体)是在 IEEE 项目 802 中独立于 ISO 工作开发的。IEEE 工作假设了 WAN 使用不需要的子层和管理功能。在现代实践中,在诸如点对点协议 (PPP) 之类的协议中,数据链路层只进行错误检测,而不进行使用滑动窗口的流量控制,并且在局域网上,IEEE 802.2 LLC 层不适用于以太网上的大多数协议,并且在其他局域网上,其流量控制和确认机制很少使用。TCP 等协议在传输层使用滑动窗口流量控制和确认,但在 X.25 提供性能优势的利基市场中仍然使用。
ITU-T G.hn 标准通过现有的线缆(电力线、电话线和同轴电缆)提供高速局域网,它包含一个完整的数据链路层,通过选择性重传滑动窗口协议提供错误校正和流量控制。
广域网和局域网服务都将来自物理层的比特排列成称为帧的逻辑序列。并非所有物理层比特都一定会进入帧,因为其中一些比特纯粹是为了物理层功能而设计的。例如,FDDI 比特流中的每五个比特中有一个没有被该层使用。
物理层定义了设备的电气和物理规范。特别是,它定义了设备与传输介质(如铜缆或光缆)之间的关系。这包括引脚布局、电压、电缆规格、集线器、中继器、网络适配器、主机总线适配器 (HBA 用于存储区域网络) 等。
物理层执行的主要功能和服务是
- 建立和终止与通信介质的连接。
- 参与有效地将通信资源共享给多个用户的过程。例如,争用解决和流量控制。
- 调制,或在用户设备中数字数据的表示形式与在通信信道上传输的相应信号之间的转换。这些信号是在物理布线(如铜线和光纤)或无线链路上运行的信号。
并行 SCSI 总线在该层运行,但必须记住,逻辑 SCSI 协议是运行在此总线上的传输层协议。各种物理层以太网标准也位于此层;以太网包含此层和数据链路层。同样的情况也适用于其他局域网,如令牌环、FDDI、ITU-T G.hn 和 IEEE 802.11,以及个人区域网,如蓝牙和 IEEE 802.15.4。