数据链路层是传递帧(Frame),不同于物理层传递比特流(Bit)。数据链路层通过硬件的MAC(Media Access Control)地址进行转发。物理层设备的广播形式会造成网络拥塞,并且是不安全的。那么数据链路层的设备又会是怎么样的呢?下面来一一列举:
工作在数据链路层的设备主要有网卡、网桥和交换机。
在Cisco Packet Tracer中模拟网桥和交换机的环境如下:
网卡又称为网络适配器,涉及帧的发送与接收、帧的封装与拆分、数据的编码与解码等功能。MAC地址是用十六进制表示的,总共48位,前24位用来表示厂商编号,后24位用来表示设备序列号。
网桥(Bridge)是一种存储转发设备,可以隔离冲突域,意思就是当网桥已经学习到目标MAC地址是在某个端口上的,那么它就一定不会转发给另一个端口;只有当网桥不知道目标MAC地址在哪个端口上时才会广播。网桥通常只有两个端口,因此其具有两个冲突域和一个广播域。
交换机(Switch)维护着一张MAC地址表,最初MAC地址表示空的,随着慢慢地学习来丰富自己的MAC地址表。
对于上图Cisco Packet Tracer中交换机的MAC地址表的变化过程是这样的:
交换机工作过程:根据源MAC地址学习,目标MAC地址转发。
具体表现为:
(1) 对于已知单播帧,发往目的地址;
(2) 对于未知单播帧,进行广播(发往除接受端口以外的所有端口);
(3) 对于广播帧或者组播帧,进行广播。
交换机通常具有8、12、16、24个,甚至是48个端口,那么它有几个端口,就有几个冲突域,但是其广播域还是只有一个。
网桥和交换机的区别:
(1) 交换机的端口多于网桥;
(2) 交换机的数据传输速率高于网桥;
(3) 网桥是使用软件进行转发,而交换机是使用硬件进行转发,所以交换机的造价更低。