$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.122.0 dev ens3 proto kernel scope link src 192.168.122.202
local 192.168.122.202 dev ens3 proto kernel scope host src 192.168.122.202
broadcast 192.168.122.255 dev ens3 proto kernel scope link src 192.168.122.202
谢谢。
发布于 2019-03-27 19:10:01
我现在试着回答你所有的问题。
首先,您应该查看ip(8)
手册,并花点时间将该手册作为在此解释阅读。通过阅读一些有人花了时间和精力在Unix类操作系统中共享宝贵信息的手册,你可以学到很多东西。
在第一个条目中,127.0.0.0是否表示环回地址的网络?是广播IP地址吗?
是。127.0.0.0
地址表示网络地址(网络的第一个地址)。这是ipv4的概念定义。
两个回送广播条目的区别是什么:第一个用于127.0.0.0.0,第四个用于127.255.255.255?
概念上:它们是不同的。网络和广播地址。你必须读一些书,或者在谷歌上找出这些不同之处,因为这在U&L.的范围之外,也许的这个问题可以帮助你:
实际用例:在Linux场景中,它们几乎是相同的,因此,它们是作为brodcast
类型的地址创建的。引用精彩的linux-ip文档:
...The网络地址和广播地址都是在绑定到的接口上作为
broadcast
类型地址输入的。从概念上讲,网络和广播地址之间的区别是有意义的,但实际上,它们被其他网络设备以及linux内核以类似的方式对待.
这是一个公理,你必须接受它。在实际的路由用例中,在使用这两个地址的位置上不会有什么不同。
在第五项中,192.168.122.0是否代表环回地址的网络?192.168.122.0是广播IP地址吗?
不是的。这是您的ens3
接口的网络地址。看看这条线上的dev
。local
表是存储本地路由的地方。这并不意味着只有回环相关的路线在那里。仅仅是在本地传递数据的那些地方。
再次引用ip
手册:
At startup time the kernel configures the default RPDB consisting of three rules:
1. Priority: 0, Selector: match anything, Action: lookup routing table local (ID 255).
The local table is a special routing table containing high priority control routes for
local and broadcast addresses.
这两个广播条目之间有什么区别:第五个广播条目用于192.168.122.0,最后一个条目用于192.168.122.255?
与问题2相同,但对于网络192.168.122.0/24
dev ens3
而不是回送设备:在现实世界的路由中,相同用例的概念差异。
127.0.0.1是127.0.0.0/8中的地址吗?为什么127.0.0.1的第三个条目是从127.0.0.0/8的第二个条目中挑出来的?
以确保与127.0.0.0/8
相关的所有通信量都将在本地传递,并且源始终是127.0.0.1
。再来一次:
local - the destinations are assigned to this host. The packets are looped back and
delivered locally.
broadcast - the destinations are broadcast addresses. The packets are sent as link
broadcasts.
我在这里的观点是,这将迫使127.0.0.0/8
网络的任何通信都来自127.0.0.1
。这听起来可能很愚蠢,但是,您可以使用127.0.0.2
地址在linux中使用另一个应用程序/服务,而且由于local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
路由将127.0.0.1
地址作为源(src
),这将避免出现问题。
https://unix.stackexchange.com/questions/509051
复制相似问题