:::tips 示例:参照 子网划分 示例

A 发现 B 不和在自己一个房间内,但是 A 又想和 B 交谈,那么该如何操作?

在我们的大房间中每个小房间之间存在过道,有一部分人专门负责在过道之间进行流动,他们负责将其他房间的邮件从房间门口拿到后,按照房间编号放到对应的房间门口

:::

介绍

路由器的功能是: 连接 LAN 并传递 LAN 之间的数据

没有引入 路由器时

路由器 - 图1

假设我们存在上方这样一个网络,网络刚刚启动

  1. 我们使用 10.1.1.3 去 ping 10.1.1.4 ,这时候会发送 ARP 请求包
    路由器 - 图2
    目标 IP 地址为 10.1.1.4 ,因为同在一个 LAN 中
  2. 我们再次去 ping 23.227.38.65
    路由器 - 图3

我们看到目标 IP 地址为: 10.1.1.1,为什么?

  • 因为 10.1.1.3 使用 子网掩码进行计算后,发现目标不是本局域网的,所以就发往了默认网关 (路由器)

路由器如何解决

我们在上面抛出一个问题,就是我们的 10.1.1.3 去 ping 23.224.38.65 时,发现目标不和自己在一个网络内,于是就发往了默认网关 10.1.1.1,那么这一过程如何处理?

现在我们加入路由器

路由器 - 图4

  1. 获取 MAC 地址,PC 发出 ARP 请求
    路由器 - 图5
  2. 路由器发出 ARP 响应,并告诉 PC 自己的 MAC 地址
    路由器 - 图6
  3. 路由器接收到请求后,发送 ARP 请求包,到目标网络寻找 MAC 地址
    路由器 - 图7
  4. 找到 目标 MAC 地址后。路由器对数据包修改后发送
    路由器 - 图8

:::info 从给的模拟资料中仿真一遍

  • ARP 发出的 IP 地址为 10.1.1.1 不是 ICMP,因为经过子网掩码运算后,我们已经知道了目标不在同 LAN 中,所以需要找网关(路由器)转发
  • 路由器收到 ARP 请求后,在自己的路由表中查询有没有相关匹配项如果有,则返回自己的 MAC 地址
  • PC 收到路由器的 MAC 地址,发出 ICMP 数据包,这时 IP 地址为: 23.227.38.1

:::

扩展

路由器

路由器的每一个端口都有一个 IP 地址和一个 MAC 地址

默认网关

一般是路由器的地址

冲突域和广播域

冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围

广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收到这个信号的设备范围称为一个广播域

能够隔离冲突域 能否隔离广播域
物理层设备【傻瓜】(中继器、集线器) × ×
链路层设备【路人】(网桥、交换机) ×
网络层设备【大佬】(路由器)

最长匹配原则

路由器是根据 网络地址 来判断数据包在自己 LAN 中哪个位置的,如果有多个 网络地址匹配,那么应该选择哪一个呢?这时候判断的原则是最长匹配,因为网络地址越长,主机地址越小,路由越具体

路由表

这是**<font style="color:#DF2A3F;">路由器</font>**中的路由表结构

路由器 - 图9

自己电脑主机的路由表

  1. pete@icebox:~$ sudo route -n
  2. Kernel IP routing table
  3. Destination Gateway Genmask Flags Metric Ref Use Iface
  4. 0.0.0.0 192.168.224.2 0.0.0.0 UG 0 0 0 eth0
  5. 192.168.224.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0

:::info Destination

在第一个字段中,我们有一个目标 IP 地址 192.168.224.0,这表示任何试图进入该网络的数据包都会通过我的以太网电缆 (eth0) 发出。如果我是 192.168.224.5 并想连接到 192.168.224.7,我会直接使用网络接口 eth0。

请注意,我们的地址为0.0.0.0,这意味着没有指定地址或地址未知。因此,例如,如果我想向 IP 地址 151.123.43.6 发送一个数据包,我们的路由表不知道它去了哪里,所以它将它表示为 0.0.0.0,因此将我们的数据包路由到网关。

Gateway

如果我们发送的数据包不在同一网络上,它将被发送到这个网关地址。它被恰当地命名为另一个网络的网关。

Genmask : 子网掩码

Flags :

  • UG — 网络已启动并且时网关
  • U — 网络已启动

Iface : 数据包输出的接口

:::

资料

自己弄得一个模拟环境思科的

路由器.rar