Skip to main content

网络架构

本板块介绍 一些网络架构的技术

在本版块中有相当多的工程实践(如使用 FRP、Nginx、SSH、Flask、服务器等),也有 计算机网络基础理论(如通信原理、协议细节、端口机制),从而提升系统设计能力。

计算机网络学习路线:

基础知识 ➜ 网络协议 ➜ 应用开发 ➜ 安全与性能 ➜ 网络系统设计

第一阶段:基础架构

掌握核心概念:

  • 网络通信的五层模型:
    • 应用层(HTTP, DNS)
    • 传输层(TCP, UDP)
    • 网络层(IP, 路由)
    • 数据链路层(MAC, 以太网)
    • 物理层(电信号,光信号)
  • 重要概念:
    • IP 地址 / MAC 地址
    • DNS(域名解析)
    • 端口(Port)
    • 三次握手 / 四次挥手(TCP)
    • NAT、内网 / 外网、端口映射

📘 推荐资料:


第二阶段:理解网络协议与实践

逐层深入了解:

层级内容
应用层HTTP/HTTPS、DNS、FTP、SMTP
传输层TCP/UDP,流与包,拥塞控制,TCP连接状态(SYN/ACK)
网络层IP协议、子网掩码、ARP、ICMP、NAT
数据链路层ARP协议、以太网帧格式、交换机、MAC地址

👨‍💻 同时结合工具实践:

  • Wireshark 抓包分析(三次握手、DNS解析、HTTP)
  • curl 观察 HTTP 请求
  • ping / traceroute 分析路径
  • 使用 netstat / ss / lsof 查看端口使用

第三阶段:实际开发中如何使用网络

从工具变为能力:

  • Socket 编程: 学习 Python / C 中的 socket 编程,理解客户端与服务器通信
  • HTTP 应用开发: 学习 RESTful API,熟悉请求方法(GET/POST/PUT/DELETE)
  • 反向代理: Nginx / FRP / SSH 隧道等原理
  • 多线程 / 异步 IO: 解决并发访问问题

📘 推荐练手项目:

  • 写一个简单聊天室(TCP)
  • 写一个 Web 服务器(HTTP)
  • 用 Python requests 编写爬虫

第四阶段:性能与安全深入

  • TCP 拥塞控制算法(Cubic / BBR)
  • HTTPS / TLS 握手流程
  • 防火墙、DoS 攻击原理
  • CDN 与反向代理缓存机制
  • QUIC / HTTP3 的优势与原理

📘 推荐视频 / 资料:

  • Cloudflare 博客:https://blog.cloudflare.com/
  • 《深入理解计算机系统》中的网络章节(CS:APP
  • HTTP2/3 对比分析文章

推荐系统课程

平台课程名难度备注
网易云课堂哈工大《计算机网络》内容全面、讲得清晰
CS144Stanford 的 Computer Networking高级网络编程 + Socket 实践
书籍《计算机网络-自顶向下方法》(Computer Networking)中高美本教材,系统但篇幅较长
书籍《图解TCP/IP》 / 《图解HTTP》入门图示生动,便于初学者理解