博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PVID和VID的理解
阅读量:4080 次
发布时间:2019-05-25

本文共 1298 字,大约阅读时间需要 4 分钟。

VID解释

  VID(VLAN ID)是VLAN的标识,在交换机里面用来划分端口。比如一个交换机有8个端口,现在将port1,port2,port5三个端口的VID设置成1111,那么这三个端口就能接收vlantag=1111的数据包。

  拥有和数据帧TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged 数据帧。
  拥有和数据帧TAG标记一致的VID的物理端口,只有在这个VID上是tagged Port,才可以接受来自交换机外部的标记了这个TAG标记的tagged 数据帧。(注:这句话来源于网上,和我的测试结果不一样,我在rtl8304/rtl8363上面测试的结果是,untag port可以原样接收带有vlantag的数据帧)。

PVID解释

  PVID英文解释为Port-base VLAN ID,是基于端口的VLAN ID,一个端口可以属于多个vlan,但是只能有一个PVID,收到一个不带tag头的数据包时,会打上PVID所表示的vlan号,视同该vlan的数据包处理。

  一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID相等的VID,而且在这个VID上,这个物理端口必定是Untagged Port。
  PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用。

untag port与tag port

  所谓的untagged Port和tagged Port不是讲述物理端口的状态,而是将是物理端口所拥有的某一个VID的状态,所以一个物理端口可以在某一个VID上是untagged Port,在另一个VID上是tagged Port。

  untag port和tag port是针对VID来说的,和PVID没有什么关系。比如有一个交换机的端口设置成untag port,但是从这个端口进入交换机的网络包如果没有vlan tag的话,就会被打上该端口的PVID,不要以为它是untag port就不会被打上vlan tag。

收发规则总结

  下图是定义的各种端口类型对各种数据帧的处理方法(此图来源于网络)。红色部分是我在rtl8363/rtl8304上测试后所做的修改。

  这里写图片描述
  Rtl8304的结构框图如下图所示。MAC0、MAC1、MAC2、MAC3分别对应port1,port2,port3,port4。将port4和cpu相连,port1做成外部端口,然后将port4和port1划为一个vlan,并且该vlanid在port4和port1上都设置成untag port,这时候将port1和电脑相连,交换机上可以ping通电脑。因此反驳上图中,untag端口丢弃tag数据帧的结论。
  至于untag端口发出untag数据帧应该是不可能的,因为交换机内不存在untag数据帧。
  这里写图片描述

你可能感兴趣的文章
串级 PID 为什么外环输出是内环的期望?(和我之前对串级PID的总结一样)
查看>>
APM/Pixhawk飞行日志分析入门(苍穹四轴)
查看>>
我刚刚才完全清楚GPS模块的那根杆子是怎么固定安装好的
查看>>
去github里面找找也没有别人无人机+SLAM的工程
查看>>
PX4与ROS关系以及仿真控制(键盘控制无人机)
查看>>
我对无人机重心高度的理解
查看>>
现在明白为什么无名博客里好几篇文章在讲传感器的滞后
查看>>
无人机不装脚架的好处就是降落时会比较稳,不怕倾斜侧翻。
查看>>
实际我看Pixhawk定高模式其实也是飞得很稳,飘得也不厉害
查看>>
我现在发现开课吧的智能无人机课程里面也讲GAAS
查看>>
Pixhawk解锁常见错误
查看>>
C++的模板化等等的确实比C用起来方便多了
查看>>
ROS是不是可以理解成一个虚拟机,就是操作系统之上的操作系统
查看>>
用STL algorithm轻松解决几道算法面试题
查看>>
ACfly之所以不怕炸机因为它觉得某个传感器数据不安全就立马不用了
查看>>
我发觉,不管是弄ROS OPENCV T265二次开发 SDK开发 caffe PX4 都是用的C++
查看>>
ROS的安装(包含文字和视频教程,我的ROS安装教程以这篇为准)
查看>>
国内有个码云,gitee
查看>>
原来我之前一直用的APM固件....现在很多东西明白了。
查看>>
realsense-ros里里程计相关代码
查看>>