VLAN内的报文转发
来源:互联网 发布:mysql int字段累加 编辑:程序博客网 时间:2024/06/06 13:10
VLAN内的报文转发
Access端口:
Access口,通常用以连接PC用户的端口,Access口只能属于一个VLAN,需要用户手动指定Access口所在的VLAN。
• VLAN成员表:用户指定,但是只能在一个VLAN中
• PVID:无需指定,PVID和端口所在的VLAN一样
• VLAN输出tag表:输出始终为untagged。(从该端口出去的报文都不带tag)
Trunk端口:
Trunk口:trunk通常用以设备之间的互联,在Trunk口中可以传递多个VLAN的数据流。缺省情况下Trunk口在设备所创建的所有VLAN中,但用户可以手工添加或者删除所在的VLAN。
• 配置成trunk类型的端口可以同时属于多个vlan
• 配置的native vlan id即该端口的pvid。默认情况下,native vlan为vlan 1
• 输出报文是否带tag的判断依据如下
□ 不带tag:报文分配到的vid和该端口的native vlan id一样。这种情况下原先有带tag的报文要剥除tag再输出
□ 带tag:报文分配到的vid和该端口的native vlan id不一样。这种情况下输出报文所携带的tag里vid为报文进入交换机时分配到的vid(在没有其它策略改变vid的情况下)
PVID
PVID是基于每个端口配置的VID,也就是说,所在VLAN的vid就是该端口的pvid,每个端口都有pvid。
输入规则检查
在输入方向上,交换机的根本任务就是决定该报文是否允许进入该端口,根据入报文的tag/untag的属性及端口属性,细分为以下情况:
• 报文为untag:允许报文进入该端口,并打上PVID的VLAN tag,与端口属性无关;
• 报文为tag:在这种情况下,需要交换机来判断是否允许该报文输入端口:
• Access端口:PVID和报文中tag标明的VLAN一致,接收并处理报文;否则丢弃。
•Trunk端口:如果端口允许tag中标明的VLAN通过,则接收并处理报文;否则丢弃报文。
输出规则检查
在输出方向上,交换机已经完成对报文的转发,其根本任务就是在转发出端口时,是否携带tag转发出去,根据端口属性,细分为如下情况:
Access端口:将标签剥掉,不带tag转发;
Trunk端口:报文所在VLAN和PVID相同,则报文不带tag;否则带tag。
实例
实例-1
实例-2
- VLAN内的报文转发
- Vlan的转发过程
- Vlan的转发过程
- HTTP报文内的HTTP报文信息
- svn报文转发出现handshake_failure的问题
- 获取VLAN报文
- vlan 二三层转发
- VLAN链路数据包的转发过程
- 支持VLAN的二层交换机转发过程
- 支持VLAN的二层交换机转发过程
- 关于Modbus 报文 (转发)
- 网络报文转发逻辑
- OpenVPN转发报文封装
- 透明报文转发
- http报文内的http信息
- HTTP报文内的HTTP信息
- iptables学习笔记--Netfilter的报文转发流程
- 交换机转发VLAN数据原理
- git 协作开发常规操作
- 设计模式
- POJ3258 River Hopscotch(二分法求最大化最小值)
- 设计模式-前摄器模式(Proactor)
- ios+Android老程序员的下场
- VLAN内的报文转发
- 数据结构--串 KMP匹配
- IDS验证(正整数并且是逗号分隔)
- 【Java】线程安全学习
- 探探左滑右滑, OKHttp请求网络数据实现
- 在web.xml中,<context-param>标签的作用是什么?
- 在multimap和multiset中查找元素
- le for current thread
- c语言小程序之三子棋