在我的本地网络中,我有以下设置。
我的笔记本电脑的ipconfig
输出是
我还通过以太网将一台物理打印机连接到路由器。这台打印机有一个http
接口,允许您更改其 IP、子网和网关。这是当前设置。
如您所见,即使打印机位于不同的网络 10.0.0.100 上,我的笔记本电脑 (10.1.1.15) 仍可以访问它。是因为笔记本电脑和打印机共享同一个默认网关吗?这些是目前正在“幕后”进行的步骤吗?
- 笔记本轮胎看10.0.0.100
- 笔记本电脑无法看到它,因为 10.0.0.100 位于不同的网络上
- 笔记本电脑向路由器请求 10.0.0.100
- 路由器通常会进入外部互联网世界来查找 10.0.0.100,但由于打印机已“注册”自身,因此路由器能够找到 10.0.0.100 处连接的以太网打印机。
如果这些步骤准确,为什么我无法在路由器的“附加设备”部分看到打印机?
我还尝试了几种不同的打印机设置,结果如下。
printer setup 1 -- laptop successfully reaches http interface at 10.1.10.100
ip - 10.1.10.100
subnet- 255.255.255.0
default gateway - 192.168.1.1
printer setup 2 -- laptop fails to reach http interface at 10.0.0.100
ip - 10.0.0.100
subnet- 255.255.255.0
default gateway - 192.168.1.1
printer setup 3 (setup described above) -- laptop successfully reaches http interface at 10.0.0.100
ip - 10.0.0.100
subnet- 255.255.255.0
default gateway - 10.1.10.1
10.1.10.100
设置 1是否由于打印机位于同一网络中,我的笔记本电脑是否无需通过路由器即可访问?
答案1
这好像是路由器的一个神器。
从笔记本电脑的角度来看,这是会发生的情况,它涉及将 IP 地址转换为 MAC 地址的 ARP 协议。第 3 层处理 IP 地址。IP 地址在第 2 层转换为 MAC 地址,然后在第 1 层通过线路发送出去。
- 笔记本电脑确定 10.0.0.100 不在同一个网络上。
- 笔记本电脑发出ARP请求,将请求发送给默认网关:
Who has 10.1.10.1?
- 路由器响应:
10.1.10.1 is at <Router’s MAC Address>
- 笔记本电脑向路由器发送请求。
这就是奇怪的地方:
- 路由器必须通过 WAN 接口发送 ARP 请求和 LAN 接口:
Who has 10.0.0.100?
- 打印机响应:
10.0.0.100 is at <Printer’s MAC address>
- 路由器通过 LAN 接口向打印机发送请求。
- 打印机接收请求。
- 打印机确定10.1.10.15 不在同一个网络上。
- 打印机发送ARP请求,将响应发送给默认网关:
Who has 10.1.10.1?
- 路由器响应:
10.1.10.1 is at <Router’s MAC Address>
- 打印机向路由器发送响应。
- 路由器发送 ARP 请求:
Who has 10.1.10.15?
- 笔记本电脑响应:
10.1.10.15 is at <Laptop’s MAC address>
- 路由器向笔记本电脑发送响应。
这是我唯一能想到的,这意味着路由器在第 5 步时的行为有点奇怪,因为它在 WAN 和 LAN 接口上都查找目标地址。除此之外,这是网络上基本 IP 通信的发生方式。
而不是步骤 5。路由器可能准备将请求从 WAN 接口发送到互联网,但路由器中的某些机制会将请求转发回 LAN 接口。由于这是 SoHo 路由器,我认为不会有任何设置可以做到这一点。但谁知道呢。
为了证明这一点,请安装 Wireshark 并查看是否看到上述数据包流。具体来说,请在网络跟踪中查找步骤 5 和 6。