为什么 arp 查询请求使用广播,而不是把 table 集中放在网关?

2016 年 10 月 3 日
 raiz

ARP 攻击很常见,也很容易实施,使用网关实现了 DHCP 服务,很容易得到可信的 ARP 表,在网关提供一个查询服务不是可以更安全和高效解决 2/3 层地址转换吗?虽然 https://zh.wikipedia.org/wiki/ARP%E6%AC%BA%E9%A8%99 这里有提到部分网关有实现,为什么一开始设计的时候是设计成分布式的,而不是集中式的,出于什么考虑?

3812 次点击
所在节点    程序员
15 条回复
tabris17
2016 年 10 月 3 日
了解一下以太网的发展历史对理解 ARP 协议有帮助

以太网是个共享总线的对等网络,没有中心服务器是其优势所在
hxsf
2016 年 10 月 3 日
分布式是优势
另外,不先 arp ,哪来的网关
jasontse
2016 年 10 月 3 日
蛋生鸡的问题, table 靠什么来维护?
julyclyde
2016 年 10 月 3 日
除了“不先 arp 哪来的网关”以外,还有就是本地通信并不需要网关,所以不能依赖一个不必须存在的组件
salmon5
2016 年 10 月 3 日
这样,第一次怎么和网关通信,没有 mac 地址?
onice
2016 年 10 月 3 日
ARP 地指表你想人工去维护吗?
wsy2220
2016 年 10 月 3 日
网关不是必须的
raysonx
2016 年 10 月 3 日
网关只在跨网通信时才需要,同一网段內的通信不需要网关。
flyfishcn
2016 年 10 月 3 日
楼上的回答都不全、没有抓住重点,
1 :不是所有网络都需要网关
2 :不用 arp 怎么获得网关的 mac 地址?
3 ,最重要的一点, arp 不用广播了,网关的 arp 表怎么来的?网关可不一定必须是 dhcp 服务器啊,并且同一子网里如果有多个 dhcp 服务器呢?如果是静态地址的网络呢?
tabris17
2016 年 10 月 3 日
@flyfishcn 网关是网络层, ARP 协议是链路层。楼主将两者放在一起只是个类比,其实想问的是,为什么以太网没有中心节点,而不是纠结这些细节
luoqeng
2016 年 10 月 3 日
flyfishcn
2016 年 10 月 3 日
@tabris17 参见第一条,二层内通讯不需要中心节点,三层通讯必须要中心节点。还有什么疑问么?并且本身这个话题的标题也是一个提问,为什么在你那就成不需要纠结的事情了?贴主自己都没有指定是单一网络还是互联网络,请问我的回答有问题么?
dream7758521
2016 年 10 月 3 日
当时认为局域网内的机器是可信的
flyfishcn
2016 年 10 月 3 日
@dream7758521 不管是不是可信,也需要 ARP 广播。就算是给网关管理,也是 ARP 广播,就算真的是靠 DHCP 提供数据, DHCP 也是基于广播的。既然离不开广播,为何要设计的复杂而不直接由主机自己 ARP 广播。
WalkingEraser
2016 年 10 月 4 日
静态的可以不广播,人工维护。动态的可以约定一个中心节点的类似东西,这样 Mac 查询是简单了,通信量也最少,但这很明显要设计一套规则动态维护 table ,而这个规则的复杂度和优缺点就需要衡量了。这样也就可以和洪泛广播做对比了,然后就看谁更符合应用场景呗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/310370

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX