OSI(Open Systems Interconnection)七层网络参考模型是一种用于描述计算机网络通信的框架,将网络通信划分为七个不同的层次,每个层次负责不同的功能。
以下为 OSI 七层网络参考模型的简单表格:
+-----------------------+-------------------------------------------+-----------------------------------+
| OSI 层级 | 功能 | 协议 |
+-----------------------+-------------------------------------------+-----------------------------------+
| 7. 应用层 | 用户界面、应用服务和通信 | HTTP、FTP、SMTP、POP3、Telnet、 |
| | | SSH、DNS、SNMP 等 |
+-----------------------+-------------------------------------------+-----------------------------------+
| 6. 表示层 | 数据转换、加密、压缩 | SSL/TLS、JPEG、GIF、MPEG、 |
| | | ASCII、Unicode 等 |
+-----------------------+-------------------------------------------+-----------------------------------+
| 5. 会话层 | 建立、管理和终止会话 | NetBIOS、RPC、PPTP、SMB、 |
| | | NFS、SQL 等 |
+-----------------------+-------------------------------------------+-----------------------------------+
| 4. 传输层 | 分段、流量控制、错误检测和恢复 | TCP、UDP、SCTP、SPX、RTP 等 |
+-----------------------+-------------------------------------------+-----------------------------------+
| 3. 网络层 | 路由、寻址、路径选择 | IP、ICMP、OSPF、BGP、EIGRP 等 |
+-----------------------+-------------------------------------------+-----------------------------------+
| 2. 数据链路层 | 帧封装、物理地址、错误检测和修复 | 以太网、Wi-Fi、PPP、HDLC、 |
| | | ARP、VLAN 等 |
+-----------------------+-------------------------------------------+-----------------------------------+
| 1. 物理层 | 物理媒介、信号传递 | 以太网电缆、光纤等 |
+-----------------------+-------------------------------------------+-----------------------------------+
以下是每个层次的详细解释:
物理层(Physical Layer):
物理层是网络模型的最底层,负责传输原始比特流,以及在物理媒介上发送和接收数据。它涉及电压、电流、物理连接、传输速率等方面的规范。
在这一层,数据仅以比特形式传输,没有任何逻辑结构。物理层的设备有网卡,网线,集线器,中继器等。
这一层获取他们对应的传送信号,电压等,转换成二进制数,但是数据还未组织,仅作为原始的电气电压。处理单位为bit
,传输的是比特流。
物理层信道:
- 有线信道
- 明线:平行架设在电线杆上的架空线路。传输损耗低,但是易受外界环境干扰。
- 对称电缆:由多对双绞线组成的线缆。
- 同轴电缆:以低损耗的方式传输模拟信号和数字信号。如电视广播系统、长途电话传输系统以及局域网互联等。
- 光纤:由玻璃或塑料制成的纤维,利用光在这些纤维中以全反射原理传输的光传导工具。
- 无线信道
- 以辐射无线电波为传输方式。主要有地波传输,天波传输和视距传输。例如:卫星通讯,电台广播。
数据链路层(Data Link Layer):
数据链路层负责将原始比特流转化为帧,以便在物理媒介上传输。它还处理物理层可能出现的错误,并提供一些基本的流量控制和错误检测功能。
MAC(Media Access Control)子层控制着数据在共享媒介上的访问。(MAC地址:每个网卡的唯一标识,明确发送者和接收者,直到数据内容和进行分组)通过广播的形式传播,局域网的所有计算机都能收到消息。
可以通过ipconfig -all
进行查看:
网络层(Network Layer):
网络层负责数据包的路由和转发,以便在不同的网络之间进行通信。它决定了数据的最佳路径,以及如何处理可能的拥塞。IP(Internet Protocol)是在这一层工作的协议,它赋予设备唯一的IP地址。采用IP协议,目前从 IPv4 过渡到 IPv6 。
两个作用:
-
寻址:对网络层而言,使用IP地址来唯一标识互联网上的设备,网络层依靠IP地址进行相互通信(类似于数据链路层的MAC地址)。
-
路由:在同一个网络中的内部通信并不需要网络层设备,仅仅靠数据链路层就可以完成相互通信,对于不同的网络之间相互通信则必须借助路由器等三层设备。
传输层(Transport Layer):
传输层提供端到端的通信,定义端口号,负责数据的分段、传输控制和流量管理。它可以实现可靠的数据传输(如TCP)或者无连接的数据传输(如UDP),并为应用程序提供数据的完整性和顺序性。可以把 TCP 比作打电话,电话接通、通话、结束挂断整个过程都是可靠的,也可以把 UDP 比作写信,对方能否收到,信发出的顺序等都是不可靠的。这一层常被称为数据段。
TCP 是面向连接的协议,是可靠的,因为TCP会进行三次握手四次挥手,但是这样会降低速度。
UDP 具有较好的实时性,效率比TCP高。UDP是没有三次握手四次挥手的,故此不稳定,但是速度快,常用于直播,游戏。
会话层(Session Layer):
会话层管理不同设备之间的会话,并确保数据的同步和传输。它负责建立、维护和终止应用程序之间的通信会话,并处理错误恢复和数据同步。
会话层包含了一种称为检查点(Checkpoint) 的机制来维持可靠会话。检查点定义了一个最接近成功通信的点,并且定义了当发生内容丢失或损坏时,需要回滚以便恢复丢失或损坏数据的点,即断点下载的原理。
表示层(Presentation Layer):
表示层处理数据的格式转换(解码编码)、加密和压缩,以便不同系统上的应用程序可以互相通信。它确保数据的语法和语义正确,使得应用程序能够正确解释和显示接收到的数据。
应用层(Application Layer):
应用层是网络模型的最顶层,直接与用户应用程序交互。
它包含了各种应用程序,如Web浏览器、电子邮件客户端等。在这一层,用户可以进行各种网络活动,如浏览网页、发送电子邮件等。
还或者例如:ajax调用接口发送http请求,域名系统DNS,webSocket长连接,SSH协议。常被称为报文。
OSI七层模型的每个层次都有特定的功能,它们共同协同工作,使得不同的设备和应用程序能够在网络上进行通信。