TCP
三次握手-四次挥手

IPv4
CIDR Classless Inter-Domain Routing 无类别域间路由,不使用ABC,而是使用网络位来划分
VLSM Variable Length Subnet Mask(可变长子网掩码)
Class A Private IP:"内网专用、不允许在公网路由"的地址段
10.0.0.0/8
前 8 bit 是网络位(Network Prefix)固定不变
后 24 bit 是主机位(Host bits)可变
A类 多主机 0开头
主机数量:大于B的

比较特殊
因为0开头为本地;127开头为回路测试,所以A类可用范围:1头到126尾
1.0.0.0 -- 126.255.255.255
私有IP 10.0.0.0/8 即 10.0.0.0 到 10.255.255.255
B类 均衡 10开头
主机数量:2^16 - 2 = 65,534

128头到191尾
私有IP 172.16.0.0/12 即 172.16.0.0 ~ 172.31.255.255
C类 少主机 110开头
主机数量:2^8 - 2 = 254
192头到223尾
私有IP 192.168.0.0/16 即 192.168.0.0 ~ 192.168.255.255
D组播 1110xxxx 224头到239尾
E保留 1111xxxx 240头到255尾
路由类型
路由器的基本工作就是:
- 收到数据包,看 目标IP(Destination IP)
- 去查 路由表(Routing Table),找到"下一跳 + 出接口"
- 匹配到路由,转发
- 匹配不到,丢弃

直连路由:接口配IP后,接口有对应路由信息了
静态路由:手动配
去往Destination IP 10.0.0.0/8的静态路由,下一跳地址NextHop为 23.0.0.3,转发出接口1Interface 为 GE0/0/1。
策略路由 "人为控制 按规则分流、灵活"
默认路由 没路就走它(兜底)
动态路由
内部路由
协议距离矢量RIP
链路状态OSPF
外部路由协议
路径矢量BGP
用户输入Google.com,访问服务器

实际流程:
①DNS查询 准备
- 浏览器查缓存
- 系统 DNS 缓存
- 没有 → 发起 DNS 查询
bash
www.google.com 的 IP 是多少?
设目标:DNS Server 8.8.8.8
👉 至此DNS请求准备好,但仍需ARP协助打通内部流程,才能正式发送
② ARP阶段
当 DNS 请求要发出去时:
Step 2.1:判断目标在哪
目标 DNS不在本地网段,必须交给默认网关10.10.10.1(本地网络出口)
可是不知道网关MAC
因为数据帧发送必须携带目标MAC,所以需要知道网关的MAC
👉 ARP就是为寻找网关MAC
Step 2.2:ARP(找网关MAC)
Step 2.2.1 ARP 请求
PC → 交换机 → 全网泛洪:谁IP是10.10.10.1
PC 生成 ARP Request 后,将其封装为以太网帧进行发送。
帧进入交换机后,交换机先记录 源MAC地址与入端口。
当交换机识别 该帧的目的MAC 为广播地址(FF:FF:FF:FF:FF:FF)时,进行泛洪转发。
Step 2.2.2 ARP 应答(网关 → 交换机 → 单播给 PC)
网关收到请求后,会生成ARP Reply,报文中携带自身 IP 与 MAC 地址,目的MAC为 PC的MAC地址,单播,回复给发起请求的 PC。
交换机收到该帧后,记录网关与入端口,并更新MAC地址表。
MAC表 查询目标MAC,匹配到PC端口进行单播。
PC收到ARP应答后,将"网关IP → 网关MAC"写入本地ARP缓存表。
至此ARP解析完成。
至此DNS请求正常进行封装,就能发出去
③ DNS请求真正发出(封装完成)
bash
IP层:IP负责"最终目的地"
• 源IP:PC(如 10.10.10.10)
• 目的IP:8.8.8.8(DNS服务器)
MAC层:MAC负责"下一跳"
• 源MAC:PC MAC
• 目的MAC:默认网关MAC(10.10.10.1)
④ 路由器三层转发
Step 4.1:拆二层帧 拿IP
Step 4.2:在路由表中查找 目的IP:8.8.8.8
- ✔ 优先级规则
1.最长前缀匹配(最具体路由优先)
2. 若无匹配 → 使用默认路由 0.0.0.0/0
Step 4.3:选择下一跳
Step 4.4:重写源、目的的MAC 重新封装二层
Step 4.5:逐跳转发 路由器A → 路由器B → ISP → Google DNS
⑤ DNS响应返回
DNS服务器返回结果: www.google.com → 142.xxx.xxx.xxx
⑥ HTTP/HTTPS 连接
知道了该服务器的IP,开始进行连接
⑦ 页面返回
2