外观
计算机网络核心知识
约 2368 字大约 8 分钟
2025-08-23
一、网络基础概述
1. 网络模型
OSI七层模型 vs TCP/IP四层模型
| OSI模型 | TCP/IP模型 | 主要功能 |
|---|---|---|
| 应用层 | 应用层 | 提供应用程序接口 |
| 表示层 | 数据格式转换、加密 | |
| 会话层 | 建立、管理、终止会话 | |
| 传输层 | 传输层 | 端到端连接、流量控制 |
| 网络层 | 网络层 | 路由选择、IP寻址 |
| 数据链路层 | 帧传输、错误检测 | |
| 物理层 | 网络接口层 | 比特流传输 |
提示:实际工作中,TCP/IP四层模型更常用,OSI模型主要用于教学。
2. 网络设备
- 路由器:工作在网络层,连接不同网络,基于IP地址转发数据包
- 交换机:工作在数据链路层,基于MAC地址转发数据帧
- 集线器:工作在物理层,简单广播所有数据(已逐渐被淘汰)
- 网卡:网络接口卡,提供物理连接和MAC地址
3. IP地址基础
- IPv4:32位地址,通常表示为点分十进制(如192.168.1.1)
- IPv6:128位地址,解决IPv4地址枯竭问题
- 公有IP:全球唯一,用于互联网通信
- 私有IP:保留用于内部网络(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
二、物理层(常用知识)
1. 传输介质
双绞线:
- 最常用网络传输介质
- 分为屏蔽(STP)和非屏蔽(UTP)两种
- 常见类型:Cat5e(1Gbps)、Cat6(10Gbps)
- 最大传输距离:100米
光纤:
- 传输距离远(单模可达几十公里)
- 传输速率高(可达100Gbps以上)
- 不受电磁干扰
- 常用于骨干网络和长距离连接
2. 物理层设备
- 网卡:连接计算机与网络的硬件接口
- 中继器:放大信号,延长传输距离(已较少使用)
提示:在实际网络部署中,双绞线和光纤是95%以上场景使用的传输介质,其他如无线电波(Wi-Fi)也很常见。
三、数据链路层(常用知识)
1. 以太网
- 最常用局域网技术,占市场90%以上
- 帧结构:
- 目的MAC地址(6字节)
- 源MAC地址(6字节)
- 类型/长度(2字节)
- 数据(46-1500字节)
- FCS校验(4字节)
2. MAC地址
- 48位(6字节) 唯一标识网络设备
- 表示为12位十六进制数(如00:1A:2B:3C:4D:5E)
- 前24位是厂商代码,后24位是厂商自定义
3. ARP协议
- 地址解析协议:将IP地址转换为MAC地址
- 工作流程:
- 查询本地ARP缓存
- 如无记录,广播ARP请求
- 目标主机回复ARP响应
- 更新ARP缓存
# 查看ARP缓存
arp -a # Windows
ip neigh show # Linux4. 交换机工作原理
- 自学习:记录源MAC地址与端口对应关系
- 转发决策:
- 目标MAC在表中 → 转发到对应端口
- 目标MAC不在表中 → 广播到所有端口(泛洪)
- 目标MAC是广播地址 → 广播到所有端口
提示:交换机通过MAC地址表实现高效数据转发,是现代局域网的核心设备。
四、网络层(常用知识)
1. IP协议核心
- 无连接、不可靠的数据报服务
- 主要功能:寻址、路由选择、分片重组
- IPv4数据包结构:
- 版本(4位)
- 首部长度(4位)
- 总长度(16位)
- 标识、标志、片偏移(用于分片)
- 生存时间TTL(8位)
- 协议(8位,标识上层协议)
- 首部校验和
- 源IP地址和目标IP地址
2. 子网划分实用知识
CIDR表示法:IP地址/网络前缀长度(如192.168.1.0/24)
常用子网掩码:
- /24 = 255.255.255.0(254个可用IP)
- /25 = 255.255.255.128(126个可用IP)
- /26 = 255.255.255.192(62个可用IP)
- /30 = 255.255.255.252(2个可用IP,常用于点对点连接)
子网划分步骤:
- 确定所需子网数量
- 计算所需主机数量
- 确定子网掩码
- 计算网络地址、广播地址和可用IP范围
3. 常用路由协议
RIP(Routing Information Protocol):
- 基于距离矢量
- 跳数作为度量值(最大15跳)
- 适用于小型网络
OSPF(Open Shortest Path First):
- 基于链路状态
- 使用Dijkstra算法计算最短路径
- 适用于中大型网络
- 支持区域划分,减少路由更新流量
4. NAT(网络地址转换)
- 解决IPv4地址短缺问题
- 工作原理:将私有IP地址转换为公有IP地址
- 常见类型:
- 静态NAT:一对一映射
- 动态NAT:多对多映射
- NAPT/PAT:多对一映射(最常用,允许多个私有IP共享一个公有IP)
# 查看NAT表(路由器)
show ip nat translations五、传输层(常用知识)
1. TCP vs UDP对比
| 特性 | TCP | UDP |
|---|---|---|
| 连接方式 | 面向连接 | 无连接 |
| 可靠性 | 可靠传输 | 不可靠传输 |
| 有序性 | 保证数据顺序 | 不保证数据顺序 |
| 流量控制 | 有(滑动窗口) | 无 |
| 拥塞控制 | 有 | 无 |
| 速度 | 较慢 | 较快 |
| 头部开销 | 20-60字节 | 8字节 |
| 适用场景 | 文件传输、Web浏览 | 视频流、游戏、DNS查询 |
2. TCP三次握手
建立连接过程:
- SYN:客户端发送SYN=1,Seq=x
- SYN-ACK:服务器回复SYN=1,ACK=1,Seq=y,Ack=x+1
- ACK:客户端发送ACK=1,Seq=x+1,Ack=y+1
为什么需要三次握手?防止历史连接请求突然到达服务器造成资源浪费。
3. TCP四次挥手
断开连接过程:
- FIN:主动方发送FIN=1,Seq=u
- ACK:被动方回复ACK=1,Seq=v,Ack=u+1
- FIN:被动方发送FIN=1,ACK=1,Seq=w,Ack=u+1
- ACK:主动方回复ACK=1,Seq=u+1,Ack=w+1
为什么需要四次挥手?TCP连接是全双工的,需要分别关闭两个方向的连接。
4. TCP可靠传输机制
- 确认应答:接收方返回ACK确认收到数据
- 超时重传:未收到确认则重传
- 滑动窗口:控制发送速率,实现流量控制
- 拥塞控制:慢启动、拥塞避免、快速重传、快速恢复
5. 端口概念
- 0-1023:知名端口(HTTP:80, HTTPS:443, FTP:21, SSH:22)
- 1024-49151:注册端口
- 49152-65535:动态/私有端口
# 查看端口使用情况
netstat -an | grep LISTEN # Linux/Mac
netstat -ano # Windows六、应用层(常用知识)
1. HTTP/HTTPS
- HTTP:超文本传输协议,明文传输
- HTTPS:HTTP over SSL/TLS,加密传输
- 常见状态码:
- 200:OK
- 301/302:重定向
- 404:Not Found
- 500:Internal Server Error
2. DNS(域名系统)
- 将域名转换为IP地址
- 查询过程:
- 本地DNS缓存
- 本地DNS服务器
- 根域名服务器
- 顶级域名服务器
- 权威域名服务器
# DNS查询工具
nslookup example.com
dig example.com3. DHCP(动态主机配置协议)
- 自动分配IP地址给网络设备
- 工作流程:
- DHCP Discover(客户端广播)
- DHCP Offer(服务器响应)
- DHCP Request(客户端请求)
- DHCP ACK(服务器确认)
4. 其他常用协议
- FTP:文件传输协议(21端口)
- SMTP/POP3/IMAP:电子邮件协议
- SSH:安全远程登录(22端口)
- SNMP:网络管理协议
七、常用网络命令
1. 基础网络诊断
# 测试网络连通性
ping example.com
# 跟踪数据包路径
traceroute example.com # Linux/Mac
tracert example.com # Windows
# 查看网络配置
ipconfig /all # Windows
ifconfig # Linux
ip addr show # Linux (推荐)2. 高级网络诊断
# 查看路由表
route print # Windows
netstat -rn # Linux/Mac
ip route show # Linux
# 查看网络连接
netstat -tuln # Linux/Mac (显示所有TCP/UDP监听端口)
netstat -ano # Windows
# 抓包分析
tcpdump -i eth0 port 80 -w capture.pcap # Linux3. DNS相关命令
# DNS查询
nslookup example.com
dig example.com +short
# 刷新DNS缓存
ipconfig /flushdns # Windows
dscacheutil -flushcache # Mac
systemd-resolve --flush-caches # Linux (systemd)八、实用技巧与建议
1. 网络故障排查步骤
- 物理层检查:网线是否连接、指示灯是否正常
- 链路层检查:MAC地址、交换机端口状态
- 网络层检查:IP配置、路由表、ping网关
- 传输层检查:端口是否开放、防火墙设置
- 应用层检查:服务是否运行、配置是否正确
2. 网络安全基本实践
- 防火墙:合理配置入站/出站规则
- 更新补丁:及时更新系统和应用
- 最小权限:只开放必要的端口和服务
- 加密传输:优先使用HTTPS、SSH等加密协议
- 网络分段:将不同安全级别的设备放在不同子网
3. 常见网络问题解决方案
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 无法上网 | IP配置错误 | 检查IP、子网掩码、网关 |
| DNS问题 | 更换DNS服务器或刷新缓存 | |
| 路由问题 | 检查路由表和网关连通性 | |
| 网速慢 | 带宽不足 | 升级带宽或优化流量 |
| 网络拥塞 | 限流或使用QoS | |
| 线路质量差 | 检查物理连接 | |
| 无法访问特定网站 | 防火墙阻止 | 检查防火墙规则 |
| DNS污染 | 更换DNS服务器 | |
| 网站宕机 | 检查网站状态 |
九、常用网络工具速查表
| 工具 | 用途 | 常用命令 |
|---|---|---|
| ping | 测试网络连通性 | ping example.com |
| traceroute | 跟踪数据包路径 | traceroute example.com |
| netstat | 查看网络连接和端口 | netstat -tuln |
| tcpdump | 网络抓包分析 | tcpdump -i eth0 port 80 |
| nslookup/dig | DNS查询 | nslookup example.com |
| curl/wget | HTTP请求工具 | curl http://example.com |
| nmap | 网络扫描 | nmap -sP 192.168.1.0/24 |
| ip/ifconfig | 网络配置 | ip addr show |
