跳到主要内容

网络基础入门

网络是计算机系统之间传输数据的基础。无论是访问网页、调用接口、连接数据库、远程登录服务器,还是部署微服务,都离不开网络知识。

学习网络的目标不是背概念,而是能回答三个问题:

  1. 数据从哪里来?
  2. 数据经过哪里?
  3. 数据为什么没有到?

一、网络分层模型

常见两种模型:OSI 七层模型和 TCP/IP 四层模型。

OSI 七层TCP/IP典型协议
应用层应用层HTTP、DNS、SMTP、SSH
表示层应用层TLS、编码、压缩
会话层应用层会话管理
传输层传输层TCP、UDP
网络层网络层IP、ICMP
数据链路层网络接口层Ethernet、Wi-Fi
物理层网络接口层网线、光纤、无线信号

实际排查问题时,常用思路是从下往上看:

二、IP 地址

IP 地址用于标识网络中的设备。

常见类型:

  • IPv4:例如 192.168.1.10
  • IPv6:更长,地址空间更大。
  • 公网 IP:互联网可访问。
  • 私网 IP:内网使用,例如 192.168.x.x10.x.x.x172.16.x.x

私网地址不能直接被公网访问,通常需要 NAT 转换。

三、子网和网关

子网用于划分网络范围。

示例:

IP:192.168.1.10
子网掩码:255.255.255.0
网段:192.168.1.0/24
网关:192.168.1.1

网关负责把数据转发到其他网络。

简单理解:

  • 同网段通信:直接找对方。
  • 不同网段通信:交给网关转发。

四、DNS

DNS 用来把域名解析成 IP 地址。

常见 DNS 记录:

类型作用
A域名解析到 IPv4
AAAA域名解析到 IPv6
CNAME域名别名
MX邮件服务器
TXT验证、SPF、DKIM 等

DNS 问题常见表现:

  • 域名打不开;
  • 本地能访问,别人不能访问;
  • 修改解析后没有立即生效;
  • 解析到错误 IP。

五、TCP 和 UDP

TCP

TCP 是可靠传输协议。

特点:

  • 面向连接;
  • 保证顺序;
  • 丢包重传;
  • 拥塞控制;
  • 适合对可靠性要求高的场景。

常见应用:HTTP、HTTPS、MySQL、SSH、Redis。

UDP

UDP 是无连接协议。

特点:

  • 开销小;
  • 延迟低;
  • 不保证可靠;
  • 不保证顺序。

常见应用:DNS、直播、语音、游戏、QUIC。

六、HTTP 和 HTTPS

HTTP 是 Web 通信的基础协议。

一个请求通常包括:

请求行:GET /api/users HTTP/1.1
请求头:Host、User-Agent、Content-Type、Authorization
请求体:POST/PUT 常见

常见状态码:

状态码含义
200成功
301/302重定向
400请求错误
401未认证
403无权限
404资源不存在
500服务内部错误
502网关错误
503服务不可用
504网关超时

HTTPS = HTTP + TLS,用于加密通信、防窃听、防篡改。

七、NAT 和端口

NAT 用于把内网地址转换成公网地址。

常见场景:

端口用于区分同一台机器上的不同服务。

常见端口:

端口服务
22SSH
53DNS
80HTTP
443HTTPS
3306MySQL
6379Redis

八、网络排查方法

常用命令:

ping example.com
nslookup example.com
dig example.com
traceroute example.com
curl -I https://example.com
telnet host port
nc -vz host port

排查顺序:

  1. 本机网络是否正常。
  2. DNS 是否解析正确。
  3. 目标 IP 是否可达。
  4. 目标端口是否开放。
  5. 防火墙和安全组是否放行。
  6. 服务是否监听正确地址。
  7. 应用日志是否有错误。

九、常见问题

1. 能 ping 通但网页打不开

可能原因:

  • 80/443 端口未开放;
  • Web 服务未启动;
  • 防火墙拦截;
  • Nginx 配置错误;
  • HTTPS 证书问题。

2. 本地能访问,外网不能访问

可能原因:

  • 服务只监听 127.0.0.1
  • 安全组未放行;
  • 没有公网 IP;
  • NAT 或端口映射错误;
  • 域名解析错误。

3. 访问很慢

可能原因:

  • DNS 慢;
  • 网络链路慢;
  • 服务端响应慢;
  • 数据库慢;
  • 静态资源太大;
  • 跨地域访问。

十、学习路线

建议顺序:

  1. IP、子网、网关。
  2. DNS 解析。
  3. TCP、UDP。
  4. HTTP、HTTPS。
  5. NAT、防火墙、安全组。
  6. Nginx 反向代理。
  7. 抓包工具:Wireshark、tcpdump。
  8. 常见网络故障排查。

总结

网络排查最实用的思路是:

只要按层检查,大多数网络问题都能逐步定位。