子网工作方式的语义

JSStuball

假设我将配置了IP和子网掩码的host1连接到了路由器。1.2.3.4255.255.255.0

以下语句在语义上是绝对正确的吗?

只有在所有连接接口的接口配置地址按位AND与host1的子网掩码不等于host1的网络地址时,路由器才会将host1发送的数据包转发到其默认网关。”?

尤其是,如果目标地址与host1在同一子网中,例如1.2.3.50,但在本地网络上不存在,那么路由器是否永远不会将其转发到默认网关仍然是真的吗?

最后,如果我(荒唐地)/0host1选择一个子网掩码,这是否有效地阻止了主机的整个Internet?因为路由器将充当交换机并向所有连接的接口(gateawy接口除外)发送每个数据包垃圾邮件,并且从不向其默认网关转发任何内容?

用户名

“只有在所有连接接口的接口配置地址按位AND与host1的子网掩码不等于host1的网络地址的情况下,路由器才会将host1发送的数据包向下转发到其默认网关。”?

在传统的IP路由中,是的。数据包转发是通过从路由表中选择最具体的匹配路由来完成的(“连接接口”与“默认网关”之间没有特殊区别,它们都是标准路由)。因此,如果路由器有两个与数据包匹配的路由,一个路由用于0.0.0.0/0(默认网关),另一1.2.3.0/24路由用于(本地子网),则后者总是获胜。

尽管您应该注意,路由器不一定具有默认网关(尤其是在所谓的“默认自由区域”中,这实际上意味着它们对于所有内容都具有更特定的路由)。

另外,我说“传统IP路由”是因为路由器可能做的不只是基于目标的路由匹配。例如,在IPv6中,某些系统支持与和目标匹配的路由例如你可以有路线from ::/0 to ::/0 via <gw1>from 2001:db8::/48 to ::/0 via <gw2>

(在IPv4和IPv6中)实现基于策略的路由也很常见,该路由可能会按协议或防火墙标记匹配数据包。如果路由器有两个上游(两个默认路由),则通常希望使用策略路由来确保从上游1接收到的数据包将其答复发送到相同的上游1,即使路由表更喜欢上游2。

特别是,如果目标地址与host1在同一子网中,例如1.2.3.50,但在本地网络上不存在,那么路由器是否永远不会将其转发到默认网关,这是否仍然正确?

是的。如果路由表说目的地是本地的,但路由器未能收到ARP / NDP答复,它将不会退回到另一条不太具体的路由–它会立即放弃并返回某种ICMP错误,可能是“目的地”。主机无法访问”。

(目的地通常与源不在同一个网络中,什么都不会影响。即使这意味着将数据包发送到与到达的端口相同的接口,路由器的行为也一样。)

最后,如果我(荒谬地)为host1选择了/ 0的子网掩码,则路由器将充当交换机并将每个数据包发送到所有连接的接口(gateawy接口除外),并且永不向下转发任何内容。daccess-ods.un.org daccess-ods.un.org它的默认网关?

更改主机上的子网掩码对路由器没有影响。路由器不知道其他主机上配置了什么子网掩码。它的行为将取决于其自身接口的配置方式。(反之亦然,主机不知道路由器的配置方式。)

如果直接将路由器配置为在某个接口上具有/ 0子网掩码,则它绝对不会像交换机一样开始工作。它仍然充当路由器,但是如果以前具有默认路由,则现在仅具有两个默认路由–其中一个恰好声称所有主机在指定接口上都是本地的。

如果路由器喜欢第二条默认路由,您仍然会看到通常的“本地子网”行为:路由器将继续尝试直接在此接口上对每个目的地进行ARP / NDP(假设它是诸如以太网/ Wi-Fi之类的广播接口) ,直到收到ARP答复并获知目标的MAC地址后,它才继续转发数据包。

而且,如果将主机配置为具有/ 0子网掩码,则基本上会发生相同的事情:两条默认路由,其中​​一条是本地的,因此主机将尝试对每个目标进行ARP查询,然后失败。(主机和路由器之间的唯一区别是主机不会像路由器那样转发接收到的数据包。否则,它们以几乎相同的方式处理路由表。)

最后,如果我(荒唐地)为host1选择了/ 0的子网掩码,是否有效地阻止了整个主机的访问?

通常,是的,因为主机永远不会在非本地目的地的ARP查询中成功。

但是,您可以让路由器欺骗响应这些查询–一种称为“代理ARP”的功能。启用此功能后,当主机尝试对某个远程主机进行ARP查询时,它将改为学习本地路由器的MAC地址,从这一点来看,一切似乎都可以正常工作,就好像主机具有正常的网关路由一样。(唯一的区别是主机最终将拥有巨大的ARP缓存。)

当主机认为它在标准子网(例如,/ 24)上,但实际上无法将以太网帧发送到除本地路由器以外的其他任何设备时,将更常用此方法。托管公司可能会将其交换机配置为丢弃除“受信任”路由器端口(端口隔离)之间的所有数据包(端口隔离),然后在路由器上启用代理ARP。这样一来,即使是同一子网中客户之间的流量,也可以根据路由器的防火墙规则(通常会绕过它们)进行过滤。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Hashmap及其在后台的工作方式

来自分类Dev

Hashmap及其在后台的工作方式

来自分类Dev

难以理解stack()的工作方式

来自分类Dev

Java Arraylist清除:clear()的工作方式

来自分类Dev

委托工作方式

来自分类Dev

mahout的推荐评估者的工作方式

来自分类Dev

Action在Play框架中的工作方式

来自分类Dev

了解kbuild构建过程的工作方式

来自分类Dev

打字稿对象投射的工作方式

来自分类Dev

热代码交换的工作方式

来自分类Dev

==的工作方式以及.NET内部的作用

来自分类Dev

了解c#属性的工作方式

来自分类Dev

了解编译器的工作方式

来自分类Dev

了解fork()系统调用的工作方式

来自分类Dev

对Java同步的工作方式感到困惑

来自分类Dev

以下JavaScript Scope的工作方式

来自分类Dev

关于结构的指针及其工作方式

来自分类Dev

了解JavaScript原型的工作方式

来自分类Dev

方法调用的工作方式

来自分类Dev

了解内存分配的工作方式(LLVM)

来自分类Dev

.is(“ visible”)和.is(“:visible”)的工作方式不同

来自分类Dev

sleep()在PHP中的工作方式

来自分类Dev

设置和克隆的工作方式不同

来自分类Dev

R语言的工作方式

来自分类Dev

'\ n'符号在python中的工作方式

来自分类Dev

了解此Python Decorator的工作方式

来自分类Dev

ChildNode的工作方式

来自分类Dev

了解CPU的工作方式

来自分类Dev

linux:grep的工作方式