当前位置: 首页 > news >正文

Qt 里写 QUdpSocket 发一串数据为例,用 4 层模型顺一遍流程

目录

你写代码这一步:应用层

OS 接手:传输层(UDP)

往下封装:网络层(IP)

落到网卡:网络接口层(链路层 + 物理层)

对端收到时(逆过程)

一句话总览(面试可背版)


你写代码这一步:应用层

QUdpSocket sock;
QByteArray data = "hello";
sock.writeDatagram(data, QHostAddress("192.168.1.100"), 9000);

4 层模型里,这就是应用层

  • 协议:应用层协议(你自己定义的“消息格式”)+ UDP 之上的协议(如果有,比如自定义报文头)。

  • 你关心的东西:

    • 目标 IP:192.168.1.100

    • 目标端口:9000

    • 要发的数据:"hello"

到这里为止,你只是在“给操作系统下命令”:我要发一坨数据到某个 IP+端口。


OS 接手:传输层(UDP)

Qt 调 writeDatagram → 调用系统的 sendto / sendmsg → 进入内核的 UDP 传输层

  • 内核创建 UDP 头:

    • 源端口(随机或你绑定的端口)

    • 目的端口:9000

    • 长度:UDP 头 + 你的数据长度

    • 校验和:对伪首部 + UDP 头 + 数据算出来

  • 得到一个 UDP 数据报

    [UDP头][你的data:"hello"]

传输层的任务:在这台主机上“端到端”(端口到端口)区分不同应用


往下封装:网络层(IP)

UDP 报文交给 IP 层

  • 填 IP 头:

    • 源 IP:本机 IP(比如 192.168.1.10

    • 目的 IP:192.168.1.100

    • 协议号:17(表示是 UDP)

    • TTL、标识、分片相关字段等

  • 根据路由表决定:

    • 直接发给同一网段的主机?

    • 还是发给网关(路由器)?

得到一个 IP 数据报

[IP头][UDP头][data]

网络层的任务:决定这包要送到哪台机器


落到网卡:网络接口层(链路层 + 物理层)

IP 数据报交给网卡驱动,对应 网络接口层

  1. 链路层(以太网)

    • 先通过 ARP 找到对方或网关的 MAC 地址

    • 构造以太网帧:

      [以太网头(目的MAC+源MAC+类型)][IP头][UDP头][data]["FCS校验"]

  2. 物理层

    • 把这一帧转换成电信号/无线电信号,通过网线 / Wi-Fi 发出去。

网络接口层的任务:在一段物理链路上传输比特流


对端收到时(逆过程)

对方机器或网关收到:

  1. 物理层:信号 → 比特流

  2. 链路层:校验 FCS,拆出 IP 数据报

  3. 网络层:检查目的 IP、TTL,若是本机就交给 UDP

  4. 传输层(UDP):检查端口 → 找到对应的 socket

  5. 应用层:比如对方用 QUdpSocket::readDatagram() 把数据读出来


一句话总览(面试可背版)

Qt 代码调用 QUdpSocket(应用层)
→ 内核 UDP 加端口号和校验和(传输层)
→ IP 加源/目的 IP、选路由(网络层)
→ 以太网帧 + MAC + 物理信号(网络接口层)
→ 对端按相反顺序往上还原,到对方 QUdpSocket

你写 Qt 代码时,只要管 IP + 端口 + 数据,下面这整条 4 层链路,都是系统在背后自动替你做完的。

http://www.dtcms.com/a/592461.html

相关文章:

  • 太阳光模拟器:在电动天窗直射工况下HUD测试中的应用
  • 网站seo分析学做网站多少钱
  • JMeter与Postman的区别
  • (对标 Spring AI 和 LangChain4j)Solon AI MCP v3.7.0, v3.6.4, v3.5.8 发布(支持 LTS)
  • 玩转二叉树:数据结构中的经典之作
  • ASP.NET网站开发之“跨域”
  • 服饰品牌网站建设千川推广官网
  • Vue2/3面试题
  • C++ ODB ORM 完全指南:从入门到实战应用
  • Java-----集合
  • 金昌市网站建设vfp wordpress
  • 网站建设,从用户角度开始私人做网站
  • 哪个网站做婚礼邀请函好武进区城乡建设局网站
  • 网站开发成本报表新开传奇网站单职业
  • 网站设计与网页配色实例精讲微信登陆wordpress
  • 网站建设外贸开发软件用什么工具
  • 建设工程行业招工信息网站企业网站营销的优缺点及案例
  • 网站栏目策划如何推广自己的产品
  • 襄阳建设局网站快速排名优化推广价格
  • 手机软件制作网站平台dede自动生成网站地图
  • 漳州建设局网站首页单页关键字优化
  • 有网页源码 怎么做网站郑州外语网站建站优化
  • 宁波淘宝网站建设做电器推广的网站
  • 苏州做网站品牌公司wordpress 多主题
  • 怎么增加网站浏览量wordpress收不到
  • 建设网站费用吗怎样自己搭建网站
  • 网站双收录怎么做301跳转宁波做网站皆选蓉胜网络
  • 专门做红酒的网站海北高端网站建设哪家好
  • 定制开发响应式网站做聚类热图的网站
  • 搜索网站建设推广优化2021年网站有人分享吗