举例详解 TCP/IP 五层(或四层)模型与 OSI七层模型对比 (画图详解 一篇看懂!)

目录

一、为什么要对协议进行分层

1、什么是协议分层

2、协议分层的好处

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

1、概念

·应用层

·传输层

·网络层

·数据链路层

·物理层

2、举例详解

·传输层

·网络层

·数据链路层 和 物理层

·应用层

四、TCP/IP 五层(或四层)模型 与 OSI 七层模型 的对比


一、为什么要对协议进行分层

1、什么是协议分层

        网络通信是一个非常复杂的事情,在这个过程中会涉及到很多细节的问题。如果我们使用一个协议来约定上述的所有细节,那这个协议就会非常庞大,非常复杂

        此时,我们就可以将一个功能复杂繁琐的协议,拆分成多个功能更单一的协议。拆分,是为了管理复杂程度,对协议进行 “分类” 、“分层”,每个部分负责一个功能,使结构更清晰明。      

        协议分层,就是把很多协议,按照功能分成不同的层级,每个层级都有对应的主线任务。上层协议会调用下层协议的功能,下层协议会给上层协议提供服务。

2、协议分层的好处

        协议分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方都遵循这个规范来对接。

这样的好处在于:

·对于使用方来说,并不需要关心提供方是如何实现,只要能通过接口实现对应功能就行

·对于提供方来说,并不需要关心使用方是如何使用,只需要实现功能,提供接口就行

        这样的分层也有利于更好的维护与拓展,给整个网络体系的更新迭代带来了很大的便利~

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

1、概念

        TCP/IP 是一组协议的代名词,他包括了许多协议,组成了 TCP/IP 协议簇。TCP/IP 通讯协议采用了 5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

·应用层

        负责应用程序间的沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。

·传输层

        负责两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。

·网络层

        负责地址管理和路由选择。例如在 IP协议 中,通过 IP地址 来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输线路(路由)。路由器工作在网络层。

·数据链路层

        负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机工作在数据链路层。

·物理层

        负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆(现在主要用于有线电视机)、光纤,现在的 WiFi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器工作在物理层。

物理层我们平时考虑的较少,所以有时候也称为 TCP/IP四层模型 

2、举例详解

在这边我们举一个 送快递 的例子来辅助我们理解 TCP/IP 模型各个层的原理:

·传输层

        例如我们在某个购物平台购买了一件商品 ‘A’, 在下单时,需要填写我们和商家的地址与电话。在这个过程中,我们只需要关心我们和商家的地址信息。就类比为 传输层 主机间的数据传输,只需要关注 源主机目标主机 的 “地址信息”。

·网络层

        商家接到订单,要把包裹交给快递公司来运送给我们。但包裹运送具体的路线选择、运输工具,这些是不需要商家和用户关心的,由快递公司来进行 路线规划和路线选择。这一层就相当于 网络层负责地址管理和路由选择。

·数据链路层 和 物理层

        当快递公司规划好路线之后,具体如何运输就由快递员来负责。这一部分的功能交给快递员来实现,具体是要用 大货车、大卡车、轮船还是三轮车,这部分也不需要快递公司关心了。数据链路层 负责设备之间的数据帧的传送和识别,物理层负责选择信息的传递方式。

·应用层

        当快递拿到手之后,用户要如何使用这件物品,就与上述每一个流程都无关。用户只负责与商家进行交涉这一部分,其他的运输、路线选择等等也都与用户无关。应用层负责应用程序间的沟通。

四、TCP/IP 五层(或四层)模型 与 OSI 七层模型 的对比

        OSI七层模型既复杂又不实用,所以,OSI七层模型没有落地实现。实际组建网络时,只是以 OSI七层模型设计中的部分分层,也即是 TCP/IP 五层(四层)模型来实现的。


        以上就是 举例详解 TCP/IP 五层(或四层)模型与 OSI七层模型对比 (画图详解 一篇看懂!) 的全部内容了,希望能对您有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/640826.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【多态】底层原理

博主首页&#xff1a; 有趣的中国人 专栏首页&#xff1a; C进阶 本篇文章主要讲解 多态底层原理 的相关内容 1. 多态原理 1.1 虚函数表 先看一下这段代码&#xff0c;计算一下sizeof(Base)是多少&#xff1a; class Base { public:virtual void Func1(){cout << &quo…

大模型培训老师叶梓:通过微调提升小型语言模型的复杂推理能力

在人工智能的快速发展中&#xff0c;复杂推理能力的提升一直是研究者们追求的目标。最近&#xff0c;一项发表在arXiv上的研究成果【1】&#xff0c;提出了一种创新的方法&#xff0c;即通过微调小型语言模型&#xff08;LMs&#xff09;&#xff0c;并将其与大型语言模型&…

LabVIEW轴承表面缺陷检测系统

LabVIEW轴承表面缺陷检测系统 为了解决轴承生产中人工检测效率低下、误检率高的问题&#xff0c;实现了一套基于LabVIEW的轴承表面缺陷自动检测系统。该系统利用工业相机采集轴承图像&#xff0c;通过图像处理技术对轴承表面的划痕缺陷和倒角缺陷进行自动识别和分析&#xff0…

Golang | Leetcode Golang题解之第43题字符串相乘

题目&#xff1a; 题解&#xff1a; func multiply(num1 string, num2 string) string {if num1 "0" || num2 "0" {return "0"}m, n : len(num1), len(num2)ansArr : make([]int, m n)for i : m - 1; i > 0; i-- {x : int(num1[i]) - 0fo…

033——项目管理

目录 1、 gitee标签管理 2、 新建issue 3、 issue关闭流程 026——项目管理与由来-CSDN博客 1、 gitee标签管理 级别从上到下依次降低。 2、 新建issue 新建issue必须包含四项&#xff0c;名称、标签、里程碑、描述信息。 描述信息尽量完全。 名称格式为【编号】【级别】…

Opencv_3_图像对象的创建与赋值

ColorInvert.h 如下&#xff1a; #include <opencv.hpp> using namespace std; #include <opencv.hpp> using namespace cv; using namespace std; class ColorInvert{ public : void mat_creation(); }; ColorInvert.cpp 文件如下&#xff1a; #include &q…

el-upload组件如何上传blob格式的url地址视频

el-upload组件如何上传blob格式的url地址视频 一、存在问题二、直接上代码 需求&#xff1a;想把视频地址url:“blob:http://localhost:8083/65bd3c0f-52ec-4844-b85e-06fdb5095b7b”&#xff0c;通过el-upload组件上传 el-upload是Element UI中用于文件上传的组件&#xff0c;…

ExcelVBA把当前工作表导出为PDF文档

我们先问问Kimi Excel导出为PDF的方法有多种&#xff0c;以下是一些常见的方法&#xff1a; 1 使用Excel软件的内置功能&#xff1a; 打开Excel文件&#xff0c;点击“文件”菜单。选择“另存为”&#xff0c;在“保存类型”中选择“PDF”。设置保存路径和文件名&#xff0c;点…

基于Tensorflow完成mnist数据集的数字手写体识别

基于Tensorflow完成mnist数据集的数字手写体识别 关于知识背景CNNFCNN 关于数据集新的改变 关于知识背景 CNN 卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;是一种具有局部连接、权值共享等特点的深层前馈神经网络&#xff08;Feed…

【Hadoop3.3.6】数据块副本放置策略及解析EditLog和FsImage

目录 一、摘要二、正文2.1 环境说明2.2 网络拓扑2.3 Hadoop副本放置策略介绍2.4 解析EditLog和Fsimage镜像文件三、小结一、摘要 通过解析存储于NameNode节点上的日志文件EditLog和镜像文件(元数据)Fsimage来反向验证HDFS的数据块副本存放策略,其目的是希望加深对Hadoop的数…

VUE 项目 自动按需导入

你是否有这样的苦恼&#xff0c;每个.vue都需要导入所需的vue各个方法 unplugin-auto-import 库 Vite、Webpack和Rollup的按需自动导入API 本章提供Vite、Webpack中使用说明 1. 安装 npm i -D unplugin-auto-import 2. config.js 配置文件内追加配置 2.1 Vite // vite.conf…

Unity场景光照数据Light data asset

首先描述一下遇到的问题&#xff0c;游戏运行过程中切换场景之后发现模型接收的光照不对。 Unity编辑模式下正常显示&#xff1a; 运行模式下从其他场景切入之后显示异常&#xff1a; 排查了灯光参数和环境光以及着色器都没发现异常。 根据ChatGPT的回答&#xff0c;问题可能…