网络的分层

TCP/IP 分层模型 vs OSI 参考模型

TCP/IP 分层模型

1983年,Transfer Control Protocol/Internet Protocol (TCP/IP) 比 OSI 参考模型更早被提出,是由美国国防部(DoD)创建的。

  • Layer 4 (Application): Also called the Process layer, this layer combines the OSI model’s L5, L6, and L7.
  • Layer 3 (Transport): Also called the Host-to-Host layer. This layer is similar to the OSI model’s L4.
  • Layer 2 (Internet): This layer is similar to the OSI model’s L3.
  • Layer 1 (Network Access): Also called the Link or Network Interface layer. This layer combines the OSI model’s L1 and L2.

OSI 参考模型

1984年,OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型,不仅包括一系列抽象的术语或概念,也包括具体的协议。

在OSI 模型中 1、2、3 层为硬件层,4 层为核心层,5、6、7 层为软件层。

  • Layer 7 (Application): Most of what the user actually interacts with is at this layer. Web browsers and other internet-connected applications (like Skype or Outlook) use Layer 7 application protocols.
  • Layer 6 (Presentation): This layer converts data to and from the Application layer. In other words, it translates application formatting to network formatting and vice versa. This allows the different layers to understand each other.
  • Layer 5 (Session): This layer establishes and terminates connections between devices. It also determines which packets belong to which text and image files.
  • Layer 4 (Transport): This layer coordinates data transfer between system and hosts, including error-checking and data recovery.
  • Layer 3 (Network): This layer determines how data is sent to the receiving device. It’s responsible for packet forwarding, routing, and addressing.
  • Layer 2 (Data Link): Translates binary (or BITs) into signals and allows upper layers to access media.
  • Layer 1 (Physical): Actual hardware sits at this layer. It transmits signals over media.

判断我们在讨论的内容在 OSI 的哪一层最简单的方式就是通过 Protocol data unit (PDU):

一张 OCI 模型中协议全景图:

(PS:OSI 模型作为参考模型,由于其发明较晚,并未在 Internet 上实现。 当前使用的模型是 TCP/IP 模型。)

两者的区别

  • TCP/IP 是一种基于特定的标准协议,用于解决特定通信问题的功能模型。OSI 是一种通用的、与协议无关的模型,用于描述所有形式的网络通信。
  • 在 TCP/IP 中,大多数应用程序使用所有层,而在 OSI 中,简单的应用程序不使用所有七个层。只有第1、2和3层是强制性的,才能启用任何数据通信。

1、物理层(Bit, Symbol)(网卡)

OSI 参考模型的最低层是物理层。它负责设备之间的实际物理连接。物理层包含比特形式的信息。它负责将单个位从一个节点传输到下一个节点。当接收数据时,该层将接收到的信号转换为0和1发送到数据链路层,数据链路层将帧重新组合在一起。

物理层规范包含在普遍存在的蓝牙(Bluetooth)、以太网(Ethernet)和 USB 标准的规范中。一个鲜为人知的物理层规范的例子是 CAN 标准。

在物理层实现的功能:

功能 说明
位同步 物理层通过提供时钟来提供位同步。该时钟控制发送方和接收方,从而提供位级同步。
比特率控制 物理层还定义了传输速率,即每秒发送的比特数
物理拓扑 物理层指定不同的设备/节点在网络中的排列方式,即总线星形网状拓扑
传输模式 物理层还定义了数据在两个连接的设备之间流动的方式。可能的各种传输模式是单工半双工全双工

2、数据链路层(Frame)(交换机、Modems、网桥)

数据链路层处理节点到节点的数据传输,可以分为子层;媒体访问控制 (MAC) 层和逻辑链路控制 (LLC) 层。

IEEE 802 将数据链路层分为两个子层数据链路层分为两个子:

  • 逻辑链路控制 (LLC),负责识别和封装网络层协议,控制错误检查和帧同步。控制流控制、帧同步和错误扫描等元素
  • 媒体访问控制 (MAC),负责控制网络中的设备如何获得对媒体的访问权限以及传输数据的权限。根据权限确定连接的计算机如何访问数据

在数据链路层实现的功能:

功能 说明
成帧 成帧是数据链路层的一个功能。它为发送者提供了一种方式来传输对接收者有意义的一组比特。这可以通过在帧的开头和结尾附加特殊的位模式来实现。
物理寻址 创建帧后,数据链路层在每个帧的报头中添加发送方和/或接收方的物理地址(MAC 地址)。
错误控制(纠错) 数据链路层提供错误控制机制,在该机制中它检测并重新传输损坏或丢失的帧。
流量控制 双方的数据速率必须保持不变,否则数据可能会损坏,因此流量控制会协调在接收确认之前可以发送的数据量。
访问控制 当多个设备共享单个通信通道时,数据链路层的 MAC 子层有助于确定在给定时间哪个设备对通道具有控制权。

例子:

3、网络层(Package)(IP、路由器)

OSI 模型的网络层负责处理网络中的大部分路由。该层处理数据包转发并设置数据包通过网络的路径。简单来说,网络层决定了数据包如何到达目的地。

网络层用于将数据从一台主机传输到位于不同网络中的另一台主机。它还负责数据包路由,即从可用路由的数量中选择传输数据包的最短路径。发送方和接收方的 IP 地址由网络层放置在标头中。

在网络层实现的功能是:

功能 说明
路由 网络层协议确定哪条路由适合从源到目的地。网络层的这一功能称为路由。
逻辑寻址 为了唯一标识互联网络上的每个设备,网络层定义了一个寻址方案。发送方和接收方的 IP 地址由网络层放置在标头中。这样的地址可以唯一且普遍地区分每个设备。

4、传输层(Segment, Datagram)(UDP、TCP、端口)

传输层是 OSI 模型中最著名的 OSI 层之一,因为它是负责在终端系统和主机之间传输数据的层。它规定了将什么发送到哪里,以及发送了多少。在此级别,您会看到 TCP、UDP 和 SPX 等协议。如果出现问题,传输层还负责端到端的错误恢复。

传输层向应用层提供服务,并从网络层获取服务。传输层中的数据称为分段。它负责完整消息的端到端传递。传输层还提供数据传输成功的确认,并在发现错误时重新传输数据。

  • 在发送方:传输层从上层接收格式化数据,执行分段,还执行流量和错误控制以确保正确的数据传输。它还在其标头中添加源和目标端口号,并将分段数据转发到网络层。
  • 在接收方:传输层从其标头中读取端口号,并将接收到的数据转发给相应的应用程序。它还执行分段数据的排序重组

在传输层实现的功能:

功能 说明
分割和重组 这一层接受来自(会话)层的消息,将消息分解成更小的单元。产生的每个段都有一个与之关联的标题。目的站的传输层重新组装消息。
服务点寻址 为了将消息传递给正确的进程,传输层报头包含一种称为服务点地址或端口地址的地址。因此,通过指定此地址,传输层确保将消息传递到正确的进程。

传输层提供的服务:

类型 说明
面向连接的服务 这是一个三阶段的过程,包括:连接建立、数据传输、终止/断开。
在这种类型的传输中,接收设备在接收到一个数据包或一组数据包后将确认发送回源。这种类型的传输是可靠和安全的。
无连接服务 这是一个单阶段过程,包括数据传输。在这种类型的传输中,接收方不确认收到数据包。这种方法允许设备之间更快的通信。面向连接的服务比无连接的服务更可靠。

例子:

5、会话层

OSI 模型的第 5 层称为会话层。会话层是负责在不同应用程序之间建立、维护和结束连接的层。该层控制应用程序相互交互的术语。其中一个关键部分是简单的协调,因为会话层将决定系统等待另一个应用程序响应的时间。通常,您会看到 NetBios、NFS、RPC 和 SQL 等协议在这一层上运行。

该层负责连接的建立、会话的维护、身份验证,同时也保证了安全性。

在会话层实现的功能:

功能 内容
会话建立、维护和终止 该层允许两个进程建立、使用和终止连接。
同步 该层允许进程将被视为同步点的检查点添加到数据中。这些同步点有助于识别错误,从而正确地重新同步数据,并且不会过早切断消息的结尾,避免数据丢失。
对话控制器 会话层允许两个系统以半双工或全双工方式开始相互通信。

6、表现层

OSI 模型的表示层或第 6 层旨在准备数据并将其从网络格式转换为应用程序格式,反之亦然。这一层决定了如何根据语法和结构为这些实体中的每一个呈现数据。在很多情况下,可以通过数据的加密和解密看到表示层。其他示例包括 ASCII、TIFF、JPEG、GIF、ESBCDIC、PICT、JPEG、MPEG 和 MIDI。

表示层也称为翻译层。来自应用层的数据在这里被提取并按照所需的格式进行操作以通过网络传输。

在表示层实现的功能:

功能 内容
翻译 例如,ASCII 到 EBCDIC。
加密/解密 数据加密将数据转换为另一种形式或代码。加密后的数据称为密文,解密后的数据称为纯文本。密钥值用于加密和解密数据。
压缩 减少需要在网络上传输的比特数。

7、应用层

如上所述,应用程序层是用户实际与之交互的层。 每当您与计算机上的应用程序交互时,您都会在应用程序层上处于活动状态。 例如,如果您使用 Google Chrome 或 Skype,那么您正在与第 7 层的应用程序交互。该层使用 HTTP、Telnet 和 FTP 等协议。 简而言之,这一层专注于最终用户流程并交付用户想要访问的任何应用程序。

在应用层的功能:

  • 网络虚拟终端
  • FTAM-文件传输访问和管理
  • 邮件服务
  • 目录服务

例子:

参考


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 nz_nuaa@163.com
github