网络基础
学习 网络基础 相关知识
网络基础
学习目标
通过学习本章节,您将能够:
-
理解计算机网络的基本概念和作用
-
掌握OSI七层模型和TCP/IP四层模型的基本框架
-
了解常见网络设备的功能和应用场景
-
熟悉IP地址的基础知识和分类方法
-
掌握常见网络协议的基本工作原理
-
理解基本的网络故障排除方法
-
基础计算机操作知识
-
基本的计算机硬件认识
-
简单的数据通信概念
一、网络的基本概念
1.1 什么是计算机网络?
计算机网络是由硬件设备和通信软件组成的系统,用于在不同位置的计算机之间传输数据和共享资源。计算机网络的主要目的是实现信息的快速传递、资源共享和分布式处理。
1.2 网络拓扑结构
网络拓扑结构是指网络中设备之间的物理或逻辑连接方式。常见的网络拓扑结构包括:
- 总线型拓扑:所有设备连接到一条中央传输线路上
- 星型拓扑:所有设备连接到中央集线器或交换机
- 环形拓扑:设备形成一个闭合的环路
- 树形拓扑:层次化的星型结构
- 网状拓扑:每个设备都与其他多个设备直接连接
1.3 网络的主要功能
- 数据传输:快速、可靠地传输各种形式的数据
- 资源共享:共享硬件资源(如打印机、存储设备)和软件资源
- 分布式处理:将任务分配到不同计算机上协同完成
- 提高系统可靠性:通过冗余设计提高系统的可用性
- 集中管理:远程监控和管理网络设备和资源
二、OSI 七层模型与 TCP/IP 五层模型
2.1 为什么需要分层模型
网络通信极其复杂——涉及物理信号、地址寻址、路由选路、可靠传输、数据格式等几十个问题。分层模型把这些问题拆成独立的层,每层只关心自己的职责。好处:
- 解耦:改应用层协议不影网络层路由
- 标准化:不同厂商的设备按同一层规范对接
- 排障定位:问题出在哪一层一目了然
2.2 两种模型对比
OSI 七层模型 TCP/IP 五层模型 数据单元 设备
───────────── ───────────────── ──────── ──────
7. 应用层 ─┐
6. 表示层 ─┤──→ 5. 应用层 Data —
5. 会话层 ─┘ HTTP/FTP/DNS/SMTP/SSH
──────────────── ─────────────────
4. 传输层 ───→ 4. 传输层 Segment —
TCP/UDP(端口)
──────────────── ─────────────────
3. 网络层 ───→ 3. 网络层 Packet 路由器
IP/ICMP/ARP(IP 地址)
──────────────── ─────────────────
2. 数据链路层 ───→ 2. 数据链路层 Frame 交换机
Ethernet/MAC(MAC 地址)
──────────────── ─────────────────
1. 物理层 ───→ 1. 物理层 Bit 集线器
网线/光纤/无线电
OSI 是理论模型(7 层),TCP/IP 是实际使用的模型(4 或 5 层)。面试和工作中主要用 TCP/IP 五层模型。
2.3 各层详解
第 1 层 — 物理层
职责:在物理介质上传输原始比特流(0 和 1)。
| 要素 | 说明 |
|---|---|
| 传输介质 | 双绞线(网线)、光纤、无线电(Wi-Fi) |
| 信号类型 | 电信号、光信号、电磁波 |
| 关键概念 | 带宽(bps)、延迟、信噪比 |
| 常见设备 | 集线器(Hub)、中继器、网线、光纤收发器 |
| 排障命令 | ethtool(网卡状态)、ip link(链路 up/down)、看网线灯 |
第 2 层 — 数据链路层
职责:在相邻节点间可靠传输数据帧,处理物理地址(MAC)。
| 要素 | 说明 |
|---|---|
| 寻址方式 | MAC 地址(48 位,如 aa:bb:cc:dd:ee:ff) |
| 数据单元 | 帧(Frame) |
| 核心协议 | Ethernet、Wi-Fi(802.11)、VLAN(802.1Q)、ARP |
| 常见设备 | 交换机(Switch)、网桥 |
| 排障命令 | arp -a(ARP 表)、ip neigh(邻居表)、tcpdump -i eth0 arp |
第 3 层 — 网络层
职责:实现跨网络的数据包路由和转发,处理逻辑地址(IP)。
| 要素 | 说明 |
|---|---|
| 寻址方式 | IP 地址(IPv4: 32 位,IPv6: 128 位) |
| 数据单元 | 数据包(Packet) |
| 核心协议 | IP、ICMP(ping/traceroute)、IGMP(组播) |
| 常见设备 | 路由器(Router)、三层交换机 |
| 排障命令 | ping、traceroute、ip route、tcpdump -i eth0 icmp |
第 4 层 — 传输层
职责:提供端到端(进程到进程)的可靠或不可靠数据传输。
| 要素 | TCP | UDP |
|---|---|---|
| 连接 | 面向连接(三次握手) | 无连接 |
| 可靠性 | 确认+重传+排序 | 不保证 |
| 流量控制 | 滑动窗口 | 无 |
| 拥塞控制 | 慢启动/拥塞避免 | 无 |
| 典型应用 | HTTP、SSH、MySQL | DNS、视频流、游戏 |
| 端口 | 源端口 + 目的端口(16 位,0-65535) |
排障命令:ss -tlnp(TCP 监听)、ss -an \| grep ESTAB(已建立连接)、tcpdump -i eth0 port 80
第 5 层 — 应用层
职责:为应用程序提供网络服务接口,处理具体应用协议。
| 协议 | 端口 | 用途 | 运维关注 |
|---|---|---|---|
| HTTP/HTTPS | 80/443 | Web 服务 | 状态码、延迟、证书 |
| DNS | 53 | 域名解析 | 解析时间、缓存 |
| SSH | 22 | 远程管理 | 密钥管理、端口 |
| FTP/SFTP | 21/22 | 文件传输 | 被动模式、防火墙 |
| SMTP | 25/587 | 邮件发送 | 队列积压 |
| NTP | 123 | 时间同步 | 时间偏差告警 |
排障命令:curl -v、dig、openssl s_client、telnet host port
2.4 分层排障法
真正的排障不是先选”自上而下”还是”自下而上”——第一步永远是定界。
真实起点:用户反馈”应用打不开了”
第一步:定界 — 问题在服务器还是网络?
在服务器本地测(SSH 上去):
$ curl -v http://localhost:8080/
┌─ 能通 → 服务本身没问题,问题在「外部」→ 走网络排查
└─ 不通 → 服务挂了/端口没起 → 走服务排查
第二步:按定位结果分支排查
分支 A:服务本身不通(curl localhost 失败)→ 自顶向下
应用层:服务进程在吗?→ systemctl status / ps aux
传输层:端口监听了吗?→ ss -tlnp | grep 8080
防火墙挡了吗?→ iptables -L -n
网络层:(本地排查通常不是网络层问题)
链路层:(同上)
物理层:(同上)
分支 B:网络不通(curl localhost 能通,外部访问不通)→ 逐跳排查
本机 → 网关 → 目标
─────────────────
1. 本机自检
ip addr ← IP 配了吗?
ip route ← 默认网关对吗?
ping 网关IP ← 能到网关吗?
2. 到目标
ping 目标IP ← ICMP 通吗?(不通也可能被防火墙挡)
traceroute 目标IP ← 断在哪一跳?
3. 端口排查
telnet 目标IP 8080 ← 端口能连上吗?
curl -v http://目标IP:8080/ ← HTTP 层面能响应吗?
4. 源端是否有问题
换一台机器 curl ← 是只有这台机器不行还是所有机器都不行?
分支 C:时好时坏 → 最大可能是资源瓶颈或中间设备
现象:服务偶尔超时,一会又自己恢复
排查方向:
- 服务端 CPU/内存是否打满(top/vmstat)
- 连接数是否耗尽(ss -s)
- TIME-WAIT 是否堆积(ss -an | grep TIME-WAIT | wc -l)
- 中间负载均衡/防火墙是否有连接限制
2.5 常见面试问题
Q1: OSI 七层和 TCP/IP 四层的区别?
“OSI 是理论模型,先有模型后有协议,分得更细(7 层,会话层和表示层在实际中很少单独讨论)。TCP/IP 是先有协议后有模型,是 Internet 实际使用的标准。五层模型是教学中最常用的折中——把物理层和数据链路层分开讲。
面试时重点记五层:物→链→网→传→应。每层对应的协议和设备张口就来。”
Q2: 一个 HTTP 请求经过哪些层?
“从浏览器输入 URL 开始:
- 应用层:浏览器构造 HTTP GET 请求报文
- 传输层:TCP 三次握手建立连接,HTTP 报文被分段,加上 TCP 头(源端口/目的端口)
- 网络层:TCP 段被封装为 IP 数据包,加上 IP 头(源 IP/目的 IP)
- 数据链路层:IP 包被封装为以太网帧,加上 MAC 头
- 物理层:帧转为电信号/光信号在线缆上传输
到达服务器后反向解封装——每层剥掉自己的头部,最终应用层拿到 HTTP 请求。”
Q3: TCP 和 UDP 的区别?什么时候用 UDP?
“TCP 像打电话——先接通、确认对方在听、保证每句话都传到了。UDP 像发短信——发了就不管了,对方收没收到不保证。
用 UDP 的场景:实时性比可靠性更重要——视频通话、直播、DNS 查询、游戏同步。丢几个包画面卡一下,比等重传导致的延迟更可接受。”
Q4: 为什么 TCP 握手是三次而不是两次或四次?
“两次不够——客户端发 SYN,服务端回 SYN+ACK,如果这时候连接就建立,服务端不知道客户端是否收到了自己的 SYN。三次是保证双方都确认对方的收发能力的最小次数。四次没必要——第三次握手(ACK)已经可以携带数据了。“
四、常见网络设备
4.1 集线器(Hub)
- 工作在物理层
- 简单地转发接收到的信号到所有端口
- 不区分数据包的目标地址
- 容易造成网络冲突,效率较低
4.2 交换机(Switch)
- 工作在数据链路层
- 根据MAC地址转发数据帧
- 提供内部网络的连接
- 可以减少网络冲突,提高网络效率
4.3 路由器(Router)
- 工作在网络层
- 根据IP地址进行数据包的路由
- 连接不同的网络
- 提供网络隔离和安全功能
4.4 防火墙(Firewall)
- 监控和控制网络流量
- 根据预定义的规则允许或拒绝连接
- 保护网络免受未授权访问
- 可以工作在网络层、传输层或应用层
五、IP地址基础知识
5.1 IPv4地址
- 32位二进制数,通常表示为四个十进制数,每个数的范围是0-255
- 例如:192.168.1.1
- 地址组成:网络部分 + 主机部分
5.2 IP地址分类
- A类地址:第一个字节范围1-126,用于大型网络 网络部分:第一个字节 主机部分:后三个字节
- B类地址:第一个字节范围128-191,用于中型网络 网络部分:前两个字节 主机部分:后两个字节
- C类地址:第一个字节范围192-223,用于小型网络 网络部分:前三个字节 主机部分:最后一个字节
- D类地址:第一个字节范围224-239,用于多播
- E类地址:第一个字节范围240-255,保留用于研究
5.3 私有IP地址范围
- A类私有地址:10.0.0.0/8
- B类私有地址:172.16.0.0/12(172.16.0.0-172.31.255.255)
- C类私有地址:192.168.0.0/16(192.168.0.0-192.168.255.255)
5.4 子网掩码和子网划分
子网掩码
- 用于区分IP地址中的网络部分和主机部分
- 与IP地址进行逻辑与运算得到网络地址
- 例如:255.255.255.0表示前三个字节为网络部分,最后一个字节为主机部分
CIDR表示法
- 使用斜线后面跟数字表示网络位数
- 例如:192.168.1.0/24表示前24位为网络部分
- 提供了更灵活的IP地址分配方式
六、网络协议基础
6.1 常见应用层协议
HTTP协议
- 超文本传输协议
- 用于Web浏览器和Web服务器之间的通信
- 基于TCP协议,默认端口80
- 无状态协议
HTTPS协议
- HTTP over SSL/TLS
- 提供加密通信,确保数据传输的安全性
- 默认端口443
- 防止数据被窃听和篡改
FTP协议
- 文件传输协议
- 用于在客户端和服务器之间传输文件
- 默认端口20(数据连接)和21(控制连接)
- 明文传输,安全性较低
SSH协议
- 安全外壳协议
- 提供加密的远程登录会话
- 默认端口22
- 替代Telnet,提供更高的安全性
DNS协议
- 域名系统
- 将域名解析为IP地址
- 默认端口53
- 使人们可以使用易记的域名而不是IP地址
6.2 传输层协议
TCP协议
- 传输控制协议
- 面向连接的可靠协议
- 提供流量控制、拥塞控制、差错恢复等机制
- 适用于对可靠性要求高的应用
UDP协议
- 用户数据报协议
- 无连接的不可靠协议
- 不提供流量控制、差错恢复等机制
- 适用于对实时性要求高的应用,如视频会议、游戏等
七、网络排查常用命令
7.1 ping — 网络连通性测试
# 基础用法
ping 8.8.8.8
# 指定次数后自动停止(Windows默认4次,Linux持续发送)
ping -c 4 8.8.8.8
# 指定间隔(默认1秒)
ping -i 0.5 baidu.com
# 洪水ping(仅root,用于压力测试)
ping -f 192.168.1.1
# 指定数据包大小
ping -s 1472 8.8.8.8
参数详解:
| 参数 | 含义 | 场景 |
|---|---|---|
-c N | 发送 N 个包后自动停止 | 避免无限运行,脚本中使用 |
-i N | 每隔 N 秒发送一个包(默认 1s,root 可设 <0.2) | 快速测试时调小间隔 |
-s N | 设置 ICMP 数据包大小(默认 56 字节) | 测试 MTU 问题(ping -s 1472 + 28=1500) |
-W N | 超时等待 N 秒 | 应对高延迟链路 |
-f | 洪水模式,发完即发(仅 root) | 网络压力/丢包测试 |
-D | 打印时间戳 | 对比不同时间段延迟 |
常见问题判断:
ping: unknown host— DNS 解析失败,检查/etc/resolv.conf100% packet loss— 网络不通或防火墙拦截 ICMPDestination Host Unreachable— 路由不可达Request timeout— 目标可达但无应答(可能被防火墙丢弃)
7.2 ss — 查看网络连接状态(替代 netstat)
# 查看所有 TCP 连接
ss -t
# 查看所有 TCP/UDP 监听端口
ss -tuln
# 查看所有连接(包括进程信息)
ss -tulnp
# 按状态过滤
ss -t state established
ss -t state listening
# 查看指定端口的连接
ss -tun | grep :80
# 查看某个具体连接的信息
ss -tunp dst 192.168.1.100:443
参数详解:
| 参数 | 含义 | 示例 |
|---|---|---|
-t | 只显示 TCP 连接 | ss -t |
-u | 只显示 UDP 连接 | ss -u |
-l | 只显示 LISTEN(监听)状态的端口 | ss -tln |
-n | 不解析服务名(显示端口号而非 http/ssh) | ss -tln |
-p | 显示使用该连接的进程 PID 和名称 | ss -tlnp(需要 root 查看全部) |
-a | 显示所有连接(包括 listening 和 established) | ss -tan |
-4 | 只显示 IPv4 连接 | ss -tln4 |
-6 | 只显示 IPv6 连接 | ss -tln6 |
-o | 显示 TCP 计时器信息 | ss -tunpo |
-r | 尝试解析主机名 | ss -tr |
ss 与 netstat 对比:
- ss 更快(直接从内核 netlink 读取,netstat 读 /proc)
- ss 输出信息更丰富(TCP 状态机、计时器、内存)
- 推荐始终优先使用
ss(netstat 已弃用)
输出状态含义:
LISTEN— 端口正在监听,等待连接ESTAB— 已建立连接TIME-WAIT— 主动关闭后等待(2MSL,约 60s)CLOSE-WAIT— 被动关闭后等待应用关闭SYN-SENT/SYN-RECV— 三次握手过程中
7.3 dig — DNS 解析查询
# 基础 DNS 查询
dig baidu.com
# 查询指定记录类型
dig baidu.com A # IPv4 记录
dig baidu.com AAAA # IPv6 记录
dig baidu.com MX # 邮件交换记录
dig baidu.com NS # 域名服务器记录
dig baidu.com CNAME # 别名记录
dig baidu.com TXT # 文本记录(SPF/DKIM 等)
# 指定 DNS 服务器查询
dig @8.8.8.8 baidu.com
dig @114.114.114.114 google.com
# 简短模式(只显示答案)
dig baidu.com +short
# 反向解析(IP → 域名)
dig -x 8.8.8.8
# 追踪域名解析路径
dig baidu.com +trace
# 批量查询多个域名
dig -f /path/to/domains.txt +short
参数详解:
| 参数 | 含义 | 示例 |
|---|---|---|
@server | 指定 DNS 服务器 | dig @8.8.8.8 baidu.com |
A/AAAA/MX/NS/CNAME/TXT/SOA | 指定记录类型 | dig baidu.com MX |
+short | 简略输出(只返回 IP 地址) | dig baidu.com +short |
+trace | 从根服务器开始追踪解析路径 | dig baidu.com +trace |
-x IP | 反向查询(IP → 域名) | dig -x 8.8.8.8 |
+noall +answer | 只输出答案部分 | dig baidu.com +noall +answer |
nslookup 替代: dig 是 nslookup 的更强大替代品。旧系统可能只有 nslookup:
nslookup baidu.com
nslookup baidu.com 8.8.8.8 # 指定 DNS 服务器
dig 输出解读:
;; QUESTION SECTION: ← 问什么
;baidu.com. IN A
;; ANSWER SECTION: ← 答案
baidu.com. 600 IN A 39.156.66.10
;; AUTHORITY SECTION: ← 权威 DNS 服务器
;; SERVER: 127.0.0.53#53 ← 实际使用的 DNS 服务器
7.4 tcpdump — 网络抓包(最强大的网络排查工具)
# 抓取指定接口的所有包(需要 root)
tcpdump -i eth0
# 只抓 N 个包后自动停止
tcpdump -i eth0 -c 100
# 不解析主机名(避免 DNS 查询干扰)
tcpdump -i eth0 -n
# 按端口过滤
tcpdump -i eth0 port 80
tcpdump -i eth0 port 443
# 按主机过滤
tcpdump -i eth0 host 192.168.1.1
tcpdump -i eth0 src host 10.0.0.1 # 只抓来源
tcpdump -i eth0 dst host 10.0.0.1 # 只抓目标
# 按协议过滤
tcpdump -i eth0 icmp # 只抓 ICMP(ping)
tcpdump -i eth0 tcp # 只抓 TCP
tcpdump -i eth0 udp # 只抓 UDP
# 保存到文件以便后续分析(Wireshark 可打开)
tcpdump -i eth0 -w capture.pcap
tcpdump -i eth0 -w http.pcap port 80
# 读取保存的抓包文件
tcpdump -r capture.pcap
# 抓取三次握手包
tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0'
# 显示包内容(ASCII 可读)
tcpdump -i eth0 -A port 80
# 显示包内容(HEX + ASCII)
tcpdump -i eth0 -X port 80
# 实际排查常用组合
tcpdump -i any port 80 -nn -c 50 # 抓 50 个 HTTP 包
tcpdump -i eth0 icmp -nn # 看 ping
tcpdump -i eth0 port 53 -nn # 看 DNS 查询
tcpdump -i eth0 host 10.0.0.5 and port 3306 -w mysql.pcap # 抓 MySQL 流量
参数详解:
| 参数 | 含义 | 场景 |
|---|---|---|
-i any/eth0 | 指定网络接口(any=所有接口) | 不确定网卡名时用 -i any |
-n | 不解析主机名(显示 IP) | 避免 DNS 查询干扰抓包 |
-nn | 不解析主机名和端口名(显示 IP:PORT) | 生产环境推荐 |
-c N | 抓 N 个包后自动停止 | 避免无限抓取 |
-s 0 | 抓取整个包(默认 262144 字节,一般不用改) | 确保不截断 |
-w file.pcap | 保存为 pcap 文件 | 给 Wireshark 分析 |
-r file.pcap | 读取已保存的 pcap 文件 | 事后分析 |
-A | 以 ASCII 格式打印包内容 | 看 HTTP 请求内容 |
-X | HEX + ASCII 双格式打印 | 分析非文本协议 |
port N | 按端口过滤 | port 22 只看 SSH 流量 |
host IP | 按 IP 过滤 | host 192.168.1.1 |
src/dst | 指定来源或目标 | src net 10.0.0.0/8 |
常见排查场景:
- 检查端口通不通 →
tcpdump -i any port 8080,然后客户端发起请求,看有没有 SYN 包到达 - DNS 问题 →
tcpdump -i any port 53 -nn,看客户端是否收到 DNS 响应 - 连接被谁丢的 → 在两端分别抓包:A 发 SYN 没收到 SYN-ACK → 中间防火墙丢弃
- HTTP 响应慢 →
tcpdump -i any port 80 -A,看请求和响应之间的时间间隔
7.5 nc — 网络调试瑞士军刀
# TCP 端口扫描(看端口是否开放)
nc -zv 192.168.1.100 22
nc -zv 192.168.1.100 20-30 # 端口范围
# 建立 TCP 连接并手动发送数据
nc 192.168.1.100 8080
# 然后输入 HTTP 请求:
# GET / HTTP/1.1
# Host: example.com
# (按两次回车发送)
# 监听端口(作为简易服务端)
nc -l 1234
# 传输文件(发送端)
nc -l 1234 < file.txt
# 传输文件(接收端)
nc 192.168.1.100 1234 > received.txt
# UDP 测试
nc -zu 192.168.1.100 53
nc -u 192.168.1.100 1234
# 配合超时(避免 hang)
nc -w 3 192.168.1.100 22
参数详解:
| 参数 | 含义 | 示例 |
|---|---|---|
-z | 只扫描端口,不发送数据 | nc -zv host 22 看端口是否开放 |
-v | 详细输出 | nc -zv host 22 显示连接结果 |
-l | 监听模式(作为服务端) | nc -l 1234 |
-u | 使用 UDP 而非 TCP | nc -u host 1234 |
-w N | 连接超时 N 秒 | nc -w 3 host 22 |
-p PORT | 指定源端口 | nc -p 1000 host 22 |
-k | 监听模式保持连接 | nc -lk 1234 |
nc vs telnet: nc 比 telnet 更强,不需要先启动 telnet 服务,支持 TCP/UDP,可传输文件。
7.6 mtr — 结合 ping + traceroute 的路由路径分析
# 基础用法(默认持续运行)
mtr 8.8.8.8
# 指定发包数量后自动退出
mtr -r -c 10 8.8.8.8
# 不解析主机名
mtr -n 8.8.8.8
# 报告模式(适合脚本统计数据)
mtr -r -c 50 --report-wide 8.8.8.8 > mtr_report.txt
# ICMP 模式(默认,部分路由会丢弃)
mtr -I 8.8.8.8
# TCP SYN 模式(更快通过防火墙)
mtr -T -P 80 baidu.com
# UDP 模式
mtr -u 8.8.8.8
参数详解:
| 参数 | 含义 | 场景 |
|---|---|---|
-r | 报告模式,显示统计后退出 | 生成 MTR 报告给同事/供应商 |
-c N | 每个跳点发 N 个包 | -c 10 快速评估网络质量 |
-n | 不解析主机名 | 更快显示结果 |
-I | ICMP echo 模式 | 默认模式 |
-T | TCP SYN 模式 | 绕过 ICMP 防火墙 |
-P PORT | 指定目标端口(配合 -T) | -T -P 443 模拟 HTTPS 流量 |
-u | UDP datagram 模式 | 另一种绕过方式 |
mtr 输出解读:
Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 10 0.3 0.3 0.2 0.4 0.0
2. 10.0.0.1 0.0% 10 1.2 1.5 1.1 2.1 0.3
3. 172.16.0.1 0.0% 10 2.1 2.3 1.9 3.0 0.4
4. ??? 100.0% 10 0.0 0.0 0.0 0.0 0.0
5. 203.0.113.1 0.0% 10 12.3 13.1 11.9 15.2 1.1
Loss%— 该跳点的丢包率Snt— 发送包数Last/Avg/Best/Wrst— 最近/平均/最好/最差延迟(ms)StDev— 方差异常(数据抖动)???/100% Loss— 路由设备不响应(不一定表示故障,可能是防火墙策略)
常见场景:
- 最后一跳无丢包,中间跳丢包 → 中间设备配置了限速,不影响实际连接
- 中间跳和最后一跳都丢包 → 链路拥塞或路由问题
- 延迟在某跳突然飙升 → 跨运营商/跨国链路的自然延迟,或该跳设备性能不足
7.7 场景化排查速查
| 问题 | 第一步 | 第二步 | 第三步 |
|---|---|---|---|
| 网站打不开 | ping 目标IP | tcpdump port 80/443 | mtr 目标 |
| SSH 连不上 | nc -zv 目标 22 | ss -tln | grep 22 | 检查 /etc/ssh/sshd_config |
| DNS 解析失败 | dig @8.8.8.8 域名 +short | cat /etc/resolv.conf | tcpdump port 53 |
| 端口不通 | ss -tlnp | grep 端口 | nc -zv 目标 端口 | 检查防火墙 iptables |
| 连接时断时续 | ping -c 100 目标 看丢包率 | mtr -r -c 50 目标 | 检查网线/网卡日志 |
8.1 网络速度与带宽的混淆
误区:网络带宽等于实际下载速度。 正确理解:带宽通常以比特/秒(bps)表示,而下载速度通常以字节/秒(B/s)表示。1字节=8比特,所以理论上下载速度大约是带宽除以8。此外,实际下载速度还受到网络延迟、服务器响应等因素影响。
8.2 IP地址与MAC地址的使用场景
误区:认为IP地址和MAC地址在网络通信中可以互换使用。 正确理解:IP地址工作在网络层,用于跨网络的通信;MAC地址工作在数据链路层,用于同一网络内部的通信。在网络通信中,两者各司其职,缺一不可。
8.3 路由器与交换机功能混淆
误区:认为路由器和交换机功能相同。 正确理解:路由器工作在网络层,可以连接不同网络并进行路由转发;交换机工作在数据链路层,主要用于同一网络内部的数据交换。两者在网络架构中扮演不同角色。
九、与相关概念的关系
9.1 网络基础与网络安全的关系
网络基础知识是学习网络安全的前提。了解网络协议的工作原理,有助于理解安全漏洞的产生原因和防护措施的设计思路。
9.2 网络基础与系统管理的关系
系统管理工作中经常需要配置网络设置、排查网络故障。掌握网络基础知识,可以更高效地完成系统的网络配置和维护工作。
9.3 网络基础与云计算的关系
云计算环境中的资源访问、数据传输都依赖于网络。理解网络基础知识,有助于设计和管理云计算环境中的网络架构。
十、知识检查
10.1 选择题
-
OSI模型的哪一层负责数据包的路由和转发? A. 物理层 B. 数据链路层 C. 网络层 D. 传输层
-
以下哪个是私有IP地址范围? A. 11.0.0.0/8 B. 172.16.0.0/12 C. 193.168.0.0/16 D. 200.100.50.0/24
-
交换机工作在OSI模型的哪一层? A. 物理层 B. 数据链路层 C. 网络层 D. 传输层
10.2 简答题
- 简述TCP和UDP的主要区别。
- 简述OSI七层模型的主要作用。
- 什么是子网掩码?它的作用是什么?
10.3 实践题
- 尝试使用ping、ipconfig/ifconfig等命令查看本地网络配置。
- 尝试理解您所在网络的拓扑结构。
十一、进阶学习
11.1 推荐学习资源
- 《计算机网络》(谢希仁 著)- 全面介绍计算机网络基础理论
- 《TCP/IP详解》系列书籍 - 深入理解TCP/IP协议族
- Cisco网络学院课程 - 提供系统化的网络技术学习
11.2 下一步学习方向
- 网络设备配置与管理
- 网络故障排除技术
- 网络安全基础
- 网络规划与设计
十二、参考资源
- RFC文档:TCP/IP协议族的官方标准文档
- 互联网工程任务组(IETF)网站:https://www.ietf.org/
- Cisco网络基础教程:https://www.cisco.com/c/en/us/training-events/training-certifications/training/training-landing.html
十三、更新历史
| 版本号 | 更新日期 | 更新内容 | 更新人 |
|---|---|---|---|
| v1.0.0 | 2023-12-08 | 初始版本 | 网络技术团队 |