交换机有三种处理数据帧的行为,分别是泛红(未知单播帧,组播,广播),转发(已知单播帧) ,丢弃
未知单播帧指MAC地址表中是否记录目的mac
泛洪:
转发:
丢弃:
交换机一般有三种接口模式,分别是access,trunk,hybird
access:
接收:当数据帧没有带有tag的时候,接口会接收数据帧并打上tag。没有携带tag的时候,会先判断数据帧的tag与自己的pvid有无相同,相同则接受,不相同则丢弃。
发送:当数据帧的tag与端口pvid相同的时候,会剥离出tag,在发送。不同则不发送出去
access交换机上常用来连接用户 PC 、服务器等终端设备的接口。
trunk(有tag列表):
接收:当数据帧没有携带tag的时候,则打上pvid,要是打上的pvid在允许接收列表,则会接收该数据帧,要是不在列表就丢弃。要是数据帧有携带自己的tag,就判断tag是否在自己允许通过列表里,有就放行,没有就丢弃。
发送:判断该数据帧的tag是否与该接口的pvid相同,相同就判断是否在发送接口的允许列表,在则剥离在发送,不在就禁止发出去。如果tag与该发送接口的pvid不同,如果该tag在允许列表中,则保留tag直接发送,不在就禁止发送。
这里我的个人理解是pc1和pc2经过access口,在SW1内部保留tag,因为SW1的发送接口的pvid是1,而vlan10.20在允许列表中,就保留tag发出。SW2接收到保留tag的数据帧,tag在SW2的允许i了表中,就接收。之后在SW2内部泛洪,vlan10遇到pvid10的access口时就剥离tag发送,vlan20遇到pvid20的access口就剥离tag发送。
hybird:
接收:跟trunk完全一样,不过hybird多了一个untag。
发送:当数据帧的vlan是该接口允许通过的vlan的时候,要是允许通过的vlan是untag,则剥离在发送。要是vlan是保留的允许通过vlan,就好保留tag发送。
一般来说交换机接交换机都是用tag口,交换机接pc和服务器用untag