我的问题可能不太合理。抱歉,但我不擅长网络,这就是我的借口。
具体来说,维基百科定义“默认网关“作为节点”TCP/IP“网络。其工作方式是,如果网络接口将数据包发送到其子网上不存在的 IP 地址,它会将其发送到默认网关(然后默认网关知道如何处理该数据包)。
如果涉及 UDP 数据包(数据报),情况是否如此?我的意思是,如果我的网络接口将 UDP 数据包发送到其子网上不存在的 IP 地址,它也会自动将其发送到默认网关吗?
答案1
是的,UDP 通过 IP 路由的方式与 TCP 相同。默认网关实际上是 IP 概念,与 TCP 无关 - 它适用于任何基于 IP 构建的协议,无论是 TCP、UDP 还是其他协议。
答案2
是的,这适用于所有 IP 数据包(包括 UDP 以及 TCP 和其他数据包)。
答案3
掌握这一点的关键是了解不同的网络层和封装。要学习的传统模型是 OSI 模型。TCP 和 UDP 都是传输层的一部分,它们被封装到网络层 (IP) 中。因此,TCP 和 UDP 数据包成为 IP 数据包有效负载的一部分。
为了真正理解这一点,请学习:
- OSI 模型
- IP、UDP 和 TCP 数据包的样子(图表)。注意标头和有效负载部分。
- 数据包封装。
大家普遍认为,学习这方面的最好的书之一(尽管它确实讲了很多细节)是 W. Richard Stevens 的《TCP/IP Illustrated Volume 1》。这本书真的值得一读,这类网络问题几乎总是在面试中出现,而且学习这些协议的设计也可能激发其他事物的一般良好设计概念。
顺便说一句,直接的答案是“是”,因为默认网关用于 IP 数据包,由默认网关路由,UDP 或 TCP 数据包都将封装在 IP 数据包内。此外,您似乎对默认网关的理解非常正确,它是在路由表中没有其他更具体的路由时使用的 IP 路由。
要回答你的标题问题,“可以将网络接口配置为具有 UDP 数据包的默认网关吗?”:
可以,但这种网络配置不太常见。这称为基于策略的路由 (PBR),但在日常本地网络中并不使用——这是一种稍微高级的路由器配置,除了 IP 层(网络层)之外,还可以检查其他层以进行路由选择。