计算机网络-配置双机三层互联(静态路由方式)

目录

交换机工作原理

MAC自学习过程

  1. 初始状态

    • 刚启动的交换机的MAC地址表是空的。
  2. 学习过程

    • 当交换机收到一个数据帧时,会检查该帧的源MAC地址和接收端口
    • 如果该源MAC地址不在MAC地址表中,交换机会将该地址与接收端口的对应关系添加到MAC地址表中。
    • 如果该源MAC地址已经在MAC地址表中,但记录的端口与当前接收端口不同,交换机会更新该MAC地址的端口信息。
  3. 转发过程

    • 交换机会检查数据帧的目的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地址才能在以太网上发送数据帧。

工作流程:

  1. 获取目标IP地址:应用层或网络层协议(如DNS、DHCP等)提供了目标设备的IP地址。

  2. 检查ARP缓存:设备A首先会检查其ARP缓存表,看看是否已有目标IP地址对应的MAC地址。如果没有找到对应条目,设备A需要发出ARP请求。

  3. 发送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)
    
  4. 接收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)
    
  5. 更新ARP缓存:设备A接收到ARP响应后,将设备B的IP地址和MAC地址对应关系添加到其ARP缓存表中。ARP缓存表条目有一个过期时间,通常为几分钟,过期后会被删除。

  6. 数据传输:设备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配置错了。
  • 直通线用于连接不同设备,老式的路由器之间不能用直通线(实线)连接 ,否则会出现爆红无法连接,正确方法是用交叉线(虚线)连接。
相关推荐
->yjy9 小时前
计算机网络(第一章)
网络·计算机网络·php
摘星星ʕ•̫͡•ʔ10 小时前
计算机网络 第三章:数据链路层(关于争用期的超详细内容)
网络·计算机网络
战术摸鱼大师16 小时前
计算机网络-理论部分(二):应用层
计算机网络
C++忠实粉丝19 小时前
计算机网络socket编程(2)_UDP网络编程实现网络字典
linux·网络·c++·网络协议·计算机网络·udp
勤奋的小王同学~1 天前
(计算机网络)期末
服务器·网络·计算机网络
小镇敲码人2 天前
【计算机网络实验】之静态路由配置
网络·计算机网络·智能路由器
代码欢乐豆2 天前
计算机网络在线测试-概述
计算机网络
helloWorldZMY2 天前
超文本传输协议(HTTP)与超文本传输安全协议(HTTPS)
网络协议·计算机网络·http·https
helloWorldZMY2 天前
传输控制协议(TCP)和用户数据报协议(UDP)
网络协议·tcp/ip·计算机网络·udp