**《网易云课堂-李述铜从0手写TCP/IP网络协议栈》**是一套面向计算机网络底层开发的深度实战课程,课程以“从零实现 TCP/IP 协议栈”为核心目标,通过手写代码的方式深入剖析互联网通信协议的工作原理。课程不局限于传统网络理论讲解,而是带领学习者亲自动手实现网络协议栈中的关键模块,从网卡数据收发、以太网帧处理,到 IP、ARP、ICMP、UDP、TCP 等核心协议的实现,帮助学习者真正理解计算机网络底层运行机制。

课程首先从计算机网络基础开始,介绍网络通信模型、OSI 七层模型、TCP/IP 四层模型、数据封装与解封装过程,以及网络设备之间的数据传输原理。随后进入协议栈开发环境搭建,讲解 C/C++ 底层编程、内存管理、数据结构设计、调试工具使用等内容,为后续实现网络协议功能打下基础。

在核心协议实现部分,课程按照真实网络协议栈的设计流程展开。首先实现以太网帧处理机制,学习 MAC 地址、网卡通信以及数据链路层工作方式;随后深入讲解 ARP 协议,实现 IP 地址与 MAC 地址之间的映射管理;并进一步完成 IP 协议模块,包括数据包封装、路由转发、校验和计算以及分片处理等关键功能。同时课程还会实现 ICMP 协议,帮助学习者理解 Ping 命令背后的通信过程。

在传输层部分,课程重点讲解 UDP 与 TCP 协议的实现原理。通过手写 UDP 模块,掌握端口管理、数据报发送与接收流程;通过实现 TCP 协议,深入理解三次握手、四次挥手、连接状态管理、序列号与确认号、滑动窗口、超时重传、流量控制以及可靠传输机制等网络通信核心知识。

课程还会结合实际项目需求,讲解 Socket 编程、网络调试、协议分析工具使用以及性能优化方法,让学习者能够将理论知识应用到实际网络程序开发中。同时通过逐步完善协议栈功能,使学员理解 Linux 网络协议栈、服务器开发、嵌入式网络通信以及高性能网络系统设计背后的技术原理。

《网易云课堂-李述铜从0手写TCP/IP网络协议栈》最大的特点在于“从原理到代码”的完整实践路径。学习者不只是学习 TCP/IP 协议概念,而是真正参与协议栈的设计与实现过程,深入理解数据如何在网络中产生、封装、传输和解析。

总体而言,这是一套适合希望深入计算机底层、网络编程、操作系统、服务器开发以及嵌入式方向学习者的高级课程。完成学习后,学员能够掌握 TCP/IP 协议栈核心原理,具备阅读和分析网络协议源码、开发底层网络程序以及进一步学习 Linux 内核网络模块的能力,为成为高级 C/C++ 工程师、网络工程师或系统架构方向人才奠定坚实基础。

课程截图:

课程目录:

网易云课堂-李述铜从0手写TCP_IP网络协议栈/
│ ├── 第8章 定长消息队列的实现/
│ │ ├── 第8章 定长消息队列的实现资料.png (0.48 MB)
│ │ ├── 004.第08.03 向工作线程发送消息【手动整理‖:】.mp4 (27.60 MB)
│ │ ├── 001.第08.00 定长消息队列简介【耗时整理‖ 】.mp4 (9.90 MB)
│ │ ├── 006.第08.05 销毁消息队列【耗时整理‖不易且全免费:】.mp4 (7.27 MB)
│ │ ├── 003.第08.02 初始化核心线程的消息通信【耗时整理‖不易且全免费:】.mp4 (19.26 MB)
│ │ ├── 005.第08.04接受网卡线程发来的消息【耗时整理‖ 】.mp4 (33.66 MB)
│ │ └── 002.第08.01 创建定长消息队列结构【持续更新‖免费提供:】.mp4 (30.51 MB)
│ ├── 第6章 设计通用的链表结构/
│ │ ├── 第6章 设计通用的链表结构资料.png (0.48 MB)
│ │ ├── 003.第06.02 创建链表结构【不易整理‖请关注:】.mp4 (12.13 MB)
│ │ ├── 007.第06.06尾部插入结点【整理不易‖记得关注:】.mp4 (16.27 MB)
│ │ ├── 008.第06.07 插入到指定结点之后【手动整理‖:】.mp4 (19.63 MB)
│ │ ├── 001.第06.00 通用链表简介【免费分享‖:】.mp4 (16.40 MB)
│ │ ├── 006.第06.06 删除头部结点【公重号:】.mp4 (19.27 MB)
│ │ ├── 004.第06.03 头部插入结点【良心整理‖免费获取:】.mp4 (29.12 MB)
│ │ ├── 002.第06.01 创建结点结构【优质合集‖免费获取:】.mp4 (10.37 MB)
│ │ └── 005.第06.04 遍历链表【不易整理‖请关注:】.mp4 (40.67 MB)
│ ├── 第5章 调试信息输出/
│ │ ├── 第5章 调试信息输出必看.zip (1.83 MB)
│ │ ├── 002.第05.02 给调试输出增加颜色【花费时间‖免费获取:】.mp4 (29.90 MB)
│ │ ├── 003.第05.03 按不同等级输出信息【手动整理‖:】.mp4 (40.40 MB)
│ │ ├── 004.第05.04增加assert断言【整理不易‖记得关注:】.mp4 (22.81 MB)
│ │ └── 001.第05.01 基本调试信息输出【花费时间‖免费获取:】.mp4 (33.82 MB)
│ ├── 第9章 网络数据包结构设计/
│ │ ├── 第9章 网络数据包结构设计说明.png (0.48 MB)
│ │ ├── 010.第09.09 调整包大小(1) – 包的扩大【持续更新‖免费提供:】.mp4 (25.18 MB)
│ │ ├── 019.第09.17 填充数据包【优质合集‖免费获取:】.mp4 (20.35 MB)
│ │ ├── 003.第09.02 分配块链【耗时整理‖不易且全免费:】.mp4 (56.97 MB)
│ │ ├── 005.第09.04 显示数据包信息【花费时间‖免费获取:】.mp4 (44.31 MB)
│ │ ├── 012.第09.10 合并两个包【耗时整理‖免费分享:】.mp4 (17.91 MB)
│ │ ├── 017.第09.15 定位数据包【精挑细选‖免费提供:】.mp4 (28.27 MB)
│ │ ├── 015.第09.13 写数据包【持续更新‖免费提供:】.mp4 (49.87 MB)
│ │ ├── 013.第09.11 调整包头的连续性【耗时整理‖ 】.mp4 (54.44 MB)
│ │ ├── 020.第09.18 增加其它支持函数【整理不易‖记得关注:】.mp4 (56.48 MB)
│ │ ├── 009.第09.08 添加非连续包头【公重号:】.mp4 (17.37 MB)
│ │ ├── 001.第09.00 数据包结构设计简介【公重号:】.mp4 (19.41 MB)
│ │ ├── 008.第09.07 移除包头【耗时整理‖免费分享:】.mp4 (26.88 MB)
│ │ ├── 002.第09.01 添加数据包结构【良心整理‖免费获取:】.mp4 (30.17 MB)
│ │ ├── 006.第09.05 释放数据包【花费时间‖免费获取:】.mp4 (12.03 MB)
│ │ ├── 014.第09.12 增加包访问功能【整理不易‖免费奉上:】.mp4 (18.96 MB)
│ │ ├── 018.第09.16 数据包的拷贝【更多精选‖ 】.mp4 (28.66 MB)
│ │ ├── 016.第09.14 读数据包【整理不易‖免费奉上:】.mp4 (19.90 MB)
│ │ ├── 004.第09.03 分配指定大小的数据包【持续更新‖免费提供:】.mp4 (29.96 MB)
│ │ ├── 011.第09.09 调整包大小(2) – 包的扩大【耗时整理‖不易且全免费:】.mp4 (35.50 MB)
│ │ └── 007.第09.06 添加连续包头【持续更新‖免费提供:】.mp4 (38.97 MB)
│ ├── 第26章 TCP重时重传处理/
│ │ ├── 第26章 TCP重时重传处理必看.zip (1.83 MB)
│ │ ├── 001.第26.00 TCP超时重传处理简介【免费分享‖:】.mp4 (31.25 MB)
│ │ ├── 004.第26.03 添加不同输出状态下的事件处理函数【持续更新‖免费提供:】.mp4 (35.48 MB)
│ │ ├── 009.第26.08 TCP协议实现总结【持续更新‖免费提供:】.mp4 (33.46 MB)
│ │ ├── 008.第26.07 实现TCP数据的重传【持续更新‖免费提供:】.mp4 (69.20 MB)
│ │ ├── 002.第26.01 增加重传相关数据【整理不易‖免费奉上:】.mp4 (22.05 MB)
│ │ ├── 003.第26.02 TCP输出状态机简介【免费分享‖:】.mp4 (12.70 MB)
│ │ ├── 006.第26.05 实现SYN的重传【免费分享‖:】.mp4 (68.94 MB)
│ │ ├── 007.第26.07 继续发送缓存中的数据【耗时整理‖不易且全免费:】.mp4 (61.70 MB)
│ │ └── 005.第26.04 添加连接SYN的重传超时处理【耗时整理‖免费分享:】.mp4 (53.89 MB)
│ ├── 第2章 开发环境搭建/
│ │ ├── 第2章 开发环境搭建说明.png (0.48 MB)
│ │ ├── 002.第02.02 Windows开发环境配置【手动整理‖:】.mp4 (56.51 MB)
│ │ ├── 004.第02.05 工程配置详解【良心整理‖免费获取:】.mp4 (25.52 MB)
│ │ ├── 003.第02.03 Mac开发环境搭建【持续更新‖免费提供:】.mp4 (59.70 MB)
│ │ └── 001.第02.01 开发环境概述【耗时整理‖ 】.mp4 (11.80 MB)
│ ├── 第22章 TCP数据传输及滑动窗口算法/
│ │ ├── 008.第22.07 TCP数据分段发送【持续更新‖免费提供:】.mp4 (39.42 MB)
│ │ ├── 018.第22.15 半关闭时接收返回EOF【整理不易‖免费奉上:】.mp4 (35.53 MB)
│ │ ├── 024.第22.20 TCP数据通信总结【优质资源‖关注: 解锁】.mp4 (24.09 MB)
│ │ ├── 022.第22.18 检查序号的正确性(2)【优质合集‖免费获取:】.mp4 (76.61 MB)
│ │ ├── 015.第22.13 将数据包中的数据写入缓存【耗时整理‖ 】.mp4 (33.82 MB)
│ │ ├── 016.第22.14 从接收缓存读取数据(1)【耗时整理‖免费分享:】.mp4 (28.24 MB)
│ │ ├── 007.第22.06 读取TCP选项(MSS)【耗时整理‖不易且全免费:】.mp4 (34.44 MB)
│ │ ├── 012.第22.10 添加下载测试代码【优质合集‖免费获取:】.mp4 (28.54 MB)
│ │ ├── 019.第22.16 连接时写入选项MSS【耗时整理‖不易且全免费:】.mp4 (28.39 MB)
│ │ ├── 020.第22.17 通知对方自己的接收窗口大小【优质资源‖关注: 解锁】.mp4 (64.93 MB)
│ │ ├── 014.第22.12 往接收缓存中写数据【耗时整理‖ 】.mp4 (11.75 MB)
│ │ ├── 006.第22.05 发送全部数据到对方【耗时整理‖不易且全免费:】.mp4 (38.43 MB)
│ │ ├── 010.第22.08 TCP数据发送总结(2)【耗时整理‖免费分享:】.mp4 (66.92 MB)
│ │ ├── 002.第22.01 初始化发送缓存【整理不易‖免费奉上:】.mp4 (21.66 MB)
│ │ ├── 011.第22.09 添加接收缓存及接收介绍【花费时间‖免费获取:】.mp4 (12.40 MB)
│ │ ├── 017.第22.14 从接收缓存读取数据(2)【持续更新‖免费提供:】.mp4 (15.56 MB)
│ │ ├── 013.第22.11 增加TCP读取函数【不易整理‖请关注:】.mp4 (26.17 MB)
│ │ ├── 004.第22.03 将数据写入发送缓存【更多精选‖ 】.mp4 (22.77 MB)
│ │ ├── 009.第22.08 TCP数据发送总结(1)【持续更新‖免费提供:】.mp4 (16.87 MB)
│ │ ├── 001.第22.00 TCP数据发送介绍【持续更新‖免费提供:】.mp4 (21.57 MB)
│ │ ├── 003.第22.02 添加TCP发送的支持【更多精选‖ 】.mp4 (39.47 MB)
│ │ ├── 005.第22.04 将部分数据发送出去【整理不易‖记得关注:】.mp4 (36.79 MB)
│ │ ├── 023.第22.19 FIN与数据处理的先后顺序【耗时整理‖免费分享:】.mp4 (24.76 MB)
│ │ └── 021.第22.18 检查序号的正确性(1)【手动整理‖:】.mp4 (46.43 MB)
│ ├── 第28章 移植到STM32(ARM内核)/
│ │ ├── 002.第28.01 STM32F4移植运行效果演示【耗时整理‖不易且全免费:】.mp4 (38.92 MB)
│ │ ├── 004.第28.03 利用RTOS提供的操作系统接口【持续更新‖免费提供:】.mp4 (23.43 MB)
│ │ ├── 003.第28.02 Keil工程源码组织分析【优质资源‖关注: 解锁】.mp4 (14.52 MB)
│ │ ├── 005.第28.04 网络初始化【手动整理‖:】.mp4 (21.18 MB)
│ │ ├── 006.第28.05 STM32网卡驱动处理【整理不易‖免费奉上:】.mp4 (33.86 MB)
│ │ └── 001.第28.00 移植到STM32统简介【持续更新‖免费提供:】.mp4 (7.69 MB)
│ ├── 第15章 支持ICMP协议/
│ │ ├── 001.第15.00 ICMP协议简介【耗时整理‖ 】.mp4 (13.51 MB)
│ │ ├── 005.第15.04 用IP包更新ARP表【精挑细选‖免费提供:】.mp4 (36.40 MB)
│ │ ├── 003.第15.02 ICMP输入处理【耗时整理‖不易且全免费:】.mp4 (50.88 MB)
│ │ ├── 002.第15.01 ICMP模块初始化【优质合集‖免费获取:】.mp4 (15.08 MB)
│ │ ├── 004.第15.03 响应ping请求【耗时整理‖ 】.mp4 (53.32 MB)
│ │ └── 006.第15.05 报告端口不可达【持续更新‖免费提供:】.mp4 (70.78 MB)
│ ├── 第17章 设计自己的ping命令/
│ │ ├── 004.第17.03 实现ping的响应结果输出【公重号:】.mp4 (35.95 MB)
│ │ ├── 003.第17.02 实现ping的发送及响应【手动整理‖:】.mp4 (65.56 MB)
│ │ ├── 001.第17.00 ping程序实现原理【优质合集‖免费获取:】.mp4 (7.98 MB)
│ │ ├── 002.第17.01 添加ping结构与接口【良心整理‖免费获取:】.mp4 (27.45 MB)
│ │ └── 005.第17.04 增加超时和命令行调用【优质资源‖关注: 解锁】.mp4 (34.42 MB)
│ ├── 第4章 整体结构设计/
│ │ ├── 003.第04.02 添加核心工作线程【优质资源‖关注: 解锁】.mp4 (28.03 MB)
│ │ ├── 001.第04.00 整体软件结构设计【耗时整理‖免费分享:】.mp4 (28.46 MB)
│ │ ├── 002.第04.01 协议栈的初始化【耗时整理‖免费分享:】.mp4 (12.06 MB)
│ │ └── 004.第04.03 创建数据包收发线程【手动整理‖:】.mp4 (18.18 MB)
│ ├── 第12章 定时器的实现/
│ │ ├── 008.第12.07 让工作线程处理定时事件【整理不易‖记得关注:】.mp4 (32.06 MB)
│ │ ├── 001.第12.00 定时器设计简介【优质合集‖免费获取:】.mp4 (7.31 MB)
│ │ ├── 007.第12.06 扫描定时器列表【优质合集‖免费获取:】.mp4 (43.45 MB)
│ │ ├── 004.第12.03 插入定时器(简单方法)【整理不易‖记得关注:】.mp4 (17.65 MB)
│ │ ├── 006.第12.05移除定时器【持续更新‖免费提供:】.mp4 (24.69 MB)
│ │ ├── 002.第12.01 添加定时器结构【优质合集‖免费获取:】.mp4 (16.21 MB)
│ │ ├── 005.第12.04 插入定时器(升序方法)【优质资源‖关注: 解锁】.mp4 (36.91 MB)
│ │ └── 003.第12.02 增加定时器测试代码【整理不易‖免费奉上:】.mp4 (16.68 MB)
│ ├── 第23章 TCP保活机制的实现/
│ │ ├── 001.第23.00 TCP保活机制简介【不易整理‖请关注:】.mp4 (13.83 MB)
│ │ ├── 005.第23.04 增加超时处理【更多精选‖ 】.mp4 (73.94 MB)
│ │ ├── 003.第23.02 添加setsockopt函数支持【手动整理‖:】.mp4 (23.48 MB)
│ │ ├── 002.第23.01 保活机制的具体功能演示【持续更新‖免费提供:】.mp4 (34.07 MB)
│ │ ├── 004.第23.03 定义保活机制相关的变量【优质资源‖关注: 解锁】.mp4 (60.46 MB)
│ │ └── 006.第23.05 发送keepalive报文【耗时整理‖免费分享:】.mp4 (62.42 MB)
│ ├── 第3章 基本概念和原理/
│ │ ├── 013.第03.10 利用套接字设计服务器【花费时间‖免费获取:】.mp4 (45.98 MB)
│ │ ├── 005.第03.03 创建线程(2)【整理不易‖记得关注:】.mp4 (23.46 MB)
│ │ ├── 003.第03.02 接受数据包修改并发回【优质合集‖免费获取:】.mp4 (20.62 MB)
│ │ ├── 006.第03.04 利用计数信号量同步线程【公重号:】.mp4 (23.69 MB)
│ │ ├── 004.第03.03 创建线程(1)【更多精选‖ 】.mp4 (11.70 MB)
│ │ ├── 008.第03.06 线程间的资源访问控制实例(1)- 循环缓存【良心整理‖免费获取:】.mp4 (37.68 MB)
│ │ ├── 010.第03.06 线程间的资源访问控制实例(3)- 控制写速率【手动整理‖:】.mp4 (36.48 MB)
│ │ ├── 002.第03.01 向网络上发送数据包【精挑细选‖免费提供:】.mp4 (38.24 MB)
│ │ ├── 009.第03.06 线程间的资源访问控制实例(2)- 控制读速率【耗时整理‖免费分享:】.mp4 (21.64 MB)
│ │ ├── 011.第03.09 利用套接字设计客户机(1)【良心整理‖免费获取:】.mp4 (13.02 MB)
│ │ ├── 012.第03.09 利用套接字设计客户机(2)【良心整理‖免费获取:】.mp4 (56.69 MB)
│ │ ├── 014.第03.11 TCPIP体系结构简介【公重号:】.mp4 (38.18 MB)
│ │ ├── 001.第03.00 基本概念和原理【手动整理‖:】.mp4 (6.52 MB)
│ │ └── 007.第03.05 线程间的资源访问控制【不易整理‖请关注:】.mp4 (33.48 MB)
│ ├── 第20章 支持UDP协议/
│ │ ├── 018.第20.14 增加send接口(2)【不易整理‖请关注:】.mp4 (36.90 MB)
│ │ ├── 011.第20.10 UDP输入的处理(2)【公重号:】.mp4 (51.03 MB)
│ │ ├── 019.第20.17 增加recv接口(1)【不易整理‖请关注:】.mp4 (10.12 MB)
│ │ ├── 016.第20.13 增加connect接口(3)【整理不易‖记得关注:】.mp4 (51.64 MB)
│ │ ├── 024.第20.22 UDP协议设计总结【耗时整理‖不易且全免费:】.mp4 (79.68 MB)
│ │ ├── 022.第20.20 增加bind接口(2)【耗时整理‖不易且全免费:】.mp4 (78.47 MB)
│ │ ├── 012.第20.11 UDP数据读取的实现【整理不易‖记得关注:】.mp4 (26.13 MB)
│ │ ├── 003.第20.02 创建UDP回显服务器【整理不易‖免费奉上:】.mp4 (53.90 MB)
│ │ ├── 001.第20.00 UDP协议简介【耗时整理‖ 】.mp4 (16.37 MB)
│ │ ├── 006.第20.05 UDP数据的发送处理【手动整理‖:】.mp4 (30.31 MB)
│ │ ├── 017.第20.14 增加send接口(1)【整理不易‖免费奉上:】.mp4 (17.36 MB)
│ │ ├── 014.第20.13 增加connect接口(1)【免费分享‖:】.mp4 (24.99 MB)
│ │ ├── 002.第20.01 创建UDP客户端【耗时整理‖不易且全免费:】.mp4 (63.48 MB)
│ │ ├── 009.第20.08 计算伪校验和【公重号:】.mp4 (37.15 MB)
│ │ ├── 020.第20.18 增加recv接口(2)【手动整理‖:】.mp4 (21.07 MB)
│ │ ├── 007.第20.06 动态分配端口【整理不易‖记得关注:】.mp4 (36.90 MB)
│ │ ├── 008.第20.07 实现UDP数据的发送【整理不易‖记得关注:】.mp4 (22.10 MB)
│ │ ├── 004.第20.03 UDP模块初始化【持续更新‖免费提供:】.mp4 (13.63 MB)
│ │ ├── 021.第20.19 增加bind接口(1)【免费分享‖:】.mp4 (40.67 MB)
│ │ ├── 010.第20.09 UDP输入的处理(1)【公重号:】.mp4 (55.29 MB)
│ │ ├── 013.第20.12 关闭UDP套接字【手动整理‖:】.mp4 (13.93 MB)
│ │ ├── 005.第20.04 创建UDP套接字【整理不易‖免费奉上:】.mp4 (29.18 MB)
│ │ ├── 015.第20.13 增加connect接口(2)【精挑细选‖免费提供:】.mp4 (20.11 MB)
│ │ └── 023.第20.21 让原始套接字支持connectrecvsend【手动整理‖:】.mp4 (49.53 MB)
│ ├── 第1章 课程概述/
│ │ ├── 002.第01.01 课程介绍【良心整理‖免费获取:】.mp4 (41.76 MB)
│ │ ├── 003.第01.02 资料下载【良心整理‖免费获取:】.mp4 (19.92 MB)
│ │ ├── 005.第01.03 运行效果演示【耗时整理‖免费分享:】.mp4 (39.16 MB)
│ │ └── 001.第00.00 课程特点【花费时间‖免费获取:】.mp4 (5.33 MB)
│ ├── 第24章 TCP的被动打开实现/
│ │ ├── 007.第24.06 实现tcp_accept【优质合集‖免费获取:】.mp4 (33.75 MB)
│ │ ├── 013.第24.11 一些修修补补【优质资源‖关注: 解锁】.mp4 (49.94 MB)
│ │ ├── 006.第24.05 实现tcp的accept调用【免费分享‖:】.mp4 (25.19 MB)
│ │ ├── 009.第24.07 listen状态下的输入处理(2)【耗时整理‖ 】.mp4 (44.47 MB)
│ │ ├── 012.第24.10 tcp的timewait状态处理【耗时整理‖ 】.mp4 (44.08 MB)
│ │ ├── 003.第24.02 处理listen和accept回调【整理不易‖记得关注:】.mp4 (46.60 MB)
│ │ ├── 011.第24.09 强制关闭tcp连接【免费分享‖:】.mp4 (62.70 MB)
│ │ ├── 004.第24.03 实现tcp的bind调用【持续更新‖免费提供:】.mp4 (60.27 MB)
│ │ ├── 005.第24.04 实现tcp的listen调用【免费分享‖:】.mp4 (25.08 MB)
│ │ ├── 008.第24.07 listen状态下的输入处理(1)【整理不易‖记得关注:】.mp4 (57.29 MB)
│ │ ├── 002.第24.01 增加bind_listen_accept调用支持【良心整理‖免费获取:】.mp4 (18.48 MB)
│ │ ├── 010.第24.08 syn_recved状态下输入处理【不易整理‖请关注:】.mp4 (51.23 MB)
│ │ ├── 014.第24.12 TCP补动打开总结【免费分享‖:】.mp4 (18.39 MB)
│ │ └── 001.第24.00 被动打开与服务器运行【不易整理‖请关注:】.mp4 (19.51 MB)
│ ├── 第18章 原始套接字 RAW Socket接口实现/
│ │ ├── 006.第18.05 定义socket接口【花费时间‖免费获取:】.mp4 (13.93 MB)
│ │ ├── 021.第18.20 IP数据包输入处理【耗时整理‖不易且全免费:】.mp4 (58.71 MB)
│ │ ├── 012.第18.11 初始化数据发送接口【持续更新‖免费提供:】.mp4 (40.97 MB)
│ │ ├── 001.第18.00 socket接口设计结构简介【耗时整理‖免费分享:】.mp4 (9.84 MB)
│ │ ├── 019.第18.18 添加超时设置接口【整理不易‖免费奉上:】.mp4 (27.25 MB)
│ │ ├── 024.第18.23 实现raw接口的关闭【耗时整理‖不易且全免费:】.mp4 (41.69 MB)
│ │ ├── 008.第18.07 发消息给工作线程分配socket结构【耗时整理‖免费分享:】.mp4 (33.61 MB)
│ │ ├── 014.第18.13 初始化数据包接收【整理不易‖免费奉上:】.mp4 (38.28 MB)
│ │ ├── 013.第18.12 将数据包发送出去【不易整理‖请关注:】.mp4 (57.79 MB)
│ │ ├── 007.第18.06 分配socket结构【耗时整理‖ 】.mp4 (29.63 MB)
│ │ ├── 017.第18.16 初始化sock等待结构【耗时整理‖免费分享:】.mp4 (40.29 MB)
│ │ ├── 003.第18.02 发送消息请求执行功能【整理不易‖记得关注:】.mp4 (47.69 MB)
│ │ ├── 022.第18.21 实现对ping的响应【整理不易‖免费奉上:】.mp4 (59.15 MB)
│ │ ├── 011.第18.10 创建raw结构块【精挑细选‖免费提供:】.mp4 (39.95 MB)
│ │ ├── 020.第18.19 开启读取超时【精挑细选‖免费提供:】.mp4 (33.67 MB)
│ │ ├── 023.第18.22 添加close接口【手动整理‖:】.mp4 (22.11 MB)
│ │ ├── 005.第18.04 实现自己的地址转换函数【手动整理‖:】.mp4 (51.11 MB)
│ │ ├── 016.第18.15 实现各种等待接口【优质合集‖免费获取:】.mp4 (23.52 MB)
│ │ ├── 009.第18.08 sock结构定义及初始化【不易整理‖请关注:】.mp4 (50.11 MB)
│ │ ├── 010.第18.09 建立RAW结构【公重号:】.mp4 (17.57 MB)
│ │ ├── 004.第18.03 定义自己的地址转换函数接口【精挑细选‖免费提供:】.mp4 (36.21 MB)
│ │ ├── 015.第18.14 添加sock等待接口【手动整理‖:】.mp4 (17.36 MB)
│ │ ├── 018.第18.17 让接收能够等待【免费分享‖:】.mp4 (25.25 MB)
│ │ └── 002.第18.01 请求核心工作线程执行功能函数【公重号:】.mp4 (31.61 MB)
│ ├── 第25章 DNS协议实现/
│ │ ├── 008.第25.06 构造DNS请求包(1)【持续更新‖免费提供:】.mp4 (49.76 MB)
│ │ ├── 009.第25.06 构造DNS请求包(2)【公重号:】.mp4 (101.99 MB)
│ │ ├── 017.第25.15 刷新DNS缓存表【公重号:】.mp4 (1.52 MB)
│ │ ├── 004.第25.02 实现gethostbyname(2)【良心整理‖免费获取:】.mp4 (42.49 MB)
│ │ ├── 019.第25.17 DNS程序设计上的一个问题【免费分享‖:】.mp4 (18.38 MB)
│ │ ├── 006.第25.04 允许解析localhost和IP地址【不易整理‖请关注:】.mp4 (23.38 MB)
│ │ ├── 012.第25.10 响应的基本检查【优质合集‖免费获取:】.mp4 (28.64 MB)
│ │ ├── 020.第25.18 DNS设计总结【持续更新‖免费提供:】.mp4 (17.42 MB)
│ │ ├── 005.第25.03 DNS模块初始化【不易整理‖请关注:】.mp4 (108.06 MB)
│ │ ├── 003.第25.02 实现gethostbyname(1)【优质合集‖免费获取:】.mp4 (34.32 MB)
│ │ ├── 007.第25.05 允许解析域名地址【精挑细选‖免费提供:】.mp4 (143.47 MB)
│ │ ├── 013.第25.11 提取IP地址【整理不易‖记得关注:】.mp4 (67.81 MB)
│ │ ├── 011.第25.09 添加请求id的处理【优质资源‖关注: 解锁】.mp4 (46.16 MB)
│ │ ├── 016.第25.14 缓存表的插入、删除与查找【手动整理‖:】.mp4 (70.40 MB)
│ │ ├── 002.第25.01 添加gethostbyname接口【不易整理‖请关注:】.mp4 (34.32 MB)
│ │ ├── 014.第25.12 通知应用与列表显示【花费时间‖免费获取:】.mp4 (143.62 MB)
│ │ ├── 001.第25.00 DNS协议及接口简介【耗时整理‖ 】.mp4 (24.58 MB)
│ │ ├── 015.第25.13 初始化缓存表【整理不易‖记得关注:】.mp4 (15.95 MB)
│ │ ├── 018.第25.16 多次重试DNS请求【整理不易‖记得关注:】.mp4 (22.73 MB)
│ │ └── 010.第25.08 获取DNS响应输入【手动整理‖:】.mp4 (38.92 MB)
│ ├── 第27章 移植到x86操作系统/
│ │ ├── 004.第27.03 在操作系统中加入工程源码【优质资源‖关注: 解锁】.mp4 (16.25 MB)
│ │ ├── 009.第27.08 RTL8139驱动实现【免费分享‖:】.mp4 (99.49 MB)
│ │ ├── 007.第27.06 增加系统调用【耗时整理‖不易且全免费:】.mp4 (17.74 MB)
│ │ ├── 008.第27.07 调整内存布局【更多精选‖ 】.mp4 (13.07 MB)
│ │ ├── 003.第27.02 windows网络环境搭建【整理不易‖记得关注:】.mp4 (9.64 MB)
│ │ ├── 010.第27.09 中断锁的处理【不易整理‖请关注:】.mp4 (29.35 MB)
│ │ ├── 001.第27.00 移植到x86操作系统【耗时整理‖不易且全免费:】.mp4 (9.02 MB)
│ │ ├── 006.第27.05 网络初始化【手动整理‖:】.mp4 (15.16 MB)
│ │ ├── 002.第27.01 移植到x86操作系统演示【不易整理‖请关注:】.mp4 (10.77 MB)
│ │ └── 005.第27.04 操作系统接口【整理不易‖记得关注:】.mp4 (16.81 MB)
│ ├── 第16章 IP数据报的分片与重组/
│ │ ├── 007.第16.06 数据报分片的重组【更多精选‖ 】.mp4 (57.35 MB)
│ │ ├── 002.第16.01 分片与重组的初始化【不易整理‖请关注:】.mp4 (53.52 MB)
│ │ ├── 004.第16.03 分片的查找与添加【持续更新‖免费提供:】.mp4 (31.60 MB)
│ │ ├── 003.第16.02 分片结构的分配与释放【良心整理‖免费获取:】.mp4 (26.38 MB)
│ │ ├── 006.第16.05 插入分片【优质资源‖关注: 解锁】.mp4 (42.24 MB)
│ │ ├── 005.第16.04 显示分片列表【手动整理‖:】.mp4 (37.98 MB)
│ │ └── 001.第16.00 IP分片与重组介绍【耗时整理‖ 】.mp4 (9.03 MB)
│ ├── 第21章 TCP协议之建立基本的链接/
│ │ ├── 005.第21.03 接收输入的TCP包【不易整理‖请关注:】.mp4 (54.38 MB)
│ │ ├── 015.第21.12 寻找合适的TCP控制块【优质资源‖关注: 解锁】.mp4 (23.58 MB)
│ │ ├── 018.第21.14 响应SYN_ACK报文(2)-更新序号值【耗时整理‖免费分享:】.mp4 (38.31 MB)
│ │ ├── 022.第21.18 从LAST_ACK进入CLOSED【良心整理‖免费获取:】.mp4 (21.93 MB)
│ │ ├── 001.第21.00 TCP连接管理简介【整理不易‖记得关注:】.mp4 (35.44 MB)
│ │ ├── 002.第21.00 TCP协议课程规划【手动整理‖:】.mp4 (11.86 MB)
│ │ ├── 028.第21.23 CLOSED状态处理及连接总结【免费分享‖:】.mp4 (28.07 MB)
│ │ ├── 025.第21.21 TIME_WAIT输入处理【不易整理‖请关注:】.mp4 (17.65 MB)
│ │ ├── 019.第21.15 从SYN_SENT进入ESTABLISHED【整理不易‖免费奉上:】.mp4 (33.43 MB)
│ │ ├── 020.第21.16 从ESTABLISHED进入CLOSE-WAIT【手动整理‖:】.mp4 (52.77 MB)
│ │ ├── 007.第21.04 发送reset复位包(2)【持续更新‖免费提供:】.mp4 (46.95 MB)
│ │ ├── 011.第21.08 添加connect等待结构【花费时间‖免费获取:】.mp4 (23.36 MB)
│ │ ├── 014.第21.11 设置TCP状态【耗时整理‖不易且全免费:】.mp4 (39.14 MB)
│ │ ├── 004.第21.02 创建TCP套接字【手动整理‖:】.mp4 (41.60 MB)
│ │ ├── 006.第21.04 发送reset复位包(1)【不易整理‖请关注:】.mp4 (61.22 MB)
│ │ ├── 027.第21.22 同时关闭,进入CLOSING(2)【持续更新‖免费提供:】.mp4 (16.61 MB)
│ │ ├── 016.第21.13 添加输入状态处理函数【不易整理‖请关注:】.mp4 (27.38 MB)
│ │ ├── 010.第21.07 分配端口及检查连接的存在性【更多精选‖ 】.mp4 (45.36 MB)
│ │ ├── 021.第21.17 从CLOSE_WAIT进入LAST_ACK【不易整理‖请关注:】.mp4 (41.01 MB)
│ │ ├── 003.第21.01 TCP协议初始化【优质合集‖免费获取:】.mp4 (13.58 MB)
│ │ ├── 024.第21.20 从FIN_WAIT_2进入TIME_WAIT【持续更新‖免费提供:】.mp4 (15.33 MB)
│ │ ├── 023.第21.19 主动close进入FIN_WAIT_2【花费时间‖免费获取:】.mp4 (28.15 MB)
│ │ ├── 009.第21.06 增加connectclose回调函数【公重号:】.mp4 (9.72 MB)
│ │ ├── 008.第21.05 几个TCP调试函数【整理不易‖免费奉上:】.mp4 (23.81 MB)
│ │ ├── 013.第21.10 发送SYN报文【优质资源‖关注: 解锁】.mp4 (54.71 MB)
│ │ ├── 012.第21.09 收发窗口及序号初始化【精挑细选‖免费提供:】.mp4 (51.30 MB)
│ │ ├── 017.第21.14 响应SYN_ACK报文(1)-终止连接【精挑细选‖免费提供:】.mp4 (41.88 MB)
│ │ └── 026.第21.22 同时关闭,进入CLOSING(1)【整理不易‖记得关注:】.mp4 (28.36 MB)
│ ├── 第14章 初步支持IP协议/
│ │ ├── 003.第14.02 接收输入的IP数据报【耗时整理‖免费分享:】.mp4 (16.25 MB)
│ │ ├── 004.第14.03 IP数据报的预处理检查(1)【整理不易‖免费奉上:】.mp4 (33.77 MB)
│ │ ├── 001.第14.00 IP协议简介【整理不易‖免费奉上:】.mp4 (27.81 MB)
│ │ ├── 006.第14.04 使用校验和检查包头正确性【精挑细选‖免费提供:】.mp4 (37.30 MB)
│ │ ├── 010.第14.08 增加IP包发送检验和计算【优质资源‖关注: 解锁】.mp4 (49.78 MB)
│ │ ├── 008.第14.06 显示IP包内容【持续更新‖免费提供:】.mp4 (20.23 MB)
│ │ ├── 007.第14.05 IP数据报分解处理【不易整理‖请关注:】.mp4 (44.26 MB)
│ │ ├── 009.第14.07 发送IP数据报【耗时整理‖免费分享:】.mp4 (57.06 MB)
│ │ ├── 005.第14.03 IP数据报的预处理检查(2)【优质资源‖关注: 解锁】.mp4 (47.23 MB)
│ │ └── 002.第14.01 添加IP数据报头【耗时整理‖免费分享:】.mp4 (25.64 MB)
│ ├── 第11章 支持以太网协议/
│ │ ├── 001.第11.00 以太网协议设计简介【持续更新‖免费提供:】.mp4 (17.35 MB)
│ │ ├── 011.第11.08 以太网输入包的处理【优质资源‖关注: 解锁】.mp4 (34.89 MB)
│ │ ├── 002.第11.01 打开物理网络接口【花费时间‖免费获取:】.mp4 (50.31 MB)
│ │ ├── 010.第11.07 网络大小端转换(3)- 检查大小端【整理不易‖免费奉上:】.mp4 (17.05 MB)
│ │ ├── 007.第11.06 添加以太网包结构定义【优质资源‖关注: 解锁】.mp4 (30.42 MB)
│ │ ├── 008.第11.07 网络大小端转换(1)-原理介绍【更多精选‖ 】.mp4 (13.71 MB)
│ │ ├── 006.第11.05 添加以太网接口【精挑细选‖免费提供:】.mp4 (25.00 MB)
│ │ ├── 005.第11.04 添加链路层接口【免费分享‖:】.mp4 (40.37 MB)
│ │ ├── 013.第11.10 输出以太网数据包【耗时整理‖ 】.mp4 (62.24 MB)
│ │ ├── 003.第11.02 接收数据并发给工作线程【整理不易‖免费奉上:】.mp4 (50.55 MB)
│ │ ├── 009.第11.07 网络大小端转换(2)- 转换接口【手动整理‖:】.mp4 (27.91 MB)
│ │ ├── 012.第11.09 显示以太网包结构【不易整理‖请关注:】.mp4 (34.24 MB)
│ │ └── 004.第11.03 将数据通过网络接口发出去【不易整理‖请关注:】.mp4 (31.02 MB)
│ ├── 第13章 支持ARP协议/
│ │ ├── 009.第13.08 分配和释放缓存表项【良心整理‖免费获取:】.mp4 (23.38 MB)
│ │ ├── 012.第13.11 给缓存表项增加超时重新请求【耗时整理‖ 】.mp4 (67.27 MB)
│ │ ├── 005.第13.04 生成无回报(免费)ARP【精挑细选‖免费提供:】.mp4 (20.70 MB)
│ │ ├── 003.第13.02 初始化ARP模块【不易整理‖请关注:】.mp4 (23.45 MB)
│ │ ├── 013.第13.12 清空ARP表和查找ARP表【整理不易‖记得关注:】.mp4 (80.22 MB)
│ │ ├── 007.第13.06 响应发来的ARP请求【优质合集‖免费获取:】.mp4 (23.58 MB)
│ │ ├── 006.第13.05 获取ARP输入包【优质合集‖免费获取:】.mp4 (29.34 MB)
│ │ ├── 004.第13.03 发送ARP请求【持续更新‖免费提供:】.mp4 (46.09 MB)
│ │ ├── 008.第13.07 显示ARP包结构和缓存表【整理不易‖记得关注:】.mp4 (46.97 MB)
│ │ ├── 002.第13.01 向指定IP地址发送数据【公重号:】.mp4 (23.06 MB)
│ │ ├── 001.第13.00 ARP协议简介【持续更新‖免费提供:】.mp4 (41.24 MB)
│ │ ├── 011.第13.10 解析IP地址并发送包【不易整理‖请关注:】.mp4 (84.60 MB)
│ │ └── 010.第13.09 查找和插入表项【整理不易‖免费奉上:】.mp4 (68.83 MB)
│ ├── 第10章 网络接口层设计/
│ │ ├── 008.第10.07 激活环回接口【优质资源‖关注: 解锁】.mp4 (16.52 MB)
│ │ ├── 010.第10.09 关闭和设置缺省的网络接口【花费时间‖免费获取:】.mp4 (22.01 MB)
│ │ ├── 003.第10.02 初始化网络接口层【优质资源‖关注: 解锁】.mp4 (19.15 MB)
│ │ ├── 002.第10.01 添加网络接口结构_20240513222424【免费分享‖:】.pptx (4.50 MB)
│ │ ├── 012.第10.11 添加数据包发送接口【良心整理‖免费获取:】.mp4 (35.43 MB)
│ │ ├── 007.第10.06 设置网络接口的地址【良心整理‖免费获取:】.mp4 (18.48 MB)
│ │ ├── 004.第10.03 打开网络接口【花费时间‖免费获取:】.mp4 (26.66 MB)
│ │ ├── 006.第10.05 将地址串转换为IP地址【优质资源‖关注: 解锁】.mp4 (25.82 MB)
│ │ ├── 005.第10.04 添加环回接口【更多精选‖ 】.mp4 (51.28 MB)
│ │ ├── 001.第10.00 网络接口的设计规划【整理不易‖免费奉上:】.mp4 (18.82 MB)
│ │ ├── 002.第10.01 添加网络接口结构【优质合集‖免费获取:】.mp4 (32.28 MB)
│ │ ├── 009.第10.08 显示网络接口列表【免费分享‖:】.mp4 (42.33 MB)
│ │ └── 011.第10.10 增加数据包队列的写入和读取【持续更新‖免费提供:】.mp4 (23.77 MB)
│ ├── diy-tcpip-master/
│ ├── 第19章 允许通过路由访问Internet/
│ │ ├── 002.第19.01 设计基础的路由表结构【花费时间‖免费获取:】.mp4 (16.00 MB)
│ │ ├── 001.第19.00 访问外部网络的原理【不易整理‖请关注:】.mp4 (28.40 MB)
│ │ ├── 005.第19.04 设置缺省路由【整理不易‖免费奉上:】.mp4 (37.45 MB)
│ │ ├── 006.第19.05 从路由表中找到合适的表项【精挑细选‖免费提供:】.mp4 (40.85 MB)
│ │ ├── 007.第19.06 通过路由器将数据包发往外部【耗时整理‖免费分享:】.mp4 (95.42 MB)
│ │ ├── 003.第19.02 添加路由表项【持续更新‖免费提供:】.mp4 (27.73 MB)
│ │ └── 004.第19.03 删除路由【良心整理‖免费获取:】.mp4 (13.25 MB)
│ └── 第7章 定长内存块管理/
│ │ ├── 006.第07.05 释放内存块【整理不易‖记得关注:】.mp4 (15.01 MB)
│ │ ├── 003.第07.02 添加锁结构【良心整理‖免费获取:】.mp4 (13.13 MB)
│ │ ├── 001.第07.00 协议栈中的存储管理问题【良心整理‖免费获取:】.mp4 (8.36 MB)
│ │ ├── 004.第07.03 建立内存块链【不易整理‖请关注:】.mp4 (30.25 MB)
│ │ ├── 002.第07.01 创建内存块管理器结构【手动整理‖:】.mp4 (12.43 MB)
│ │ └── 005.第07.04 分配内存块【耗时整理‖免费分享:】.mp4 (33.39 MB)

声明:本站所发布的一切视频课程仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站所有课程来自网络,版权争议与本站无关。如有侵权请联系客服QQ:1960026872或登录本站账号进入个人中心提交工单留言反馈,我们将第一时间处理!
侵权联系与免责声明: 1、本站资源所有内容均收集于网络,与本网站立场无关 2、本站所有资源收集于互联网,由用户分享,该帖子作者与IT课程网不享有任何版权,如有侵权请联系本站删除 3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责 4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。如有侵权请联系联系客服QQ:1960026872或登录本站账号进入个人中心提交工单留言反馈,我们将第一时间处理!