Avatar
⌨️

Organizations

README.md
root@KPBOT: ~

visitor@KPBOT:~$ cat about.txt

CTF Web 手,系统方向。记录 CS 自学路上的实践笔记——从 TCP 协议栈到手写 OS 内核。

7文章
3分类
8标签

visitor@KPBOT:~$ ls -la ~/notes

visitor@KPBOT:~$ cat ~/skills.txt

C/C++ Python Go Linux Docker 网络协议 Web 安全 CTF

visitor@KPBOT:~$ cat ~/docs.txt

📚 学习 Wiki —— Obsidian 全文库(双链 / 图谱 / 搜索)

打开 Wiki visitor@KPBOT:~$ cat ~/roadmap.txt

  • CS144 —— C++ 手撸 TCP/IP 协议栈(进行中)
  • CS:APP —— 从 bit 到进程(待开始)
  • rCore —— 用 Rust 写 OS 内核(看情况)

visitor@KPBOT:~$ cat ~/topics.txt

  • 算法与数据结构 —— Big O、排序、树、图、DP、字符串
  • 计算机体系结构 —— 冯诺依曼、流水线、缓存、分支预测
  • 操作系统 —— 进程/线程、虚拟内存、文件系统、I/O
  • 计算机网络 —— TCP/IP、HTTP/2、TLS、QUIC
  • 数据库 —— B+Tree、LSM-Tree、事务、MVCC
  • 编译原理 —— 词法分析、语法分析、IR、代码生成
  • 分布式系统 —— Raft、Paxos、CAP、一致性模型
  • 工具链 —— Git 内部原理、perf/eBPF、Docker、Namespace/Cgroup

持续更新中

Popular posts

  1. 这是整个实验最复杂的部分。

    总的流程说实话我并没有完全做出来,抄了大量的作业,主要原因还是 TCP 的状态机确实有点复杂,有很多边缘条件需要考虑,调试起来死活都修不好。

    CS144 TCP/IP C++ Lab

  2. 任务分析

    今天的任务是完成 Lab3,实现一个 TCPSender。

    TCPSender 比 TCPReceiver 更加复杂,因为涉及到定时器来进行超时重传机制。

    标准的 TCPSender 是一个 GBN 与 SR 都有借鉴的机制,当然更倾向于 GBN,但又有不同。

    CS144 TCP/IP C++ Lab

  3. 今天的任务比较简单,总共就要实现两个任务:Sequence Numbers 的转化与 TCP Receiver 的实现。

    下面对 Lab2 的两个任务进行分析。

    Sequence Number

    TCP 的序列结构本质上就是围绕「可靠、有序的字节流」设计的一套编号体系。TCP 不关心数据包,而关心一个连续的字节流,因此需要给每个字节编号。

    CS144 TCP/IP C++ Lab

  4. 暑假目标

    这个暑假集中火力啃两门硬课:

    #课程内容状态
    1CS144 (Stanford)用 C++ 手撸 TCP/IP 协议栈进行中
    2CS:APP (CMU 15-213)计算机系统:从 bit 到进程待开始
    3rCore (清华)用 Rust 写一个 OS 内核看情况

    优先级:CS144 > CS:APP > rCore。前两个是暑假硬性目标,rCore 视进度而定。

    roadmap 计算机体系

  5. 背景

    CS144 是斯坦福的计算机网络课程。要用 C++ 手撸 TCP/IP 协议栈,涉及大量数据结构,对本科生有一定挑战——最大的挑战其实是全英文文档。

    我对计算机网络的理解一直很碎片,概念都知道,但串不起来。趁这个机会系统整理一下。

    CS144 TCP/IP C++ Lab

  6. 经过 Day0 对 Lab0 的完成,今天的任务也很明了:完成 Lab1。

    CS144 本质上只实现一个简易 TCP 框架,所以本课程实际涉及到的计算机网络层级一般只用 TCP/IP 协议中的传输层与网络层以及应用层。本次实验也是同理,我们要完成一个 StreamReassembler——将字符串拼接字节流。

    CS144 TCP/IP C++ Lab

    Post activity