本文共 9182 字,大约阅读时间需要 30 分钟。
· MAC 地址表: [MAC Address]---[VLAN ID]---[Port]· VLAN 跨交换机转发的处理流程: 主机发出的帧不带vlan 标记》》进入交换机被打上端口vlan 标记》》出去时被去掉· 802.1Q 帧格式: ○ Tag 一共4 字节; ○ TPID:以太网类型(0x8100)代表802.1Q 协议; ○ Priority:优先级,主要做QOS 用; ○ CFI:老式Token Ring 标识位。· Access链路类型: ○ 只允许缺省VLAN通过,仅接收和发送一个VLAN的数据帧 ○ 一般用于连接用户设备· Trunk链路类型: ○ 允许多个VLAN通过,可以接收和发送多个VLAN的数据帧 ○ 缺省VLAN的以太网帧不带标签 ○ 一般用于交换机之间连接· Hybrid 链路类型: (untag:局域网中无标记的。) ○ 允许多个VLAN 通过,可以接收和发送多个VLAN 的数据帧: ○ Hybrid 端口和Trunk 端口的不同之处在于: ○ Hybrid 端口允许多个VLAN 的以太网帧不带标签; ○ Trunk 端口只允许缺省VLAN的以太网帧不带标签。· VLAN 的划分方式: ○ 基于端口的VLAN(静态VLAN); ○ 基于MAC 地址的VLAN(动); ○ 基于协议的VLAN(动); ○ 基于IP子网的VLAN(动)。· VLAN 的匹配顺序: MAC >IP子网>协议》端口· VLAN 动态注册的背景: 交换机只会转发本交换机上存在的VLAN的数据帧
○ GARP 协议主要用于建立一种属性传递扩散的机制,以保证协议实体能够注册和注销该属性。GARP 作为一个属性注册协议的载体,可以用来传播属性。将GARP 协议报文的内容映射成不同的属性即可支持不同上层协议应用。例如,GMRP 和GVRP: 1、GMRP 是GARP 的一种应用,用于注册和注销组播属性; 2、GVRP 是GARP 的一种应用,用于注册和注销VLAN 属性。 ○ GARP 定义了结构、操作规则、状态机制以及变量来声明注册或注销属性值。 ○ GARP 是针对IEEE 802.1D (生成树协议)规范的IEEE 802.1P 扩展的一部分。 ○ GARP 属性(VLAN ID信息)会通过GARP“声明-注册-声明-注册”沿STP树单向传播到整个网络中 ○ GVRP的组播MAC地址:0180.C200.0021 ○ GMRP的组播MAC地址:0180.C200.0020· GARP 消息: ○ Empty: 发送者不声明该属性,发送者未注册该属性但希望接受该属性的声明 ○ JoinIn:发送者希望声明该属性且发送者已注册该属性 ○ JoinEmpty:发送者希望声明该属性,发送者未注册该属性但希望接受该属性的声明 ○ Leave:发送者希望撤销该属性的声明 ○ LeaveAll:发送者希望撤销所有属性的声明· GVRP 端口注册模式: ○ Normal 模式: 允许该端口动态注册或注销VLAN; 传播动态VLAN 以及静态VLAN 信息。 ○ Fixed 模式: 禁止该端口动态注册或注销VLAN; 只传播静态VLAN,不传播动态VLAN 信息。 ○ Forbidden 模式: 禁止该端口动态注册或注销VLAN; 不传播除VLAN1 以外的任何VLAN 信息。· GARP 定时器: ○ Hold 定时器(10厘秒)接受到其他设备发送的注册信息,等待定时器超时后才向外发送; ○ Join 定时器(20厘秒)两次发送join消息的时间间隔; ○ Leave 定时器(60厘秒)在收到leave消息时,等待定时器超时后,才会注销该属性; ○ LeaveAll 定时器(1000厘秒)随着GARP实体的启动而启动,当定时器超时时,对外发送leaveall消息,通过其他GARP实体重新注册本实体上的所有属性信息。· GVRP 协议可以实现VLAN 属性的自动注册和注销: ○ VLAN 的注册:指的是将端口加入VLAN。 ○ VLAN 的注销:指的是将端口退出VLAN。· GVRP 协议通过声明和回收声明实现VLAN 属性的注册和注销。 ○ 当端口接收到一个VLAN 属性声明时,该端口将注册该声明中包含的VLAN 信息(端口加入VLAN)。 ○ 当端口接收到一个VLAN 属性的回收声明时,该端口将注销该声明中包含的VLAN 信息(端口退出VLAN)。
· 基于端口的 VLAN基本配置 ○ Trunk 端口配置命令: □ 配置端口的链路类型为Trunk 类型: [Switch-Ethernet1/0/1] port link-type trunk □ 允许指定的VLAN 通过当前Trunk 端口: [Switch-Ethernet1/0/1] port trunk permit vlan { vlan-id-list | all } □ 设置Trunk 端口的缺省VLAN: [Switch-Ethernet1/0/1] port trunk pvid vlan vlan-id ○ Hybrid 端口配置命令: □ Trunk和Hybrid端口不能直接切换,先设为Access再设置其它类型 □ 配置端口的链路类型为Hybrid 类型: [Switch-Ethernet1/0/1] port link-type hybrid □ 允许指定的VLAN 通过当前Hybrid 端口: [Switch-Ethernet1/0/1] port hybrid vlan vlan-id-list { tagged | untagged } □ 设置Hybrid 端口的缺省VLAN: [Switch-Ethernet1/0/1] port hybrid pvid vlan vlan-id· 基于MAC 地址的VLAN 配置命令: ○ 配置MAC 地址所对应的VLAN 及优先级: [Switch] mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id [ priority pri ] ○ 开启端口的MAC VLAN 功能: [Switch-Ethernet1/0/1] mac-vlan enable ○ 设置端口VLAN 的匹配优先级: [Switch-Ethernet1/0/1] vlan precedence { mac-vlan | ip-subnet-vlan }· 基于协议的VLAN 配置命令: ○ 基于MAC、协议、IP子网的VLAN只对Hybrid端口配置有效。 ○ 配置基于协议的VLAN,并指定协议模板: [Switch-vlan10] protocol-vlan [ protocol-index ] { at | ipv4 | ipv6 | ipx { ethernetii | llc | raw | snap } | mode { ethernetii etype etype-id | llc { dsap dsap-id [ ssap ssap-id ] | ssap ssap-id } | snap etype etype-id } } ○ 配置Hybrid 端口与基于协议的VLAN 关联: [Switch-Ethernet1/0/1] port hybrid protocol-vlan vlan vlan-id { protocol-index [ to protocol-end ] | all }· 基于IP 子网的VLAN 配置命令: ○ 配置当前VLAN 与指定的IP 子网关联: [Switch-vlan10] ip-subnet-vlan [ ip-subnet-index ] ip ip-address [ mask ] ○ 配置当前端口与基于IP 子网的VLAN 关联: [Switch-Ethernet1/0/1] port hybrid ip-subnet-vlan vlan vlan-id · 配置GVRP: ○ 全局GVRP开启后,在接口上还需开启接口GVRP。默认GVRP的注册模式是Normal。 ○ 开启全局GVRP 功能: [Switch] gvrp ○ 开启端口的GVRP 功能: [Switch-Ethernet1/0/1] gvrp ○ 配置GVRP 注册模式: [Switch-Ethernet1/0/1] gvrp registration { fixed | forbidden | normal } ○ 配置GARP 定时器: 设置GARP 的LeaveAll 定时器的值: [Switch] garp timer leaveall timer-value 配置Hold 定时器、Join 定时器和Leave 定时器: [Switch-Ethernet1/0/1] garp timer { hold | join | leave } timer-value 默认时间(单位厘秒):leaveall=1000,Hold=10,Join=20,Leave=60。
· Isolate-user-vlan 技术产生背景: 根据IEEE 802.1Q 协议规定,设备最大可使用VLAN 资源为4094 个。对于核心层设备来说,如果每个用户一个VLAN,4094 个VLAN 远远不够。· Isolate-user-vlan 技术基本原理: ○ Hybrid 端口技术的应用: □ 所有端口都为Hybrid ; □ 上行端口允许所有VLAN 通过; □ 下行端口允许Isolate-user-vlan 和自己的Secondary VLAN; ○ MAC 地址同步技术: □ 各Secondary VLAN 学习的MAC 地址同步到Isolate-user-vlan; □ Isolate-user-vlan 学习的MAC 地址同步到各Secondary VLAN。· Isolate-user-vlan 采用分层结构: ○ 上行的Isolate-user-vlan 和下行的Secondary VLAN。对上行设备来说只需识别Isolate-user-vlan,而不必关心Isolate-user-vlan 中的Secondary VLAN,从而节省了上行设备的VLAN 资源。同时,将接入用户划入不同的Secondary VLAN,可以实现用户之间二层报文的隔离。 ○ Isolate-user-vlan : 上行设备感知的用户VLAN,它并不是用户的真正VLAN。Secondary VLAN:用户真正属于的VLAN。· Isolate-user-vlan技术配置命令 ○ 设置VLAN的类型为Isolate-user-vlan [Switch-vlan10] isolate-user-vlan enable ○ 建立Isolate-user-vlan和Secondary VLAN间的映射关系 [Switch] isolate-user-vlan isolate-user-vlan-id secondary secondary-vlan-id [ to secondary-vlan-id ]· Super VLAN 技术产生背景: 在大型局域网应用组网中,有时核心层设备会出现VLAN接口数量不够用的情况。如果有一种技术对VLAN进行聚合,从而大幅缩减实际需要的VLAN接口数量,则交换机支持的VLAN接口少的问题迎刃而解。· Super VLAN 技术中的概念: ○ 1、Super VLAN: □ 只建立三层接口而不包含物理端口; □ 若干Sub VLAN 的集合,并为Sub VLAN 提供三层转发服务。 ○ 2、Sub VLAN: □ 只映射若干物理端口,负责保留各自独立的广播域; □ 不能建立三层VLAN 接口; □ 与外部的三层交换是靠Super VLAN 的三层接口来实现的。· Super VLAN 技术的实现: ○ Super VLAN 与Sub VLAN 形成映射; ○ 不同Sub VLAN 主机在不同的广播域; ○ 各Sub VLAN 借用Super VLAN 的VLAN 接口进行三层通信; ○ Sub VLAN 间的通信依靠Super VLAN 接口的本地代理ARP 完成。 (用本地代理ARP 实现不同Sub VLAN 间的三层互通)· 代理ARP : ○ 如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有ARP功能的设备就可以回答该请求,这个过程称作代理ARP ○ 普通代理ARP应用于主机连接到设备的不同三层接口上且不同广播域中 ○ 本地代理ARP应用于主机连接到设备的同一个三层接口且上不同广播域中· Sub VLAN 与外部的二层通信: Trunk 链路自动禁止Super VLAN 通过
· Sub VLAN 与外部的三层通信: 等同于Super VLAN 到外部的三层通信
· VLAN路由的实现 ○ 路由器实现VLAN间通信 路由器与每个VLAN建立一条物理连接,浪费大量的端口 ○ 用802.1Q和子接口实现VLAN间路由 □ 因Trunk链路要承受所有VLAN间路由的数据,因此要选择带宽较高的链路作为交换机和路由器相连的链路。 □ 数据帧需要在Trunk链路上往返发送,从而引入了一定的转发延迟。 ○ 用三层交换机实现VLAN间路由 三层交换机以内置的三层路由转发引擎执行VLAN间路由功能· 最长匹配转发模型: ○ 用报文目的地址与路由表项的子网掩码进行“与”操作; ○ 如果“与”操作的结果和路由表项中网络地址相同,则认为路由匹配; ○ 所有匹配项中子网掩码位数最长的为最佳匹配项报文从该表项对应接口发送。· 交换机精确匹配转发模型: ○ CPU 维护路由表; ○ ASIC 芯片完成主要的转发功能; ○ 对数据包进行一次路由后,生成具体目的地址的转发表项,后续直接根据此表项进行精确匹配转发。· 交换机最长匹配转发模型: ○ 基于硬件的最长匹配的三层交换技术 ○ 所有报文的转发都通过硬件快速匹配完成转发· 在精确匹配方式交换机进行三层IP单播转发简要步骤:
· 在最长匹配方式下交换机进行三层IP单播转发简要步骤:
○ 在交换机做三层转发时,首先以目的地址查找L3 Table,如果查找成功,进行下一步处理;否则转步骤3)以最长地址匹配查找DEF_IP表 ○ 然后根据目的IP地址找到下一跳,最后根据下一跳找到目的MAC地址和出端口进行转发 ○ 查找DEF_IP表,由芯片保证最长匹配的实现。如果查找成功,获得出端口、下一跳信息,并封装、转发报文;如果查找失败,丢弃报文并有CPU确定是否发送ICMP不可达消息· 本地三层转发流程介绍
本文转自 wt7315 51CTO博客,原文链接:http://blog.51cto.com/wt7315/2069416
转载地址:http://lzudm.baihongyu.com/