普通交换机的二层端口有三种常见的端口类型:access、trunk、hybird,
access端口一般用作PC或服务器主机接入,通过该端口的数据包都是不带VLAN tag的;trunk端口可以允许多个VLAN的数据包通过,一般连接其他交换机;
hybird端口比较灵活,可以根据用户需求,对通过该端口的数据包进行VLAN tag打标和去标动作,可以连主机也可以连其他交换机;在开始讲解之前,请记住交换机内部的所有数据报文是有VLAN tag的,
下面我们通过分析交换机端口的进、出两个方向对VLAN tag的处理过程来详细说明这三种端口类型的区别;
access端口:
通过access端口的数据包都是不带VLAN tag的,且只属于一个VLAN;
在access端口进方向,交换机接收到数据包后,先判断是否带VLAN tag,有则丢弃数据包,没有则打上该端口已配置的VLAN tag;
在access端口出方向,交换机将打了与端口相同VLAN tag的数据包转发出去,并且去掉VLAN tag变成普通数据包。
trunk端口:
通过trunk端口的数据包都必须带上VLAN tag;
在trunk端口进方向,交换机接收到数据包后,先判断是否带VLAN tag,没有则丢弃数据包,有则按照对应VLAN进行转发;
在trunk端口出方向,交换机将带VLAN tag的数据包原封不动转发出去,没有带VLAN tag数据包不会从trunk端口转发出去。
在trunk端口上有一种特殊情况,如果配置了native VLAN(也叫PVID),转发方式等同于access端口,当从端口进来的报文不带vlan tag时,就打上Native vlan tag; 当从端口出去的报文带Native vlan tag时,会剥离TAG。
hybird端口:
顾名思义,这是一种混合端口,是access和trunk两种端口的混合,既可以转发无vlan tag报文,也可以转发有vlan tag报文;在hybird端口上通常会配置tag vlan和untag vlan,对于tag vlan,其转发方式与trunk口相同,对于untag vlan,其转发方式与access口相同;
在hybird端口进方向,交换机接收到数据包后,先判断是否带VLAN tag,没有则丢弃,如果没有vlan tag但是配置了PVID,则打上PVID的vlan tag;有则按照对应VLAN进行转发;进方向不看untag配置;
在hybird端口出方向,对于配置了tag vlan的数据包,原封不动发送出去,对于端口配置了untag vlan的数据包,则去掉vlan tag再发送出去;如果是PVID的vlan,则去掉vlan tag再发送出去;
原文链接:https://blog.csdn.net/mansky0618/article/details/100033123
网友回复
go与wails如何开发一个高性能的原生桌面应用?
python如何调用openai的api实现知识讲解类动画讲解视频的合成?
html如何直接调用openai的api实现海报可视化设计及文本描述生成可编辑海报?
f12前端调试如何找出按钮点击事件触发的那段代码进行调试?
abcjs如何将曲谱播放后导出mid和wav格式音频下载?
python如何将曲子文本生成音乐mp3或wav、mid文件
python中mp3、wav音乐如何转成mid格式?
js在HTML中如何将曲谱生成音乐在线播放并下载本地?
python如何实现在windows上通过键盘来模拟鼠标操作?
python如何给win10电脑增加文件或文件夹右键自定义菜单?