计网: 一条QQ信息在发送中会经历了什么

本文涉及的产品
数据传输服务 DTS,同步至DuckDB 3个月
简介: 计网: 一条QQ信息在发送中会经历了什么

今天学习计网 心血来潮 。如果我在QQ上给好友发送一条信息,会经过那些硬件设备,那些协议的转换呢 IP地址又起到了什么作用呢?


首先大致的发送过程


1 当你在QQ上发送一条信息给好友时,你的QQ客户端会将该消息发送到QQ服务器。


2 QQ服务器接收到你的消息后,会将消息存储在服务器上,并通过互联网将该消息传输给你的好友的QQ客户端。


3 你的好友的QQ客户端接收到消息后,在其设备上进行通知显示,并将消息保存在本地。


4 当你的好友回复您的消息时,上述过程将反向进行,从你的好友的QQ客户端发送到QQ服务器,然后再传输到您的QQ客户端。


过程中建立的连接


1.客户端与服务器之间的连接:使用QQ客户端登录时,客户端会与QQ服务器建立安全的连接。这个连接是通过TLS(Transport Layer Security)或SSL(Secure Sockets Layer)等加密协议来保护数据传输的安全性。


2.客户端与好友之间的直接连接:如果和你的的好友都处于相同的局域网环境(比如在同一Wi-Fi网络下),QQ客户端可能会尝试建立直接的P2P(点对点)连接。在这种情况下,你的消息可以直接通过该连接发送给好友,而无需经过QQ服务器中转。这有助于提高传输速度和减少服务器负载。


3.客户端与服务器之间的间接连接:如果你和好友不在相同的局域网环境下,或者直接P2P连接失败,QQ客户端将使用服务器中转的方式进行消息传递。在此情况下,你的消息将通过你的QQ客户端与服务器之间的已建立连接发送给服务器,然后再由服务器将消息发送给好友的QQ客户端。



传输过程中网络协议起到的作用


1.IP(Internet Protocol)协议:它规定了如何将数据分组并通过网络传递。在QQ消息传输中,当您发送一条消息时,该消息首先被封装成IP数据包,然后通过互联网根据目标IP地址找到对应的目标设备。


2.TCP(Transmission Control Protocol)协议:TCP协议是一种可靠的面向连接的传输层协议。在QQ消息传输中,一旦建立了TCP连接,该连接将提供可靠的、有序的、双向的数据传输通道。您的QQ客户端和QQ服务器之间的数据传输会使用TCP协议进行,确保消息的完整性和正确性。


3.UDP(User Datagram Protocol)协议:UDP协议是一种无连接的传输层协议。与TCP协议不同,UDP协议不提供可靠性和有序性,但传输效率更高。在某些情况下,QQ可能会使用UDP协议进行消息传输,例如在建立直接P2P连接时。


涉及的硬件设备与组件


1. 客户端设备:这是你使用的计算机、手机或其他设备。该设备上安装了QQ客户端软件,并提供了用户界面用于发送和接收消息。


2. 网络适配器:客户端设备中的网络适配器负责将数字信号转换为物理信号,并通过网线、Wi-Fi或其他网络连接方式将数据发送到网络。


3. 路由器:路由器是网络中的核心设备,负责将数据包从源设备传输到目标设备。它根据IP地址和其他网络协议,决定数据包的转发路径。


4. 交换机:交换机是用于在局域网中传输数据的设备。当你的好友和你处于相同的局域网环境下时,QQ客户端可能会通过交换机直接进行数据传输,加快传输速度。


5. 网络链路:网络链路包括光纤、电缆或其他物理媒介,用于连接客户端设备、路由器和交换机等网络设备。数据通过这些链路进行传输。


6. 服务器:   QQ服务器位于互联网上的数据中心,负责接收、处理和转发来自客户端的消息。服务器也有自己的硬件设备,包括存储设备、处理器和网络设备,用于管理用户的消息和提供即时通信服务。


当你在QQ上发送一条消息时,该消息会经过你的客户端设备上的网络适配器转换为物理信号,并通过网络链路传输到路由器。路由器根据目标IP地址将数据包转发给QQ服务器。服务器接收到消息后,会进行处理并将消息传输到您的好友的客户端设备上。


好了 就先写到这里吧

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
JavaScript 安全 编译器
CocosCreator 面试题(六)什么是泛型,有什么作用?
CocosCreator 面试题(六)什么是泛型,有什么作用?
462 0
|
SQL 关系型数据库 MySQL
mysql下的“group_concat_max_len“参数设置
mysql下的“group_concat_max_len“参数设置
1206 0
|
SQL Oracle 关系型数据库
Oracle 备份恢复再也不用头疼了
Oracle 备份恢复再也不用头疼了
433 0
|
传感器 存储 程序员
一文彻底搞明白51单片机的发展历程
51单片机自1980年Intel推出MCS-51系列以来,历经40余年发展,从最初的工业控制逐步扩展到家电、通信、智能家居等多领域。其哈佛架构和丰富的指令集奠定了技术基础,并通过持续创新保持竞争力。面对ARM等新架构的挑战,51单片机通过工艺革新和功能扩展,如集成ADC、USB、蓝牙等,仍占据电动工具、智能传感器等成本敏感领域的70%以上市场份额。如今,它不仅是嵌入式技术的活化石,更是中国电子产业崛起的见证者,全球90%的51单片机产自长三角地区。坚持学习,每天一个小知识点,是不是有了新收获,加油哈!
1500 0
|
Java 数据库连接 mybatis
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码
该文档详细介绍了如何在Springboot Web项目中整合Mybatis,包括添加依赖、使用`@MapperScan`注解配置包扫描路径等步骤。若未使用`@MapperScan`,系统会自动扫描加了`@Mapper`注解的接口;若使用了`@MapperScan`,则按指定路径扫描。文档还深入分析了相关源码,解释了不同情况下的扫描逻辑与优先级,帮助理解Mybatis在Springboot项目中的自动配置机制。
1297 1
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码
|
缓存 安全 Linux
使用macof发起MAC地址泛洪攻击
使用macof发起MAC地址泛洪攻击
514 2
|
机器学习/深度学习 网络安全 异构计算
教你如何用家里闲置的Windows电脑搭建GPU服务器炼丹
教你如何用家里闲置的Windows电脑搭建GPU服务器炼丹
2262 0
教你如何用家里闲置的Windows电脑搭建GPU服务器炼丹
|
存储
【Azure 应用服务】Storage Queue触发Azure Function时报错 The input is not a valid Base-64 string
【Azure 应用服务】Storage Queue触发Azure Function时报错 The input is not a valid Base-64 string
244 0
|
网络协议 Shell Linux
安卓逆向 -- IDA动态调试
安卓逆向 -- IDA动态调试
676 0