Skip to content

网络通信基础

一、网络模型

1. OSI 七层模型

名称功能协议示例
7应用层用户接口、应用程序HTTP、FTP、SMTP、DNS
6表示层数据格式转换、加密SSL、TLS、JPEG、MPEG
5会话层会话管理、同步SQL、RPC、NetBIOS
4传输层端到端通信、可靠性TCP、UDP
3网络层路由转发、IP 寻址IP、ICMP、ARP
2数据链路层帧传输、错误检测Ethernet、PPP、Wi-Fi
1物理层比特流传输双绞线、光纤、无线电

记忆口诀: 应表会传网数物(应用、表示、会话、传输、网络、数据链路、物理)

2. TCP/IP 四层模型

对应 OSI功能协议
应用层5-7应用程序接口HTTP、FTP、DNS、SMTP
传输层4端到端通信TCP、UDP
网络层3IP 寻址和路由IP、ICMP、ARP
网络接口层1-2物理和数据链路Ethernet、Wi-Fi

TCP/IP 模型更实用,是实际网络通信的基础。

3. 数据封装过程

应用层数据

传输层(添加 TCP/UDP 头)

网络层(添加 IP 头)

数据链路层(添加 MAC 头)

物理层(转换为电信号/光信号)

示例:

HTTP 请求
  ↓ 添加 TCP 头
TCP 段
  ↓ 添加 IP 头
IP 数据包
  ↓ 添加以太网头
以太网帧
  ↓ 转换为比特流
物理信号

二、IP 协议

1. IP 地址

IPv4 地址:

  • 32 位,4 个字节
  • 格式:192.168.1.1
  • 范围:0.0.0.0255.255.255.255
  • 约 42 亿个地址

IPv6 地址:

  • 128 位,16 个字节
  • 格式:2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • 几乎无限的地址空间

IP 地址分类:

  • A 类1.0.0.0 - 126.255.255.255(大型网络)
  • B 类128.0.0.0 - 191.255.255.255(中型网络)
  • C 类192.0.0.0 - 223.255.255.255(小型网络)
  • D 类224.0.0.0 - 239.255.255.255(组播)
  • E 类240.0.0.0 - 255.255.255.255(保留)

私有 IP 地址:

  • 10.0.0.0/8 - 10.0.0.010.255.255.255
  • 172.16.0.0/12 - 172.16.0.0172.31.255.255
  • 192.168.0.0/16 - 192.168.0.0192.168.255.255

2. 子网掩码

作用: 区分网络地址和主机地址

示例:

IP 地址:192.168.1.100
子网掩码:255.255.255.0
网络地址:192.168.1.0
主机地址:0.0.0.100

CIDR 表示法:

  • 192.168.1.0/24 - 前 24 位是网络地址
  • 10.0.0.0/8 - 前 8 位是网络地址

3. 路由

路由表:

  • 决定数据包如何转发
  • 包含目标网络、下一跳地址、接口等信息

路由类型:

  • 直连路由 - 同一网段
  • 静态路由 - 手动配置
  • 动态路由 - 通过路由协议学习(RIP、OSPF、BGP)

三、DNS(域名系统)

1. DNS 的作用

将域名转换为 IP 地址:

www.example.com → 192.0.2.1

2. DNS 查询过程

1. 浏览器查询本地 DNS 缓存
2. 查询 hosts 文件
3. 查询本地 DNS 服务器(递归查询)
4. 本地 DNS 服务器查询根域名服务器
5. 根域名服务器返回 .com 域名服务器地址
6. 查询 .com 域名服务器
7. .com 域名服务器返回 example.com 域名服务器地址
8. 查询 example.com 域名服务器
9. 返回 www.example.com 的 IP 地址

3. DNS 记录类型

类型说明示例
AIPv4 地址example.com A 192.0.2.1
AAAAIPv6 地址example.com AAAA 2001:db8::1
CNAME别名www.example.com CNAME example.com
MX邮件服务器example.com MX 10 mail.example.com
TXT文本记录example.com TXT "v=spf1 ..."
NS域名服务器example.com NS ns1.example.com

4. DNS 缓存

缓存层级:

  • 浏览器缓存
  • 操作系统缓存
  • 路由器缓存
  • ISP DNS 服务器缓存

TTL(Time To Live): 缓存过期时间

四、网络设备

1. 交换机(Switch)

功能:

  • 工作在数据链路层(Layer 2)
  • 根据 MAC 地址转发数据帧
  • 隔离冲突域

工作原理:

  • 学习 MAC 地址和端口的映射关系
  • 建立 MAC 地址表
  • 根据目标 MAC 地址转发到对应端口

2. 路由器(Router)

功能:

  • 工作在网络层(Layer 3)
  • 根据 IP 地址转发数据包
  • 连接不同网络

工作原理:

  • 维护路由表
  • 根据目标 IP 地址查找路由表
  • 转发到下一跳路由器或目标网络

3. 网关(Gateway)

功能:

  • 连接不同协议的网络
  • 通常指默认网关(Default Gateway)
  • 本地网络访问外网的出口

五、常见网络问题

1. 网络延迟(Latency)

定义: 数据从源到目的地所需的时间

影响因素:

  • 物理距离
  • 网络拥塞
  • 路由跳数
  • 传输介质

优化方法:

  • 使用 CDN
  • 减少路由跳数
  • 优化网络路径

2. 带宽(Bandwidth)

定义: 网络传输数据的能力

单位:

  • bps(bits per second)
  • Kbps、Mbps、Gbps

带宽 vs 延迟:

  • 带宽 - 管道宽度(能同时传输多少数据)
  • 延迟 - 数据到达时间(数据到达需要多长时间)

3. 丢包(Packet Loss)

原因:

  • 网络拥塞
  • 硬件故障
  • 网络错误

影响:

  • TCP 会重传,增加延迟
  • UDP 不会重传,数据丢失

4. 网络拥塞

原因:

  • 流量超过网络容量
  • 路由选择不当
  • 网络设备性能瓶颈

解决方案:

  • 流量控制
  • 拥塞控制(TCP)
  • 增加带宽
  • 优化路由

六、网络协议栈

1. 应用层协议

  • HTTP/HTTPS - 网页浏览
  • FTP - 文件传输
  • SMTP - 邮件发送
  • POP3/IMAP - 邮件接收
  • DNS - 域名解析
  • SSH - 远程登录
  • Telnet - 远程登录(不安全)

2. 传输层协议

  • TCP - 可靠传输
  • UDP - 快速传输

3. 网络层协议

  • IP - 网络寻址
  • ICMP - 错误报告(ping)
  • ARP - IP 到 MAC 地址映射

4. 数据链路层协议

  • Ethernet - 以太网
  • PPP - 点对点协议
  • Wi-Fi - 无线网络

七、常见面试题

Q1: OSI 七层模型和 TCP/IP 模型的区别?

特性OSI 模型TCP/IP 模型
层数7 层4 层
设计目的理论模型实际应用
使用教学、理论实际网络通信
对应关系严格分层灵活对应

Q2: 为什么需要子网划分?

  1. 提高网络效率 - 减少广播域
  2. 安全隔离 - 不同子网隔离
  3. IP 地址管理 - 合理分配 IP 地址
  4. 路由优化 - 简化路由表

Q3: DNS 查询为什么使用 UDP?

原因:

  • DNS 查询数据包小,UDP 开销小
  • 查询速度快
  • 如果 UDP 失败,可以回退到 TCP

DNS over TCP:

  • 响应数据包超过 512 字节
  • 区域传输(Zone Transfer)

Q4: 如何判断两个 IP 是否在同一网段?

方法:

  1. 获取 IP 地址和子网掩码
  2. 计算网络地址:IP & 子网掩码
  3. 比较网络地址是否相同

示例:

IP1: 192.168.1.100
IP2: 192.168.1.200
子网掩码: 255.255.255.0

网络地址1: 192.168.1.100 & 255.255.255.0 = 192.168.1.0
网络地址2: 192.168.1.200 & 255.255.255.0 = 192.168.1.0

相同,在同一网段

Q5: 公网 IP 和私网 IP 的区别?

特性公网 IP私网 IP
唯一性全球唯一局域网内唯一
路由可在互联网路由不可在互联网路由
获取向 ISP 申请局域网内分配
用途访问互联网局域网通信
NAT不需要需要 NAT 转换

八、网络工具

1. ping

功能: 测试网络连通性

bash
ping www.example.com
ping 192.168.1.1
ping -c 4 www.example.com  # Linux/Mac,发送 4 个包
ping -n 4 www.example.com  # Windows,发送 4 个包

2. traceroute / tracert

功能: 追踪数据包路径

bash
traceroute www.example.com  # Linux/Mac
tracert www.example.com      # Windows

3. netstat

功能: 显示网络连接、路由表、接口统计

bash
netstat -an          # 显示所有连接
netstat -rn          # 显示路由表
netstat -i           # 显示接口统计
netstat -p tcp       # 显示 TCP 连接

4. ifconfig / ipconfig

功能: 显示和配置网络接口

bash
ifconfig              # Linux/Mac
ipconfig              # Windows
ipconfig /all         # Windows,显示详细信息

5. nslookup / dig

功能: DNS 查询工具

bash
nslookup www.example.com
dig www.example.com

6. tcpdump / Wireshark

功能: 网络数据包捕获和分析

bash
tcpdump -i eth0 -n host 192.168.1.1

九、网络安全基础

1. 防火墙

功能:

  • 控制网络流量
  • 阻止未授权访问
  • 基于规则过滤数据包

类型:

  • 包过滤防火墙 - 基于 IP 和端口
  • 状态检测防火墙 - 跟踪连接状态
  • 应用层防火墙 - 基于应用协议

2. VPN(虚拟专用网络)

功能:

  • 加密通信
  • 远程访问
  • 绕过地理限制

协议:

  • PPTP
  • L2TP/IPSec
  • OpenVPN
  • WireGuard

3. 端口

常见端口:

  • 20, 21 - FTP
  • 22 - SSH
  • 23 - Telnet
  • 25 - SMTP
  • 53 - DNS
  • 80 - HTTP
  • 443 - HTTPS
  • 3306 - MySQL
  • 5432 - PostgreSQL
  • 6379 - Redis
  • 8080 - HTTP 代理

端口范围:

  • 0-1023 - 系统端口(需要 root 权限)
  • 1024-49151 - 注册端口
  • 49152-65535 - 动态/私有端口

十、最佳实践

  1. 合理规划网络 - 使用子网划分
  2. 配置防火墙 - 只开放必要端口
  3. 使用 HTTPS - 加密通信
  4. 监控网络 - 及时发现异常
  5. 备份配置 - 网络设备配置备份
  6. 文档记录 - 记录网络拓扑和配置
  7. 定期更新 - 更新网络设备固件
  8. 访问控制 - 限制网络访问权限
  9. 不要使用默认密码 - 修改默认配置
  10. 不要忽略日志 - 定期查看网络日志

基于 VitePress 构建 | Copyright © 2026-present