电脑如何检测路由器?

网络工程 路由器
2021-07-09 18:58:21

路由器是否总是广播“我在这里”(例如,每个时间段)并且计算机侦听或路由器侦听并且一旦计算机广播“这里有路由器吗?” 它有反应吗?这听起来像一个愚蠢的问题,但我找不到答案。虽然我知道当计算机已经知道路由器的存在时,它会首先请求 IP 地址。

4个回答

看看您的问题,您似乎混淆了 DHCP 和路由。

需要明确的是,它们都完成不同的任务,实际上彼此没有任何关系。DHCP 是一种为客户端动态分配 IP 的方法。路由允许您从一个网络到达另一个网络。

回答您的问题。您的计算机可以通过两种方式知道网络上有路由器。要么是因为您手动分配了具有默认网关(默认网关是路由器)的 IP 地址/子网掩码,要么是因为计算机已设置为通过 DHCP 请求 IP,并且在它从服务器收到的 DHCP 报价中,它包含一个客户端使用的默认网关。

客户端不会尝试与路由器进行任何通信,直到它配置了 IP 地址和默认网关(再次手动或通过 dhcp)。然后,计算机将查看自己的 IP 地址和子网掩码,以确定它尝试与之通信的 IP 地址是否在其本地网络上。如果是,它将尝试将数据直接发送到设备,如果不是,则它将查看其配置的默认网关(路由器)并将其发送到那里。然后路由器会将流量发送到目的地,因为它有一条路由,或者发送到另一个可能知道目的地网络所在位置的路由器。

使用 IPv4,计算机并不真正了解路由器。主机将有一个已配置的网关,它将向该网关发送以不同网络为目的地的任何流量。网关可能是路由器,但不一定。网关可以手动配置,也可以通过 DHCP 分配。在手动或动态分配网关之前,主机没有配置的网关。这意味着在分配一个网络之前,它无法与不同的网络通信。

另一方面,IPv6增加了ND(Neighbor Discovery),ND的一部分包括RA(Router Advertisements)。路由器可以配置为通告它们的存在和本地网络前缀。这允许 IPv6 主机在没有 DHCP 的情况下自行配置,尽管有一个适用于 IPv6 的 DHCP 版本。

您问题的最佳答案是 DHCP(动态主机配置协议)。当计算机或任何网络设备连接到网络时,它会发送带有广播 IP 地址(255.255.255.255)的DHCP Discover Message来获取自己的 IP 地址。DHCP服务器接收到DHCP DISCOVER消息来响应客户机与DHCP OFFER消息如果我们仔细查看此消息,我们将查看其中的路由器选项字段在这里,主机或任何想要获取 IP 地址的网络设备实际上是从该字段中学习默认网关的 IP 地址。

在此处输入图片说明

现代以太网控制器具有链路状态检测功能。他们可以检测何时建立到其以太网端口的链接。

IPv4 和 IPv6 的情况略有不同。首先是 IPv4 方案。

当以太网电缆插入时,操作系统通过链路状态检测来检测到这一点。如果接口配置为 DHCP,则客户端将发出 DHCP 请求。在典型的家庭/小型企业网络中,路由器将运行 DHCP 服务器,该服务器将为客户端分配一个 IP 地址,并告诉客户端要使用的子网掩码、默认网关和 DNS 服务器。在较大的网络中,路由器和 DHCP 服务器可能位于不同的设备上。

如果没有找到 DHCP 服务器,客户端可能会继续尝试和/或它可能会使用“自动私有 IP 寻址”分配本地 IP。

IPv6 稍微复杂一些。与 IPv4 节点不同,IPv6 节点总是有一个它们自己分配的链接本地地址。对于 Internet 访问,他们需要全局范围地址和相关设置。IPv6 自动配置有三种主要的可能性。

  1. 仅 RA。路由器发出通告,告诉客户端链路上的前缀是什么以及路由器向哪些网络提供路由(如果适用,包括默认网关)。广告被发送到链路上的所有 IPv6 节点(这在技术上被归类为多播,但实际上它是 IPv6 最接近广播的东西)并通知客户端他们应该使用的前缀和路由器的地址。客户端可以发出一个请求,以提示 RA 比路由器发送的时间早。客户端根据前缀构建自己的 IPv6 地址。较旧的系统使用基于其 MAC 地址的单个地址,具有隐私扩展的更现代系统将使用多个短期地址。不幸的是 RA 不提供 DNS 服务器配置,
  2. 具有无状态 DHCPv6 的 RA。此处的寻址由 RA 处理,如上所述,但 DNS 服务器详细信息(以及可能的其他不太重要的配置)由 DHCP 服务器分发以响应客户端请求。
  3. 有状态的 DHCPv6,这很像 IPv4 的 DHCP。