目录
交换机工作原理
MAC自学习过程
-
初始状态:
- 刚启动的交换机的MAC地址表是空的。
-
学习过程:
- 当交换机收到一个数据帧时,会检查该帧的源MAC地址和接收端口。
- 如果该源MAC地址不在MAC地址表中,交换机会将该地址与接收端口的对应关系添加到MAC地址表中。
- 如果该源MAC地址已经在MAC地址表中,但记录的端口与当前接收端口不同,交换机会更新该MAC地址的端口信息。
-
转发过程:
- 交换机会检查数据帧的目的MAC地址。
- 如果目的MAC地址在MAC地址表中有对应的端口,交换机会将数据帧转发到该端口。
- 如果目的MAC地址不在MAC地址表中,交换机会将数据帧广播到除接收端口以外的所有端口。
总结:学习其实就是记录源mac地址和转发端口的映射关系,以便于转发时直接使用这个映射,而不需要广播。
路由器工作原理
路由信息表组成部分
目标网络地址 | 子网掩码 | 下一跳地址 | 出接口 | 跃点数/距离 | 路由类型 | 有效时间/更新时间 |
---|---|---|---|---|---|---|
192.168.1.0 | 255.255.255.0 | 0.0.0.0 | eth0 | 0 | 静态路由 | - |
10.0.0.0 | 255.255.255.0 | 10.0.0.1 | eth1 | 1 | 静态路由 | - |
0.0.0.0 | 0.0.0.0 | 10.0.0.254 | eth2 | 0 | 默认路由 | - |
172.16.0.0 | 255.255.0.0 | 172.16.1.1 | eth3 | 2 | 动态路由(OSPF) | 10:00:00 |
路由选择:先找网络号相同的,若有多个,则找最长网络前缀匹配长度的,若匹配长度相同,则再找距离最近的。
路由器发决策
-
步骤1:检查目标IP地址与路由表匹配
查找路由表中记录的ip(网络号)和目标ip对应的网络号相同 的记录(和子网掩码进行**【与运算】),如有多个表项满足,则在这些记录里面找到 最长前最匹配的表项,如果一个都没有,则找到配置的默认路由**表项。
-
步骤2:确定下一跳和端口
找到匹配的路由表条目后,路由器确定下一跳路由器的IP地址和和对应的出口接口
注意:如果路由表中没有配置默认路由 ,而且目标 IP 地址也没有与任何路由表中的条目完全匹配(即网络号完全相同),那么路由器将无法确定如何转发该数据包,可能会向发送端返回 ICMP 错误消息,例如"目标网络不可达"或"目标主机不可达"。
ARP工作原理
ARP(Address Resolution Protocol,地址解析协议)是一种网络协议,用于将IP地址解析为对应的MAC地址。ARP在IPv4网络中非常重要,因为网络设备需要知道目标设备的MAC地址才能在以太网上发送数据帧。
工作流程:
-
获取目标IP地址:应用层或网络层协议(如DNS、DHCP等)提供了目标设备的IP地址。
-
检查ARP缓存:设备A首先会检查其ARP缓存表,看看是否已有目标IP地址对应的MAC地址。如果没有找到对应条目,设备A需要发出ARP请求。
-
发送ARP请求 :设备A广播 一个ARP请求帧,其中包含发送者的IP地址和MAC地址,以及目标设备的IP地址,目标MAC地址为:
FF:FF:FF:FF:FF:FF
Ethernet Header Destination MAC: FF:FF:FF:FF:FF:FF (Broadcast) Source MAC: 00:11:22:33:44:55 (Device A's MAC) Type: 0x0806 (ARP) ARP Header Hardware type: 1 (Ethernet) Protocol type: 0x0800 (IP) Hardware size: 6 Protocol size: 4 Opcode: 1 (ARP Request) Sender MAC: 00:11:22:33:44:55 (Device A's MAC) Sender IP: 192.168.1.1 (Device A's IP) Target MAC: 00:00:00:00:00:00 (Unknown) Target IP: 192.168.1.2 (Device B's IP)
-
接收ARP请求并发送ARP响应 :根据ip匹配到最终的设备B,设备B收到ARP请求帧后会创建一个ARP响应帧,其中包含目标设备的IP地址和MAC地址。然后设备B将ARP响应以单播方式发送回设备A。
Ethernet Header Destination MAC: 00:11:22:33:44:55 (Device A's MAC) Source MAC: 66:77:88:99:AA:BB (Device B's MAC) Type: 0x0806 (ARP) ARP Header Hardware type: 1 (Ethernet) Protocol type: 0x0800 (IP) Hardware size: 6 Protocol size: 4 Opcode: 2 (ARP Reply) Sender MAC: 66:77:88:99:AA:BB (Device B's MAC) Sender IP: 192.168.1.2 (Device B's IP) Target MAC: 00:11:22:33:44:55 (Device A's MAC) Target IP: 192.168.1.1 (Device A's IP)
-
更新ARP缓存:设备A接收到ARP响应后,将设备B的IP地址和MAC地址对应关系添加到其ARP缓存表中。ARP缓存表条目有一个过期时间,通常为几分钟,过期后会被删除。
-
数据传输:设备A现在知道了设备B的MAC地址,可以在以太网上发送数据帧,帧中包含目标设备B的MAC地址。
配置双机三层互联(静态路由方式)
网络拓扑
配置IP地址
在 RouterA配置
shell
enable
config t
#配置端口1
interface fastethernet 0/0
ip address 192.168.1.254 255.255.255.0
no shutdown
#配置端口2
interface fastethernet 0/1
ip address 10.0.1.1 255.0.0.0
no shutdown
在 RouterB 上配置
shell
enable
config t
#配置端口1
interface fastethernet 0/0
ip address 192.168.2.254 255.255.255.0
no shutdown
#配置端口2
interface fastethernet 0/1
ip address 10.0.2.1 255.0.0.0
no shutdown
配置静态路由
在 RouterA 上配置静态路由到 RouterB:目的ip是192.168.2.0子网内的数据包经过路由器A后会转发到10.0.2.1设备(路由器B)上
shell
# 目的ip 目的ip掩码 下一跳ip
ip route 192.168.2.0 255.255.255.0 10.0.2.1
在 RouterB 上配置静态路由到 RouterA:目的ip是192.168.1.0子网内的数据包经过路由器B后会转发到10.0.1.1设备(路由器A)上
shell
# 目的ip 目的ip掩码 下一跳ip
ip route 192.168.1.0 255.255.255.0 10.0.1.1
测试结果:
踩坑:
- 注意路由信息的设置,下一跳指的是下一个设备入接口的ip地址,而不是当前路由器的出接口ip地址。
- 执行添加路由信息ip route的指令后,查看show ip route发现没有生效,有可能当前路由器ip和配置的目标ip处于同一个网段的原因,这种情况要么是路由器ip配置错了,要么是目标ip配置错了。
- 直通线用于连接不同设备,老式的路由器之间不能用直通线(实线)连接 ,否则会出现爆红无法连接,正确方法是用交叉线(虚线)连接。