# 网络基础

# 概述

计算机网络是互联的、自治的计算机集合,通过协议实现数据交换与资源共享。常见分类:按范围(LAN/WAN/MAN)、按拓扑(星型/总线/环型)、按传输(有线/无线)。

# OSI 七层与 TCP/IP 四层

OSI 七层 TCP/IP 四层 典型协议/设备
应用层 应用层 HTTP、DNS、FTP
表示层
会话层
传输层 传输层 TCP、UDP
网络层 网络层 IP、ICMP、路由器
数据链路层 链路层 Ethernet、交换机
物理层 网线、光纤、网卡

数据发送:自上而下每层加头部(封装);接收:自下而上每层去头部(解封装)。

# IP 地址与子网

  • IPv4:32 位,点分十进制,如 192.168.1.1。分 A/B/C/D/E 类,常用 C 类 /24
  • 子网掩码:与 IP 按位与得网络号,如 255.255.255.0 表示前 24 位为网络位。
  • 私有网段:10.0.0.0/8172.16.0.0/12192.168.0.0/16,仅内网使用。
  • IPv6:128 位,冒号十六进制,解决 IPv4 地址耗尽。

# 端口

0–65535。0–1023 为熟知端口(如 80/HTTP、443/HTTPS、22/SSH、53/DNS);1024–49151 为注册端口;其余为动态/私有。

# DNS

将域名解析为 IP。查询顺序:浏览器缓存 → 本地 hosts → 本地 DNS → 递归查询(根→顶级域→权威域)。记录类型:A、AAAA、CNAME、MX、TXT、NS。

nslookup baidu.com
dig baidu.com
1
2

# TCP 与 UDP

  • TCP:面向连接、可靠、有序、字节流、有拥塞与流量控制。三次握手建立、四次挥手释放。
  • UDP:无连接、不可靠、无拥塞控制,适合实时、多播、简单请求(DNS 查询等)。

# 三次握手与四次挥手

三次握手(建立连接)

  1. 客户端 → SYN → 服务端
  2. 服务端 → SYN+ACK → 客户端
  3. 客户端 → ACK → 服务端

四次挥手(断开连接)

  1. 客户端 → FIN → 服务端
  2. 服务端 → ACK → 客户端
  3. 服务端 → FIN → 客户端
  4. 客户端 → ACK → 服务端(后进入 TIME_WAIT)

# HTTP 基础

  • 请求/响应模型,无状态。默认端口 80。
  • 请求方法:GET(幂等)、POST、PUT、PATCH、DELETE、HEAD、OPTIONS。
  • 状态码:1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务端错误。常见:200、301/302、400、401、403、404、500。
  • 请求/响应头:Host、Content-Type、Content-Length、Cookie、Set-Cookie、Cache-Control、Connection 等。

# 常用命令

ping 192.168.1.1
tracert baidu.com
ipconfig / ifconfig
netstat -an
telnet host 80
curl -v http://example.com
1
2
3
4
5
6

# 抓包与工具

  • Wireshark:按协议/IP/端口过滤,看各层包头与 payload。
  • 浏览器 F12 → Network:看 HTTP 请求/响应、时序、状态码。
  • Postman/curl:构造并发送 HTTP 请求。