OSI 模型的一些参考文献陈述如下:
- 一个层服务于它上面的层,并由它下面的层服务。
- 每一层都为下一层提供服务,并屏蔽上层,使其不了解其下的服务如何实际实现的细节。
因此,网络层(#3)应该为传输层(#4)提供服务,而不是相反。但是,有一些路由协议(网络层)使用 UDP 和 TCP 服务(传输层),例如:
- RIP(路由信息协议)使用 UDP
- BGP(边界网关协议)使用 TCP
我们如何调和呢?我错过了什么吗?
OSI 模型的一些参考文献陈述如下:
因此,网络层(#3)应该为传输层(#4)提供服务,而不是相反。但是,有一些路由协议(网络层)使用 UDP 和 TCP 服务(传输层),例如:
我们如何调和呢?我错过了什么吗?
这是这个问题的相同答案(复制和粘贴):BGP、RIP 协议属于哪个 OSI/TCP-IP 模型层?
您必须记住,像 OSI 这样的模型就是这样的模型。它们是理论上的。现实世界并没有完全落入这些模型中。在大多数情况下,路由是第 3 层功能,但是,正如您所指出的,BGP 使用第 4 层协议与其他 BGP 发言者进行通信,以执行通常被认为是第 3 层功能的事情。
许多网络协议落入灰色地带,或者在使用另一层时考虑在一层中。以 ARP 为例。它将第 3 层地址解析为第 2 层地址。它应该被认为在哪一层?
了解模型很有用,但模型不是任何组织强制要求的,您可以自由创建不遵循任何模型的协议和功能。