车载以太网之要火系列 - 第10篇:协议栈七层大楼:我学的知识分别住在哪一层?
写在开篇:
弱者着相,强者破相,智者无相!
前面九篇一直在吃“硬饭”,今天换换口味,来点“软饭”。
但软饭也得有个吃法。我学习有个习惯:从宏观到微观。先看清整体,再解剖细节。
所以这篇,咱们先把协议栈这栋“七层大楼”的整体结构搞清楚——每一层是干啥的?我前面学的PHY、MAC、IP、UDP/TCP分别住在哪一层?
先有地图,再找路。不然学了再多知识,也是散的。
一、协议栈是什么?——一栋七层大楼
协议栈(Protocol Stack)就是网络通信的分层模型。最常用的是OSI七层模型,从下往上共7层(上极品美图):

每一层只干自己的事,不关心里面装的是什么。 就像快递员不关心包裹里装的是书还是衣服,他只管送到地址。
二、一层一句大白话(核心功能一句话介绍)
| 层数 | 名称 | 一句话说清楚 | 我学过的(很多还没学,先列上) |
|---|---|---|---|
| 第1层 | 物理层 | 把0和1变成电压(或光、电磁波),扔到线上 | PHY芯片、双绞线、差分信号、PAM3编码、PoDL供电 |
| 第2层 | 数据链路层 | 在同一网络内,根据MAC地址把数据从一台设备送到另一台 | MAC地址、交换机、以太网帧、VLAN |
| 第3层 | 网络层 | 跨网络找到目的地,负责路由和IP地址 | IP地址、路由器、子网掩码 |
| 第4层 | 传输层 | 端到端的可靠传输(TCP要确认,UDP发了不管) | 端口号、TCP、UDP |
| 第5层 | 会话层 | 建立、管理、终止应用程序之间的会话 | 登录状态、断点续传 |
| 第6层 | 表示层 | 翻译、加密、压缩,让数据变成应用程序能读的格式 | 字符编码、SSL/TLS加密 |
| 第7层 | 应用层 | 用户直接用的应用程序 | HTTP(网页)、DoIP(诊断)、SOME/IP(车载服务) |
记忆口诀(从下往上):
物数网传会表应
三、我学的知识,分别住在这栋楼的哪一层?

你看,前面九篇啃的硬骨头,全在第1层和第2层。 第3层(IP、路由)刚开了个头,第4层以上还没开始啃。
这就是为什么我说“先有地图再找路”——有了这栋七层大楼,你后面学任何一个新概念,都知道它应该放在哪一层。
四、一张图看懂:数据是怎么一层层打包的?
假设前视摄像头采集到一帧图像数据,要发给域控制器。数据从摄像头出发,从上到下经过这栋大楼的每一层:
┌─────────────────────────────────────────┐
│ 第7层 应用层: 图像数据块 │
│ (摄像头采集的原始图像) │
└────────────────────┬────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 第4层 传输层: 加上UDP头(端口号) │
│ (用UDP,因为图像要快,不怕丢) │
└────────────────────┬────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 第3层 网络层: 加上IP头 │
│ (源IP:10.0.1.10 → 目标IP:10.0.2.20) │
└────────────────────┬────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 第2层 数据链路层: 加上MAC头 │
│ (源MAC:CAM_MAC → 目标MAC:GW_MAC) │
└────────────────────┬────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 第1层 物理层: 变成±1V差分电压 │
│ 通过PoDL供电的双绞线发送出去 │
└─────────────────────────────────────────┘
接收端(域控制器)收到后,从下往上,一层层剥皮,最后在第7层拿到图像数据,进行AI识别。
这就是“协议栈”在车载网络中的完整工作流程
五、车载以太网的特殊之处
车载以太网和家用以太网,在协议栈的第1层和第2层有差异:
| 层次 | 家用以太网 | 车载以太网 |
|---|---|---|
| 第1层(物理层) | 100BASE-TX(4对线) | 100BASE-T1(1对线)、1000BASE-T1 |
| 第2层(数据链路层) | 标准以太网帧 | 增加了VLAN标签(功能隔离) |
| 第7层(应用层) | HTTP、FTP等 | DoIP(诊断)、SOME/IP(服务) |
但上面的层次(网络层、传输层)基本一样——IP、TCP、UDP这些,车上和家里用的是同一套协议。
六、踩的坑
最大的坑:以前我以为“协议栈”是某种具体的技术。这次才知道,它是一个概念模型,用来帮助理解网络是怎么分层的。
第二个坑:以前我以为学完PHY、MAC、IP就够了。这次才知道,上面还有传输层、应用层,后面还得继续啃。
想通的那一瞬间:是当我画出这栋“七层大楼”——原来每一层各司其职,互不干扰。物理层只管电压,数据链路层只管MAC地址,网络层只管IP地址……每一层只关心自己的事。
七、下步目标
协议栈的整体框架有了,里面也介绍了些云里雾里的概念,先听着,后续再啃。下步准备深入第2层,把以太网帧结构拆开看——前导码、MAC头、IP头、校验码,一个个零件长什么样。
下期预告:帧结构解剖,让这个自学成才的天才中年人,把数据包拆成零件给你看。
八、写在最后
这次最大的收获,是终于有了一个“知识地图”。
以前学PHY、MAC、IP,感觉是散装知识点。现在有了七层大楼,每个知识都能放进对应的楼层。
弱者着相,强者破相,智者无相。 学技术也一样,别被术语“着相”了,看透本质才是关键。
你之前知道协议栈有七层吗?现在清楚每一层是干啥的了吗?留言告诉我,咱们一起把知识串起来。
坚持就是胜利,周日的学习任务完成啦,嘿嘿。
886。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)