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

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 计网: 一条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服务器。服务器接收到消息后,会进行处理并将消息传输到您的好友的客户端设备上。


好了 就先写到这里吧

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
12月前
|
PHP
如何用Fidder发送Post数据包(菜鸟级教程),一文讲清
如何用Fidder发送Post数据包(菜鸟级教程),一文讲清
109 0
|
4月前
|
存储 SQL 前端开发
🚀经常发文章的你是否想过定时发布是咋实现的?🚀
🚀经常发文章的你是否想过定时发布是咋实现的?🚀
|
11月前
|
人工智能 自然语言处理 大数据
作为网易用户,收到了一封特别的信…...
当时间像风一样拂过互联网和移动互联网时代,整个社会已经站在人工智能为主题的新时代大门前。
|
小程序 Java 机器人
使用Java实现发送微信消息(附源码)_此程序在手再也不怕对象跟你闹了
此程序在手再也不怕女朋友跟你闹了!!!!自从有了女朋友比如:早安、晚安之类的问候语可不能断,但是也难免有时候会忘记那么该咋么办呢?很简单写一个程序么,近日闲来无趣想着用Java写一个自动发送微信的小程序,实现定时给指定的好友发送指定的消息,这不就很Nice了?本文主要包括实现的思路、代码的实现、打包为jar快捷方式!
136 0
|
监控 算法 安全
别怕,我们的聊天消息,没人能偷看
别怕,我们的聊天消息,没人能偷看
504 0
|
安全 文件存储 数据安全/隐私保护
回应小伙伴们的咨询,5款好用的小软件
最近陆陆续续收到好多小伙伴的咨询,这边也是抓紧时间整理出几个好用的软件,希望可以帮到大家。
93 0
|
运维 测试技术
【超干货】近期收到的测试面试题分析
【超干货】近期收到的测试面试题分析
|
JavaScript 前端开发 数据可视化
字节不给大伙发月饼?🎑那我亲自给大伙发!🥮人人都有!
字节不给大伙发月饼?🎑那我亲自给大伙发!🥮人人都有!
|
Python
【辅助工具】实现QQ消息轰炸
QQ是我们常用的聊天软件,有时候我们在和别人发生争执的时候往往要长时间发很多话,这个时候我们就可以用Python实现一个简单的消息轰炸工具,解放双手。
874 0