考虑一个典型的基本以太网,不使用 VLAN。
我们有一堆电线和收发器连接一些设备——物理层。在这一层,我们只能在直接连接的设备之间发送字节组——不是很有用。
然后我们有一个由这些电线和收发器构建的以太网网络——数据链路层。在这一层,我们可以使用其 MAC 地址向网络上的任何设备发送数据包。这一层还为每个数据包添加了一个校验和,以及一个标识下一层协议的标签。“以太网路由器”(即交换机)在此级别路由数据包,并且有一些限制(例如,没有环路)。
然后我们有一个由一个或多个以太网网络构建的 IP 网络。在这一层,我们可以使用其 IP 地址向网络上的任何设备发送数据包。这一层还为每个数据包添加了一个校验和,以及一个标识下一层协议的标签。等一下,听起来很熟悉。它还支持分片和更高级的路由。
最重要的是,我们运行 TCP、UDP 等......
等等,IP 层可以做以太网数据链路层可以做的所有事情!那么为什么我们需要以太网数据链路层呢?为什么不直接在以太网物理层上运行 TCP over IP?
或者,为什么不扩展以太网数据链路层来做 IP 可以做的事情,然后在没有 IP 的情况下在以太网数据链路层上运行 TCP?