(1)ISL和802.1Q概念
通过使用VLAN Trunk链路,设备可以通过一条链路发送去往多个vlan的流量。为了知道数据帧属于哪个vlan,发送方会添加原始以太网数据帧的头部,这个头部中包含相关VLAN的VLAN ID字段。
ISL会添加新的26字节头部,以及新的尾部(从而能够使用新的FCS值),然后封装整个原始数据帧。使用执行Trunk行为的设备的源地址(SA)来封装头部,而不使用原始数据帧的源MAC地址。ISL使用组播目的地址(DA)0100.0C00.0000或0300.0C00.0000。
802. 1Q 会在原始数据帧中(在源地址字段后)插入一个4字节的头部,称为标记。原始数据帧的地址保持不变。正常情况下,以太网控制器会希望在源地址字段后,找到以太网类型字段或802.1Q长度字段。对于802.1Q标记,地址字段后的前两个字节记录着以太网类型值0x8100,表示数据帧包含802.1Q的头部。因为802.1Q并不真正封装原始数据帧,因此通常被称为数据帧标记
802.1Q有本征vlan的概念,在Trunk链路上,802.1Q不标记在本征VLAN中发送的数据帧,并且会将所有收到的未标记的数据帧都分配给本征VLAN。本征VLAN特性允许交换机尝试在接口上使用802.1Q Trunk,但如果另一台设备不支持Trunk,本征VLAN的流量仍可以通过链路发送。默认时,本征VLAN是VLAN1,这也是默认的Access VLAN。Trunk链路两端的本征VLAN必须相同;否则就会出现本征VLAN不匹配,从而导致两个VLAN合并。为了检测并尽可能避免本征VLAN不匹配的不良影响,Cisco交换机对PVST+和快速PVST+部署实施了私有化扩展,允许它们检测并阻塞Trunk链路上不匹配的本征VLAN。此扩展将在第3章中进一步描述。Cisco发现协议(Cisco Discovery Protocol,CDP)将检测并报告本征VLAN不匹配的情况。最佳做法是在每个Trunk链路上,将本征VLAN从VLAN1改为其他VLAN,并且不把这个VLAN用于除配置本征VLAN外的其他目的。这就会防止用户进行VLAN跳转攻击,在这种攻击中,用户会发送双标记数据帧,若顶端的标记匹配了Trunk的本征VLAN,Trunk会去除这个顶端标记。
(2)ISL和802.1Q配置
Cisco交换机使用动态Trunk协议(DTP)来动态获知线缆另一端的设备是否希望使用Trunk,若是,使用哪种Trunk协议。
DTP根据接口上定义的DTP模式来获知是否执行Trunk。DTP模式有以下这些。
dynamic auto:接口将自动协商接口模式;然而,偏向于成为Access接口。
dynamic desirable:接口将自动协商接口模式;然而,偏向于成为Trunk接口。
dynamic desirable有更高的优先级---如果两个接口都配置了dynamic,但一个配置为auto,另一个配置为desirable,最终的操作模式将是Trunk。如果两台中任一台同时支持ISL和802.1Q,DTP也会协商Trunk上的封装类型。如果两台设备同时支持两种Trunk类型,他们将选择ISL。如果DTP协商失败,任何使用dynamic模式的接口都将运行为Access接口。
虽然DTP和VTP是独立的协议,但DTP却在其消息中承载VTP域名。只有在两交换机上的VTP域名相同时,或者一台交换机未配置VTP域名时(即使用NULL域名),交换机才能成功协商链路的操作模式。使用VTP域名进行DTP协商,其背后的原因是在不同的VTP域中,可能有不同的VLAN集合,并且在每个VTP域中,相同编号的VLAN可以用作不同目的(这就是网络一开始被划分成几个VTP域的原因——保证VLAN数据库分离且独立)。因此,交换机不应将链路启用为Trunk,因为将VLAN从一个VTP域扩展到另一个VTP域,会导致不良后果。
将DTP模式设置为desirable,它们会动态建立trunk,不过也可以手动配置trunk,并用show验证,下边列出一些与trunk相关的命令
下边这两个意味着sw1尝试协商到trunk,
Administrative Mode: dynamic desirable
Administrative Trunking Encapsulation: negotiate
但 Operational Mode: static access 说明协商失败
Operational Trunking Encapsulation: native 说明不加标记
下边看配置模式,n-isl 即 negotiated ISL,trunk也支持拓展vlan
下边列出连接到其它三个交换机的三个trunk
下边的 show dtp 显示出全局和单个接口的dtp操作模式
TOS/TAS/TNS --- Trunk Operating/Administrative/Negotiation Status
TOT/TAT/TNT --- Trunk Operating/Administrative/Negotiation Type
①.允许,活跃及修剪的vlan
就像上边的 show interface trunk显示了每个类别的vlan,下边是对这三个类别的解释
允许的VLAN:每个Trunk默认允许所有的VLAN。然而,工程师可以从允许的VLAN列表中添加或移除VLAN,使用的命令是switchport trunk allowed。
允许且活跃:为了成为活跃VLAN,首先VLAN必须在Trunk的允许列表中(基于Trunk配置),其次VLAN必须在交换机的VLAN配置中,最后VLAN必须为活跃状态(而不是休眠或本地关闭状态)。在使用PVST+时,STP实例活跃地运行在Trunk上,Trunk负责承载这个类别中列出的VLAN。
活跃且为修剪:这个类别是“允许且活跃”列表的子集,包含VTP修剪的VLAN,以及PVST+认为是阻塞接口的VLAN。
②.Trunk配置的兼容性
在多数生产网络中,整个网络中的交换机Trunk都使用相同的标准配置。例如,与其使用DTP来协商是否使用Trunk,许多工程师会自己配置Trunk接口总是使用Trunk(使用命令switchport mode trunk),而在不应该使用Trunk的接口上禁用DTP。
如果第一列中没有列出命令switchport nonegotiate的话,默认使用DTP协商(DTP协商是启用的)。
DTP协商和手动switchport trunk encapsulation 配置trunk类型都可以
为了DTP协商成功,两台交换机必须都配置相同的VTP域名,或至少有一台交换机未配置VTP域名(即为NULL)
- vlan 以及 Linux实现的IEEE 802.1Q VLAN
vlan 以及 Linux实现的IEEE 802.1Q VLAN Vlan的概念 VLAN技术介绍 VLANVLAN概述 以太网是一种基于CSMA/CD(Carrier Sense Multiple ...
- 网络工程知识(二)VLAN的基础和配置:802.1q帧;Access、Trunk、Hybrid接口工作模式过程与配置;VLANIF的小实验
介绍-VLAN VLAN(Virtual Local Area Network)即虚拟局域网,工作在数据链路层. 交换机将通过:接口.MAC.基于子网.协议划分(IPv4和IPv6).基于策略的方式划 ...
- 802.1Q VLAN技术原理
文章出处:http://hi.baidu.com/x278384/item/d56b0edfd4f56a4eddf9be79 在数据通信和宽带接入设备里,只要涉及到二层技术的,就会遇到VLAN.而且, ...
- 如何在centos上配置802.1Q VLAN标记,linux单网卡多vlan多网段Ip配置案例
介绍 VLAN使将大型网络分成较小且易于管理的网络成为可能.802.1Q是所有供应商都在其网络设备中实施的标准.某些交换机能够将多个VLAN分配给单个网络端口.使用此功能,您可以将多个VLAN分配给单 ...
- 管理型交换机IEEE 802.1Q VLAN设置应用实例
转载标注: IEEE802.1Q 我粗略理解为对交换机入口规则和出口规则设置,入口打上VID,设置从哪些口可以出去,并且是否带标签. 一 VLAN的概念 VLAN(Virtual Local Area ...
- 802.1q VLAN
VLAN(Virtual Local Area Network),是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的技术. 以一个网络接口为主设备,可以创建多个虚拟网络接 ...
- 【vlan-trunk和802.1q子接口配置】
根据项目需求,搭建好拓扑图如下: 配置sw1的g1/0/3的/trunk,把g1/0/1和g1/0/2分别加入vlan 10 和 vlan 20 配置sw1的g1/0/3的/trunk,把g1/0/1 ...
- 计算机基础理论知识梳理篇(三):VLAN与VLAN网卡相关概念
VLAN(Virtual Local Area Network) 虚拟局域网(VLAN,802.1Q)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能.部门及应用等因素将它们 ...
- H3CNE实验:配置VLAN和VLAN端口
配置准备数据: | 设备名称 | IP地址 | VLAN网关 | 接口 | VLAN | |---------------|--------------|----------------|------ ...
随机推荐
- 【Windows核心编程】一个使用内存映射文件进行进程间通信的例子
进程间通信的方式有很多种,其底层原理使用的都是内存映射文件. 本文实现了Windows核心编程第五版475页上的demo,即使用内存映射文件来在进程间通信. 进程1 按钮[Create mappin ...
- php遍历统计文件目录和文件
function total($dirname, &$dirnum, &$filenum){ $dir=opendir($dirname); readdir($dir)."& ...
- Codeforces Beta Round #56 A. Where Are My Flakes? —— 贪心
题目链接:http://codeforces.com/problemset/problem/60/A A. Where Are My Flakes? time limit per test 2 sec ...
- iOS description
description:重写对象的这个方法,会在打印的时候显示出自定义的description中的内容debugDescription:方法是在开发者在调试器中以控制台命令打印对象时才调用的. 在NS ...
- 常用的PHP类库,PHP开发者必备【转】
PHP开发者常用的PHP类库和组件 PDF 生成器 FPDF - 这量一个可以让你生成PDF的纯PHP类库. Excel 相关 你的站点需要生成Excel?没有问题,下面这两个类库可以让你轻松做到这一 ...
- 配置ADT
配置ADT环境变量打开PATH,添加变量值:F:\android-sdk-windows\tools
- vijos1842(火柴排队)
描述 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:∑i=1n(ai−bi)2∑i=1n(ai−bi) ...
- POJ3211(trie+01背包)
Washing Clothes Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 9384 Accepted: 2997 ...
- HDU2874(LCA应用:求两点之间距离,图不连通)
Connections between cities Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- hibernate学习三 精解Hibernate之核心文件
一 hibernate.cfg.xml详解 1 JDBC连接: 2 配置C3P0连接池: 3 配置JNDI数据源: 4 可选的配置属性: 5 hibernate二级缓存属性 6 hibernate事务 ...