Lesson 37 路由器与路由选择(★★★★★)
⭐⭐⭐⭐⭐(第四章压轴)
考试重要程度:
第一部分:为什么需要路由器?
先看一个例子。
假设:
你的电脑:
markdown
192.168.1.10
要访问:
markdown
8.8.8.8
它们:
是不是:
不在一个网络?
当然。
那么:
电脑:
怎么知道:
下一步:
往哪里发送?
答案:
交给:
路由器(Router)
路由器的作用(★★★★★)
一句话:
连接不同网络,并根据 IP 地址选择数据转发路径。
★★★★★
关键词:
第二部分:交换机 VS 路由器(★★★★★)
这是考试最喜欢出的比较题。
| 交换机 | 路由器 |
|---|---|
| 数据链路层 | 网络层 |
| 看 MAC 地址 | 看 IP 地址 |
| 转发帧 | 转发 IP 数据报 |
| 连接同一局域网 | 连接不同网络 |
口诀:
交换机认 MAC,路由器认 IP。
第三部分:什么是路由?
"路由"两个字:
其实很好理解。
举个例子。
你从:
markdown
北京
去:
markdown
广州
可以:
- 坐高铁
- 坐飞机
- 自驾
到底:
走哪条路?
这就是:
路由选择(Routing) 。
互联网:
也是一样。
例如:
markdown
电脑
↓
路由器A
↓
路由器B
↓
路由器C
↓
服务器
每经过一个路由器。
都会重新决定:
下一跳(Next Hop)是谁。
★★★★★
第四部分:什么是路由表?(★★★★★)
每台路由器里面:
都有一张:
路由表(Routing Table)
可以理解成:
导航地图。
例如:
| 目标网络 | 下一跳 |
|---|---|
| 192.168.1.0/24 | 直连 |
| 192.168.2.0/24 | R2 |
| 10.0.0.0/8 | R3 |
| 其他网络 | 默认路由 |
收到数据后:
第一步:
查路由表。
第二步:
决定:
发给谁。
第五部分:默认路由(★★★★★)
假设:
路由表里:
没有:
目标网络。
怎么办?
例如:
你第一次去一个陌生城市。
不知道:
怎么走。
一般:
会先去:
汽车站、
火车站、
机场。
网络:
也是一样。
如果:
不知道:
怎么走。
就走:
默认路由(Default Route)
通常写成:
markdown
0.0.0.0/0
★★★★★
考试非常喜欢问:
默认路由的作用是什么?
答案:
当路由表没有匹配项时,按照默认路由转发。
第六部分:静态路由 VS 动态路由(★★★★★)
这是考试高频。
静态路由
管理员:
手动配置。
例如:
告诉路由器:
markdown
到10.0.0.0
走R2
特点:
- 简单
- 开销小
- 网络变化时需要人工修改
动态路由
路由器:
自动学习。
例如:
如果:
某条线路断了。
它:
自动:
寻找:
另一条路。
常见动态路由协议(了解即可):
- RIP
- OSPF
考试一般只要求知道:
动态路由可以自动更新路由表。
比较表(★★★★★)
| 静态路由 | 动态路由 |
|---|---|
| 人工配置 | 自动学习 |
| 简单 | 灵活 |
| 不自动更新 | 自动更新 |
口诀:
静态靠人,动态靠协议。
第七部分:数据包完整转发过程(★★★★★)
终于可以把第四章全部串起来了。
假设:
A:
markdown
192.168.1.10
访问:
markdown
8.8.8.8
全过程:
markdown
① 应用层产生数据
↓
② TCP 封装
↓
③ IP 加入源IP、目的IP
↓
④ 判断目标是否同一子网
如果:
是同一子网:
↓
ARP:
获取:
目标 MAC。
↓
交换机:
直接发送。
如果:
不同子网:
↓
ARP:
获取:
默认网关(路由器)的 MAC。
↓
发送给:
路由器。
↓
路由器:
查路由表。
↓
转发给下一跳。
↓
经过多个路由器。
↓
到达目标网络。
↓
ARP:
解析目标 MAC。
↓
目标主机收到。
⭐⭐⭐⭐⭐
这就是:
网络层完整工作流程。
第八部分:默认网关(★★★★★)
很多教材都会考。
什么叫:
默认网关?
其实:
就是:
本网络出口的路由器。
例如:
电脑:
markdown
IP:
192.168.1.100
网关:
markdown
192.168.1.1
以后:
凡是:
去外网。
全部:
先发给:
markdown
192.168.1.1
★★★★★
一句口诀:
出家门,先找网关。
第九部分:第四章终极思维导图(★★★★★)
markdown
网络层
│
┌──────────┼──────────┐
│ │ │
IP协议 IPv4 ICMP
│ │ │
无连接 IP地址 Ping
尽力交付 子网划分 TTL
│
▼
ARP协议
IP → MAC
│
▼
路由器
│
查路由表
│
默认路由0.0.0.0/0
│
▼
静态 / 动态路由
Lesson 38 传输层的作用(★★★★★)
考试重要程度:
⭐⭐⭐⭐⭐
这是第五章的基础课。
如果这一课没理解,后面的 TCP 就会很难。
第一部分:为什么需要传输层?
我们先回顾已经学过的内容。
前四章:
markdown
应用层
↓
传输层(今天学习)
↓
网络层(IP)
↓
数据链路层(MAC)
↓
物理层
现在有一个问题:
假设你的电脑正在同时运行:
这时:
别人发来一个数据包。
IP 能做到什么?
答案:
IP 只能把数据送到你的电脑。
但是:
电脑里有很多程序。
到底应该交给谁?
浏览器?
微信?
QQ音乐?
IP 不知道。
所以:
需要:
传输层。
第二部分:传输层的作用(★★★★★)
一句话:
传输层负责端到端(End-to-End)的通信,为应用程序提供通信服务。
★★★★★
关键词:
- 端到端通信
- 应用程序
什么叫端到端?
很多同学第一次看到这个词。
其实:
非常简单。
例如:
微信:
发消息。
真正通信的是:
markdown
你的微信
↓
对方微信
不是:
电脑和电脑。
而是:
程序和程序。
所以:
叫:
端到端通信。
★★★★★
第三部分:端口(Port)★★★★★
这是第五章第一个重点。
假设:
你的电脑:
有三个程序。
markdown
浏览器
微信
QQ音乐
每个程序:
都需要:
一个编号。
这个编号:
叫:
端口号(Port)。
★★★★★
可以理解成:
一个酒店。
markdown
酒店(电脑)
↓
101 房(浏览器)
102 房(微信)
103 房(QQ音乐)
快递到了酒店。
还要知道:
送到哪间房。
端口号:
就是:
房间号。
第四部分:IP 和端口的区别(★★★★★)
这是考试非常喜欢考的比较题。
| IP 地址 | 端口号 |
|---|---|
| 找电脑 | 找程序 |
| 网络层 | 传输层 |
| 唯一标识主机 | 唯一标识应用程序 |
口诀:
IP 找主机,端口找程序。
★★★★★
例如:
markdown
192.168.1.100
表示:
哪台电脑。
而:
markdown
80
表示:
Web 服务。
第五部分:端口号范围(★★★★★)
考试经常问。
端口号:
长度:
16 位。
所以:
范围:
markdown
0
~
65535
★★★★★
教材一般分三类:
| 范围 | 类型 |
|---|---|
| 0~1023 | 知名端口(Well-known Ports) |
| 1024~49151 | 注册端口 |
| 49152~65535 | 动态/临时端口 |
考试最常考:
0~1023 是知名端口。
第六部分:几个必须会背的端口(★★★★★)
这是期末最爱出的选择题。
| 协议 | 默认端口 |
|---|---|
| HTTP | 80 |
| HTTPS | 443 |
| FTP | 21 |
| SSH | 22 |
| DNS | 53 |
★★★★★
记忆方法:
- HTTP:80(最常见)
- HTTPS:443(安全网页)
- DNS:53(域名解析)
- FTP:21(文件传输)
- SSH:22(远程登录)
第七部分:传输层有哪些协议?
其实:
只有两个。
markdown
传输层
↓
TCP
UDP
★★★★★
后面几节课:
全部围绕:
这两个。
第八部分:TCP 和 UDP 初步认识(★★★★★)
先不用记细节。
先知道:
TCP:
像:
打电话。
特点:
- 建立连接
- 不容易丢
- 比较慢
UDP:
像:
寄普通明信片。
特点:
- 不建立连接
- 快
- 可能丢
后面:
我们会专门学习。
第九部分:完整的数据传输流程
现在:
整个网络已经串起来了。
例如:
你访问网页。
markdown
浏览器
↓
端口80(或443)
↓
TCP
↓
IP
↓
MAC
↓
网线
↓
服务器
↓
服务器80端口
↓
Web程序
是不是:
已经能看懂:
每一层:
负责什么?
第十部分:本课总结(★★★★★)
markdown
传输层
│
├── 端到端通信
├── 端口号
│ ├──0~65535
│ └──16位
├── IP 找主机
├── Port 找程序
├── TCP
└── UDP
Lesson 39 UDP 协议(★★★★★)
UDP(User Datagram Protocol,用户数据报协议)
考试重要程度:
⭐⭐⭐⭐⭐
第一部分:为什么需要 UDP?
上一课我们知道:
传输层有两个协议:
markdown
传输层
│
├── TCP
└── UDP
很多同学会问:
已经有 TCP 了,为什么还要 UDP?
答案很简单:
因为有些应用更需要"快",而不是"绝对可靠"。
举个生活例子
假设你正在看世界杯直播。
如果:
一个画面丢了。
你希望:
- 等待 5 秒补回来?
还是:
- 直接播放下一帧?
答案当然是:
直接播放。
直播最重要的是:
流畅。
而不是:
100% 不丢。
所以:
直播、
语音、
在线视频,
很多都会使用 UDP。
第二部分:什么是 UDP?(★★★★★)
教材定义:
UDP 是一种无连接、不可靠的传输层协议。
这一句话必须背。
里面有两个关键词:
⭐⭐⭐⭐⭐
- 无连接
- 不可靠
第三部分:UDP 的特点(★★★★★)
考试最喜欢考。
① 无连接(★★★★★)
什么意思?
UDP:
发送数据之前:
不用建立连接。
例如:
发短信。
直接:
发。
不用:
先打电话。
所以:
UDP:
发送速度快。
② 不可靠(★★★★★)
UDP:
发送出去以后:
就结束了。
不会:
检查:
有没有收到。
例如:
寄一张明信片。
寄出去:
就不知道:
到了没有。
所以:
UDP:
可能:
- 丢包
- 重复
- 乱序
★★★★★
③ 首部简单(★★★★★)
UDP:
首部:
只有:
8 字节。
TCP:
首部:
至少:
20 字节。
所以:
UDP:
处理速度快。
占用资源少。
④ 面向数据报(★★★★★)
什么意思?
假设:
应用层:
发送:
100 字节。
UDP:
就发送:
100 字节。
不会:
拆分、
合并。
一句口诀:
来多少,发多少。
第四部分:UDP 工作过程
例如:
微信语音。
markdown
语音数据
↓
UDP
↓
IP
↓
网络
↓
对方
如果:
中间:
丢了:
一点。
怎么办?
UDP:
不会:
重发。
继续:
发送:
下一段。
所以:
你听语音:
偶尔:
"卡一下"。
但是:
不会:
停在那里:
一直等。
第五部分:哪些应用使用 UDP?(★★★★★)
考试经常问。
① DNS(★★★★★)
为什么?
因为:
DNS:
数据很小。
如果:
查询失败。
重新查一次。
很快。
所以:
DNS:
通常:
使用 UDP。
② 视频直播
例如:
- B站直播
- 抖音直播
要求:
实时。
允许:
少量丢包。
③ 网络电话
例如:
- 微信语音
- QQ语音
宁愿:
偶尔:
断一句。
也不要:
一直等待。
④ 网络游戏
例如:
王者荣耀。
人物位置:
实时更新。
如果:
一个位置:
丢了。
下一秒:
新的位置:
马上来了。
没必要:
重发。
第六部分:UDP 首部(了解)
教材一般简单了解。
只有四个字段:
markdown
源端口
目的端口
长度
校验和
不用死记顺序。
知道:
UDP 首部很简单 即可。
第七部分:UDP 优点与缺点(★★★★★)
优点
✅ 快
✅ 开销小
✅ 实时性好
缺点
❌ 不可靠
❌ 不保证顺序
❌ 不重传
❌ 不流量控制
❌ 不拥塞控制
★★★★★
第八部分:TCP VS UDP(第一次比较)(★★★★★)
这是考试必考。
| TCP | UDP |
|---|---|
| 面向连接 | 无连接 |
| 可靠 | 不可靠 |
| 速度较慢 | 速度快 |
| 首部至少20字节 | 首部8字节 |
| 有重传 | 无重传 |
★★★★★
口诀:
TCP 求稳,UDP 求快。
第九部分:本课总结(★★★★★)
markdown
UDP
│
├── 传输层协议
├── 无连接
├── 不可靠
├── 首部8字节
├── 面向数据报
├── 速度快
└── DNS、直播、语音、游戏
第十部分:和之前知识串起来
例如:
你玩一局《王者荣耀》。
整个过程:
markdown
游戏程序
↓
UDP
↓
IP
↓
ARP
↓
MAC
↓
交换机
↓
路由器
↓
互联网
↓
服务器
如果:
某个数据包:
丢失。
UDP:
怎么办?
答案:
什么也不做,继续发送后续数据。
这就是它快的原因。