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

第二天 网络与通信协议

第一章 网络协议基础认知

1.1 协议分层模型演进

  • OSI七层模型:理想化的理论框架(记忆口诀:All People Seem To Need Data Processing)
  • TCP/IP四层模型:实际应用的简化模型(网络接口层->网际层->传输层->应用层)

1.2 数据封装解密

以网购快递为例:

  1. 应用层:商品订单(HTTP/HTTPS)
  2. 传输层:快递单号(TCP/UDP端口)
  3. 网络层:收件地址(IP地址)
  4. 链路层:运输车辆(MAC地址)

第二章 核心协议深度剖析

2.1 TCP/IP协议族

2.1.1 TCP三次握手(现实版)
# 简化版握手模拟
client.send(SYN=1, seq=x)          # 客户:"我要连接"
server.reply(SYN=1, ACK=1, seq=y, ack=x+1) # 服务端:"收到,请确认"
client.send(ACK=1, seq=x+1, ack=y+1)      # 客户:"确认连接"
2.1.2 流量控制实战

滑动窗口动态演示:

[发送方] | 1 2 3 | 4 5 6 7 | → 窗口大小=3
[接收方] ACK=4 → 窗口滑动 → | 4 5 6 | 7 8 9 |

2.2 MQTT协议详解

2.2.1 智能家居场景应用

主题树示例:

home/living_room/temperature
home/bedroom/light/status

QoS等级对比表:

等级可靠性网络开销适用场景
0至多一次最低环境传感器
1至少一次中等安防报警
2恰好一次最高支付系统

2.3 CoAP协议特性

与HTTP的RESTful对比:

// CoAP请求示例
GET coap://node.example.com:5683/temperature

协议栈对比:

HTTP: TCP + TLS + HTTP
CoAP: UDP + DTLS + CoAP

2.4 HTTP/3革命性突破

QUIC协议核心优势:

  1. 0-RTT快速连接
  2. 多路复用无队头阻塞
  3. 前向纠错(FEC)机制

第三章 V2X协议栈揭秘

3.1 车联网通信需求矩阵

场景时延要求可靠性数据速率
前向碰撞预警<100ms>99%中等
高清地图更新<1s>90%

3.2 IEEE 802.11p协议栈

3.2.1 物理层关键技术
  • 信道划分:5.9GHz专用频段
  • 调制方式:OFDM(正交频分复用)
3.2.2 典型消息类型
  • BSM(基本安全消息):10Hz频率发送
  • TIM(交通信息消息):路侧单元广播

3.3 3GPP NR-V2X演进

两种通信模式对比:

NR-V2X
蜂窝通信
直连通信
Uu接口
PC5接口

关键技术突破:

  • 感知与通信融合
  • 毫米波高频传输
  • 网络编码技术

第四章 协议选型指南

4.1 物联网协议对比矩阵

特征MQTTCoAPHTTP/3
传输层TCPUDPQUIC
消息模式发布订阅请求响应请求响应
资源消耗中等较低
适用场景云端通信边缘设备Web应用

4.2 V2X协议选择决策树

是否需要基础设施支持?
├─ 是 → 选择3GPP NR-V2X
└─ 否 → 选择IEEE 802.11p

第五章 实践演练

5.1 MQTT消息代理搭建

# 安装Mosquitto
sudo apt-get install mosquitto mosquitto-clients# 订阅测试
mosquitto_sub -t "test/topic" -v# 发布消息
mosquitto_pub -t "test/topic" -m "Hello CSDN!"

5.2 CoAP服务器实验

使用Python库实现:

from aiocoap import *async def coap_server():protocol = await Context.create_server_context()# 添加资源处理逻辑...


http://www.xdnf.cn/news/320617.html

相关文章:

  • Python赋能自动驾驶:如何优化路径规划,让AI驾驶更聪明?
  • Java基础知识
  • HarmonyOS NEXT深度解析:自研框架ArkUI-X的技术革命与跨平台实践
  • 怎么有效管理项目路径(避免使用绝对路径)
  • 如何避免项目结束后知识流失
  • 设计一个分布式系统:要求全局消息顺序,如何使用Kafka实现?
  • LeetCode 347 前 K 个高频元素
  • 【LUT技术专题】基于扩展卷积的极快速LUT算法
  • 【论文阅读】Harnessing the Power of LLM to Support Binary Taint Analysis
  • 浅聊find_package命令的搜索模式(Search Modes)
  • 一种扫描雷达超分辨成像检测一体化方法——论文阅读
  • [20250507] AI边缘计算开发板行业调研报告 ​​(2024年最新版)​
  • JNDI 注入原理解析
  • 力扣HOT100之链表:146. LRU 缓存
  • 信息论12:从信息增益到信息增益比——决策树中的惩罚机制与应用
  • 三角网格减面算法及其代表的算法库都有哪些?
  • “430”“531”光伏政策变革下,安科瑞如何 “保驾护航”?
  • Oracle OCP认证考试考点详解083系列11
  • windows10系统:如何使用电脑控制手机上多个应用程序(app)?
  • Oracle Goldengate并行复制
  • JS进阶DAY2 构造函数数据常用函数
  • 基于深度学习的交通标志识别系统
  • 如何根据HardFault中断抛出的寄存器值排查数组越界
  • 【EasyPan】loadDataList方法及checkRootFilePid方法解析
  • 阿里云服务器-宝塔面板安装【保姆级教程】
  • 如何将B站(哔哩哔哩)的视频下载到电脑
  • 二叉查找树,平衡二叉树(AVL),b树,b+树,红黑树
  • 实验一:Linux静态路由
  • 如何利用 Elastic Load Balancing 提升应用性能与可用性?
  • VScode一直处于循环“正在重新激活终端“问题的解决方法