ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

计算机网络自学:40 小时走完《自顶向下方法》全书,再用 CS144 写一个 TCP/IP 栈

计算机网络自学:40 小时走完《自顶向下方法》全书,再用 CS144 写一个 TCP/IP 栈 计算机网络自学40 小时走完《自顶向下方法》全书再用 CS144 写一个 TCP/IP 栈【免费下载链接】cs-self-learning计算机自学指南项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning在浏览器地址栏敲下一个域名、按下回车半秒后页面出来。这半秒里域名先被解析成 IP你的主机和对方服务器建立起连接数据报再被路由器一跳一跳地转发过去——这条完整链路正是计算机网络自学要帮你建起来的东西。在 cs-self-learning计算机自学指南仓库里网络方向收录了多张课程卡片其中 UMass 的《自顶向下方法》课和 Stanford CS144 是最经典的一条「主线 补强」组合本文直接给你一份可执行的拆法。主课选哪门《自顶向下方法》还是 CS144先给结论主课选 UMass 的《自顶向下方法》40 小时、无编程作业CS144100 小时、全程写代码是补强项而不是起手项只有英文阅读有压力时才整体换成中科大中文课。三个决策逐一说清决策一主课还是 CS144。不要从 CS144 开局。它难度五星、C、先修要求含 CS106L 和一定的系统基础没有全栈框架就上手写 TCP你很容易分不清自己卡住的是协议细节还是语法细节。反过来UMass 这门课的短板是没有任何硬核编程作业——topdown.md 卡片自己也承认了这一点并直接点名由 CS144 来补。正确顺序是先用 40 小时理论课把「数据在网里怎么走」的框架搭起来再回头让 CS144 把每一层从「看过」变成「写过」。决策二语言版本。英文线是 Kurose 与 Ross 的原版教材加上两位作者本人录制的授课视频、交互式章节测验和 Wireshark 抓包实验全部在官方课程站公开资源完整度最高。中文线是中科大郑烇、杨坚的课程加中文第 7 版教材见 topdown_ustc.md 卡片。两条线内容同源不存在信息缺口差别只在语言门槛。决策三练到什么程度算够。最低线四章主线读完、能独立用 Wireshark 读懂一次抓包。进阶线完成 CS144 的 8 个 checkpoint。你的时间预算落在哪一档决定了要不要启动 CS144。两门课放在一起看对比项UMass《自顶向下方法》Stanford CS144难度 / 学时3/5 星约 40 小时5/5 星约 100 小时语言与编程无编程实验为抓包分析C8 个 checkpoint先修要求一定的计算机系统基础系统基础 CS106L学完的产出全栈认知框架 每章抓包笔记亲手实现的 TCP/IP 协议栈做完这一步决定先打开哪张卡片并记下开始日期后面的排期都从它算起。40 小时怎么拆每一章教材的固定推进顺序40 小时可以切成 5 个小段主线部分每一章都按固定顺序推进先预习教材正文再看该章视频然后做交互式章节测验最后跑一次该章的抓包实验四步走完再下沉到下一层。这个「先读后看」的顺序中科大课程卡片也特意强调——不先预习教材直接看课上课时可能会懵圈英文课同样适用先通读一遍建立上下文再让视频来答疑解惑效率远高于空看视频。阶段时长动作产出过关标准准备2h安装 Wireshark 并确认可抓包过一遍教材目录与官方课程站可用工具清单抓包窗口能看到实时数据包应用层8hHTTP、DNS 章节教材 视频 章节测验 DNS/HTTP 抓包章节笔记、抓包截图能说出 DNS 查询/应答报文的字段结构传输层10hUDP/TCP可靠性、流量控制、拥塞控制抓一次三次握手测验错题记录能解释握手三条报文各自的作用网络层10hIP 编址与子网划分、分组转发、路由协议数据包转发路径手绘图不查资料画出数据报经路由器的路径链路层 复习5h 5h以太网、MAC 寻址、交换机整理错题与抓包笔记一份总复习笔记独立完成一整轮从发起到判读的抓包做完这一步打开应用层第一章先读教材先不碰视频。 Wireshark 抓包实验怎么做这门课没有编程作业Wireshark 实验就是它唯一的实操产出——抓包读不懂这门课只能算完成了一半。实验的操作思路是固定的四步安装 Wireshark并确认当前用户拥有抓包权限Linux/macOS 通常要先放开用户访问网卡的权限选对网络接口看外网流量选有线/无线外网卡排查本机通信可以选回环接口主动制造流量——用浏览器打开网页产生 HTTP/HTTPS运行nslookup发起 DNS 查询用ping产生 ICMP 报文再和一台远端主机建立一次 TCP 连接来触发三次握手按协议名过滤在过滤栏输入http、dns、tcp跟随某条 TCP 流把以太网/IP/TCP 头部逐层展开对照教材里的报文格式与字段含义逐字段核对。场景化例子运行一次nslookup后在过滤栏输入dns你应该能抓到一对查询和应答报文展开提问区就能看到刚才查询的域名——这和教材字段图的对应关系比直接背图要直观得多。⚠️ 要心里有数抓包属于观察与分析不写代码编程能力的训练全部留给下一节的 CS144。另外 topdown.md 卡片提到学习者 PKUFlyingPig 把这门课用到的全部资源和作业实现汇总在个人学习仓库里可以直接按仓库名检索参考但建议先自己做一遍实验再去对答案。做完这一步你应该能在抓包窗口里找出三次握手的三条报文并说清 SYN 与 ACK 标志位各自的含义。 CS144 怎么学8 个 checkpoint 补强计划40 小时主线走完如果你希望从「能讲清」走到「能写出来」CS144 是值得启动的补强项Stanford 出品C五星难度约 100 小时8 个 checkpoint 逐层写完整 TCP/IP 栈细节见 CS144.md 卡片checkpoint 0环境热身玩一玩telnet、netcat等网络命令借助内核提供的tcp_socket抽象写一个基础爬虫webget再实现一个内存中的可靠字节流checkpoint 1–3实现一个保留核心语义、近乎完全符合标准的 TCP 协议能与工业级 TCP 实现互通checkpoint 4通过框架封装TCPMinnowSocket把内核默认的 TCP 替换成你自己实现的版本同时分析 RTT ≥ 100ms 的真实网络流量建议用 Python 做可视化分析checkpoint 5下沉到协议栈最底层实现NetworkInterface用 ARP 协议桥接 IP 数据报与以太网帧checkpoint 6基于前面实现的「网卡」做 IP 路由器对每个到达的数据报给出转发决策checkpoint 7用框架胶水代码endtoend.cc把所有组件串起来经课程提供的中继服务让两端都跑自研协议栈的主机完成实时通信。两条提醒必须提前知道其一课程仓库会随每年进度直接清空打算跟进就先自己 fork 一份其二这门课真正的宝是框架代码——三次握手到底落在哪、TCPMinnowSocket如何替换内核实现、多线程场景怎么处理逐行读框架代码才能拿到答案卡片里引用的一句话很贴切计算机的世界里没有魔法。做完这一步fork 好仓库跑通 checkpoint 0 的命令并用一句话写下webget的工作方式。 中文替代路线中科大《自顶向下》课程如果英文视频和原版教材读起来吃力直接用同一本教材的中文路线中科大郑烇、杨坚主讲的《计算机网络自顶向下方法》见 topdown_ustc.md 卡片。三星难度、约 40 小时教材为《计算机网络自顶向下方法第 7 版》机械工业出版社2016与英文线同源授课覆盖教材大部分章节可放心完整观看视频由郑烇老师本人发布且自 2020 年起一直坚持在评论区答疑卡片加粗提醒强烈建议先阅读教材预习再看课否则上课会有些懵圈——这个顺序对英文线同样成立。做完这一步挑一集课程视频把中文第 7 版对应章节先通读一遍再看那集课体会「先读后看」和「直接看」的效率差。过关标准与继续深入主线学完用四个问题验收自己能否用一句话分别说明「用户上网」这条链路里应用层、传输层、网络层、链路层各自做了什么能否讲清 TCP 三次握手与可靠传输机制如何落地能否不查资料画出 IP 数据报经路由器转发到目标主机的完整路径能否独立用 Wireshark 抓取并解读一次 HTTP、DNS 或 TCP 会话四条都答得上来这 40 小时才真正花到位。理论线如果还想加宽仓库里的 CS168 卡片是另一条路线UC Berkeley 的 Internet 架构与协议课Python 为主约 140 小时三个动手项目Traceroute、路由、TCP 传输外加一本被卡片评为「简洁生动」的教材适合作为轻量实践补充。想确认本课在整个自学地图里的位置可以看 使用指南.md——「删繁就简」路线把《自顶向下方法》列为网络方向的代表课程CS学习规划.md 的网络章节则以 CS144 为主线与本文「先理论、后动手」的排法一致。现在就打开 topdown.md 卡片从应用层第一章开始先读教材、再看视频然后运行一次nslookup在 Wireshark 里亲眼看一下一条 DNS 查询长什么样。【免费下载链接】cs-self-learning计算机自学指南项目地址: https://gitcode.com/GitHub_Trending/cs/cs-self-learning创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表