**直击痛点:打破“黑盒”思维,补齐网络协议栈短板**

大多数程序员在初期学习时,容易陷入“只会调用 API,不懂底层原理”的困境。你知道发送一个 HTTP 请求需要用到 Socket,也记得 TCP 三次握手的流程,但一旦遇到实际生产环境中的连接超时、数据粘包、或浏览器兼容性问题,往往只能靠试错法排查,而无法从协议层面定位根因。这门课正是为了解决这种“知其然不知其所以然”的能力缺口。它不是一本枯燥的协议手册,而是通过可视化的动画演示、真实的抓包分析以及仿真模拟,将底层逻辑拆解得清晰直观。对于准备面试的求职者,它能帮你摆脱死记硬背,建立真正的网络视角;对于转岗或查漏补缺的开发者,它能让你理解前端请求、移动端通信与后端服务之间的完整链路,明确各端在数据传输中的具体职责与交互细节。

**适合人群与前置基础:无需精通 C++,但需具备基础编程思维**

你不需要是网络工程师出身,也不需要精通底层硬件,但建议至少掌握一门主流编程语言(如 Python、Java 或 JavaScript),并能独立运行简单的代码片段。因为课程强调“结合编码实现”,你需要通过编写代码来验证理论,比如使用 Python 的 socket 模块重现握手机制,或在前端项目中观察 Fetch API 背后的状态变化。如果你平时对 DNS 解析、IP 路由、子网掩码等概念感到模糊,或者在面对 HTTP 2/3 升级、WebRTC 实时通信等新技术时感到无所适刀,那么这门课非常适合你。它特别针对前端、移动端和后端开发者进行了差异化讲解,这意味着即使你是纯前端背景,也能从中找到与自己技术栈强相关的网络知识,避免“学了用不上”的尴尬。

**学习路径建议与配套练习:从分层模型到真实抓包实操**

建议不要按部就班地从第一秒看到底,而是采用“分层突破 + 场景验证”的学习策略。首先重点攻克 TCP/IP 分层模型,特别是传输层(TCP/UDP)和应用层(HTTP/HTTPS)的核心机制,这是面试高频考点也是工作排查问题的基础。接着,利用课程提供的抓包工具(如 Wireshark 或 Charles)进行配套练习,对照课程讲解,实际捕获并分析 DNS 查询、TCP 握手、HTTP 请求的全过程。在学习过程中,尝试复现课程中的仿真模拟案例,比如模拟网络延迟对长连接的影响,或测试不同压缩算法对传输效率的提升。学完这门课,你应该能独立回答以下问题:当浏览器发出一个 URL,数据是如何一步步到达服务器并返回的?TCP 如何保证数据可靠传输?HTTPS 加密过程涉及哪些协议交互?如果遇到“慢启动”导致的服务不可用,应从哪些网络指标入手排查?这些能力将使你在处理高并发、跨域请求或优化网络性能时,具备更扎实的理论支撑。

课程介绍

程序员基石必修课,计算机网络底层原理,。网络底层知识是编程的基石,是高手突破的重要指标之一,系统掌握网络底层知识势在必行。本课程采用动画、抓包、仿真模拟等方式,再结合编码实现,将晦涩的知识变得简单有趣不枯燥。同时还对前端、移动端、服务器端各端针对性分析,让前、后端同学都可以从本课程中学到面试和工作中需要的网络知识。

课程目录

├── 1-课程介绍/
│ ├── [ 30M] 1-1 本课程学什么
│ └── [ 12M] 1-2 为什么学以及怎么学
├── 2-初识计算机网络/
│ ├── [ 21M] 2-1 协议的本质
│ ├── [ 23M] 2-2 分层思想
│ ├── [ 29M] 2-3 计算机网络分层体系结构
│ └── [ 46M] 2-4 抓包:加深对网络底层原理的理解
├── 3-物理层和数据链路层/
│ ├── [ 11M] 3-1 分层体系结构的最底层 – 物理层
│ ├── [ 11M] 3-2 什么是链路
│ ├── [ 20M] 3-3 链路层的重中之重 – MAC 地址
│ ├── [ 21M] 3-4 链路层的帧格式
│ ├── [ 27M] 3-5 链路层常用的协议
│ ├── [ 19M] 3-6 使用交叉线连接两台主机
│ ├── [9.7M] 3-7 使用集线器连接多台主机
│ ├── [ 38M] 3-8 仿真演示:集线器的工作原理
│ ├── [ 12M] 3-9 使用交换机链接多台主机
│ └── [ 32M] 3-10 仿真演示:交换机的工作原理
├── 4-网络层/
│ ├── [ 18M] 4-1 认识 IP 地址
│ ├── [ 26M] 4-2 IP地址的分类
│ ├── [ 28M] 4-3 划分子网、CIDR 和同一网络的判断
│ ├── [ 15M] 4-4 公网和私网 IP
│ ├── [ 21M] 4-5 IP地址的总结
│ ├── [9.0M] 4-6 认识网络层
│ ├── [ 30M] 4-7 网络层最重要的协议 — IP 协议
│ ├── [ 16M] 4-8 抓包:加深对IP协议的理解
│ ├── [ 13M] 4-9 ARP 协议
│ ├── [ 30M] 4-10 ICMP 协议
│ ├── [ 22M] 4-11 使用路由器链接多个网络
│ └── [ 37M] 4-12 仿真演示:路由器的工作原理
├── 5-运输层/
│ ├── [ 23M] 5-1 端口号
│ ├── [ 22M] 5-2 UDP 协议-
│ ├── [ 26M] 5-3 TCP 协议的可靠传输
│ ├── [ 21M] 5-4 TCP 协议的首部格式
│ ├── [ 14M] 5-5 TCP 协议的流量控制和拥塞控制
│ ├── [ 18M] 5-6 TCP 连接的建立
│ ├── [ 19M] 5-7 TCP 连接的释放
│ ├── [ 72M] 5-8 抓包:TCP 协议总结
│ ├── [ 38M] 5-9 编码:基于 TCP 协议的通信-1
│ ├── [ 77M] 5-10 编码:基于 TCP 协议的通信-2
│ ├── [ 32M] 5-11 基于 TCP 协议的聊天室 – 协议
│ ├── [ 48M] 5-12 编码:基于 TCP 协议的聊天室-1
│ └── [ 73M] 5-13 编码:基于 TCP 协议的聊天室-2
├── 6-应用层/
│ ├── [ 26M] 6-1 FTP 和邮件协议
│ ├── [ 22M] 6-2 DHCP 协议
│ └── [ 22M] 6-3 DNS 协议
├── 第7章 HTTP 协议/
│ ├── 7-1认识HTTP
│ ├── @更多it资源 www.
│ ├── 7-2HTTP报文格式-1
│ ├── 7-3HTTP报文格式-2
│ ├── 7-4字符集与编码-1
│ ├── 7-5字符集与编码-2
│ ├── 7-6基于HTTP协议的通信-1
│ ├── 7-7基于HTTP协议的通信-2
│ ├── 7-8HTTP请求方法
│ ├── 7-9RESTful风格的API
│ ├── 7-10URL
│ ├── 7-11HTTP响应状态码-1xx
│ ├── 7-12HTTP响应状态码-2xx
│ ├── 7-13HTTP响应状态码-3xx
│ ├── 7-14HTTP响应状态码-4xx
│ ├── 7-15HTTP响应状态码-5xx
│ ├── 7-16代理服务器和VPN
│ ├── 7-17HTTP首部字段-1
│ ├── 7-18HTTP首部字段-2
│ ├── 7-19HTTP首部字段-3
│ ├── 7-20HTTP首部字段-4
│ ├── 7-21文件上传
│ ├── 7-22断点续传
│ ├── 7-23视频播放
│ ├── 7-24单向散列函数
│ ├── 7-25HTTP缓存-1
│ ├── 7-26HTTP缓存-2
│ ├── 7-27CDN
│ ├── 7-28静态资源和动态资源
│ ├── 7-29前后端分离
│ ├── 7-30跨域-CORS
│ └── 7-31跨域-代理服务器
├── 第8章 HTTPS 协议/
│ ├── 8-1认识HTTPS
│ ├── 8-2对称加密和非对称加密
│ ├── 8-3数字签名
│ ├── 8-4证书
│ └── 8-5Wireshark中解密HTTPS
├── 第9章 WebSocket 协议/
│ ├── 9-1认识WebSocket
│ └── 9-2基于WebSocket协议的通信
├── 第10章 HTTP&2 和 HTTP&3 协议/
│ ├── 10-1HTTP1.1的不足与优化
│ ├── 10-2HTTP2协议-传输机制、多路复用和优先级
│ ├── 10-3HTTP2协议-首部压缩和服务器推送
│ └── 10-4HTTP3协议
└── 第11章 课程回顾与总结/
└── 11-1课程总结
└── 资料代码/