增加了网工相关笔记,还有一点linux和git

This commit is contained in:
2026-06-23 22:30:02 +08:00
parent ac33e1197b
commit 0292147403
32 changed files with 726 additions and 6 deletions
@@ -0,0 +1,132 @@
# MAC 与 ARP
## MAC
MAC 一般指 **MAC 地址**,不是我们平时说的一种独立协议。
MAC 地址的主要作用是:
- 在二层网络中唯一标识网卡或接口
- 让交换机能够根据目的 MAC 地址进行转发
常见特点:
- MAC 地址长度为 48 位,通常写成 12 个十六进制数
- 前 24 位一般表示厂商标识,后 24 位一般由厂商分配
- 二层交换机维护 **MAC 地址表**,记录“某个 MAC 地址对应哪个接口”
交换机转发数据帧时的大致过程:
1. 先学习源 MAC 地址,并记录进入接口
2. 查看目的 MAC 地址是否在 MAC 地址表中
3. 如果表中有记录,就从对应接口转发
4. 如果表中没有记录,就进行泛洪
## ARP
ARP 是 **地址解析协议**,作用是把 **IP 地址解析为 MAC 地址**
ARP 的核心用途:
- 主机已知目标 IP 地址,但不知道目标 MAC 地址时,先通过 ARP 查询
- 查询到 MAC 地址后,再封装二层帧并发送数据
要注意:
- ARP 不是“基于 MAC 的协议”,而是“根据 IP 找 MAC 的协议”
- ARP 不是用来路由的
- 二层交换机转发主要看 **MAC 地址表**
- 主机或三层设备在发送数据前,往往先通过 **ARP 表** 找到下一跳或目标主机的 MAC 地址
ARP 工作过程大致如下:
1. 主机先查看本地 ARP 表中有没有目标 IP 对应的 MAC
2. 如果没有,就发送 ARP Request 广播
3. 目标主机收到后,返回 ARP Reply 单播
4. 发送方学到对方的 MAC 地址,并写入 ARP 表
5. 后续数据通信就可以正常封装并发送
## MAC 地址表与 ARP 表的区别
MAC 地址表:
- 维护设备:二层交换机
- 作用:记录 MAC 地址与接口的对应关系
- 用途:决定二层帧从哪个端口转发
ARP 表:
- 维护设备:主机、路由器、三层交换机
- 作用:记录 IP 地址与 MAC 地址的对应关系
- 用途:发送数据前完成二层封装
## 一句话理解
- **MAC 地址表解决“帧往哪一个接口走”**
- **ARP 表解决“这个 IP 对应哪个 MAC”**
## 常见问题
### 1. 为什么同网段通信需要 ARP
因为发送方虽然知道对方 IP,但真正发二层数据帧时,还需要知道对方的 MAC 地址。
### 2. 为什么跨网段通信也会用到 ARP
因为主机把数据交给网关时,实际封装的是 **网关接口的 MAC 地址**,所以仍然要先解析网关的 MAC。
### 3. ARP 广播会不会很多
会。ARP 请求是广播报文,所以网络里主机很多时,ARP 广播也会增多。
## 常见厂商命令
### 华为
查看 MAC 地址表:
```bash
display mac-address
```
查看 ARP 表:
```bash
display arp
```
查看接口简要信息:
```bash
display interface brief
```
查看某个 VLAN 的 MAC 学习情况:
```bash
display mac-address vlan 10
```
### 思科 Cisco
查看 MAC 地址表:
```bash
show mac address-table
```
查看 ARP 表:
```bash
show arp
```
或:
```bash
show ip arp
```
查看接口状态:
```bash
show ip interface brief
```
## 复习时容易写错的点
- MAC 地址不是“身份协议”,更准确地说是二层地址
- ARP 不是“绑定设备 IP 与 MAC 方便二层交换时的路由”,更准确地说是“把 IP 解析为 MAC,方便后续二层封装与转发”
- 交换机转发数据帧主要依据 MAC 地址表,不是 ARP 表
@@ -0,0 +1,7 @@
标题三个都是属于生成树协议
实际生产中无需太关心生成树的算法,知道效果即可
厂商默认的设备在机器芯片算力足够的情况下都是开启的
主要是作用是防止回环/广播风暴,当遇到链路某个节点疯狂转发相同包时,对包的转发请求进行丢弃
配置流程大概是开启相关生成树协议,指定边缘端口edge和根端口root,保护根端口
@@ -0,0 +1,9 @@
这是VLAN的三个配置
Access:通常对应终端例如PC、打印机
Trunk:通常对应交换机之间的链路
Hybrid:同时兼顾Access和Trunk的功能,应用场景较少
关于VLAN TAG
Access:接收时根据接口配置打VLAN TAG,发送时剥离VLAN TAG
Trunk:对于没有VLAN TAG的,打上Native Vlan TAG,对于不允许放行的,接收或发送时丢弃
Hybrid:自定义哪些VLAN打TAG,哪些VLAN不打TAG
@@ -0,0 +1,3 @@
Vlan协议是最常用的协议
主要用来隔离业务逻辑或减少广播区域的作用
用VLAN号来区别不同的区域
@@ -0,0 +1,3 @@
通常用于链路带宽不足够的时候
可以将两条物理链路在逻辑上汇聚成一条逻辑链路,起到增大带宽/提高可靠性的作用