读懂TCP IP四层模型与OSI七层模型

article/2025/9/19 11:19:53

目录

一、OSI七层模型

二、TCP/IP四层模型

三、OSI模型的七层解读

3.1 OSI七层模型小结

3.2 TCP/IP模型与OSI模型的对应关系

四、常见的网络相关协议

五、TCP和UDP协议

5.1 TCP三次握手 

5.2 TCP四次挥手

5.3 UDP协议

5.4 TCP和UDP的区别

六、TCP/IP四层模型与OSI七层模型的区别

一、OSI七层模型

OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。

OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。

二、TCP/IP四层模型

TCP/IP是一个四层的体系结构,主要包括:应用层、运输层、网际层和网络接口层。从实质上讲,只有上边三层,网络接口层没有什么具体的内容。

1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡

2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。

3.运输层:主要为两台主机上的应用提供端到端的通信。

4.应用层:负责处理特定的应用程序细节。

三、OSI模型的七层解读

1、物理层:

  主要功能:利用传输介质为数据链路层提供屋里连接,实现比特流的透明传输。

  作用:实现相邻计算机节点之间比特流的透明传输,尽可能屏蔽掉具体传输介质与物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。

  透明传输的意义就是:不管传的是什么,所采用的设备只是起一个通道作用,把要传输的内容完好的传到对方!

2、数据链路层:负责建立和管理节点间的链路。

  主要功能:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。

  具体工作:接受来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上一层的数据帧,拆装为位流形式的数据转发到物理层;并且还负责处理接受端发回的确认帧的信息,以便提供可靠的数据传输。

  该层通常又被分为 介质访问控制(MAC)逻辑链路控制(LLC)两个子层:

        MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制。

        LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。

3、网络层:是OSI参考模型中最复杂的一层,也是通信子网最高的一层,它在下两层的基础上向资源子网提供服务。

        主要任务:通过路由算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与物理层之间的信息转发,建立、维持与终止网络的连接。具体的说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。

        一般的,数据链路层是解决统一网络内节点之间的通信,而网络层主要解决不同子网之间的通信。例如路由选择问题。

  在实现网络层功能时,需要解决的主要问题如下:

  寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一 个唯一的地址。由于各个子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)

  交换:规定不同的交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者包括报文转发技术和分组转发技术。

  路由算法:当源节点和路由节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径,由发送端传送的接受端。

        连接服务:与数据链路层的流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测

4、传输层:

  OSI的下三层的主要任务是数据传输,上三层的主要任务是数据处理。而传输层是第四层,因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。

  主要任务:向用户提供可靠的、端到端的差错和流量控制,保证报文的正确传输。

  主要作用:向高层屏蔽下层数据通信的具体细节,即向用户透明的传送报文。

  传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割,然后,传输层将数据传送到网络层,并确保数据能准确无误的传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层负责监督工作。

        传输层的主要功能如下:                        

        传输连接管理:提供建立、连接和拆除传输连接的功能。传输层在网络层的基础上,提供“面向连接”和“面向无连接”两种服务                            

        处理传输差错:提供可靠的“面向连接”和不可靠的“面向无连接”的数据传输服务、差错控制和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重新发送。                                                 

5、会话层:是OSI参考模型的第五层,是用户应用程序和网络之间的接口

  主要任务:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。

  用户可以按照半双工、单工和全工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,他们是为用户专门设计的,更便于用户记忆。域名(DN)就是网络上使用的远程地址。

        会话层的具体功能如下:                              

        会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。                                                                                 会话流量控制:提供流量控制和交叉会话功能。                                                                 寻址:使用远程地址建立会话连接。                                                                      出错控制:从逻辑上讲,会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠错。会话控制和远程过程调用均属于这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等高级类的错误。

6、表示层:

  表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层

        其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。

        表示层的具体功能如下:

        数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。

        数据的编码:处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,因此,在设备之间需要具有在不同字符集或格式之间转换的功能。

        压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。

        数据的加密和解密:可以提高网络的安全性。

7、应用层

  应用层是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口

  主要功能:直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。

        应用层为用户提供的服务和协议有:文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。上述的各种网络服务由该层的不同应用协议和程序完成,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的。应用层的主要功能如下:

        用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。

        实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。

3.1 OSI七层模型小结

由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。

在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下3层主要提供数据传输和交换功能,即以节点到节点之间的通信为主第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下3层主要完成通信子网的功能,上3层主要完成资源子网的功能

3.2 TCP/IP模型与OSI模型的对应关系

四、常见的网络相关协议

DNS:域名解析协议 

SNMP(Simple Network Management Protocol)网络管理协议

DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,它是在TCP/IP网络上使客户机获得配置信息的协议

FTP(File Transfer Protocol)文件传输协议,它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。

TFTP(Trivial File Transfer Protocol):小文件传输协议

HTTP(Hypertext Transfer Protocol ):超文本传输协议

HTTPS(Secure Hypertext Transfer Protocol):安全超文本传输协议,它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作.

ICMP(Internet Control Message Protocol):Internet控制信息协议,互联网控制报文协议

ping  ip定义消息类型有:TTL超时、地址的请求与应答、信息的请求与应答、目的地不可到达

SMTP(Simple Mail Transfer Protocol):简单邮件传送协议

TELNET Protocol:虚拟终端协议

UDP(User Datagram Protocol):用户数据报协议,它是定义用来在互连网络环境中提供包交换的计算机通信的协议

TCP(Transmission Control Protocol):传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议  

五、TCP和UDP协议

5.1 TCP三次握手 

TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续通信的有序进行。

我们看下专业解答:

1. 连接开始时,连接建立方(Client)发送SYN包,并包含了自己的初始序号a;——连接请求

2. 连接接受方(Server)收到SYN包以后会回复一个SYN包,其中包含了对上一个a包的回应信息ACK,回应的序号为下一个希望收到包的序号,即a+1,然后还包含了自己的初始序号b;——请求确认

3. 连接建立方(Client)收到回应的SYN包以后,回复一个ACK包做响应,其中包含了下一个希望收到包的序号即b+1。——连接确认

“不专业”的情景对话,让你明白这看似冗杂的“三次握手”

        首先HTTP网络通信是双向的,也就是说客户端和服务器是双向通信的。我们可以简单的把客户端理解为你本人,服务器端理解为你的对象。而你俩要建立正常通讯,有两个前提。1. 你说的话对方能听到,而且你自己知道你说的话对方能听到; 2. 对方的话你能听到,而且对方知道Ta的话你听得到一次模拟的“三次握手”开始了。

你对你对象说:“我喜欢你!”等待着Ta的回答(第一次握手:建立连接

你对象回答:“听到了!”(第二次握手:你说的话对方能听到

你对Ta说:“我知道你听到了!”(第三次握手:对方的话你能听到,而且对方知道Ta的话你听得到

5.2 TCP四次挥手

我们看下专业解答:

1. 首先进行关闭的一方(即发送第一个FIN)将执行主动关闭,而另一方(收到这个FIN)执行被动关闭。

2. 当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

3. 同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN。

4. 客户必须发回一个确认,并将确认序号设置为收到序号加1。

“不专业”的情景对话,让你明白这看似冗杂的“四次挥手”

客户端:说完了吗?我要挂了。(第一次挥手:主动方没有数据再发送给被动方了

服务器:还没,BlaBlaBla....(第二次挥手:被动方不会马上关闭SOCKET,它还需要再发送一些数据给主动方

服务器:说完了。(第三次挥手:被动方所有的数据都完整的发送给了主动方,告诉主动方,被动方同意关闭连接

客户端:挂了,拜拜。(第四次挥手:连接断开

5.3 UDP协议

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,

其实“ping”命令的原理就是向主机发送UDP数据包,然后主机确认收到数据包,如果数据包到达的消息及时反馈回来,那么网络就是通的。

UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ和微信就使用UDP协议发消息,因此有时会出现收不到消息的情况。

5.4 TCP和UDP的区别

  • TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务。
  • 虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为
  • 对数据准确性要求高,速度可以相对较慢的,可以选用TCP

六、TCP/IP四层模型与OSI七层模型的区别

很简单,就一句话可以概括。不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络通信模型。


http://chatgpt.dhexx.cn/article/nyECjWZJ.shtml

相关文章

Linux网络_从系统到网络(网络协议栈分层与功能,认识协议,OSI七层模型与TCPIP四层模型,网络通信流程(局域网,跨网络),MAC地址,IP地址)

文章目录 1.网络在体系结构的位置与网络协议栈的层状结构2.协议栈各层的功能3.协议4.OSI七层模型与TcpIp四层模型5.网络通信的流程局域网通信流程(以太网)MAC地址跨网络通信IP地址 1.网络在体系结构的位置与网络协议栈的层状结构 2.协议栈各层的功能 协议栈分层设计达到了解耦目…

TCP/IP五层(或四层)模型

图解TCP/IP协议 基本概念 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三…

matlab怎么画两个自变量的图_tcpip四层模型怎么画?画模型图的好用软件推荐

tcpip四层模型就是一个将osi参考模型的会话层和表示层合并到应用层,数据链路层和物理层合并为链路层后的结果。tcpip四层模型包含应用层、运输层、网络层和链路层。tcpip四层模型的协议功能包括数据的发送、与硬件的交互、消息路由规则、格式定义、错误验证。 tcpip…

TCP/IP四层模型与OSI七层参考模型(网络协议)

TCP/IP四层模型与OSI七层参考模型 一. OSI七层参考模型①. 物理层②. 数据链路层③. 网络层④. 传输层⑤. 会话层⑥. 表示层⑦. 应用层 二. TCP/IP模型①. 物理层②. 数据链路层---网络协议③. 网络层---网络协议④. 传输层---网络协议⑤. 应用层---网络协议 三 .TCP/IP四层模型…

网络分层(OSI7层模型和TCP/IP四层模型)

1 OSI七层模型 1.1 物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模…

TCPIP四层模型和OSI七层模型对应表

转载于:https://www.cnblogs.com/Pual623548198/p/7084421.html

计算机网络--TCP/IP四层模型

TCP/IP四层模型 在了解TCP/IP四层模型前,我们先来了解一下OSI七层结构。 OSI七层模型 虽然OSI七层模型划分的很完美,但是在实际应用当中有一些层的工作是重复的,所以出现了更贴近实际的TCP/IP四层模型。TCP/IP四层模型其实也就是将一些出现重复工作的层进行合并。比如将数…

计算机网络-OSI七层协议模型、TCPIP四层模型和五层协议体系结构之间的关系各层的作用

文章目录 一、结构二、对应的协议三、各层的作用1、物理层2、数据链路层3、网络层4、运输层5、会话层6、表示层7、应用层 一、结构 二、对应的协议 三、各层的作用 1、物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。…

TCPIP四层协议

TCP/IP四层协议 在说TCP/IP四层协议之前,就不得不说OSI七层模型 OSI七层模型:自底向上依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 TCP/IP体系结构的优点&#x…

TCP/IP协议四层模型

TCP(传输控制协议)/IP(网际协议) 简介 TCP/IP协议是一系列网络协议的总和;包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名…

深入理解网络通信协议一之TCPIP四层模型

快速理解网络通信协议 5.1五层模型 物理层:把主机连接起来的物理手段,作用是负责传送01电信号 链路层:确定物理层上01信号的分组方式;一组电信号称为帧,一个帧分成两部分:标头(head&#xff0…

什么是TCP/IP?-四张图解释TCP/IP四层协议模型

什么是四层模型 第一层:应用层,主要有负责web浏览器的HTTP协议, 文件传输的FTP协议,负责电子邮件的SMTP协议,负责域名系统的DNS等。 第二层:传输层,主要是有可靠传输的TCP协议,特别高效的UDP协议。主要负责传输应用层的数据包。 第三层:网络层,主要是IP协议。主要…

TCP/IP四层模型

TCP/IP网络模型适用于不同设备上进程间的通信,共分为四层分,从上到下分别是应用层、传输层、网络层、网络接口层 应用层(Application Layer) 应用层是最上层的,我们能直接接触到的层,我们日常所使用的软件…

互联网基石:TCP/IP 四层模型,由浅入深直击原理!

前言 TCP/IP 是迄今为止最常用的网络互联协议套件,在全球互联网运营方面发挥了巨大作用,可以这样说 TCP/IP 在互联网世界无处不在! TCP/IP 最初由 DARPA(美国国防高级研究计划局)的两位科学家于 1970 年代开发&#x…

「网络基础」TCP/IP协议4层模型,一分钟了解下

一、TCP/IP四层模型 1、网络接口层 2、互联网层 3、传输层 4、应用层 TCP/IP和OSI七层对应关系: OSI&TCP IP 应用层协议对应关系: 【了解】Dynamic Host Configuration Protocol (DHCP)/BootP(Bootstrap Protocol)动态主机配置协议(DHCP)服务器…

maven快速打包

maven快速打包 你是否打个包需要很长时间。如:15-20分钟。那可能是你的操作方式有问题。 慢速的打包方式: 每次都clean一下后,再重新打包。 我之前也是这样做的,每次打包都需要10分钟。 正确的快速打包方式: 不clea…

maven打包指定jdk的版本

文章目录 问题 问题 今天遇到个问题,项目中新写了一个接口,其中用到了lambda表达式,本地跑是没问题的,但提交到gitLab上,自动打包部署时却报错了(这是其他同事配置的),报错信息如下: 可以看出…

IDEA使用maven进行打包详细记录

前言 IDEA打包有两种方式&#xff1a; 1.build打包 2.maven打包 一开始用第一种方式build打包后运行报错&#xff0c;然后用第二种打包后运行成功。 特此记录一下&#xff0c;用maven进行打包&#xff01; 一、配置pom.xml文件 <build><plugins><plugin>…

MAVEN工具篇——maven打包跳过测试

使用Maven打包的时候&#xff0c;可能会因为单元测试打包失败&#xff0c;这时候就需要跳过单元测试。 Maven跳过单元测试主要可以分为三种方法。 一、命令行方式跳过测试 我们可以用两种命令来跳过测试 mvn clean install -DskipTestsmvn clean install -Dmaven.test.skiptr…

idea中Maven打包

1.环境依赖 jdk maven maven打包插件引入 1.1 maven打包&#xff0c;首先在pom文件中加上build属性&#xff0c;和dependencies是同级的&#xff1a; <build> <!--打包出来的文件名,可以不填写&#xff0c;有默认值--> <finalName>Test</fin…