switch 与 hub 的区别,以及switch mac table 原理

一,switch 与 hub 的区别

1, hub 为共享式的网络,只允许一个session传输数据, 当有多个数据时就会有冲突;

2, Hub 收到包以后回向其它所有的端口进行转发; switch会根据MCA-port 表,选择特   定的端口进行转发, 若表中没有找到该目的mac地址则向其它所有的端口进行转发;

3, hub 只能时半双工,而switch可以全双工;

 

 

二, switch mac table 建立的过程;

 

交换机根据数据帧中封装的目的地MAC地址做出转发数据的决定。交换机在转发数据前必须知道它的每一个端口所连接的主机的MAC地址,构建出一个MAC地址表,以便作出正确的转发决定。当交换机从某个端口收到数据帧后,读取数据帧中封装的目的地MAC地址信息,然后查阅事先构建的MAC地 址表,找出和目的地址相对应的端口,从该接口把数据转发出去,其他接口不受影响。交换机在地址表中找不到目的地址和端口的相对应记录时,则会把数据向除了 数据来源端口外的其他所有端口转发,所以广播数据会被交换机转发到其所有端口,使得和交换机相连的设备处于同一个广播域内。   

 

 

当交换机启动时,初始的MAC地址表是空的。   

    此时,主机A向主机C发送一个数据帧(每一个数据帧中都包含有源MAC地址和目的MAC地址),当该数据帧从E0端口进入交换机后,交换机通过检查数据帧中的源MAC地址字段,将该字段的值(主机A的MAC地址)放入MAC地址表中,并把它与E0端口对应起来,表示E0端口所连接的主机是A。在MAC地址表中没有关于目的地MAC地址(主机C的MAC地址)的条目,因此交换机将此帧向除了E0端口以外的所有端口转发。从而保证工作站C能收到该帧。其它接口的传送过程相同。

 

 

附,  参考资料

 (1)交换机取代集线器解决了碰撞问题。交换机是工作在数据链路层的设备(所以也称第2层交换机),它可以识别数据帧中封装的MAC地址,并根据地址信息把数据交换到特定的端口,而不是像集线器工作时那样,把从一个端口接收到的数据复制到所有其他端口。这样的工作方式使交换机的不同端口之间不会产生碰撞,也就是说交换机可以分割碰撞域。如果一个端口只连接一台主机的话,就等于消除了碰撞。

(2)交换机解决了集线器与和它相连的主机不能全双工通信的问题。交换机使用独立的收、发通道为每个接口相连的主机转发数据,这样主机可以全双工地工作。

   (3)交换机可以为任意两个交换数据的端口建立一条独立的数据通道进行交换数据,大大提高了数据交换的效率。

 

你可能感兴趣的:(L2,Switch)