我使用127/8范围内的目标IP地址(例如127.0.0.6)的原始套接字发送IP / UDP帧。 所以,数据包通过networking发送OK(使用目标设备上的tcpdump进行检查)。
但在目标Linux PC上,这些帧没有被处理,即不被发送到UDP套接字服务器(绑定到0.0.0.0)。 如果destionation IP是eth1接口的地址 – 数据包处理正确。
为什么Linux不想用本地主机IP来处理数据包? 它是内核的Bug?
由于LSP Ping使用这个地址(RFC 4379),我需要127.xxx的地址。
这是在devise上,整个127.XXX地址范围被保留用于回送,如在RFC1700中所定义的:
http://www.ietf.org/rfc/rfc1700.txt
这里再讨论一下:
为什么回送IP地址从127.0.0.1到127.255.255.254?
仅仅因为MPLS在内部使用它(不pipe什么原因),这并不意味着目标服务器可以监听它并使用该范围。