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

简介: 计网: 一条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的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
存储 数据采集 数据挖掘
质量追溯系统方案
质量追溯系统方案
1031 1
|
监控 Linux 定位技术
Linux【环境部署 01】NTP时间服务器搭建及Linux+Windows客户端使用(一篇学会使用NTP服务)
Linux【环境部署 01】NTP时间服务器搭建及Linux+Windows客户端使用(一篇学会使用NTP服务)
4821 0
|
SQL 关系型数据库 MySQL
mysql下的“group_concat_max_len“参数设置
mysql下的“group_concat_max_len“参数设置
1260 0
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
924 6
|
SQL Oracle 关系型数据库
Oracle 备份恢复再也不用头疼了
Oracle 备份恢复再也不用头疼了
475 0
|
XML 数据采集 数据格式
Python 爬虫必备杀器,xpath 解析 HTML
【11月更文挑战第17天】XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言,通过路径表达式选取节点或节点集。它不仅适用于 XML,也广泛应用于 HTML 解析。基本语法包括标签名、属性、层级关系等的选择,如 `//p` 选择所有段落标签,`//a[@href='example.com']` 选择特定链接。在 Python 中,常用 lxml 库结合 XPath 进行网页数据抓取,支持高效解析与复杂信息提取。高级技巧涵盖轴的使用和函数应用,如 `contains()` 用于模糊匹配。
536 7
|
存储 数据挖掘 Apache
Apache Doris + Iceberg 快速搭建指南|Lakehouse 使用手册(三)
如何在 Docker 环境下快速搭建 Apache Doris + Apache Iceberg 测试 & 演示环境,并展示各功能的使用操作
1030 8
Apache Doris + Iceberg 快速搭建指南|Lakehouse 使用手册(三)
|
前端开发 JavaScript 编译器
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
【10月更文挑战第11天】2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
3052 0
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
|
Linux 数据处理 开发工具
Linux命令repoquery详解
`repoquery`是Linux(尤其是RPM-based系统如CentOS, Fedora, RHEL)中的一个命令行工具,属于`yum-utils`,用于从Yum仓库查询RPM包信息,包括依赖、文件列表和描述。它不执行安装或卸载,而是帮助解决依赖问题和查找文件归属。主要参数有`-l`(列出文件)、`-i`(显示描述)、`--whatprovides`(查询提供文件的包)等。结合正则表达式和其他命令使用可提高效率。确保安装`yum-utils`并定期更新仓库以获取最新信息。