TCP/IP四层模型对比OSI七层网络模型的区别是啥?数据传输过程原来是这样的

一、TCP/IP四层模型对比OSI七层模型在这里插入图片描述

它们两个定义的一些功能和协议都是差不多的。TCP/IP四层协议模型比我们的七层少了三层,把我们的数据链路层和物理层放在一层里面了,叫做数据链路层(网络接口层),对应网络协议也没有变。

网络层和传输层是非常重要的,所以也没有进行改变。

会话层和表示层并没有做太多的事情,也没有定义自己的协议,所以在TCP/IP四层协议里面,把它们两个归到了应用层里面。

TCP/IP四层协议模型包括:应用层、传输层、网络层、数据链路层。

TCP/IP四层协议比较常用

二、数据传输过程

在浏览器里面输入一个百度的网址,进行访问,百度服务器给我们返回了这样一个百度首页。这个过程在网络中到底是怎么实现的呢?

在这里插入图片描述

封装和解封装

在浏览器里输入网址,工作在应用层,是用户可见的层次。输入网址后,应用层传到传输层,传输层封装了一个TCP的头部,定义了2个协议,一个是TCP协议,一个是UDP协议。

Https的协议是基于TCP协议的,不是基于UDP协议的。所以这个地方的传输层封装了一个TCP的头部。

传输层除了定义协议,还定义了端口,端口是为了发到百度服务器的时候,它能够判断我能够用哪个应用程序来给它进行处理。这个地方是443端口,因为用的是Https协议。

传输层封装了头部以及端口信息之后,传到网络层。

网络层封装了一个Ip头部,这个Ip头部里面包括主机的Ip地址(源,目的)。

目的:是寻找对方的主机。源:是带上自己的Ip地址,方便对方回信。

跟Mac地址的思想一样,只不过这里是个Ip地址。

那这个Ip地址也会在网络层判断是不是在同一个子网,通过路由去进行一个寻址,再做一个路由转发。

这个地方在网络层封装了一个Ip头部用来寻找对方的Ip地址。

Ip地址可能中间用了Dns进行域名解析。

网络层传给数据链路层。封装了一个Mac头部,也就是一个源和目的的Mac地址。为了给对方的网卡发送数据,以及让对方的网卡给我回数据。

传给物理层,转换成比特流进行数据传输。百度服务器在物理层收到了这么一个数据,首先对比特流进行了一个重组。重组后进行分组,就能够到数据链路层,是一个以太帧的数据。进行有意义的识别,看到Mac头部,看到目的Mac地址。

拆开这个头部(源目Mac地址),看到里面的数据,这里是个Ip头部传给网络层。网络层也可以进行拆分,把Ip头部拆分,看到里面是个Tcp的头部。看到443端口,交给Https协议。

应用层看到是Https的请求消息,给它一个响应消息。这个响应消息就是百度页面。

通过一路的封装,传给主机A,主机A再一路的解封装,得到响应页面。以上就是数据包在网络七层模型里封装和解封装的过程。这个过程对于数据传输,还是非常重要的。

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

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

相关文章

本质安全设备标准(IEC60079-11)的理解(六)温度

本质安全设备标准(IEC60079-11)的理解(六)温度 本质安全设备的温度要求也是非常复杂的,首先在标准中涉及有3个温度的概念: 环境温度ambient temperature, 工作温度service temperature和最高表…

【Docker】数据库动态授权组件在Kubernetes集群下的测试过程记录

目录 背景 组件原理 测试设计 环境 测试脚本 脚本build为linux可执行文件 镜像构建 Dockerfile Docker build 镜像有效性验证 总结 资料获取方法 背景 我们都知道出于安全性考虑,生产环境的权限一般都是要做最小化控制,尤其是数据库的操作授…

【MFC】05.MFC第一大机制:程序启动机制-笔记

MFC程序开发所谓是非常简单,但是对于我们逆向人员来说,如果想要逆向MFC程序,那么我们就必须了解它背后的机制,这样我们才能够清晰地逆向出MFC程序,今天这篇文章就来带领大家了解MFC的第一大机制:程序启动机…

STM32 低功耗学习

STM32 电源系统结构介绍 电源系统:VDDA供电区域、VDD供电区域、1.8V供电区域、后备供电区域。 器件的工作电压(VDD)2.0~3.6V 为了提高转换精度,给模拟外设独立供电。电压调节器为1.8V供电区域供电,且1.8V供电区域是电…

Snapdrop手机电脑互传-无需下载App

软件介绍 Snapdrop:浏览器中的本地文件共享。灵感来自苹果的空投。 软件访问地址: Snapdrop官网地址 软件开源地址: github 软件截图

【自然语言处理】大模型高效微调:PEFT 使用案例

文章目录 一、PEFT介绍二、PEFT 使用2.1 PeftConfig2.2 PeftModel2.3 保存和加载模型 三、PEFT支持任务3.1 Models support matrix3.1.1 Causal Language Modeling3.1.2 Conditional Generation3.1.3 Sequence Classification3.1.4 Token Classification3.1.5 Text-to-Image Ge…

docker 安装hive

记录一下使用docker快速搭建部署hive环境 目录 写在前面 步骤 安装docker 安装docker安装docker-compose配置docker国内镜像源(可选) 安装git & 配置github部署Hive docker-hive开始部署 使用Hive命令行收尾工作 安装vi、lrzsz关闭相关命令 END…

NodeJS 个性化音乐推荐系统 毕业设-附源码00485

摘要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规…

分布式问题

1. 分布式系统CAP原理 CAP原理:指在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitontolerance(分区容忍性),三者不可得兼。 一致性(C…

Java并发 | 常见线程安全容器

文章目录 简介一、Hash表🚣1、ConcurrentHashMap1.1 内部实现原理1.2 并发操作方法1.3 ConcurrentHashMap与Hashtable的比较 二、集合🚣2、CopyOnWriteArrayList2.1 内部实现原理2.2 Copy-On-Write(COW)设计思想2.3 实操 三、Map🚣3、Concurr…

【深度学习_TensorFlow】手写数字识别

写在前面 到这里为止,我们已经学习完张量的常用操作方法,已具备实现大部分神经网络技术的基础储备了。这一章节我们将开启神经网络的学习,然而并不需要像学习前面那样了解大量的张量操作,而是将重点转向理解概念知识,…

2021年03月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

一、单选题(共25题,每题2分,共50分) 第1题 下列哪个操作不能退出IDLE环境? A:Alt+F4 B:Ctrl+Q C:按ESC键 D:exit() 正确的答案是:B:Ctrl+Q 解析:在IDLE环境中,Ctrl+Q组合键没有特定的功能,不会退出IDLE环境。要退出IDLE环境,可以使用exit()函数或者quit…

设计模式---工厂模式

1.什么是设计模式 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 …

一篇文章教会你什么是Linux进程控制

Linux进程控制 进程创建1.fork函数初识1.1那么fork创建子进程时,操作系统都做了什么呢?1.2 父子进程和CPU中的EIP(指令指针)之间存在一定的关系1.3 fork的常规用法有哪些?1.4 fork调用失败的原因有哪些? 2.…

【小程序】Canvas 画布分享海报

成品效果图 可以通过切换下面图片形成不同的海报背景分享图 <template><view>// type"2d"必须加<canvas type"2d" :style"{width:Artwidth px,height:Artheight px, margin:0 auto}" canvas-id"firstCanvas"id&quo…

《Java-SE-第三十一章》之网络编程

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页&#xff1a;KC老衲爱尼姑的博客主页 博主的github&#xff0c;平常所写代码皆在于此 共勉&#xff1a;talk is cheap, show me the code 作者是爪哇岛的新手&#xff0c;水平很有限&…

Windows环境利用QT+CMake编译mingw版本的opencv

Opencv官网没有提供mingw版本的opencv库&#xff0c;所以需要自己编译&#xff0c;下面是编译过程&#xff0c;32位64位方法类似。 可以直接下载编译好的mingw版本opencv4.4&#xff1a; 使用CMAKE3.22QT5.13编译后的opencv4.4&#xff08;32位的&#xff09;资源-CSDN文库 …

Python实战之使用Python进行数据挖掘详解

一、Python数据挖掘 1.1 数据挖掘是什么&#xff1f; 数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中&#xff0c;通过算法&#xff0c;找出其中的规律、知识、信息的过程。Python作为一门广泛应用的编程语言&#xff0c;拥有丰富的数据挖掘库&#…

抖音seo源码·源代码搭建·支持二开(开源)系统

抖音seo源码&#xff0c;抖音seo系统&#xff0c;抖音搜索排名&#xff0c;源码系统开发 场景&#xff1a;公认的视频发布功能可是必备的&#xff0c;智能剪辑和智能客服更不用说&#xff0c;作为产品中粉丝转化的重要一环也是必不可少的 抖音seo源码开发&#xff0c;即抖音搜…

Linux:shell脚本:基础使用(2)

test命令 格式1&#xff1a;test 条件表达式 格式2&#xff1a;[ 条件表达式 ] (前后至少应有一个空格) 常用的测试操作符 -d&#xff1a;测试是否为目录&#xff08;Directory) -e&#xff1a;测试目录或文件是否存在&#xff08;Exist&#xff09; -f&#xff1a;测试是否…