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

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


好了 就先写到这里吧

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
3月前
|
小程序
电子好书发您分享《15分钟打造你自己的小程序》
电子好书发您分享《15分钟打造你自己的小程序》
36 2
|
7月前
|
PHP
如何用Fidder发送Post数据包(菜鸟级教程),一文讲清
如何用Fidder发送Post数据包(菜鸟级教程),一文讲清
|
6月前
|
人工智能 自然语言处理 大数据
作为网易用户,收到了一封特别的信…...
当时间像风一样拂过互联网和移动互联网时代,整个社会已经站在人工智能为主题的新时代大门前。
|
10月前
|
小程序 Java 机器人
使用Java实现发送微信消息(附源码)_此程序在手再也不怕对象跟你闹了
此程序在手再也不怕女朋友跟你闹了!!!!自从有了女朋友比如:早安、晚安之类的问候语可不能断,但是也难免有时候会忘记那么该咋么办呢?很简单写一个程序么,近日闲来无趣想着用Java写一个自动发送微信的小程序,实现定时给指定的好友发送指定的消息,这不就很Nice了?本文主要包括实现的思路、代码的实现、打包为jar快捷方式!
109 0
|
11月前
|
安全 文件存储 数据安全/隐私保护
回应小伙伴们的咨询,5款好用的小软件
最近陆陆续续收到好多小伙伴的咨询,这边也是抓紧时间整理出几个好用的软件,希望可以帮到大家。
73 0
|
11月前
|
运维 测试技术
【超干货】近期收到的测试面试题分析
【超干货】近期收到的测试面试题分析
|
人工智能 文字识别 网络协议
关于我尝试抓包微信失败后想到的新方法居然和奥特曼有关~
关于我尝试抓包微信失败后想到的新方法居然和奥特曼有关~ 以前 微信网页版 还可以登录的时候,我们还可以使用 python 帮助我们实现 自动化操作,调用各种各样的 API ,做做机器人啥的 ,但是现在呢~ 微信网页版 好像不开放了😐 扫码登录都会出现下面的画面 😵 来到之前 很火的 python 库 wxpy, 我看到下面这个场景, 果然也是一片哀嚎 哈哈哈 wireshark 抓包 于是我做了个大胆的决定,尝试用 wireshark 去抓取微信发出的数据包~ (我实在太天真了!🙃) 在电脑上打开微信,参考下面三次握手的图~ 可以看到这里就已经 发出了这么多信息 我晕
253 0
|
缓存 网络协议 NoSQL
面试总结之乐信(下)
六.TCP的三次握手四次挥手机制?
91 0
面试总结之乐信(下)
|
设计模式 存储 消息中间件
面试总结之乐信(上)
面试总结之乐信(上)
140 0
面试总结之乐信(上)
发几个通知(这是最后一个水文了,以后就都是纯技术文)
  1、感谢大家对我的支持,感谢给我写短信的几位园友,很欣慰,反对数没有远远大于推荐数。感谢大家给我的劝告。为了报答支持我的兄弟们,我决定以后只写技术文,用我的经验、技巧来回报支持我的人。     2、将于10:00(即2010.9.7 10:00)删除前两篇帖子,如果你还想看的话,那么请抓紧时间了,有些评论还是非常经典的,有些回复也是很搞笑的;如果你不愿意看的话,那么也不用急,过一会就消失了。
781 0