OSI 七层模型 | TCP/IP 四层模型
注:本文为 “OSI 七层模型 | TCP/IP 四层模型” 相关文章合辑。
未整理去重。
OSI 参考模型(七层模型)
BeretSEC 于 2020-04-02 15:54:37 发布
OSI 的概念
七层模型,亦称 OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为 OSI 参考模型或七层模型。
它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。
OSI 模型的目的
规范不同系统的互联标准,使两个不同的系统能够较容易的通信,而不 需要改变底层的硬件或软件的逻辑
OSI 模型的优点
-
将网络的通信过程划分为小一些、简单一些的部件,因此有助于各个部件 的开发、设计和故障排除
-
通过网络组件的标准化,允许多个供应商进行开发
-
通过定义在模型的每一层实现什么功能,鼓励产业的标准化
-
允许各种类型的网络硬件和软件相互通信
-
防止对某一层所做的改动影响到其他的层,这样就有利于开发
OSI 模型分为七层
OSI 把网络按照层次分为七层,由下到上分别为物理层、数据链路层、网 络层、传输层、会话层、表示层、应用层。


OSI 模型的功能

应用层

应用层(Application Layer)是 OSI 参考模型的最高层
它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他 6 层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。
应用层为用户提供的服务和协议有:
文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的。
应用层的主要功能如下:
用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。
表示层

表示层(Presentation Layer)是 OSI 模型的第六层
它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是 “处理用户信息的表示问题,如编码、数据格式转换和加密解密” 等。表示层的具体功能如下:
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
数据的编码:
处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,因此,在设备之间需要具有在不同字符集或格式之间转换的功能。
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
数据的加密和解密:可以提高网络的安全性。
会话层

会话层(Session Layer)是 OSI 模型的第 5 层:
是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。
用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与 MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。域名(DN)就是一种网络上使用的远程地址例如:www.abc.com 就是一个域名。
会话层的具体功能如下:
会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。
会话流量控制:提供会话流量控制和交叉会话功能。
寻址:使用远程地址建立会话连接。l
出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。会话控制和远程过程调用均属于这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等类型的高级错误。
传输层

OSI 下 3 层的主要任务是数据通信,上 3 层的任务是数据处理。而传输层(Transport Layer)是 OSI 模型的第 4 层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
该层的主要任务是:
向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。该层常见的协议:TCP/IP 中的 TCP 协议、Novell 网络中的 SPX 协议和微软的 NetBIOS/NetBEUI 协议。
传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。
传输层的主要功能如下:
传输连接管理:
提供建立、维护和拆除传输连接的功能。传输层在网络层的基础上为高层提供 “面向连接” 和 “面向无接连” 的两种服务。
处理传输差错:
提供可靠的 “面向连接” 和不太可靠的 “面向无连接” 的数据传输服务、差错控制和流量控制。在提供 “面向连接” 服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。
监控服务质量。
网络层

网络层(Network Layer)是 OSI 模型的第三层
它是 OSI 参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进 / 出路由等控制,将信息从一个网络设备传送到另一个网络设备。
一般地,数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。例如在广域网之间通信时,必然会遇到路由(即两节点间可能有多条路径)选择问题。
在实现网络层功能时,需要解决的主要问题如下:
寻址:
数据链路层中使用的物理地址(如 MAC 地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如 IP 地址)。
交换:
规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包括报文交换技术和分组交换技术。
路由算法:
当源节点和目的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。
连接服务:
与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测。
数据链路层

数据链路层(Data Link Layer)是 OSI 模型的第二层:
负责建立和管理节点间的链路。
该层的主要功能是:
通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
MAC 子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;
LLC 子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。
数据链路层的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。
物理层

在 OSI 参考模型中,物理层(Physical Layer)是参考模型的最低层,也是 OSI 模型的第一层。
物理层的主要功能是:
利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流” 表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
OSI 模型的详解图

OSI 七层模型、TCP/IP 四层模型
加油,你可以的!于 2020-12-07 14:23:29 发布
OSI 七层模型
七层模型,亦称 OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为 OSI 参考模型或七层模型。
它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。
分层
7. 应用层
网络服务与最终用户的一个接口
各种应用程序协议
协议有:HTTP (超文本传输协议) FTP(文本传输协议) TFTP(简单文件传输协议) SMTP(简单邮件传输协议) SNMP(简单网络管理协议) DNS(域名系统) TELNET(远程终端协议) HTTPS(超文本传输安全协议) POP3(邮局协议版本 3 ) DHCP(动态主机配置协议)
6. 表示层
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
信息的语法语义以及他们的关联,如加密解密、转换翻译、压缩解压
格式有,JPEG、ASCll、EBCDIC、加密格式等 [2]
如 LPP(轻量级表示协议)
5. 会话层
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
不同机器上的用户之间建立及管理会话
对应主机进程,指本地主机与远程主机正在进行的会话
安全协议:SSL(安全套接字层协议)、TLS(安全传输层协议)
4. 传输层
定义传输数据的协议端口号,以及流控和差错校验。
接受上一层数据,在必要的时候把数据进行切割,并将这些数据交给网络层,并保证这些数据段有效到达对端
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
3. 网络层
进行逻辑地址寻址,实现不同网络之间的路径选择。
控制子网的运行,如逻辑编址、分组传输、路由选择
协议有:ICMP(互联网控制信息协议) IGMP(组管理协议) IP(IPV4 IPV6)(互联网协议)
安全协议、路由协议(vrrp 虚拟路由冗余)
2. 数据链路层
建立逻辑连接、进行硬件地址寻址、差错校验 [3] 等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用 MAC 地址访问介质,错误发现但不能纠正。
物理寻址、同时将原始比特流转变为逻辑传输线路
地址解析协议:ARP、PARP(反向地址转换协议)
1. 物理层
建立、维护、断开物理连接。(由底层网络定义协议)
机械、电子、定时接口通信信道上的原始比特流传输
TCP/IP 层级模型结构,应用层之间的协议通过逐级调用传输层(Transport layer)、网络层(Network Layer)和物理数据链路层(Physical Data Link)而可以实现应用层的应用程序通信互联。
应用层需要关心应用程序的逻辑细节,而不是数据在网络中的传输活动。应用层其下三层则处理真正的通信细节。在 Internet 整个发展过程中的所有思想和着重点都以一种称为 RFC(Request For Comments)的文档格式存在。针对每一种特定的 TCP/IP 应用,有相应的 RFC
一些典型的 TCP/IP 应用有 FTP、Telnet、SMTP、SNTP、REXEC、TFTP、LPD、SNMP、NFS、INETD 等。RFC 使一些基本相同的 TCP/IP 应用程序实现了标准化,从而使得不同厂家开发的应用程序可以互相通信
TCP/IP 四层模型
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议 / 网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP 协议不仅仅指的是 TCP 和 IP 两个协议,而是指一个由 FTP、SMTP、TCP、UDP、IP 等协议构成的协议簇, 只是因为在 TCP/IP 协议中 TCP 协议和 IP 协议最具代表性,所以被称为 TCP/IP 协议
-
TCP/IP 是在网络的使用中的最基本的通信协议。
-
TCP/IP 传输协议对互联网中各部分进行通信的标准和方法进行了规定。
-
TCP/IP 传输协议是保证网络数据信息及时、完整传输的两个重要的协议。
-
TCP/IP 传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
这个图真的超详细,建议多看!

-
应用层的主要协议有 Telnet、FTP、SMTP 等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;
-
传输层的主要协议有 UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;
-
网络层的主要协议有 ICMP、IP、IGMP,主要负责网络中数据包的传送等;
-
数据链路层,主要协议有 ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。
TCP/IP 协议的组成
TCP/IP 协议在一定程度上参考了 OSI 的体系结构。OSI 模型共有七层,但是比较复杂,所以在 TCP/IP 协议中,它们被简化为了四个层次
(1)应用层、表示层、会话层三个层次提供的服务相差不是很大,所以在 TCP/IP 协议中,它们被合并为应用层一个层次
(2)由于运输层和网络层在网络协议中的地位十分重要,所以在 TCP/IP 协议中它们被作为独立的两个层次
(3)因为数据链路层和物理层的内容相差不多,所以在 TCP/IP 协议中它们被归并在网络接口层一个层次里。
只有四层体系结构的 TCP/IP 协议,与有七层体系结构的 OSI 相比要简单了不少,也正是这样,TCP/IP 协议在实际的应用中效率更高,成本更低

TCP/IP 协议中的四个层次
- 应用层:应用层是 TCP/IP 协议的第一层,是直接为应用进程提供服务的。
(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了 SMTP 协议、万维网应用使用了 HTTP 协议、远程登录服务应用使用了有 TELNET 协议
(2)应用层还能加密、解密、格式化数据
(3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源
-
运输层:作为 TCP/IP 协议的第二层,运输层在整个 TCP/IP 协议中起到了中流砥柱的作用。且在运输层中,TCP 和 UDP 也同样起到了中流砥柱的作用
-
网络层:网络层在 TCP/IP 协议中的位于第三层。在 TCP/IP 协议中网络层可以进行网络连接的建立和终止以及 IP 地址的寻找等功能
-
网络接口层:在 TCP/IP 协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路
特点
TCP/IP 协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:
(1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。
(2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。
(3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
(4)高层协议标准化,可以提供多种多样可靠网络服务
通信过程及相关协议
在网络通信的过程中,将发出数据的主机称为源主机,接收数据的主机称为目的主机。
当源主机发出数据时,数据在源主机中从上层向下层传送。
-
源主机中的应用进程先将数据交给应用层,应用层加上必要的控制信息就成了报文流,向下传给传输层。
-
传输层将收到的数据单元加上本层的控制信息,形成报文段、数据报,再交给网际层。
-
网际层加上本层的控制信息,形成 IP 数据报,传给网络接口层。
-
网络接口层将网际层交下来的 IP 数据报组装成帧,并以比特流的形式传给网络硬件(即物理层),数据就离开源主机。
一文彻底搞懂 OSI 七层模型和 TCP/IP 四层模型
澡澡洗澡澡于 2024-03-14 17:54:54 发布
1. OSI 七层模型
OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和管理网络通信的过程。
OSI 定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即 ISO 开放互连系统参考模型。



-
应用层(Application Layer):这是网络体系结构中的最顶层,提供用户接口和应用程序之间的通信服务。在这一层,用户可以访问各种网络应用程序,如电子邮件、文件传输和远程登录。
-
表示层(Presentation Layer):该层负责数据的格式化、加密和压缩,以确保数据在不同系统之间的交换是有效的和安全的。它还提供了数据格式转换和语法转换的功能。\
-
会话层(Session Layer):会话层管理应用程序之间的通信会话,负责建立、维护和终止会话。它还提供了数据的同步和检查点恢复功能,以确保通信的完整性和持续性。
-
传输层(Transport Layer):传输层为应用程序提供端到端的数据传输服务,负责数据的分段、传输控制、错误恢复和流量控制。它主要使用 TCP(传输控制协议)和 UDP(用户数据报协议)来实现这些功能。
-
网络层(Network Layer):网络层负责数据包的路由和转发,以及网络中的寻址和拥塞控制。它选择最佳的路径来传输数据包,以确保它们能够从源主机到目标主机进行传输。
-
数据链路层(Data Link Layer):数据链路层提供点对点的数据传输服务,负责将原始比特流转换为数据帧,并检测和纠正传输中出现的错误。它还控制访问物理媒介的方式,以及数据帧的传输和接收。
-
物理层(Physical Layer):物理层在物理媒介上传输原始比特流,定义了连接主机的硬件设备和传输媒介的规范。它确保比特流能够在网络中准确地传输,例如通过以太网、光纤和无线电波等媒介。
2. TCP/IP 四层模型
TCP/IP 四层模型是目前被广泛采用的一种模型,由以下 4 层组成:应用层、传输层、网络层、网络接口层

-
应用层(Application Layer)类似于 OSI 模型中的应用层,负责处理用户与网络应用程序之间的通信。它包括诸如 HTTP、FTP、SMTP 等协议,用于实现不同类型的网络服务和应用。
-
传输层(Transport Layer):与 OSI 模型中的传输层相对应,提供端到端的数据传输服务。在 TCP/IP 模型中,主要有两个协议:TCP(传输控制协议)和 UDP(用户数据报协议),用于确保可靠的数据传输和简单的数据传输。
-
网络层(Internet Layer):相当于 OSI 模型中的网络层,负责数据包的路由和转发。它使用 IP(Internet Protocol)协议来定义数据包的传输路径,并处理不同网络之间的通信。
-
网络接口层(Link Layer):与 OSI 模型中的数据链路层和物理层相对应,负责管理网络硬件设备和物理媒介之间的通信。它包括以太网、Wi-Fi、蓝牙等各种物理层和数据链路层协议。
应用层常见协议
-
HTTP(HyperText Transfer Protocol):用于在客户端和服务器之间传输超文本数据,通常用于 Web 浏览器和 Web 服务器之间的通信。
-
FTP(File Transfer Protocol):用于在客户端和服务器之间传输文件,支持上传和下载文件的功能。
-
SMTP(Simple Mail Transfer Protocol):用于在邮件服务器之间传输电子邮件,负责发送邮件。
-
POP3(Post Office Protocol version 3):用于从邮件服务器上下载邮件到本地计算机,负责接收邮件。
-
IMAP(Internet Message Access Protocol):也是用于接收邮件的协议,与 POP3 类似,但提供了更丰富的功能,如在服务器上管理邮件等。
-
DNS(Domain Name System):用于将域名解析为对应的 IP 地址,从而实现域名和 IP 地址之间的映射。
-
HTTPS(HyperText Transfer Protocol Secure):是 HTTP 的安全版本,通过 SSL/TLS 加密传输数据,保证通信过程中的安全性。
-
SSH(Secure Shell):用于远程登录和执行命令,提供了加密的网络连接,保证了通信的安全性。
-
SNMP(Simple Network Management Protocol):用于网络设备之间的管理和监控,可以实现对网络设备的远程配置和监控。
-
Telnet:用于远程登录和执行命令,类似于 SSH,但不提供加密功能,通信数据不安全。
传输层常见协议
-
TCP(Transmission Control Protocol):提供可靠的、面向连接的数据传输服务,确保数据的可靠性、顺序性和完整性。TCP 适用于对数据传输质量要求较高的场景,如文件传输、网页浏览等。
-
UDP(User Datagram Protocol):提供无连接的数据传输服务,不保证数据的可靠性,也不保证数据的顺序性和完整性。UDP 适用于实时性要求较高、对数据传输质量要求不那么严格的场景,如音视频传输、在线游戏等。
网络层常见协议
-
IP(Internet Protocol):是互联网中最基本的协议,用于在网络中传输数据包。IP 协议定义了数据包的格式、寻址方式和路由选择等信息,是整个互联网的基础。
-
ICMP(Internet Control Message Protocol):用于在 IP 网络中传递控制消息和错误信息。ICMP 通常用于网络设备之间的通信,如路由器和主机之间的通信,以及用于检测网络连通性和故障诊断。
-
ARP(Address Resolution Protocol):用于将 IP 地址映射为 MAC 地址(物理地址)。ARP 协议在局域网内部使用,通过发送 ARP 请求获取目标设备的 MAC 地址,从而实现数据包的传输。
-
RARP(Reverse Address Resolution Protocol):与 ARP 相反,用于将 MAC 地址映射为 IP 地址。RARP 协议通常用于无盘工作站等设备,可以根据 MAC 地址获取对应的 IP 地址。
-
IPv6(Internet Protocol version 6):是 IP 协议的下一代版本,用于解决 IPv4 地址空间不足的问题。IPv6 采用 128 位地址长度,提供了更大的地址空间,支持更多的设备连接到互联网。
网络接口层常见协议
-
以太网协议(Ethernet):是一种常见的局域网技术,使用 MAC 地址进行帧的传输和接收。
-
无线局域网协议(Wi-Fi):用于无线局域网的数据传输,通常基于 IEEE 802.11 标准。
-
点对点协议(PPP):用于建立点对点连接的协议,通常用于拨号连接和虚拟专用网(VPN)等场景。
-
数据链路层交换协议(DLC):用于在数据链路层进行数据交换和管理的协议,如 HDLC、SLIP 和 PPP 等。

以下节选自多篇博文的部分内容,未全部引用,可以看看不同的图解。
OSI 七层模型和 TCP/IP 四层模型图
OSI 七层模型


| 分层 | 功能 |
|---|---|
| 应用层 | 网络服务与最终用户的一个接口(可理解为人机交互界面) |
| 表示层 | 数据的表示,安全,压缩 |
| 会话层 | 建立,管理,终止会话 |
| 传输层 | 定义传输数据的协议端口号,以及流控和差错校验 |
| 网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 |
| 数据链路层 | 建立逻辑连接,进行硬件地址寻址,差错校验等功能 |
| 物理层 | 建立,维护,断开物理连接 |



TCP/IP 协议栈概述
应用层(Application Layer)
应用层是最接近用户的层,直接为用户和应用程序提供服务。它工作在操作系统中的用户态,而传输层及以下则工作在内核态。
传输层(Transport Layer)
传输层负责在通信双方之间提供可靠的数据传输。主要协议包括传输控制协议(TCP)和用户数据报协议(UDP)。传输层的报文中携带端口号,使得接收方可以识别出该报文是发送给哪个应用。
网络层(Internet Layer)
网络层是 TCP/IP 协议栈的核心,负责将数据包进行分组并发往目的主机或网络。它定义了数据包的分组格式和协议,因此也称为 IP 层。网络层负责路由、网际互连和拥塞控制等。
网络接口层(Network Interface Layer)
网络接口层包括物理层和数据链路层,负责物理设备之间的数据传输。它包括硬件接口和低级协议,确保数据能够在物理介质上进行传输。
IP 地址和 MAC 地址的区别
- IP 地址:标识数据包的目的地,确定数据包发送到哪里。
- MAC 地址:以太网环境中,数据包的传输依赖于 MAC 地址,用于在局域网中唯一标识设备。
以太网
以太网是一种局域网技术,用于将附近的设备连接起来,实现它们之间的通信。以太网使用 MAC 头部来标识接收方和发送方的 MAC 地址。
网络接口层的职责
网络接口层为网络层提供链路级别的传输服务,负责在以太网、Wi-Fi 等底层网络上发送原始数据包。该层次的操作主要在网卡上进行,使用 MAC 地址来标识和定位网络中的设备。
TCP/IP 协议族是一个四层协议系统
数据链路层
作用
- 实现网卡接口的网络驱动,处理数据在物理媒介上的传输。
- 网络驱动程序隐藏了不同物理网络的不同电气特性,为上层协议提供一个统一的接口。
协议应用
- ARP 和 RARP:实现了 IP 地址和物理地址(MAC 地址)之间的转换。
网络层
作用
- 选择中间节点,确定两台主机间的通讯路径。
- 对上层协议隐藏网络拓扑连接的细节,使得传输层看来通讯双方是直接连接的。
协议应用
- IP 协议:根据数据包的目的 IP 地址来决定如何投递该数据包。
- ICMP 协议:用于检测网络的连接状态,如 ping 应用程序。
传输层
作用
为应用程序提供端对端通讯的 “错觉”,负责数据包的收发、链路超时重连等。
协议应用
- TCP 协议:提供可靠的、面向连接的、基于流的服务。
- UDP 协议:提供不可靠的、无连接的基于数据报的服务。
- SCTP 协议:用于在因特网上传输电话信号。
应用层
作用
处理众多业务逻辑,如文件传输、网络管理。
协议应用
- telnet 协议:远程登录协议。
- OSPF 协议:动态路由更新协议。
- DNS 协议:提供机器域名到 IP 地址的转换。
数据在各层之间的传输
| 层级 | 传输数据单元 |
|---|---|
| 传输层 | 数据段 |
| 网络层 | 数据包 |
| 数据链路层 | 数据帧 |
| 物理层 | 比特流 (Bits) |
数据封装
每一层的传输数据单元不同,需要封装相应的头部,以便下一层能够识别。例如,传输层需要封装 TCP 头部或 UDP 头部,网络层需要封装 IP 头部,数据链路层需要封装 MAC 头部。

TCP/IP 协议族是一个四层协议系统

应用层协议可以跳过传输层直接使用网络层提供的服务,比如 ping 程序和 OSPF 协议;又可以既使用 TCP 服务,又可以使用 UDP 服务,如 DNS 协议。
在 /etc/services 文件中可以看到应用程序使用的协议:

数据在各层之间的传输
| 层级 | 传输数据单元 |
|---|---|
| 传输层 | 数据段 |
| 网络层 | 数据包 |
| 数据链路层 | 数据帧 |
| 物理层 | 比特流 (Bits) |

直观了解数据是如何封装的
因每一层的传输数据单元不同,所以需要封装 TCP 报文头部,以此使下一层能够看懂识别。
传输层:传输层有 TCP/IP 两个协议,TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 协议传输更加稳定可靠,UDP 协议传输效率更高。所以,上层数据到达传输层后需要封装 TCP 头部或者 UDP 头部。
网络层:同理,上层数据到达这里需要封装 IP 头部。 TCP/IP 定义了网络互联协议(IP)(英文是 Iternet Protocol)。而 IP 又由四个支撑协议组成:ARP (地址解析协议),RARP (逆地址解析协议),ICMP(网际控制报文协议)和 IGMP(网际组管理协议)。
数据链路层:同理,上层数据到此需要封装 MAC 头部。
物理层:到达物理层就直接由计算机通过信号接收了。

直观了解数据是如何解封装的

via:
-
OSI 参考模型(七层模型)_osi 七层模型 - CSDN 博客 BeretSEC 于 2020-04-02 15:54:37 发布
https://blog.csdn.net/weixin_42918771/article/details/105227694 -
OSI 七层模型、TCP/IP 四层模型 - CSDN 博客 加油,你可以的!于 2020-12-07 14:23:29 发布
https://blog.csdn.net/wwy0324/article/details/109310658 -
一文彻底搞懂 OSI 七层模型和 TCP/IP 四层模型_osi 网络协议 - CSDN 博客 澡澡洗澡澡于 2024-03-14 17:54:54 发布
https://blog.csdn.net/weixin_44772566/article/details/136717134 -
【计算机网络】TCP/IP 四层模型_tcpip4 层模型 - CSDN 博客 无敌岩雀 于 2024-08-01 15:00:00 发布
https://blog.csdn.net/weixin_73494835/article/details/140778750 -
TCP/IP 协议四层模型_tcp 协议四层 - CSDN 博客 mybright_已于 2022-05-07 23:12:33 修改
https://blog.csdn.net/qq_29344757/article/details/78377500 -
深入解析 OSI 七层模型及各层工作原理(我只能帮你到这了)- 腾讯云开发者社区 - 腾讯云 不吃小白菜 发布于 2020-09-03 10:23:32
https://cloud.tencent.com/developer/article/1691135
相关文章:
OSI 七层模型 | TCP/IP 四层模型
注:本文为 “OSI 七层模型 | TCP/IP 四层模型” 相关文章合辑。 未整理去重。 OSI 参考模型(七层模型) BeretSEC 于 2020-04-02 15:54:37 发布 OSI 的概念 七层模型,亦称 OSI(Open System Interconnection…...
高转速风扇|无刷暴力风扇方案设计
在当今科技高速发展的时代,电子设备的性能不断提升,散热问题也日益成为关注的焦点。而 13w 高转速暴力风扇方案的出现,为解决各种设备的散热难题提供了强大的技术支持。 一、高转速暴力风扇的重要性 随着电子设备的不断升级,其功率…...
GPU 进阶笔记(三):华为 NPU/GPU 演进
大家读完觉得有意义记得关注和点赞!!! 1 术语 1.1 CPU1.2 GPU1.3 NPU / TPU1.4 小结2 华为 DaVinci 架构:一种方案覆盖所有算力场景 2.1 场景、算力需求和解决方案2.2 Ascend NPU 设计3 路线一:NPU 用在手机芯片&…...
计算机网络 (13)信道复用技术
前言 计算机网络中的信道复用技术是一种提高网络资源利用率的关键技术。它允许在一条物理信道上同时传输多个用户的信号,从而提高了信道的传输效率和带宽利用率。 一、信道复用技术的定义 信道复用(Multiplexing)就是在一条传输媒体上同时传输…...
数据库约束和查询
一 约束意义 这个后面的字段是什么意思呢? 先前说数据类型是一种约束,约束我们只能放该类型的数据,还有其它的约束来保证数据的合法性,下面的字段就和约束有关。 编译器的编译就是一个约束,保证我们的代码一定是语法合格的。我们…...
网工日记:FTP两种工作模式的区别
FTP 的主动模式和被动模式在连接建立的发起方、数据传输端口以及对网络环境的适应性等方面存在明显区别: 1. 连接发起方 主动模式:数据连接由服务器主动发起。在控制连接建立后,客户端通过 PORT 命令告知服务器自己用于接收数据的临时端口号…...
NLP模型工程化部署
文章目录 一、理论-微服务、测试与GPU1)微服务架构2)代码测试3)GPU使用 二、实践-封装微服务,编写测试用例和脚本,并观察GPU1)微服务封装(RestFul和RPC)2)测试编写(unit_test\api_test\load_tes…...
分布式版本管理工具——git 中忽略文件的版本跟踪(初级方法及高级方法)
git工具忽略指定文件的版本跟踪 一、简单方式实现二、复杂方式实现(模式匹配)1. 相关规则2. 应用案例a) 忽略所有内容b) 忽略所有目录(不忽略当前目录的具体文件)c)忽略指定目录下的所有文件,但排除某文件d)…...
【LangChain】Chapter4 - Question and Answer Over Documents
说在前面 文档问答,是常见的一类LLM应用,给定一段可能是从 PDF文件、网页或某公司内部文档库中提取的文本,使用LLM回答关于这些文档内容的问题。这样的应用非常的强大,它可以将LLM与完全没被训练的数据相结合,可以灵活…...
TCP/IP 协议演进中的瓶颈,权衡和突破
所有(去掉 “几乎” 修饰)问题都来自于生长速度的不一致,换句话说,膨胀不是均匀的,从而产生瓶颈甚至触碰极限,TCP/IP 从协议到实现面临的多方问题与动物体型不能无限大,摩天大楼不能无限高本质上一样。 如今被高性能网…...
软件测试面试八股文,查漏补缺(附文档)
大家好,最近有不少小伙伴在后台留言,准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想的…...
IDEA工具使用介绍、IDEA常用设置以及如何集成Git版本控制工具
文章目录 一、IDEA二、建立第一个 Java 程序三、IDEA 常用设置四、IDEA 集成版本控制工具(Git、GitHub)4.1 IDEA 拉 GitHub/Git 项目4.2 IDEA 上传 项目到 Git4.3 更新提交命令 一、IDEA 1、什么是IDEA? IDEA,全称为 IntelliJ ID…...
YOLOv10-1.1部分代码阅读笔记-transformer.py
transformer.py ultralytics\nn\modules\transformer.py 目录 transformer.py 1.所需的库和模块 2.class TransformerEncoderLayer(nn.Module): 3.class AIFI(TransformerEncoderLayer): 4.class TransformerLayer(nn.Module): 5.class TransformerBlock(nn.Module)…...
机器人革新!ModbusTCP转CCLINKIE网关揭秘
在当今这个科技日新月异的时代,机器人技术正以前所未有的速度发展着,它们在工业制造、医疗服务、家庭娱乐等多个领域扮演着越来越重要的角色。而随着机器人应用的普及和多样化,如何实现不同设备之间的高效通信成为了一个亟待解决的问题。开疆…...
JWT包中的源码分析【Golang】
前言 最近在学web编程的途中,经过学长提醒,在进行登陆(Login)操作之后,识别是否登陆的标识应该要放入authorization中,正好最近也在学鉴权,就顺便来看看源码了。 正文 1. 代码示例 在进行分…...
SpringBoot数据字典字段自动生成对应code和desc
效果:接口会返回orderType,但是这个orderType是枚举的类型(1,2,3,4),我想多返回一个orderTypeDesc给前端展示,这样前端就可以直接拿orderTypeDesc使用了。 1. 定义注解 …...
TencentOS 2.4 final 安装mysql8.0备忘录
准备 tencentOS 2.4 与Red Hat Enterprise Linux 7 是兼容的。 我们首先从oracle官网上下载mysql的源文件。 下载完成后你会得到以下文件: mysql84-community-release-el7-1.noarch.rpm 安装 首先你需要切换到root用户下。 1.安装源文件 yum localinstall my…...
Hadoop HA安装配置(容器环境),大数据职业技能竞赛模块A平台搭建,jdk+zookeeper+hadoop HA
HA概述 (1) 所谓HA(High Availablity),即高可用(7*24小时不中断服务)。 (2) 实现高可用最关键的策略是消除单点故障,HA严格来说应该分为各个组件的HA机制,H…...
使用javascript读取波形文件数据,并生成动态的波形图
代码如下: // HTML5 Canvas 动态波形生成器 // 使用JS读取波形文件并生成动态波形// 创建Canvas并设置上下文 const canvas document.createElement(canvas); canvas.width 800; canvas.height 400; document.body.appendChild(canvas); const ctx canvas.getC…...
服务器系统维护与安全配置
一、硬件系统的安全防护 硬件的安全问题也可以分为两种,一种是物理安全,一种是设置安全。 1、物理安全 物理安全是指防止意外事件或人为破坏具体的物理设备,如服务器、交换机、路由器、机柜、线路等。机房和机柜的钥匙一定要管理…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
