OSI 七层网络模型
-
物理层
网络模型的最底层,利用传输介质(有线信道:网线、光纤、同轴电缆;无线信道:以辐射无线电波为传输方式)为数据链路层提供物理连接,实现比特流(二进制形式)的透明传输。尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层不必考虑网络的具体传输介质是什么。
物理层的设备有网卡,网线,集线器,中继器等。其主要任务就是确定与传输媒体的接口有关的一些特性,如机械特性、电气特性、功能特性、过程特性等。
“透明”的意思是指物理层并不需要关心比特代表的具体含义,而要考虑的是如何发送“0”和“1”,以及接收端如何识别。
-
数据链路层
封装成帧、透明传输、差错检测 : 数据链路层负责将原始比特流转化为帧,以便在物理媒介上传输(字节填充法)。它还处理物理层可能出现的差错(比特差错),并提供一些基本的流量控制和错误检测功能(循环冗余检验CRC的检错技术)。
MAC(Media Access Control)子层控制着数据在共享媒介上的访问。(MAC地址:每个网卡的唯一标识,明确发送者和接收者,直到数据内容和进行分组)通过广播的形式传播,局域网的所有计算机都能收到消息。
可以通过
ipconfig -all进行查看: -
网络层
网络层是通讯子网的最高层,负责数据包的路由和转发,以便在不同的网络之间进行通信。它决定了数据的最佳路径,以及如何处理可能的拥塞。IP(Internet Protocol)是在这一层工作的协议,它赋予设备唯一的IP地址。采用IP协议,目前从 IPv4 过渡到 IPv6 。
两个作用:
寻址:对网络层而言,使用IP地址来唯一标识互联网上的设备,网络层依靠IP地址进行相互通信(类似于数据链路层的MAC地址)。
路由:在同一个网络中的内部通信并不需要网络层设备,仅仅靠数据链路层就可以完成相互通信,对于不同的网络之间相互通信则必须借助路由器等三层设备。
-
运输层
传输层提供端到端的通信,定义端口号,负责数据的分段、传输控制和流量管理。它可以实现可靠的数据传输(如TCP)或者无连接的数据传输(如UDP),并为应用程序提供数据的完整性和顺序性。
TCP 是面向连接的协议,是可靠的,因为TCP会进行三次握手四次挥手,但是这样会降低速度。
UDP 具有较好的实时性,效率比TCP高。UDP是没有三次握手四次挥手的,故此不稳定,但是速度快,常用于直播,游戏。
-
会话层
会话层管理不同设备之间的会话,并确保数据的同步和传输。它负责建立、维护和终止应用程序之间的通信会话,并处理错误恢复和数据同步。会话层提供服务通常需要经过建立连接、数据传输和释放连接三个阶段。
会话层包含了一种称为检查点(Checkpoint) 的机制来维持可靠会话。检查点定义了一个最接近成功通信的点,并且定义了当发生内容丢失或损坏时,需要回滚以便恢复丢失或损坏数据的点,即断点下载的原理。
-
表示层
表示层处理数据的格式转换(解码编码)、加密和压缩,以便不同系统上的应用程序可以互相通信。它确保数据的语法和语义正确,使得应用程序能够正确解释和显示接收到的数据。
表示层处理的是用户信息的表示问题。端用户(应用进程)之间传送的数据包含“语义”和“语法”两个方面。语义是数据的内容及其含义,它由应用层负责处理;语法是与数据表示形式有关的方面,例如,数据的格式、编码和压缩等。
-
应用层
应用层是网络模型的最顶层,直接与用户应用程序交互。
五层网络模型
网络要解决的问题是:两个程序之间如何交换数据。
- 物理层:网线、光纤。传输比特流。
- 数据链路层:控制网络层和物理层的通信。主要将网络层接收到的数据分割成特定可被物理层传输的帧(对比特流的封装)。用于 Mac 地址确定,代表设备有交换机。
- 网络层:决定如何将数据从发送发路由到接收方。作用是 分配 IP 地址,代表设备是家用路由器。
- 运输层:为应用程序提供端到端的服务。建立主机到主机的通信。TCP、UDP。操作系统内核。
- 应用层:应用程序解读传输层的数据。规定使用到的协议如 HTTP 等。
TCP / IP 网络模型
TCP/IP ⽹络模型(也称为互联⽹协议套件)是⼀种⽤于描述⽹络通信的概念模型。它分为四层,每层都有特定的职责和作⽤,它们分别是:
- 应⽤层(Application Layer):应⽤层负责处理与应⽤程序的通信和数据传输。它包括各种应⽤层协议,例如 HTTP、HTTPS、FTP、DNS 等。这些协议定义了客户端和服务器之间如何互相发送和接收数据。应⽤层的主要职责是为应⽤程序提供⽤户接⼝、数据传输以及数据封装和解封装。
- 传输层(Transport Layer):传输层主要负责在⽹络中进⾏端到端的可靠数据传输。它提供了两种主要的传输协议:TCP(传输控制协议)和 UDP(⽤户数据报协议)。TCP 提供了可靠、⾯向连接的数据传输,它可以确保数据在传输过程中不会丢失、重复或乱序。UDP 提供了不可靠、⽆连接的数据传输,它不能保证数据的传输质量,但传输速度更快,适⽤于实时通信等场景。
- ⽹络层(Internet Layer):⽹络层负责在不同⽹络之间进⾏数据包的路由和传输。它使⽤ IP(互联⽹协议)进⾏寻址和路由,将数据包从源主机传输到⽬的主机。⽹络层的主要职责包括:IP地址的分配、路由选择、分组传输和拥塞控制等功能。
- 链路层(Link Layer):链路层(⼜称⽹络接⼝层或数据链路层)负责在同⼀⽹络中进⾏数据帧的发送和接收。链路层的协议因⽹络硬件⽽异,如 Ethernet、Wi-Fi、PPP 等。链路层的主要职责包括:物理寻址、数据帧封装和解封装、差错检测、流量控制以及链路管理。
参考: