考虑一个典型的基本以太网,而不是使用VLAN.
我们有一堆电线和收发器连接着一些设备--物理层。在这一层,我们只能在直接连接的设备之间发送字节组--这不是很有用。
然后,我们有一个以太网网络由这些电线和收发器-数据链路层。在这一层,我们可以使用它的MAC地址向网络上的任何设备发送数据包。该层还为每个数据包添加了校验和,并添加了标识下一层协议的标记。“以太网路由器”(即交换机)在这个级别上路由数据包,并且有一些限制(例如没有循环)。
然后我们有一个由一个或多个以太网网络组成的IP网络。在这一层,我们可以使用其IP地址向网络上的任何设备发送数据包。该层还为每个数据包添加了校验和,并添加了标识下一层协议的标记。等等,听起来很耳熟。它还支持碎片化和更高级的路由。
在此基础上,我们运行TCP,UDP等.
等等,IP层可以做所有以太网数据链路层可以做的事情!那么为什么我们需要以太网数据链路层呢?为什么不直接通过以太网物理层在IP上运行TCP呢?
或者,为什么不扩展以太网数据链路层来做IP可以做的事情,然后在以太网数据链路层上运行TCP,而不使用IP呢?
发布于 2015-08-26 06:39:15
首先,我想到的是当我们有很多用户并且他们在待命或交流时的情况。L2仍然更新他们的MAC并广播他们在那里。交通拥堵。以及类似NAT的服务:使用NAT,我们在网络中为多个用户提供了一个公共入口。
你是建议只使用L2吗?:)
发布于 2015-08-26 07:07:47
以太网定义了在所有不同类型的物理信道上使用的通用格式。因此,它负责媒体接入,因此接入线路或卫星链路。L1为您提供了发送单个比特的方法。可能是无线电卫星有线什么的。这并不增加可靠性,例如用于无线通信的L2协议。它有时还定义了某些规则,以确保适当的无冲突通信。IP不做那样的事..。没有可靠性,没有碰撞检测和避免。这也是为什么TCP再次增加了一层可靠性。
如今,以星形拓扑为主,一条线只连接两个节点,如果您知道如何区分您发送的数据和您的对等发送的数据,那么以太网地址实际上就不那么重要了。但是,由于以太网来自一个存在总线拓扑的时代,所以有地址是非常重要的。否则,在公共汽车上收听的参与者无法判断包是给他们的还是给其他人的。与交换机不同的是,集线器不进行“存储和转发”,而是将传入端口上接收的单个比特转发到所有其他端口,也是如此。
校验和点是很重要的,因为即使使用传输位的L1服务,也没有人确保正确地接收到比特。以太网可以通过校验和检测错误。您正确地说,校验和是在L3中使用IP完成的,但是如果您仔细观察一下IPv6,您会发现它们放弃了校验和。这背后的动机是以太网做校验和(L2)和TCP也确保可靠的数据传输通过ACK和序列号(L3)。
https://networkengineering.stackexchange.com/questions/20916
复制相似问题