Mad*_*ter 29
默认路由(又名网关地址)必须由能够将数据包转发到互联网其余部分的东西拥有,并且愿意这样做。它不必是拥有它的事物的“主要”IP 地址(无论这意味着什么)。它可以是在两个或多个设备之间浮动的逻辑地址,并且在高可用性设置中通常是这样。
为了使路由工作,唯一的要求是,无论当前拥有并公布地址的设备,该设备都可以并且将会路由流量。
Tom*_*iie 15
网关的 IP 地址可以是子网中任何有效的主机 IP 地址,即不是网络地址本身,也不是广播地址。该 IP 地址不需要属于单个计算机或路由器,它可以是多个网关使用的“浮动”IP 地址。查看有关HSRP、VRRP、GLBP或CARP的维基百科文章。
例如,当子网为 172.16.23.0/25 时,则:
网关必须是这些有效主机地址中的任何一个,例如 172.16.23.65。您的计算机的设置将是,例如:
现在添加第一跳冗余协议之一,实际网关(路由器)可以具有 IP 地址 172.16.23.1 和 172.16.23.2,但使用虚拟 IP 地址 172.16.23.65 将自己显示为子网的默认网关.
小智 9
您使用中的“逻辑实体”有点令人困惑。但我会尽力回答。
根据我的经验,IP 配置中的网关通常是一个物理设备。虽然它不一定是传统意义上的计算机(它也可以是网络设备),但它必须是设备。
您可能知道,默认网关服务的目的是充当所有请求的转发实体,a.) 计算机在其路由表中还没有,或者有一个条目指示系统将请求转发到恰好是网关的 IP 和/或 b.) 在广播域之外。在两台主机位于同一广播域(即由交换机创建的网络拓扑)的情况下,从不使用默认网关,因为系统可以使用子网的广播地址来查找拥有特定 IP 地址的系统的 MAC 地址。
简而言之,要回答您的问题,从技术上讲,您可以将默认网关设置为连接网络上的任何 IP 地址。Windows 或大多数其他操作系统不会阻止您,因为它们通常不执行 TCP/IP 详细信息的验证。如果您正在设置它,那么您很可能在技术上精通,可以理解其中的区别。但是,如果是设备的IP地址无法转发,那么会导致依赖路由的应用程序(即Web浏览器)出错,因为该设备不会准备路由表或路由服务转发请求。
但是,如果我错了,比我更有经验的人应该能够轻松纠正我。
TL;DR - 很可能是物理设备。
路由表条目将子网解析为网关或网络适配器。
专用网络上设备的典型路由表可能,如果您省略不必要的东西,看起来像
0.0.0.0/0 via 192.168.0.1
192.168.0.0/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
对于每个目的地,最具体的路由获胜,因此子网路由优先于子网中地址的默认路由。
网关地址依次通过路由表解析,路由表决定了它被赋予的网络接口以及在较低层上的寻址。
因此,对于到 的数据包1.1.1.1
,在路由表中查找目的地,返回具有网关的默认路由。再次查找网关,返回以太网接口。
以太网具有 MAC 地址,因此对网关地址进行 ARP 查找,网关的 MAC 地址用于传出数据包(它仍然在其 IP 标头中使用正确的目标地址)。
其他低级传输的工作方式不同,例如 PPP 链接有一个“对等地址”,因此它们的设备路由使用网络掩码 /32,并且它们跳过 ARP 解析,只通过 PPP 链接将数据包作为“广播”发送。
一些 IP 堆栈需要手动创建设备路由,这使得这一点更加明显:
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route add default via 192.168.0.1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3868 次 |
最近记录: |