我们发送的信息数据是怎么处理的?

news2024/11/25 1:04:03

下图以用户 a 向用户 b 发送邮件为例子:

 数据处理流程

1、应用程序处理

首先应用程序会进行编码处理,这些编码相当于 OSI 的表示层功能;

编码转化后,邮件不一定马上被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于 OSI 的会话层功能。查IP地址位置:https://www.ip66.net/?utm-source=LJ&utm-keyword=?1146

2、TCP 模块的处理

TCP 根据应用的指示,负责建立连接、发送数据以及断开连接。TCP 提供将应用层发来的数据顺利发送至对端的可靠传输。为了实现这一功能,需要在应用层数据的前端附加一个 TCP 首部。

3、IP 模块的处理

IP 将 TCP 传过来的 TCP 首部和 TCP 数据合起来当做自己的数据,并在 TCP 首部的前端加上自己的 IP 首部。IP 包生成后,参考路由控制表决定接受此 IP 包的路由或主机。

4、网络接口(以太网驱动)的处理

从 IP 传过来的 IP 包对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。

5、网络接口(以太网驱动)的处理

主机收到以太网包后,首先从以太网包首部找到 MAC 地址判断是否为发送给自己的包,若不是则丢弃数据。

如果是发送给自己的包,则从以太网包首部中的类型确定数据类型,再传给相应的模块,如 IP、ARP 等。这里的例子则是 IP 。

6、IP 模块的处理

IP 模块接收到 数据后也做类似的处理。从包首部中判断此 IP 地址是否与自己的 IP 地址匹配,如果匹配则根据首部的协议类型将数据发送给对应的模块,如 TCP、UDP。这里的例子则是 TCP。

另外,对于有路由器的情况,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送往的主机或路由器之后再进行转发数据。

7、TCP 模块的处理

在 TCP 模块中,首先会计算一下校验和,判断数据是否被破坏。然后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程序。数据被完整地接收以后,会传给由端口号识别的应用程序。

8、应用程序的处理

接收端应用程序会直接接收发送端发送的数据。通过解析数据,展示相应的内容。

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

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

相关文章

5G/V2X赛道「重启」

在提升高阶智能驾驶安全性和感知冗余能力的道路上,除了激光雷达、高精度地图及定位,还有一项技术可能即将掀起一场新的风暴。 就在今年3月,作为全球通信领域的年度风向标 — 2023世界移动通信大会(MWC)上,…

无需魔法打开即用的 AI 工具集锦

作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐…

Tomcat源码:StandardEngine、StandardHost、StandardContext、StandardWrapper

前文: 《Tomcat源码:启动类Bootstrap与Catalina的加载》 《Tomcat源码:容器的生命周期管理与事件监听》 《Tomcat源码:StandardServer与StandardService》 《Tomcat源码:Container接口》 写在开头:本文…

【C++STL精讲】vector的模拟实现

文章目录💐专栏导读💐文章导读🌷定义vector类🌷各成员函数的实现🌺构造函数🌺迭代器🌺size与capacity——求大小与容量🌺reserve——扩容关于reserve中的深浅拷贝问题🌺r…

RK3399平台开发系列讲解(基础篇)ADC 使用方法

🚀返回专栏总目录 文章目录 一、ADC 的 DTS 配置二、ADC 驱动说明2.1、获取 AD 通道2.2、读取 AD 采集到的原始数据2.3、计算采集到的电压三、接口说明沉淀、分享、成长,让自己和他人都能有所收获!😄 📢内核采用工业 I/O 子系统来控制 ADC,该子系统主要为 AD 转换或者…

Day920.结构化日志业务审计日志 -SpringBoot与K8s云原生微服务实践

结构化日志&业务审计日志 Hi,我是阿昌,今天学习记录的是关于结构化日志&业务审计日志的内容。 1、什么是结构化日志 结构化日志(Structured Logging)是一种将日志信息组织为结构化数据的技术。 传统的日志通常是一些文…

浏览器前进与后退的秘密——栈 (栈的理解与实现)

文章目录前言:浏览器与栈的纠缠如何理解“栈”?如何实现一个“栈”?基于数组的顺序栈基于链表的链式栈解答开篇🐱‍🐉作者简介:大家好,我是黑洞晓威,一名大二学生,希望和…

0010_C++语言_简单的C++程序

系列文章目录 0001_C语言_C入门 文章目录 系列文章目录 前言 一、写一个简单的C程序 二、来看看这个程序 1.返回类型 2.函数名 3.形参列表 4.函数体 总结 前言 期中考试完毕!(在此祝宫野艾莲娜小姐考得很好!) 今天来看一个简单…

AXI write data在Write data channel的排布

前几天帮一位同事分析了下write data在AXI write data channel上排布,想想还是记录一下,方便日后复习。我们先来看一张wdata排布图,灰色单元表示该Byte没有被传输。 第一次看这张图的时候,是否有感觉疑惑: address为0…

Mysql-锁机制

Mysql的锁机制 一、简介 锁是为了保证数据库中数据的一致性,使各种【共享资源】在被访问时变得【有序】而设计的一种规则。 tip MysQL中不同的存储引擎支持不同的锁机制: InoDB支持【行锁】,有时也会升级为表锁。MyIsam只支持表锁。 【表锁…

实验6 TensorFlow基础

1. 实验目的 掌握TensorFlow低阶API,能够运用TensorFlow处理数据以及对数据进行运算。 2.实验内容 ①实现张量维度变换,部分采样等; ②实现张量加减乘除、幂指对数运算; ③利用TensorFlow对数据集进行处理。 3.实验过程 题目…

UE4 几种常见的项目优化方式

1.灯光范围优化 当屏幕某一块像素被多盏灯光所影响,那么也会拖慢帧率,可以打开灯光复杂度视图进行查看,屏幕上越红的地方灯光复杂度越高,尝试降低灯光半径可以解决: 2.材质纹素优化 有时候我们并不知道目标模型的…

Vue:自定义组件事件

一、直接在组件标签上绑定事件 1、关于组件的自定义事件,实现步骤: ①提供事件源(这个事件源是一个组件)②给组件绑定事件:v-on:事件名 或者 事件名 ③编写回调函数,将回调函数和事件进行绑定。 ④等…

NeRF:今年最火的AI技术

转载: https://mp.weixin.qq.com/s?__bizMzIxOTczOTM4NA&mid2247549727&idx2&snc59e18cb2bd8dfe34eafdc6e7cf9f4fd&chksm97d4e688a0a36f9ea0ed4c5a988a3802b4e9265655c5c0a6f208a396860f3842abae9be3a9a3&scene27 什么是NeRF? Ne…

springboot解决ajax跨域问题

方式1:使用CrossOrigin注解方式 CrossOrigin(origins "*") //解决跨域的关键注解,该注解可以标注在类上也可以标注在方法上域A&#xff1a;http://localhost/across_test/test.html 域A下的test.html <!DOCTYPE html> <html lang"en"> <h…

Three——一、详解基础场景搭建(结尾含完整代码)

速成Three.js——一、详解基础场景搭建(结尾含源码) 给模型添加标签时需要准标签部分 从本章开始会从最初的搭建场景模型开始到插入精灵图部分结尾&#xff0c;便于刚入门three而不知如何去学起的前端工程师去学习&#xff0c;这里可以学到场景搭建的基础知识&#xff0c;引入…

【微服务笔记12】微服务组件之Hystrix和OpenFeign结合使用

这篇文章&#xff0c;主要介绍微服务组件之Hystrix和OpenFeign结合使用。 目录 一、Hystrix和OpenFeign结合使用 1.1、引入依赖 1.2、openfeign启用hystrix 1.3、编写FeignClient接口 1.4、编写FeignClient实现类 1.5、编写Controller控制器 1.6、启动类启动OpenFeign …

Apache网页的优化,安全与防盗链

在企业中&#xff0c;部署Apache后只采用默认的配置参数&#xff0c;会引发网站很多问题&#xff0c;换言之默认配置是针对以前较低的服务器配置的&#xff0c;以前的配置已经不适用当今互联网时代。 为了适应企业需求&#xff0c;就需要考虑如何提升Apache的性能与稳定性&…

智慧水务系统-全域孪生驾驶舱-三维实景模型

平台概述 柳林智慧水务系统平台是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心&#xff0c;以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧运维等产品体系为支撑&#xff0c;以城市水资源、水生态、水…

LeetCode-152. 乘积最大子数组

目录思路动态规划题目来源 152. 乘积最大子数组 思路 这题跟LeetCode-53. 最大子数组和很像 最后把整个 dp 数组看一遍求最大值即可。因此状态转移方程可能是&#xff1a; dp[i] Math.max(dp[i-1]nums[i],nums[i]);说明&#xff1a;牢记状态的定义&#xff0c;一定以下标 i…