我们知道在 OSI 或 TCP-IP 模型中,较高层使用较低层提供的服务。例如,数据链路层使用物理层提供的服务,网络层使用数据链路层提供的服务等等。
但是,我发现有些协议使用了它们上层协议提供的服务。例如,BGP 和 RIP 都执行路由,这通常被视为网络层功能。BGP 使用 TCP,而 RIP 使用 UDP。所以这里的网络层协议使用传输层协议中的服务。这就是为什么网上有人认为BGP & RIP至少应该在传输层关联,而有人说这些是应用层协议,因为它们使用传输层的服务,而在传输层之上的TCP-IP模型中,只有应用层。
我了解 BGP 和 RIP 主要执行路由的网络层功能。真相/惯例是什么?