学习嵌入式的第三十一天-数据结构-(2025.7.23)网络协议封装

今天的内容主要是网络协议以及常用工具的介绍。

协议头与数据封包/拆包

数据封包示例:

复制代码
MAC|IP|TCP|hello|
------------------------------------
IP数据报

IP头信息

  • 默认20字节

常用网络测试工具

  • telnet
  • netstat
  • ping
  • arp
  • wireshark
  • tcpdump
  • ssh2
  • secure crt

工具安装命令

bash 复制代码
sudo ufw disable
sudo apt-get install openssh-server openssh-client
sudo apt-get install wireshark

telnet使用

格式:telnet IP地址 端口

示例:telnet 192.168.1.1 8888

注意:未指定端口时默认使用23号端口。

netstat命令

bash 复制代码
netstat -anp
netstat -n      # 列出所有网络端口使用情况
netstat -n -t   # 列出所有TCP通信端口信息
netstat -n -u   # 列出所有UDP通信端口信息

数据封包与拆包流程

  • 发送端(Client):从应用层到接口层,逐层封装头部信息,最终形成一帧数据。
  • 接收端(Server):从接口层到应用层,逐层解析并校验,校验失败则丢弃数据包。
  • MTU:最大传输单元1500字节,由以太网硬件决定。

TCP连接流程

  1. 建立TCP连接
  2. 发送HTTP请求报文
  3. 接收HTTP响应报文
  4. 释放TCP连接

HTTP请求报文示例

http 复制代码
GET /?pcm=202.412_0_0.0.0&scm=thor.412_14-201000.0.0.0&spm=smpc.home.top-nav.1.1753253408321kU1roGy_1467 HTTP/1.1
Host: news.sohu.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip,deflate
Connection: keep-alive

协议头关键字段

  • 接口层:以太网V2 MAC帧格式
  • IP头 :20字节,包含双方IP地址
    • IP Flag
      • D标志位:是否允许分片
      • M标志位:是否为最后一片
    • TTL:生存周期,默认64,经网络节点递减至0时停止传递
  • TCP头 :20字节
    • TCP Flag
      • U:紧急数据(带外数据)
      • A:应答
      • P:当前帧包含应用层数据
      • R:连接复位
      • S:建立连接
      • F:断开连接
  • UDP头:8字节

网络工具用途

  • ssh:远程登录工具,需服务器IP、用户名和密码
  • ping:检测网络连通性
  • ifconfig:查看网卡IP地址
  • netstat -anp:查看Linux所有网络连接信息
相关推荐
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO3 小时前
Magentic-ui 学习
学习
_李小白3 小时前
【OPENGL ES 3.0 学习笔记】延伸阅读:VAO与VBO
笔记·学习·elasticsearch
微露清风5 小时前
系统性学习C++-第九讲-list类
c++·学习·list
海边夕阳20065 小时前
【每天一个AI小知识】:什么是零样本学习?
人工智能·经验分享·学习
Thexhy6 小时前
在 CentOS 7 的 Linux 系统中配置 NFS
linux·运维·学习·centos
CodeLongBear7 小时前
计算机网络学习笔记 | 传输层核心知识点总结(DAY03,匠心制作)
笔记·学习·计算机网络
晓北斗NorSnow7 小时前
机器学习核心算法与学习资源解析
学习·算法·机器学习
wdfk_prog8 小时前
[Linux]学习笔记系列 -- [kernel][time]tick
linux·笔记·学习
我命由我123459 小时前
Photoshop - Photoshop 工具栏(22)单行选框工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
User_芊芊君子10 小时前
【成长纪实】我的鸿蒙成长之路:从“小白”到独立开发,带你走进鸿蒙的世界
学习·华为·harmonyos·鸿蒙开发