写在开篇:

弱者着相,强者破相,智者无相!

前面九篇一直在吃“硬饭”,今天换换口味,来点“软饭”。

但软饭也得有个吃法。我学习有个习惯:从宏观到微观。先看清整体,再解剖细节。

所以这篇,咱们先把协议栈这栋“七层大楼”的整体结构搞清楚——每一层是干啥的?我前面学的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。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐