OSI 七层模型 | TCP/IP 四层模型

news/2024/12/28 5:59:48/

注:本文为 “OSI 七层模型 | TCP/IP 四层模型” 相关文章合辑。

未整理去重。


OSI__5">OSI 参考模型(七层模型)

BeretSEC 于 2020-04-02 15:54:37 发布

OSI__9">OSI 的概念

七层模型,亦称 OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为 OSI 参考模型或七层模型。

它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

OSI__15">OSI 模型的目的

规范不同系统的互联标准,使两个不同的系统能够较容易的通信,而不 需要改变底层的硬件或软件的逻辑

OSI__19">OSI 模型的优点

  • 将网络的通信过程划分为小一些、简单一些的部件,因此有助于各个部件 的开发、设计和故障排除

  • 通过网络组件的标准化,允许多个供应商进行开发

  • 通过定义在模型的每一层实现什么功能,鼓励产业的标准化

  • 允许各种类型的网络硬件和软件相互通信

  • 防止对某一层所做的改动影响到其他的层,这样就有利于开发

OSI__31">OSI 模型分为七层

OSI 把网络按照层次分为七层,由下到上分别为物理层、数据链路层、网 络层、传输层、会话层、表示层、应用层。

在这里插入图片描述

在这里插入图片描述

OSI__39">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__183">OSI 模型的详解图

在这里插入图片描述


OSI_TCPIP__189">OSI 七层模型、TCP/IP 四层模型

加油,你可以的!于 2020-12-07 14:23:29 发布

OSI__193">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__TCPIP__353">一文彻底搞懂 OSI 七层模型和 TCP/IP 四层模型

澡澡洗澡澡于 2024-03-14 17:54:54 发布

OSI__357">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__TCPIP__451">OSI 七层模型和 TCP/IP 四层模型图

OSI__453">OSI 七层模型

mark

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

img

在这里插入图片描述

在这里插入图片描述

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 协议族是一个四层协议系统

数据链路层

作用
  1. 实现网卡接口的网络驱动,处理数据在物理媒介上的传输。
  2. 网络驱动程序隐藏了不同物理网络的不同电气特性,为上层协议提供一个统一的接口。
协议应用
  • ARP 和 RARP:实现了 IP 地址和物理地址(MAC 地址)之间的转换。

网络层

作用
  1. 选择中间节点,确定两台主机间的通讯路径。
  2. 对上层协议隐藏网络拓扑连接的细节,使得传输层看来通讯双方是直接连接的。
协议应用
  • IP 协议:根据数据包的目的 IP 地址来决定如何投递该数据包。
  • ICMP 协议:用于检测网络的连接状态,如 ping 应用程序。

传输层

作用

为应用程序提供端对端通讯的 “错觉”,负责数据包的收发、链路超时重连等。

协议应用
  • TCP 协议:提供可靠的、面向连接的、基于流的服务。
  • UDP 协议:提供不可靠的、无连接的基于数据报的服务。
  • SCTP 协议:用于在因特网上传输电话信号。

应用层

作用

处理众多业务逻辑,如文件传输、网络管理。

协议应用
  • telnet 协议:远程登录协议。
  • OSPF 协议:动态路由更新协议。
  • DNS 协议:提供机器域名到 IP 地址的转换。

数据在各层之间的传输

层级传输数据单元
传输层数据段
网络层数据包
数据链路层数据帧
物理层比特流 (Bits)

数据封装

每一层的传输数据单元不同,需要封装相应的头部,以便下一层能够识别。例如,传输层需要封装 TCP 头部或 UDP 头部,网络层需要封装 IP 头部,数据链路层需要封装 MAC 头部。

img

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

这里写图片描述

应用层协议可以跳过传输层直接使用网络层提供的服务,比如 ping 程序和 OSPF 协议;又可以既使用 TCP 服务,又可以使用 UDP 服务,如 DNS 协议。

在 /etc/services 文件中可以看到应用程序使用的协议:

这里写图片描述

数据在各层之间的传输

层级传输数据单元
传输层数据段
网络层数据包
数据链路层数据帧
物理层比特流 (Bits)

img

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

因每一层的传输数据单元不同,所以需要封装 TCP 报文头部,以此使下一层能够看懂识别。

传输层:传输层有 TCP/IP 两个协议,TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 协议传输更加稳定可靠,UDP 协议传输效率更高。所以,上层数据到达传输层后需要封装 TCP 头部或者 UDP 头部。

网络层:同理,上层数据到达这里需要封装 IP 头部。 TCP/IP 定义了网络互联协议(IP)(英文是 Iternet Protocol)。而 IP 又由四个支撑协议组成:ARP (地址解析协议),RARP (逆地址解析协议),ICMP(网际控制报文协议)和 IGMP(网际组管理协议)。

数据链路层:同理,上层数据到此需要封装 MAC 头部。

物理层:到达物理层就直接由计算机通过信号接收了。

img

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

img


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


http://www.ppmy.cn/news/1558711.html

相关文章

王佩丰24节Excel学习笔记——第十九讲:Indirect函数

【以 Excel2010 系列学习,用 Office LTSC 专业增强版 2021 实践】 【本章技巧】 如果indirect引用出错,首先检查一下引用位置的双引号有没有出错,再检查引用值的位置是否出错,如果是双引号出错,可以使用英文状态下输入…

Kotlin 语言基础语法及标准库

基础 Kotlin 变量和数据类型 不可变变量 val关键字 类似java中final关键字,必须有初始值,且不更改变量的值Error:(13, 5) Kotlin: Val cannot be reassigned可变变量var 关键字 var myName "china"类型推断 // 没有指定变量类型&#xf…

Solon v3.0.5 发布!(Spring 可以退休了吗?)

Solon 框架! 新一代,面向全场景的 Java 应用开发框架。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。 追求: 更快、更小、更简单提倡: 克制、高效、开放、生态 有什么特点&am…

unknown variable ‘default-authentication-plugin=mysql_native_password‘

docker 部署指定 mysql:8 下载的最新8.4版本的mysql 启动时出现该错误 解决办法 由于mysql8.4废弃该参数_default-authentication-pluginmysql_native_password_,改为使用这个参数 --mysql-native-passwordON services:mysql:image: mysql:8command: --mysql-nati…

深入了解MACsec:它如何为你的网络带来革命性变化?

在数字化时代,网络安全已成为企业和个人不可忽视的重要议题。随着网络技术的飞速发展,各种安全威胁层出不穷,如何确保数据传输的安全性和完整性成为了网络领域的重大挑战。在这样的背景下,MACsec(Media Access Control…

前端开发 -- 自动回复机器人【附完整源码】

一&#xff1a;效果展示 本项目实现了一个简单的网页聊天界面&#xff0c;用户可以在输入框中输入消息&#xff0c;并点击发送按钮或按下回车键来发送消息。机器人会根据用户发送的消息内容&#xff0c;通过关键字匹配来生成自动回复。 二&#xff1a;源代码分享 <!DOCTYP…

Bash语言的语法

Bash语言简介与应用 Bash&#xff08;Bourne Again SHell&#xff09;是一种Unix Shell和命令语言&#xff0c;在Linux、macOS及其他类Unix系统中被广泛使用。作为GNU项目的一部分&#xff0c;Bash不仅是对早期Bourne Shell的增强&#xff0c;还引入了许多特性和功能&#xff…

Nginx的性能分析与调优简介

Nginx的性能分析与调优简介 一、Nginx的用途二、Nginx负载均衡策略介绍与调优三、其他调优方式简介四、Nginx的性能监控 一、Nginx的用途 ‌Nginx是一种高性能的HTTP和反向代理服务器&#xff0c;最初作为HTTP服务器开发&#xff0c;主要用于服务静态内容如HTML文件、图像、视…