OSI 7层模型
-
物理层(Physical Layer)
-
定义与功能
- 物理层是 OSI 模型的最底层,主要负责处理物理介质上的信号传输。它定义了设备之间的物理连接方式,包括电缆类型(如双绞线、同轴电缆、光纤)、连接器的规格、信号的传输速率、电压电平等物理特性。其主要功能是将数据链路层的帧转换为物理信号,并通过物理介质进行传输,同时也将接收到的物理信号转换为帧,交给数据链路层处理。
- 例如,在以太网中,物理层规定了使用双绞线传输信号,并且定义了每根线的功能(如发送、接收等)以及信号的编码方式(如曼彻斯特编码)。
-
常见设备
- 包括网线、光纤、中继器和集线器。中继器用于放大和整形信号,以延长信号的传输距离;集线器是一种多端口的中继器,它可以将接收到的信号向所有端口转发。
-
-
数据链路层(Data Link Layer)
-
定义与功能
- 数据链路层主要负责将物理层接收到的原始信号组织成数据帧,并进行差错检测和纠正。它通过 MAC(介质访问控制)地址来识别网络中的设备,MAC 地址是每个网络接口卡(NIC)的唯一标识符。该层还负责控制对物理介质的访问,例如在以太网中采用 CSMA/CD(带有冲突检测的载波监听多路访问)机制来避免多个设备同时发送数据而产生冲突。
- 例如,在局域网中,当一台计算机要向另一台计算机发送数据时,数据链路层会在数据前面添加源 MAC 地址和目标 MAC 地址,组成数据帧,然后将其交给物理层进行传输。同时,接收方的数据链路层会检查数据帧是否有错误,如通过 CRC(循环冗余校验)来验证数据的完整性。
-
常见设备
- 有网卡和网桥。网卡用于实现计算机与网络的物理连接,并负责数据的发送和接收;网桥可以连接两个或多个局域网,它能够根据 MAC 地址过滤和转发数据帧,将数据帧从一个局域网转发到另一个局域网。
-
-
网络层(Network Layer)
-
定义与功能
- 网络层负责将数据从源网络传输到目标网络,主要功能包括寻址(通过 IP 地址)、路由选择和分组转发。它将数据链路层的帧封装成数据包,并添加源 IP 地址和目标 IP 地址。当数据包在不同的网络之间传输时,网络层的路由器会根据路由表来选择最佳路径,将数据包转发到下一个节点。
- 例如,在互联网中,当你从本地网络访问外部网站时,数据首先在本地网络中传输,然后通过网络层的路由器转发到其他网络,直到到达目标网站所在的网络。路由器根据数据包的目标 IP 地址和自己的路由表来决定数据包的下一跳地址。
-
常见设备
- 路由器是网络层的典型设备,它能够连接不同的网络,并根据网络地址进行数据转发。
-
-
传输层(Transport Layer)
-
定义与功能
- 传输层提供端到端的通信服务,主要有两种协议:TCP 和 UDP。它负责将网络层传来的数据包组装成消息,并进行流量控制、差错控制等。TCP 提供面向连接的、可靠的通信服务,通过三次握手建立连接、滑动窗口进行流量控制、四次挥手关闭连接等机制,保证数据的正确传输和顺序。UDP 则提供无连接的、不可靠的通信服务,适用于对实时性要求较高但对数据准确性要求相对较低的应用场景。
- 例如,在文件传输应用中,通常使用 TCP 协议。传输层会将文件分割成多个数据段,通过 TCP 协议的机制保证这些数据段正确地、按顺序地到达目标端,并且在接收端重新组装成完整的文件。而在视频直播应用中,UDP 协议可以减少延迟,因为它不需要像 TCP 那样进行复杂的连接建立和数据确认过程。
-
-
会话层(Session Layer)
-
定义与功能
- 会话层主要负责建立、管理和终止会话。会话是指两个通信实体之间的一次完整的通信过程。它可以在会话过程中设置检查点,以便在通信出现故障时能够从检查点处恢复会话,而不是从头开始。此外,会话层还可以控制会话的流量,协调通信双方的交互过程。
- 例如,在远程登录过程中,会话层负责建立和维护用户与远程服务器之间的会话。当网络出现短暂中断后,会话层可以根据之前设置的检查点恢复会话,使得用户可以继续之前的操作。
-
-
表示层(Presentation Layer)
-
定义与功能
- 表示层主要负责数据的格式转换、加密和解密、压缩和解压缩等操作。它使得不同的系统能够理解彼此的数据格式。例如,在不同操作系统之间进行文件传输时,表示层可以将数据转换为一种通用的格式,使得接收方能够正确解析数据。在需要安全通信的情况下,表示层可以对数据进行加密,在接收端再进行解密。
- 例如,在发送电子邮件时,表示层可以将邮件内容从发送方使用的文字编码格式(如 UTF - 8)转换为接收方能够识别的格式,同时,如果邮件包含加密内容,表示层还可以进行解密操作。
-
-
应用层(Application Layer)
-
定义与功能
- 应用层是 OSI 模型的最顶层,直接为用户的应用程序提供服务。它包含了各种应用协议,如 HTTP 用于网页浏览、FTP 用于文件传输、SMTP 用于电子邮件发送等。应用层协议规定了应用程序如何与网络进行交互,如何发送和接收数据。
- 例如,当你使用浏览器访问网站时,浏览器就是应用层的一个应用程序,它通过 HTTP 协议向 Web 服务器发送请求,获取网页内容,然后将内容显示给用户。
-