冲突域,Collision Domain
在以太网中,当多个节点同时传输数据时,从多个设备发出的帧将会碰撞,在物理介质上相遇,彼此数据都会被破坏,这样的共享介质网段就叫冲突域。冲突域是指连接在同一共享介质上的所有节点的集合。冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。
在共享式网络中,可能会出现信号冲突现象。同轴电缆
在半双工状态下,使用 CSMA/CD 方案解决:
1)先听后发,监听检测网络是否空闲;
2)如果没有冲突则,进行发送;
3)如果发送时出现冲突,则立即停止;
4)随机延时重发;
目前的网络设备多是全双工,因此基本不会使用 CSMA/CD 进行检测冲突。
交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机(或网络)之间不必再担心流量大小对于数据发送冲突的影响。
广播域,Broadcast Domain
广播域(broadcast domain):指广播帧传输的网络范围,广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。一般是 Router 来设定边界(因为 Router 不转发广播)。
交换机,Switch
交换机工作在数据链路层,依靠于 MAC 地址进行数据转发。
MAC 地址表
收到数据帧,形成 CAM Table(思科术语),然后根据 CAM Table 进行转发。
交换机依据 MAC 地址转换表(CAM Table,Content Addressable Memory Table)进行数据帧处理。CAM Table 是 MAC 地址 与 出接口 的对应关系(但是这个 MAC 地址来自于帧的 Source MAC 字段,只有这样交换机才能知道哪些 MAC 在哪个接口下)。
MAC 地址表形成过程
在交换机初始状态下,CAM Table 为空。
当 Host-A 访问 Host-B 时:
1)交换机会利用收到帧(SRC MAC),来形成 CAM Table。例如,添加 00:01:02:03:04:AA ⇒ G0/0/0/0 记录;
当 Host-B 响应 Host-A 时:
1)交换机会利用收到帧(SRC MAC),来填充 CAM Table。例如,添加 00:01:02:03:04:BB ⇒ G0/0/0/1 记录;
2)交换机会根据收到帧(DST MAC),来查找 CAM Table,以确定数据包应该从哪个接口发出。例如,查到 00:01:02:03:04:AA ⇒ G0/0/0/0 记录;
如果单播帧的 DST MAC 未出现在 CAM Table 中时,便是未知单播,交换机开始进行泛洪。
CAM Table 的老化时间为 300s,持续的通信会刷新该时间。ARP 的缓存时间为 1200s,所以 CAM Table 会先老化,此时便会发生未知单播。
当端口 Down 状态时,CAM Table 对应的条目(该端口)会立即老化(无需等待 300s 后老化)
交换机的转发行为
泛洪(Flooding)
某个端口收到的数据帧,将被转发到所有其他端口。
交换机收到广播帧时,会进行泛洪。比如 ARP 报文。
交换机收到组播帧时,缺省也是进行泛洪。
如果是未知单播帧时,则依旧泛洪。
转发(Forwarding)
交换机将收到的帧,能够明确的从某个端口发送出去。通常为单播帧(且是已知单播。如果是未知单播,则依旧泛洪。)
丢弃(Discarding)
交换机收到的数据帧,如果无法转发,则丢弃。
在 CAM Table 中,如果该端口收到的数据帧的 DST MAC 也在该端口下,则会丢弃。
三层交换机
具有三层路由功能的交换机。三层交换机的转发路由表与路由器一样,需要软件通过路由协议来建立和维护。
但是,三层交换机的二层转发,依旧通过硬件实现查找和转发。
三层交换机使用精确地址匹配的方法实现快速查找。
接口类型:二层接口、三层接口
交换机的接口多为二层接口,即能进行二层数据帧处理。某些高级交换机的接口,能够切换为三层接口,并能绑定网络地址。
比如,在华为交换机中:
[Huawei-Interface] undo portswitch # 注意,部分交换机虽然能切换为三层端口,但是不能绑定网络地址
VSAN
是Cisco的SAN交换机上面使用的一种虚拟化技术,把一个物理交换机虚拟成多个逻辑交换机。通常以vSphere内核为基础进行开发、可扩展的分布式存储架构。