子网划分与VLAN技术详解

更新时间:2024-06-28 14:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

子网划分与VLAN技术详解

子网划分 子网划分定义:Internet组织机构定义了五种IP地址,有A、B、C三类地址。A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域。而在同一广播域中有这么多结点是不可能的,网络会因为广播通信而饱和,结果造成16777214个地址大部分没有分配出去。可以把基于类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。

子网掩码 RFC 950定义了子网掩码的使用,子网掩码是一个32位的2进制数,其对应网络地址的所有位置都为1,对应于主机地址的所有位都置为0。由此可知,A类网络的默认子网掩码是255.0.0.0,B类网络的默认子网掩码是255.255.0.0,C类网络的默认子网掩码是255.255.255.0。将子网掩码和IP地址按位进行逻辑“与”运算,得到IP地址的网络地址,剩下的部分就是主机地址,从而区分出任意IP地址中的网络地址和主机地址。子网掩码常用点分十进制表示,我们还可以用网络前缀法表示子网掩码,即“/<网络地址位数>”。如138.96.0.0/16表示B类网络138.96.0.0的子网掩码为255.255.0.0。 路由器判断IP 子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意IP地址是否是本网段的,从而正确地进行路由。例如,有两台主机,主机一的IP地址为222.21.160.6,子网掩码为255.255.255.192,主机二的IP地址为222.21.160.73,子网掩码为255.255.255.192。现在主机一要给主机二发送数据,先要判断两个主机是否在同一网段。 主机一

222.21.160.6即: 11011110.00010101.10100000.00000110 255.255.255.192即: 11111111.11111111.11111111.11000000

按位逻辑与运算结果为: 11011110.00010101.10100000.00000000 主机二

222.21.160.73 即: 11011110.00010101.10100000.01001001 255.255.255.192即: 11111111.11111111.11111111.11000000

按位逻辑与运算结果为: 11011110.00010101.10100000.01000000

两个结果不同,也就是说,两台主机不在同一网络,数据需先发送给默认网关,然后再发送给主机二所在网络。那么,假如主机二的子网掩码误设为255.255.255.128,会发生什么情况呢?

让我们将主机二的IP地址与错误的子网掩码相“与”:

222.21.160.73 即:11011110.00010101.10100000.01001001 255.255.255.128即:11111111.11111111.11111111.10000000 结果为 11011110.00010101.10100000.00000000 这个结果与主机一的网络地址相同,主机一与主机二将被认为处于同一网络中,数据不

再发送给默认网关,而是直接在本网内传送。由于两台主机实际并不在同一网络中,数据包将在本子网内循环,直到超时并抛弃。数据不能正确到达目的机,导致网络传输错误。 反过来,如果两台主机的子网掩码原来都是255.255.255.128,误将主机二的设为255.255.255.192,主机一向主机二发送数据时,由于IP地址与错误的子网掩码相与,误认两台主机处于不同网络,则会将本来属于同一子网内的机器之间的通信当作是跨网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。所以,子网掩码不能任意设置,子网掩码的设置关系到子网的划分。 设置 子网划分是通过借用IP地址的若干位主机位来充当子网地址从而将原网络划分为若干子网而实现的。划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少。以C类网络为例,原有8位主机位,2的8次方即256个主机地址,默认子网掩码255.255.255.0。借用1位主机位,产生2个子网,每个子网有126个主机地址;借用2位主机位,产生4个子网,每个子网有62个主机地址……每个网中,第一个IP地址(即主机部分全部为0的IP)和最后一个IP(即主机部分全部为1的IP)不能分配给主机使用,所以每个子网的可用IP地址数为总IP地址数量减2;根据子网ID借用的主机位数,我们可以计算出划分的子网数、掩码、每个子网主机数,列表如下:

① 划分子网数 ② 子网位数 ③ 子网掩码(二进制) ④ 子网掩码(十进制) ⑤ 每个子网主机数

① 1~2 ② 1 ③ 11111111.11111111.11111111.10000000 ④ 255.255.255.128 ⑤ 126 ① 3~4 ② 2 ③ 11111111.11111111.11111111.11000000 ④ 255.255.255.192 ⑤ 62 ① 5~8 ② 3 ③ 11111111.11111111.11111111.11100000 ④ 255.255.255.224 ⑤ 30 ① 9~16 ② 4 ③ 11111111.11111111.11111111.11110000 ④ 255.255.255.240 ⑤ 14 ① 17~32 ② 5 ③ 11111111.11111111.11111111.11111000 ④ 255.255.255.248 ⑤ 6 ① 33~64 ② 6 ③ 11111111.11111111.11111111.11111100 ④ 255.255.255.252 ⑤ 2 如上表所示的C类网络中,若子网占用7位主机位时,主机位只剩一位,无论设为0还是1,都意味着主机位是全0或全1。由于主机位全0表示本网络,全1留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位。 计算步骤 1、 确定要划分的子网数目以及每个子网的主机数目

2、 求出子网数目对应二进制数的位数N及主机数目对应二进制数的位数M。

3、对该IP地址的原子网掩码,将其主机地址部分的前N位置取1或后M位置取0 即得出该IP地址划分子网后的子网掩码。

例如,对B类网络135.41.0.0/16需要划分为20个能容纳200台主机的网络(即:子网)。因为16<20<32,即:2的4次方<20<2的5次方,所以,子网位只须占用5位主机位就可划分成32个子网,可以满足划分成20个子网的要求。B类网络的默认子网掩码是255.255.0.0,转换为二进制为11111111.11111111.00000000.00000000。现在子网又占用了5位主机位,根据子网掩码的定义,划分子网后的子网掩码应该为11111111.11111111.11111000.00000000,转换为十进制应该为255.255.248.0。现在我们再来看一看每个子网的主机数。子网中可用主机位还有11位,2的11次方=2048,去掉主机位全0和全1的情况,还有2046个主机ID可以分配,而子网能容纳200台主机就能满足需求,按照上述方式划分子网,每个子网能容纳的主机数目远大于需求的主机数目,造成了IP地址资源的浪费。为了更有效地利用资源,我们也可以根据子网所需主机数来划分子网。还以上例来说,128<200<256,即2^7<200<2^8,也就是说,

在B类网络的16位主机位中,保留8位主机位,其它的16-8=8位当成子网位,可以将B类网络138. 96.0.0划分成256(2^8)个能容纳256-1-1=254台(去掉全0全1情况)主机的子网。此时的子网掩码为11111111.11111111.11111111.00000000,转换为十进制为255.255.255.0。

在上例中,我们分别根据子网数和主机数划分了子网,得到了两种不同的结果,都能满足要求,实际上,子网占用5~8位主机位时所得到的子网都能满足上述要求,那么,在实际工作中,应按照什么原则来决定占用几位主机位呢?

划分时注意事项 在划分子网时,不仅要考虑目前需要,还应了解将来需要多少子网和主机。对子网掩码使用比需要更多的主机位,可以得到更多的子网,节约了IP地址资源,若将来需要更多子网时,不用再重新分配IP地址,但每个子网的主机数量有限;反之,子网掩码使用较少的主机位,每个子网的主机数量允许有更大的增长,但可用子网数量有限。一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和,所以,网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,会将更多的主机位用于子网位。

综上所述,子网掩码的设置关系到子网的划分。子网掩码设置的不同,所得到的子网不同,每个子网能容纳的主机数目不同。若设置错误,可能导致数据传输错误。

优点

1.减少网络流量 2.提高网络性能 3.简化管理

4.易于扩大地理范围

如何划分子网 首先要熟记2的幂:2的0次方到9次方的值分别为:1,2,4,8,16,32,64,128,256和512.还有要明白的是:子网划分是借助于取走主机位,把这个取走的部分作为子网位.因此这个意味划分越多的子网,每个子网容纳的主机将越少. Subnet Masks

子网掩码用于辨别IP地址中哪部分为网络地址,哪部分为主机地址,有1和0组成,长32位,全为1的位代表网络号.不是所有的网络都需要子网,因此就引入1个概念:默认子网掩码(default subnet mask).A类IP地址的默认子网掩码为255.0.0.0;B类的为255.255.0.0;C类的为255.255.255.0

Classless Inter-Domain Routing(CIDR)

CIDR叫做无分类域间路由,ISP常用这样的方法给客户分配地址,ISP提供给客户1个块(block size),类似这样:192.168.10.32/28,这排数字告诉你你的子网掩码是多少,/28代表多少位为1,最大/32.但是你必须知道的1点是:不管是A类还是B类还是其他类地址,最大可用的只能为30/,即保留2位给主机位 CIDR值:

1.掩码255.0.0.0:/8(A类地址默认掩码) 2.掩码255.128.0.0:/9 3.掩码255.192.0.0:/10 4.掩码255.224.0.0:/11 5.掩码255.240.0.0:/12

6.掩码255.248.0.0:/13 7.掩码255.252.0.0:/14 8.掩码255.254.0.0:/15

9.掩码255.255.0.0:/16(B类地址默认掩码) 10.掩码255.255.128.0:/17 11.掩码255.255.192.0:/18 12.掩码255.255.224.0:/19 13.掩码255.255.240.0:/20 14.掩码255.255.248.0:/21 15.掩码255.255.252.0:/22 16.掩码255.255.254.0:/23

17.掩码255.255.255.0:/24(C类地址默认掩码) 18.掩码255.255.255.128:/25 19.掩码255.255.255.192:/26 20.掩码255.255.255.224:/27 21.掩码255.255.255.240:/28 22.掩码255.255.255.248:/29 23.掩码255.255.255.252:/30 Subnetting Class A,B&C Address

划分捷径 1.你所选择的子网掩码将会产生多少个子网 2的x次方-2(x代表网络位,即2进制为1的部分,现在的网络中,已经不需要-2,已经可以全部使用,不过需要加上相应的配置命令,例如CISCO路由器需要加上ip subnet zero命令就可以全部使用了。) 2.每个子网能有多少主机

2的y次方-2(y代表主机位,即2进制为0的部分) 3.有效子网是

有效子网号=256-10进制的子网掩码(结果叫做block size或base number) 4.每个子网的广播地址是

广播地址=下个子网号-1 5.每个子网的有效主机分别是

忽略子网内全为0和全为1的地址剩下的就是有效主机地址.最后有效1个主机地址=下个子网号-2(即广播地址-1)

根据上述捷径划分子网的具体实例 C类地址例子:网络地址192.168.10.0;子网掩码255.255.255.192(/26) 1.子网数=2*2=4(ip subnet zero命令启用) 2.主机数=2的6次方-2=62

3.有效子网?:block size=256-192=64;所以第一个子网为192.168.10.0,第二个为192.168.10.64,第三个为192.168.10.128,第四个为192.168.10.192。

4.广播地址:下个子网-1.所以第一和第二个子网的广播地址分别是192.168.10.63和192.168.10.127

5.有效主机范围是:第一个子网的主机地址是192.168.10.1到192.168.10.62;第二个是

192.168.10.65到192.168.10.126

B类地址例子1:网络地址:172.16.0.0;子网掩码255.255.192.0(/18) 1.子网数=2*2=4(ip subnet zero命令启用) 2.主机数=2的14次方-2=16382

3.有效子网:block size=256-192=64;所以第一个子网为172.16.0.0,第二个子网为172.16.64.0,第三个子网为172.16.128.0,最后1个为172.16.192.0

4.广播地址:下个子网-1.所以前2个子网的广播地址分别是172.16.63.255和172.16.127.255。

5.有效主机范围是:第一个子网的主机地址是172.16.0.1到172.16.63.254;第二个是172.16.64.1到172.16.127.254

B类地址例子2:网络地址:172.16.0.0;子网掩码255.255.255.224(/27)

1.子网数=2的11次方=2048(因为B类地址默认掩码是255.255.0.0,所以网络位为8+3=11)(ip subnet zero命令启用) 2.主机数=2的5次方-2=30

3.有效子网?:block size=256-224=32;所以第一个子网为172.16.0.0, 最后1个为172.16.255.224

4.广播地址:下个子网-1.所以第一个子网和最后1个子网的广播地址分别是172.16.0.31和172.16.255.255

5.有效主机范围是:第一个子网的主机地址是172.16.0.1到172.16.0.30;最后1个是172.16.255.225到172.16.255.254 Variable Length Subnet Masks(VLSM) 三类主要的网络地址 我们知道,从LAN到WAN,不同种类网络规模相差很大,必须区别对待。因此按网络规模大小,将网络地址分为主要的三类,如下: A类: 0 1 2 3 8 16 24 3 1 0网络号主机号 B类: 1 0网络号主机号 C类: 1 1 0网络号主机号

A类地址用于少量的网络(最多127个)主机数大于2^16的大型网,每个A类网络可容纳最多2^24台主机;

B类地址用于主机数介于2^8~2^16之间数量不多不少的中型网,B类网络最多2^14个; C类地址用于每个网络只能容纳2^8台主机的大量小型网,C类网络最多2^21个。 除了以上A、B、C三个主类地址外,还有另外两类地址,如下: D类: 1 1 1 0多目地址

E类: 1 1 1 1 0留待后用 其中多目地址(multicast address)是比广播地址稍弱的多点传送地址,用于支持多目传输技术。E类地址用于将来的扩展之用。 可变长子网掩码的作用 可变长子网掩码(VLSM)的作用:节约IP地址空间;减少路由表大小.使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括RIPv2,OSPF,EIGRP和BGP. 关于更多的VLSM知识,可以去进行搜索 子网划分可用的工具 学习子网划分主要便于理解和掌握网络原理,在实际工作中手动划分和计算还是比较繁

琐,可以有一些诸如子网划分器之类的自动化辅助工具可以便于计算和列出划分结果提高工作效率。

VLAN技术详解

1.VLAN的概念

1.1什么是VLAN

VLAN(Virtual Local Area Network)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可跨越不同网段、不同网络的端到端的逻辑网络。一个VLAN组成一个逻辑子网,即一个逻辑广播域,它可以覆盖多个网络设备,允许处于不同地理位置的网络用户加入到一个逻辑子网中。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,VLAN之间的通信是通过第3层的路由器来完成的。 在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。

本来,二层交换机只能构建单一的广播域,不过使用VLAN功能后,它能够将网络分割成多个广播域。

那么,为什么需要分割广播域呢?那是因为,如果仅有一个广播域,有可能会影响到网络整体的传输性能。具体原因,请参看附图加深理解。

A B

图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。假设这时,计算机A需要与计算机B通信。在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“ARP请求(ARP Request)信息”,来尝试获取计算机B的MAC地址。 交换机1收到广播帧(ARP请求)后,会将它转发给除接收端口外的其他所有端口,也就是Flooding了。接着,交换机2收到广播帧后也会Flooding。交换机3、4、5也还会Flooding。最终ARP请求会被转发到同一网络中的所有客户机上。

请大家注意一下,这个ARP请求原本是为了获得计算机B的MAC地址而发出的。也就是说:只要计算机B能收到就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗。

广播信息是那么经常发出的吗?

读到这里,您也许会问:广播信息真是那么频繁出现的吗?

答案是:是的!实际上广播帧会非常频繁地出现。利用TCP/IP协议栈通信时,除了前面出现的ARP外,还有可能需要发出DHCP、RIP等很多其他类型的广播信息。

ARP广播,是在需要与其他主机通信时发出的。当客户机请求DHCP服务器分配IP地址时 ,就必须发出DHCP的广播。而使用RIP作为路由协议时,每隔30秒路由器都会对邻近的其他路由器广播一次路由信息。RIP以外的其他路由协议使用多播传输路由信息,这也会被交换机转发(Flooding)。除了TCP/IP以外,NetBEUI、IPX和Apple Talk等协议也经常需要用到广播。例如在Windows下双击打开“网络计算机”时就会发出广播(多播)信息。(Windows XP除外……)

总之,广播就在我们身边。下面是一些常见的广播通信: ●?ARP请求:建立IP地址和MAC地址的映射关系。 ●?RIP:选路信息协议(Routing Infromation Protocol)。 ●??DHCP:用于自动设定IP地址的协议。

●??NetBEUI:Windows下使用的网络协议。 ●??IPX:Novell Netware使用的网络协议。

●?Apple Talk:苹果公司的Macintosh计算机使用的网络协议。

1.2 VLAN的实现机制

在理解了“为什么需要VLAN”之后,接下来让我们来了解一下交换机是如何使用VLAN分割广播域的。 首先,在一台未设置任何VLAN的二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口(Flooding)。例如,计算机A发送广播信息后,会被转发给端口2、3、4。

这时,如果在交换机上生成红、蓝两个VLAN;同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口——也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口。 同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口。

就这样,VLAN通过限制广播帧转发的范围分割了广播域。上图中为了便于说明,以红、蓝两色识别不同的VLAN,在实际使用中则是用“VLAN ID”来区分的。

如果要更为直观地描述VLAN的话,我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机。在一台交换机上生成红、蓝两个VLAN,也可以看作是将一台交换机换做一红一蓝两台虚拟的交换机。

在红、蓝两个VLAN之外生成新的VLAN时,可以想象成又添加了新的交换机。 但是,

VLAN生成的逻辑上的交换机是互不相通的。因此,在交换机上设置VLAN后,如果未做其他处理,VLAN间是无法通信的。 明明接在同一台交换机上,但却偏偏无法通信——这个事实也许让人难以接受。但它既是VLAN方便易用的特征,又是使VLAN令人难以理解的原因。

需要VLAN间通信时怎么办呢?

那么,当我们需要在不同的VLAN间通信时又该如何是好呢?

请大家再次回忆一下:VLAN是广播域。而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。因此,VLAN间的通信也需要路由器提供中继服务,这被称作“VLAN间路由”。

VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。其中的具体内容,等有机会再细说吧。在这里希望大家先记住不同VLAN间互相通信时需要用到路由功能。

1.3 VLAN的划分方法

VLAN的划分可以是事先固定的、也可以是根据所连的计算机而动态改变设定。前者被称为“静态VLAN”、后者自然就是“动态VLAN”了。

1.3.1 静态VLAN

静态VLAN又被称为基于端口的VLAN(Port Based VLAN)。顾名思义,就是明确指定各端口属于哪个VLAN的设定方法。

由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数字(比如数百台)后,设定操作就会变得烦杂无比。并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定——这显然不适合那些需要频繁改变拓补结构的网络。我们现在所实现的VLAN配置都是基于端口的配置,因为我们只是支持二层交换,端口数目有限一般为4和8个端口,并且只是对于一台交换机的配置,手动配置换算较为方便。

1.3.2 动态VLAN

另一方面,动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。这就可以避免上述的更改设定之类的操作。动态VLAN可以大致分为3类: ",● 基于MAC地址的VLAN(MAC Based VLAN) ",● 基于子网的VLAN(Subnet Based VLAN) ",● 基于用户的VLAN(User Based VLAN)

其间的差异,主要在于根据OSI参照模型哪一层的信息决定端口所属的VLAN。 基于MAC地址的VLAN,就是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个MAC地址“A”被交换机设定为属于VLAN“10”,那么不论MAC地址为“A”的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN10中去。计算机连在端口1时,端口1属于VLAN10;而计算机连在端口2时,则是端口2属于VLAN10。

由于是基于MAC地址决定所属VLAN的,因此可以理解为这是一种在OSI的第二层设定访问链接的办法。

但是,基于MAC地址的VLAN,在设定时必须调查所连接的所有计算机的MAC地址并加以登录。而且如果计算机交换了网卡,还是需要更改设定。

基于子网的VLAN,则是通过所连计算机的IP地址,来决定端口所属VLAN的。不像基于MAC地址的VLAN,即使计算机因为交换了网卡或是其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN。

因此,与基于MAC地址的VLAN相比,能够更为简便地改变网络结构。IP地址是OSI参照模型中第三层的信息,所以我们可以理解为基于子网的VLAN是一种在OSI的第三层设定访问链接的方法。一般路由器与三层交换机都使用基于子网的方法划分VLAN。

基于用户的VLAN,则是根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN。这里的用户识别信息,一般是计算机操作系统登录的用户,比如可以是Windows域中使用的用户名。这些用户名信息,属于OSI第四层以上的信息。

总的来说,决定端口所属VLAN时利用的信息在OSI中的层面越高,就越适于构建灵活多变的网络。

访问链接的总结

综上所述,VLAN的划分有静态VLAN和动态VLAN两种,其中动态VLAN又可以继续细分成几个小类。

其中基于子网的VLAN和基于用户的VLAN有可能是网络设备厂商使用独有的协议实现的,不同厂商的设备之间互联有可能出现兼容性问题;因此在选择交换机时,一定要注意事先确认。 下表总结了静态VLAN和动态VLAN的相关信息。

种类

解说

静态VLAN(基于端口的VLAN)

将交换机的各端口固定指派给

VLAN 根据各端口所连计算机的MAC

地址设定 根据各端口所连计算机的IP地

址设定

动态VLAN 基于MAC地址的VLAN

基于子网的VLAN

基于用户的VLAN

根据端口所连计算机上登录用

户设定

就目前来说,对于VLAN的划分主要采取上述基于端口的VLAN和基于子网的VLAN两种,而基于MAC地址和基于用户的VLAN一般作为辅助性配置使用。

2. VLAN帧结构

在交换机的汇聚链接上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN。

附加VLAN信息的方法,最具有代表性的有: ● IEEE802.1Q ?●?ISL

现在就让我们看看这两种协议分别如何对数据帧附加VLAN信息。

2.1 IEEE802.1Q

IEEE802.1Q,俗称“Dot One Q”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。 在此,请大家先回忆一下以太网数据帧的标准格式。

IEEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间。具体内容为2字节的TPID和2字节的TCI,共计4字节。 在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。

基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签。因此,它也被称作“标签型VLAN(Tagging VLAN)”。

3 bits1 bits12bitsVLAN IDUser priorityCFI

1. TPID (Tag Protocol Identifier,也就是EtherType)

是IEEE定义的新的类型,表明这是一个加了802.1Q标签的帧。TPID包含了一个固定的值0x8100。

2. TCI (Tag Control Information)

包括用户优先级(User Priority)、规范格式指示器(Canonical Format Indicator)和 VLAN ID。 ①User Priority:该字段为3-bit,用于定义用户优先级,总共有8个(2的3次方)优先级别。IEEE 802.1P 为3比特的用户优先级位定义了操作。最高优先级为7,应用于关键性网络流量,如路由选择信息协议(RIP)和开放最短路径优先(OSPF)协议的路由表更新。优先级6和5主要用于延迟敏感(delay-sensitive)应用程序,如交互式视频和语音。优先级4到1主要用于受控负载(controlled-load)应用程序,如流式多媒体(streaming multimedia)和关键性业务流量(business-critical traffic) - 例如,SAP 数据 - 以及“loss eligible”流量。优先级0是缺省值,并在没有设置其它优先级值的情况下自动启用。 ②CFI:CFI值为0说明是规范格式,1为非规范格式。它被用在令牌环/源路由FDDI介质访问方法中来指示封装帧中所带地址的比特次序信息。 ③VID:该字段为12-bit, VLAN ID 是对 VLAN 的识别字段,在标准 802.1Q 中常被使用。支持4096(2的12次方) VLAN 的识别。在4096可能的VID 中,VID=0 用于识别帧优先级。 4095(FFF)作为预留值,所以 VLAN 配置的最大可能值为4094。 所以有效的VLAN ID范围一般为1-4094。

2.2 ISL(Inter Switch Link)

ISL,是Cisco产品支持的一种与IEEE802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议。 使用ISL后,每个数据帧头部都会被附加26字节的“ISL包头(ISL Header)”,并且在帧尾带上通过对包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值。换而言之,就是总共增加了30字节的信息。 在使用ISL的环境下,当数据帧离开汇聚链路时,只要简单地去除ISL包头和新CRC就可以了。由于原先的数据帧及其CRC都被完整保留,因此

无需重新计算

404448168241511616DATypeUserSALenAAA03HSAVLANBPDUindexResv ? DA ― 40位组播目的地址。包括一个广播地址0X01000C0000或者是0X03000C0000。

? Type ― 各种封装帧(Ethernet (0000)、Token Ring (0001)、FDDI (0010) 和 ATM (0011))的4位描述符。

? User ― Type 字段使用的4位描述符扩展或定义 Ethernet 优先级。该二进制值从最低优先级开始0到最高优先级3。

? SA ― 传输 Catalyst 交换机中使用的48位源 MAC 地址。

? LEN ― 16位帧长描述符减去 DA、type、user、SA、LEN 和 CRC 字段。 ? AAAA03 ― 标准 SNAP 802.2 LLC 头。

? HAS ― SA 的前3字节(厂商的 ID 或组织唯一 ID)。 ? VLAN ― 15位 VLAN ID。低10位用于1024 VLAN。

? BPDU ― 1位描述符,识别帧是否是生成树网桥协议数据单元(BPDU)。如果封装帧为思科发现协议(CDP)帧,也需设置该字段。

? INDEX ― 16位描述符,识别传输端口 ID。用于诊断差错。

? RES ― 16位预留字段,应用于其它信息,如令牌环和分布式光纤数据接口帧(FDDI),帧校验(FC)字段。

? ISL帧最大为1548bytes,iSL包头26+1518+4=1548

ISL有如用ISL包头和新CRC将原数据帧整个包裹起来,因此也被称为“封装型VLAN(Encapsulated VLAN)”。 需要注意的是,不论是IEEE802.1Q的“Tagging VLAN”,还是ISL的“Encapsulated VLAN”,都不是很严密的称谓。不同的书籍与参考资料中,上述词语有可能被混合使用,因此需要大家在学习时格外注意。 并且由于ISL是Cisco独有的协议,因此只能用于Cisco网络设备之间的互联。

IEEE 802.Q和ISL的异同:

相同点:都是显式标记,即帧被显式标记了VLAN的信息。

不同点:IEEE 802.1Q是公有的标记方式,ISL是Cisco私有的,ISL采用外部标记的方法,802.1Q采用内部标记的方法,ISL标记的长度为30字节,802.1Q标记的长度为4字节。

VLAN的TRUNK协议(VTP)

一、VTP概述

VLAN中继协议(VTP,VLAN TRUNKING PROTOCOL)是CISCO专用协议,大多数交换机都支持该协议。VTP负责在VTP域内同步VLAN信息,这样就不必在每个交换上配置相同的VLAN信息。

VTP还提供一种映射方案,以便通信流能跨越混合介质的骨干。

VTP最重要的作用是,将进行变动时可能会出现在的配置不一致性降至最低。 VTP也有一些缺点,这些缺点通常都与生成树协议有关。

1、VTP协议的作用

VLAN中继协议(VTP)利用第2层中继帧,在一组交换机之间进行VLAN通信。VTP从一个中心控制点开始,维护整个企业网上VLAN的添加、添加和重命名工作,确何配置的一致性。 2、VTP的优点 >保持配置的一致性

>提供跨不同介质类型如ATM 、FDDI和以太网配置虚拟局域网的方法 >提供跟踪和监视虚拟局域网的方法

>提供检测加到另一个交换机上的虚拟局域的方法 >提供从一个交换机在整个管理域中增加虚拟局域网的方法 二、VTP的工作原理

1、VTP概述和工作原理

VTP是一种消息协议,使用第2层帧,在全网的基础上管理VLAN的添加、删除和重命名,以实现VLAN配置的一致性。可以用VTP管理网络中VLAN1到1005。

有了VTP,就可以在一台机换上集中过时行配置变更,所作的变更会被自动传播到网络中所有其他的交换机上。(前提是在同一个VTP域)

为了实现此功能,必须先建立一个VTP管理域,以使它能管理网络上当前的VLAN。在同一管理域中的交换机共享它们的VLAN信息,并且,一个交换机只能参加到一个VTP管理域,不同域中的交换机不能共享VTP信息。 交换机间交换下列信息: >管理域域名 >配置的修订号

>已知虚拟局域网的配置信息.

交换机使用配置修正号,来决定当前交换机的内部数据是否应该接受从其他交换机发来的VTP更新信息。

>如果接收到的VTP更新配置修订号与内部数据库的修订号相同域者比它小,交换机忽略更新。

>否则,就更新内部数据库,接受更新信息。

VTP管理域在安全模式下,必须配置一个在VTP域中所有交换机惟一的口令。 VTP的运行有如下特点:

>VTP通过发送到特定MAC地址01-00-0C-CC-CC-CC的组播VTP消息进行工作。 >VTP通告只通过中继端口传递。

>VTP消息通过VLAN1传送。(这就是不能将VLAN1从中继链路中去除的原因) >在经过了DTP自动协商,启动了中继之后,VTP信息就可以沿着中继链路传送. >VTP域内的每台交换机都定期在每个中继端口上发送通告到保留的VTP组播地址 VTP通告可以封装在ISL或者IEEE802.1Q帧内。 2、VTP域

VTP域,也称为VLAN管理域,由一个以上共享VTP域名的相互接连的交换机组成。 要使用VTP,就必须为每台交换机指定VTP域名.VTP信息只能在VTP域内保持。一台交换机可属于并且只属于一个VTP域。

缺省情况下,CATALYST交换机处于VTP服务器模式,并且不属于任何管理域,直到交换机通过中继链路接收了关于一个域的通告,或者在交换机上配置了一个VLAN管理域,交换机才能在VTP服务器上把创建或者更改VLAN的消息通告给本管理域内的其他交换机 如果在VTP服务器上进行了VLAN配置变更,所做的修改会传播到VTP域内的所有交换机上。

如果交换机配置为"透明"模式,可以创建或者修改VLAN,但所做的修改只影响单个的交换机。

控制VTP功能的一项关键参数是VTP配置修改编号。这个32位的数字表明了VTP配置的特定修改版本。配置修改编号的取值从0开始,每修改一次,就增加1直到达到4294967295,然后循环归0,并重新开始增加。每个VTP设备会记录自己的VTP配置修改编号;VTP数据包会包含发送者的VTP配置修改编号。这一信息用于确定接收到的信息是否比当前的信息更新。

要将交换机的配置修改号置为0,只需要禁中继,改变VTP的名称,并再次启用中继。 VTP域的要求:

>域内的每台交换机必须使用相同的VTP域名,不论是通过配置实现,还是由交换机自动学动

>CATALYST交换机必须是相邻的,这意味着,VTP域内的所有交换机形成了一颗相互连接的树.每台交换机都通过这棵树与其他交换机相互。 >在所有的交换机之间,必须启用中继。

3、VTP的运行模式 VTP模式有3种,分别是: >服务器模式(SERVER 缺省)

VTP服务器控制着它们所在域中VALN的生成和修改。所有的VTP信息都被通告在本域中的其他交换机,而且,所有这些VTP信息都是被其他交换机同步接收的。 >客户机模式(CLIENT)

VTP客户机不允许管理员创建、修改或删除VLAN。它们监听本域中其他交换机的VTP通告,并相应修改它们的VTP配置情况。 >透明模式(TRANSPARENT)

VTP透明模式中的交换机不参与VTP。当交换机处于透明模式时,它不通告其VLAN配置信息。而且,它的VLAN数据库更新与收到的通告也不保持同步。但它可以创建和删除本地的VLAN。不过,这些VLAN的变更不会传播到其他任何交换机上。 各种运行模式的状态

功能 服务器模式 客户端模式 透明模式 提供VTP消息 √ √ × 监听VTP消息 √ √ ×

修改VLAN √ × √(本地有效)

记住VLAN √ ×√(在不同的版本有不同的结果) √(本地有效)

4、VTP的通告 1.VTP通告概述

使用VTP时,加入VTP域的每台交换机在其中继端口上通告如下信息. >管理域 >配置版本号 >它所知道的VLAN

>每个已知VLAN的某些参数

这些通告数据帧被发送到一个多点广播地址(组播地址),以使所有相邻设备都能收到这些帧。

新的VLAN必须在管理域内的一台牌服务器模式的交换机上创建和配置。该信息可被同一管理域中所有其他设备学到

VTP帧是作为一种特殊的帧发送到中继链路上的。 有2种类型的通告:

>来自客户机的请求,由客户机在启动时发出,用以获取信息。 >来自服务器的响应 有3种类型的消息: >来自客户机的通告请求 >汇总通告

>子集通告

VTP通告中可包含如下信息: >管理域名称 >配置版本号

>MD5摘要--当配置了口令后,MD5是与VTP一起发送的口令。如果口令不匹配,更新将被忽略。

>更新者身份--发送VTP汇总通告的交换机的身份。

VTP通告处理以配置修订号为0为起点.每当随后的字段变更一项时,这个修订号就加1,直到VTP通告被发送出去为止。

VTP修订号存储在NVRAM中,交换机的电源开关不会改变这个设定值。.要将修订号初始化为0,可以用下列方法:

>将交换机的VTP模式更改为透明模式,然后再改为服务器模式。 >将交换机VTP的域名更改一次,再更改回原来的域名。

>使用clear config all命令,清除交换机的配置和VTP信息,再次启动。 2. 3种VTP消息类型 (1)汇总通告

用于通知邻接的CATALYST交换机目前的VTP域名和配置修改编号。缺省情况下,CATALYST交换机每5分钟发送一次汇总通告。

当交换机收到了汇总通告数据包时,它会对比VTP域名: >如果域名不同,就忽略此数据包

>如果域名相同,则进一步对比配置修改编号

>如果交换机自身的配置修改编号更高或与之相等,就忽略此数据包。如果更小,就发送通告请求。 (2)子集通告

如果在VTP服务器上增加、删除或者修改了VLAN,"配置修改编号"就会增加,交换机会首先发送汇总通告,然后发送一个或多个子集通告。挂起或激活某个VLAN,改变VLAN的名称或者MTU,都会触发子集通告。

子集通告中包括VLAN列表和相应的VLAN信息。如果有多个VLAN,为了通告所有的信息,可能需要发送多个子集通告。 (3)通告请求

交换机在下列情况下会发出VTP通告请求: >交换机重新启动后 >VTP域名变更后

>交换机接到了配置修改编号比自己高的VTP汇总通告 5、VTP域内安全

为了使管理域更安全,域中每个交换机都需要配置域名和口令,并且域名和口令必须相同。 例(将TEST管理域设置为安全管理域): >进入配置模式: switch#configure terminal >配置VTP域名:

switch(config)#vtp domain test >配置VTP运行模式: switch(config)#vtp mode server >配置VTP口令:

switch(config)#vtp password mypassword >返回到特权模式: switch(config)#end >查看VTP配置:

switch(config)#show vtp status

删除VTP管理域中的口令,恢复到缺省状态 switch(config)#no vtp password

6、VTP修剪

VTP修剪(VTP PRUNING)是VTP的一个功能,它能减少中继端口上不必要信息量。 在CISCO交换上,VTP修剪功能缺省是关闭的。

缺省情况下,发给某个VLAN的广播会送到每一个在中继链路上承载该VLAN的交换机。即使交换机上没有位于那个VLAN的端口也是如此。

VTP通过修剪,来减少没有必要扩散的通信量,来提高中继链路的带宽利用率。

7、VTP的版本

在VTP管理域中,有两个VTP版本可供采用,cisco catalyst型交换机既可运行版本1,也可运行版本2,但是,一个管理域中,这两个版本是不可互操作的。因此,在同一个VTP域中,每台交换机必须配置相同的VTP版本。 交换机上默认的版本协议是VTP版本1。

如果要在域中使用版本2,只要在一台服务器模式交换机配置VTP版本2就可以了。 VTP版本2增加了版本1所没有的以下主要功能:

>与版本相关的透明的模式:在VTP版本1中,一个VTP透明模式的交换机在用VTP转发信息给其他交换机时,先检查VTP版本号和域名是否与本机相匹配.匹配时,才转发该消息.VTP版本2在转发信息时,不检查版本号和域名。

>令牌环支持:VTP版本2支持令牌环交换和令牌环VLAN,这个是VTP版本2和版本1的最大区别。

设置VTP版本2的步骤如下: >进入全局配置模式: switch#config terminal switch(config)#vtp version 2 switch(config)#end switch#show vtp status

8、VTP如何在域内增加、减少交换机 1.增加交换机

VTP域是由多台共享同一VTP域名的互连设备组成.交换机只能属于某个VTP域内,各

个交换机上的VLAN信息是通过交换机互连中继端口进行传播的。 要把一个交换机加入到一个VTP域内,可以使用 VTP DOMAIN DOMAIN-NAME。

当一个新交换机配置了VTP的域和服务器模式后,交换机每隔300秒,或者,每当VLAN结构发生变化时,就会通告一次。

将新的交换机添加到域中,一定要保证该交换机的修订号已经为0。

VTP修订号存储在NVRAM中,交换机的电源开关不会改变这个设定值.可以使用下列方法:

>将交换机的VTP模式变到透明模式,然后再变回服务器模式。

>将交换机的域名修改为一个其他的域名(一个不存在的域),然后再回到原来的域名 >使用erase startup-config 或 erase nvram命令,清除交换机的配置和VTP信息.再次启动。

2.删除交换机

要从管理域中删除交换机,只要在交换机上删除VTP域名的配置,或者将交换配置为透明模式,即可让这个交换机脱离该VTP管理域.

三、配置VTP

在开始配置VTP和VLAN之前,必须做一些规划. >确定将在网络中运行的VTP版本.

>决定交换机是成为已有管理域的成员,还是另外成为其创立一个新的管理域,如果要加入到已有的管理域中,则确定它的名称和口令. >为交换机选择一个VTP的工作模式. >是否需用启用修剪功能. 2950缺省配置: >VTP域名:空

>VTP模式:SERVER服务器模式 >VTP版本2:禁用 >VTP认证:空,未启用 >VTP修剪:未启用

1、创立VTP域和配置模式 <1> 创立VTP域

switch(config)#vtp domain domina-name 创立或加入一个管理域,使用下面步骤: >进入全局配置模式 switch#config terminal >加入到某个管理域: switch(config)#vtp domain test >返回特权模式: switch(config)#end

域名长度可达32字符,口令可是64个字符长. 至少应该有一台交换机被设置为服务器模式.

一台交换机不想与网络中的其他交换机共享VLAN信息,刚可以将它设置为透明模式. 实现工作中,建议至少将两台核心交换机设置为VTP服务器模式,而将其他交换机设置为VTP客户机模式.这有效地,如果交换机掉电了,它重启后,可以从服务器处获得有效的VLAN信息.

<2> 配置VTP服务器

switch(config)#vtp domain domain-name switch(config)#vtp mode server switch#show vtp status <3> 配置VTP客户端

switch(config)#vtp domain domain-name switch(config)#vtp mode client switch(config)#exit <4> 配置VTP透明模式

switch(config)#vtp domain domain-name switch(config)#vtp mode transparent switch(config)#exit

2、VTP域内的安全、修剪、版本的设置 <1>VTP口令的配置:

switch(config)#vtp password mypassword switch(config)#no vtp password(删除) <2>VTP修剪 >启动VTP修剪

缺省情况下,在基于IOS交换机的中继商品上,VLAN2-1001都是可修剪的.要在管理域内启动修剪.使用: switch(config)#vtp pruning >从可修剪列表中去除某VLAN

switchport trunk pruning vlan remove vlan-id

用逗号分隔不连续的VLAN ID,其间不要有空格,用短线表明一个ID范围 例(去除VLAN2、3、4、6、8)命令如下: switchport trunk pruning remove 2-4,6,8 >检查VTP修剪的配置

要检查VTP修剪的配置,可以使用命令:

show vtp status 和 show interface interface-id switchport 例:(配置VTP修剪) switch#config terminal switch(config)#vtp pruning switch(config)#exit switch#show vtp status

-

VTP pruning mode :enable(表明修剪已经启动) -

例2(关闭指定的VLAN修剪) switch#show interface fa0/3 switchport

trunking vlans active:1-4,6,7,200(说明了在该中继链路上可传输哪些VLAN的数据) pruning vlans enable:2-1001(说明了该商品上启用了VTP修剪的VLAN列表) -

switch#config t

switch(config)#interface fa0/3

switch(config-if)#switchport trunk pruning remove vlan 2 3 7 switch(config-if)#end

switch#show interface fa0/3 switchport -

trunking vlans active:1-4,6,7,200 pruning vlans enable :4-6,8-1001 例3(在管理域中关闭VTP修剪) switch#config t

switch(config)#no vtp pruning switch#show vtp status -

vtp pruning mode :disabled(修剪已关闭) <3>VTP版本设置

switch(config)#vtp version 2(配置为版本2) switch(config)#no vtp version 2(回到版本1) switch#show vtp terminal VTP V2 mode :enable

只有在VTP服务器模式下才能变更VTP版本

3、在VTP域内增加、减少交换机的配置方法 <1>增加交换机

新加入的交换机的VTP配置号比所要加入的域中原来的VTP服务器上的配置号要低. 添加过程:

>清除配置:(或其他的方法) switch(config)#erase startup-config switch(config)#end switch#reload

>配置VTP运行模式: switch(config)#vtp domain test >配置VTP运行模式

switch(config)#vtp mode server

switch(config)#end switch#show vtp status <2>减少交换机

switch(config)#vtp domain test-a switch(config)#end switch#show vtp status

3.VLAN访问链接模式

接下来就让我们来依次学习交换机三种不同端口的特征。首先说几个重要过的概念:

3.1 VLAN的几个重要概念介绍

PVID:Port VLAN ID,指端口的却省VLAN ID。Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1。PVID主要有两个作用:第一对于接收到的Untag包则添加本端口的PVID再进行转发;第二是接收过滤作用,比如只接收等于PVID的VLAN TAG包。

VLAN ID:VLAN TAG包的VLAN ID号,有效范围是1-4094,0和4095都为协议保留值,VLAN ID 0 表示不属于任何VLAN,但携带802.1Q的优先级标签,所以一般被称为Priority-only frame,其一般作为系统使用,用户不可使用和删除。1为系统默认VLAN,即Native VLAN,2-1001是普通的vlan,1006-1024保留仅系统使用,用户不能查看和使用,1002-1005是支持fddi和令牌环的vlan,1025-4095是扩展的vlan。Cisco的专有协议isl,相比之下它仅支持的vlan数目比较少,仅为1-1005。

Vlan表:配置VLAN的信息表,表示交换机的各个端口所属于的VLAN ID,当交换机进行交换数据时则查看该表进行业务转发。VLAN表的容量一般支持1-32个VLAN ID。其VLAN表格如下:

VLAN ID 1 1 2 2 UNTAG包:指不携带802.1Q信息的普通以太网包。 TAG包: 指携带4字节802.1Q信息的VLAN以太网包。

Priority-only 包:指VLAN ID为0,优先级为0-7的以太网包。用途:一般用于要求高优先级的重要报文使用,当端口发生拥塞时使其能够优先转发。

端口号 1 2 3 4 VLAN间路由:指VLAN间能够互相通信,一般是由路由器和三层交换机实现VLAN间互通,通过IP网段来实现VLAN间的互通。当使能VLAN间路由后,则ARP广播包,多播包以及单播包都能够在VLAN间互相通信。

对于UNTAG包、TAG包以及Priority-only 包的处理过程在下面将一一介绍。

交换机的端口类型:

交换机的端口,可以分为以下三种: ● 访问链接(Access Link) ● 汇聚链接(Trunk Link)

● 混合链接(Hybrid Link)

端口模式主要是指在输入输出端口对VLAN数据包的处理。即在输入端口是Admit All Frames还是Admit Only VLAN Tagged Frames,是Only frames that share a VID assigned to this bridge port are admitted还是All frames are forwarded;在输出端口输出数据包类型是tagged frames 还是untagged frames。不同的端口模式对数据包的处理不同,下面就介绍一下各个端口模式吧。

3.2 Access端口

Access即用户接入端口,该类型端口只能属于1个VLAN,一般用于连接计算机的端口。

收端口:收到untagged frame,加上端口的PVID和default priority再进行交换转发;对于tagged frame不论VID=PVID还是VID\\=PVID则有的厂家是直接丢弃,而有的厂家是能够接收VID=PVID的TAG包。一般Access端口只接收untagged frame,部分产品可能接收tagged frame,我们的REOP、ES011、E4114等都接收VID=PVID的TAG端口包。

发报文:对于VID=PVID的tagged frame去除标签并进行转发。对于VID\\=PVID的数据包丢弃不进行转发,untagged frame则无此情况。而我们的REOP、ES011、E4114则对于VID=PVID或VID\\=PVID的tagged frame都进行转发处理。

注:所说的删除标签是指删除4字节的VLAN标签,并且CRC经过重新计算。

3.3 Trunk端口

当需要设置跨越多台交换机的VLAN时则需要设置TRUNK功能。 在规划企业级网络时,很有可能会遇到隶属于同一部门的用户分散在同一座建筑物中的不同楼层的情况,这时可能就需要考虑到如何跨越多台交换机设置VLAN的问题了。假设有如下

图所示

的网络,且需要将不同楼层的A、C和B、D设置为同一个VLAN。

这时最关键的就是“交换机1和交换机2该如何连接才好呢?” 最简单的方法,自然是在交换机1和交换机2上各设一个红、蓝VLAN专用的接口并互联了。

但是,这个办法从扩展性和管理效率来看都不好。例如,在现有网络基础上再新建VLAN时,为了让这个VLAN能够互通,就需要在交换机间连接新的网线。建筑物楼层间的纵向布线是比较麻烦的,一般不能由基层管理人员随意进行。并且,VLAN越多,楼层间(严格地说是交换机间)互联所需的端口也越来越多,交换机端口的利用效率低是对资源的一种浪费、也限制了网络的扩展。 为了避免这种低效率的连接方式,人们想办法让交换机间互联的网线集中到一根上,这时使用的就是汇聚链接(Trunk Link)。

何谓汇聚链接?

技术领域中把TRUNK翻译为中文是“主干、干线、中继线、长途线” ,不过一般不翻译,直接用原文。而且这个词在不同场合也有不同的解释:

1、在网络的分层结构和宽带的合理分配方面,TRUNK被解释为“端口汇聚”,是带宽扩展和链路备份的一个重要途径。TRUNK把多个物理端口捆绑在一起当作一个逻辑端口使用,可以把多组端口的宽带叠加起来使用。TRUNK技术可以实现TRUNK内部多条链路互为备份的功能,即当一条链路出现故障时,不影响其他链路的工作,同时多链路之间还能实现流量均衡,就像我们熟悉的打印机池和MODEM池一样。

2、在电信网络的语音级的线路中,Trunk指“主干网络、电话干线”,即两个交换局或交换机之间的连接电路或信道,它能够在两端之间进行转接,并提供必要的信令和终端设备。 3、但是在最普遍的路由与交换领域,VLAN的端口聚合也有的叫TRUNK,不过大多数都叫TRUNKING。

所谓Trunking即汇聚端口,该类型端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,一般用于交换机之间或交换机与路由器之间连接的端口;

汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。

现在再让我们回过头来考虑一下刚才那个网络如果采用汇聚链路又会如何呢?用户只需要简单地将交换机间互联的端口设定为汇聚链接就可以了。这时使用的网线还是普通的UTP线,而不是什么其他的特殊布线。图例中是交换机间互联,因此需要用交叉线来连接。 接下来,让我们具体看看汇聚链接是如何实现跨越交换机间的VLAN的。 A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加了表示属于红色VLAN的标记。 交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于红色VLAN的,因此去除标记后根据需要将复原的数据帧只转发给其他属于红色VLAN的端口。这时的转送,是指经过确认目标MAC地址并与MAC地址列表比对后只转发给目标MAC地址所连的端口。只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于红色VLAN的端口。 蓝色VLAN发送数据帧时的情形也与此相同。

通过汇聚链路时附加的VLAN识别信息,有可能支持标准的“IEEE 802.1Q”协议,也可能是Cisco产品独有的“ISL(Inter Switch Link)”。如果交换机支持这些规格,那么用户就能够高效率地构筑横跨多台交换机的VLAN。

另外,汇聚链路上流通着多个VLAN的数据,自然负载较重。因此,在设定汇聚链接时,有一个前提就是必须支持100Mbps以上的传输速度。

默认条件下,汇聚链接会转发交换机上存在的所有VLAN的数据。换一个角度看,可以认为汇聚链接(端口)同时属于交换机上所有的VLAN。由于实际应用中很可能并不需要转发所有VLAN的数据,因此为了减轻交换机的负载、也为了减少对带宽的浪费,我们可以通过用户设定限制能够经由汇聚链路互联的VLAN。

另外由于Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID即PVID(port vlan ID)。缺省情况下,Trunk端口的PVID为VLAN 1。如果设置了端口的PVID,当端口接收到不带VLAN Tag的报文后,则加上端口的PVID并将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。

下面就讲一下Trunk的输入输出端口对数据包的处理:

接收端口:同时都能够接收VID=PVID和VID\\=PVID的tagged frame,不改变TAG;对于untaged frame则加上端口的PVID和default priority再进行交换转发,对于priority only tagged frame则添加PVID再进行转发。

发送端口:对于VID=PVID的TAG包则去掉VIDTAG再进行转发。对于VID\\=PVID的TAG包则转发不修改TAG,对于UNTAG包则无此情况。

3.4 Hybrid端口

Hybrid即混合端口模式,该类型的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,交换机与路由器之间,也可以用于交换机与用户计算机的连接。

下面就讲一下 Hybrid的输入输出端口对数据包的处理:

接收端口:同时都能够接收VID=PVID和VID\\=PVID的tagged frame,不改变TAG;对于untaged frame则加上端口的PVID和default priority再进行交换转发,对于priority only tagged frame则添加PVID再进行转发。

发送端口:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag)。

2、如果输入为untag包则在输出端口剥离VLAN信息,再发送,如果是tag则直接发送。

Hybrid端口和Trunk端口的区别:

Hybrid端口和Trunk端口的不同之处在于Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1。如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。

3.5端口实际处理方式

Hybrid 00 不加标签不去标签 TAG 10 只加标签不去标签

ACCESS 01 只去标签不加标签同时入口过滤不等于PVID的包 PVID 设置范围 1-4094 ,默认值为1(0 为vlanid=NULL,4095保留)

模式 方向 条件 Tagged = PVID Tagged =/ PVID Tagged = PVID Tagged =/ PVID 应该处理方式 不接收 不接收 转发删除tag 不转发不处理 是否 支持 不支持 支持 支持 支持 不支持 备注 转发 设置过滤模式 依然转发删除tag,可设置路由表过滤 依然透传,不会出Untag包 支持Untag包 Access (接收) Access Access Access Access (接收) (接收) 发送 发送 从PC接收Untagged 增加tag=PVID Access Tag Tag Tag Tag Tag Tag Hybrid Hybrid Hybrid Hybrid Hybrid Hybrid 发送 (接收) (接收) (接收) 发送 发送 发送 (接收) (接收) (接收) 发送 发送 发送 Untagged Tagged = PVID Tagged =/ PVID Tagged = PVID Tagged =/ PVID Untagged Tagged = PVID Tagged =/ PVID Tagged = PVID Tagged =/ PVID Untagged 无此情况 接收 不修改tag 接收 不修改tag 路由表允许转发则删除tag 支持 支持 支持 不支持 从PC接收Untagged 增加tag=PVID 路由表允许转发则不修改tag 支持 无此情况 不修改tag 不修改tag 路由表允许转发则删除tag 进入端口为Untag,路由表允许转发则发送Untag 支持 支持 支持 不支持 支持 从PC接收Untagged 增加tag=PVID 路由表允许转发则不修改tag 支持 我来解释一下:

收报文:

Acess端口1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)。o??]Ua4h??Y3c 发报文:

Acess端口: 1、将报文的VLAN信息剥离,直接发送出去。 收报文:

trunk端口: 1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃。 发报文:

trunk端口: 1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送!。~G\\*[.Z] 收报文:

hybrid端口: 1、收到一个报文

2、判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃。 发报文: hybrid端口:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag)。

2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送。

3.5.1 多种组合模式间端口处理 包类型 untag Tag+VID untag Tag+VID untag Tag+VID untag Tag+VID untag Tag+VID untag Tag+VID untag Tag+VID untag Tag+VID untag Tag+VID Tag+VID 方向 (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) (接收) PORT1模式 Hybrid Hybrid 路由表 透传-〉 透传-〉 PORT5模式 方向 结果 untag untag Tag包 Tag包 untag包 untag untag untag Tag包 Tag包 Tag包 Tag包 untag Tag包 untag untag 无 备注 vlanID=H/PVID vlanID=VID vlanID=PVID vlanID=VID vlanID=PVID vlanID=VID vlanID=PVID vlanID=PVID 结论 ACCESS 发送 ACCESS 发送 TAG TAG Hybrid Hybrid Hybrid Hybrid ACCESS ACCESS TAG 发送 发送 发送 发送 发送 发送 发送 发送 发送 Hybrid/PVID 透传-〉 Hybrid 透传-〉 Hybrid/PVID 透传-〉 Hybrid TAG/PVID TAG TAG/PVID TAG TAG/=PVID TAG ACCESS/PVID ACCESS ACCESS ACCESS/PVID ACCESS ACCESS ACCESS 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 透传-〉 tag包 vlanID=VID tag包 vlanID=VID TAG/=PVID 发送 TAG TAG Hybrid Hybrid ACCESS ACCESS 任意模式 发送 发送 发送 发送 发送 发送 发送 VlanID\\=PVID

untag Tag+VID untag

(接收) (接收) (接收) 任意模式 任意模式 ACCESS或Hybrid 不透传-〉 不透传-〉 透传-〉 任意模式 任意模式 Hybrid或ACCESS 发送 发送 发送 无 无 untag 包 VLAN间隔离 VLAN间隔离 PC可以直接 互ping 3.6端口member映射模式(Vlan关闭,配置单方向隔离,测试结果)

包类型 Untag/Tag Untag/Tag Untag/Tag Untag/Tag Untag/Tag 收端口 PORT1接收 PORT1接收 PORT5接收 PORT5接收 PORT5接收 端口映射表 Member =0x11 Membe R=0x11 Membe R=0x1F Member =0x18 Member =0x18 发端口 PORT5 发送 P2P3P4 发送 结果 Untag/Tag 无 备注 P1发P5收关联 P2P3P4口不关联无收包 P5收与其余的发送关联 P2P3P4口不关联无收包 P5收P4发关联 结论 P1P2P3P4 Untag/Tag 发送 P1P2P3 发送 P4 发送 无 Untag/Tag

注:(1)无论 Vlan 打开关闭端口映射都起作用。

(2)默认值端口全部双向透传,用户根据需要配置隔离模式。

4 QINQ

QinQ是对802.1Q的扩展,其核心思想是将用户私网VLAN tag封装到公网VLAN tag上,报文带着两层tag穿越服务商的骨干网络,从而为用户提供一种较为简单的二层VPN隧道。其特点是简单而易于管理,不需要信令的支持,仅仅通过静态配置即可实现,特别适用于小型的,以三层交换机为骨干的企业网或小规模城域网。QINQ的报文格式如下:

图1为基于传统的802.1Q协议的网络,假设某用户的网络1和网络2位于两个不同地点,并分别通过服务提供商的PE1、PE2接入骨干网,如果用户需要将网络1的VLAN200-300和网络2的VLAN200-300互联起来,那么必须将CE1、PE1、P和PE2、CE2的相连端口都配置为 Trunk属性,并允许通过VLAN200-300,这种配置方法必须使用户的VLAN在骨干网络上可见,不仅耗费服务提供商宝贵的VLAN ID资源(一共只有4094个VLAN ID资源),而且还需要服务提供商管理用户的VLAN号,用户没有自己规划VLAN的权利。

图一

为了解决上述问题,QinQ协议向用户提供一个唯一的公网VLAN ID,这个特殊的VLAN ID被称作Customer-ID,将用户私网VLAN tag封装在这个新的Customer-ID中,依靠它在公网中传播,用户私网VLAN ID在公网中被屏蔽,从而大大地节省了服务提供商紧缺的VLAN ID资源,如图2所示。

在QinQ模式下,PE上用于用户接入的端口被称作用户端口。在用户端口上使能QinQ功能,并为每个用户分配一个Customer-ID,此处为3,不同的PE上应该为同一网络用户分配相同的Customer-ID.当报文从CE1到达PE1时,带有用户内部网络的VLAN tag 200-300,由于使能了QinQ功能,PE上的用户端口将再次为报文加上另外一层VLAN tag,其ID就是分配给该用户的Customer-ID.此后该报文在服务提供商网络中传播时仅在VLAN 3中进行且全程带有两层VLAN tag(内层为进入PE1时的tag,外层为Customer-ID),但用户网络的VLAN信息对运营商网络来说是透明的。当报文到达PE2,从PE2 上的客户端口转发给CE2之前,外层VLAN tag被剥去,CE2收到的报文内容与CE1发送的报文完全相同。PE1到PE2之间的运营商网络对于用户来说,其作用就是提供了一条可靠的二层链路。 可见,使用QinQ组建VPN具有如下特点:

● 无需信令来维持隧道的建立,通过简单的静态配置即可实现,免去了繁杂的配置,维护工作。

● 运营商只需为每个用户分配一个Customer-ID,提升了可以同时支持的用户数目;而用户也具有选择和管理VLAN ID资源的最大自由度(从1-4096中任意选择)。

● 在运营商网络的内部,P设备无需支持QinQ功能,即传统的三层交换机完全可以满足需求,极大地保护了运营商的投资。

● 户网络具有较高的独立性,在服务提供商升级网络时,用户网络不必更改原有的配置。 因此,无论是对于运营商还是用户来说,采用QinQ方式组建VPN都是一种低成本,简便易行,易于管理的理想方式。 QinQ典型组网

下面通过一个典型的组网方案来说明QinQ的应用。

如图3所示,该网有两个用户,用户1需要将自己在A点的VLAN 1-100和D点的VLAN 1-100连接起来,用户2需要将自己在B点的VLAN 1-200和C点的VLAN 1-200连接起来,传统的802.1Q组网是不可能实现这一需求的,因为两个用户所使用的VLAN ID号有冲突,但是利用QinQ却可轻易地实现这一需求。

在图3中,中间的网络为服务提供商的网络,它由四台S3552实现VPN用户的接入(网络中可能还有其它交换机,此处为简单起见,略去),相互之间通过环状千兆链路连接实现链路备份,使能STP协议。这四台设备之间通过Trunk端口连接,可透传任意VLAN报文,为了达到自动VLAN学习的目的,还可启动GVRP协议。需要注意的是,所有这些二层协议只能在网络侧的端口使能,而不能在用户接入端口上使能,避免用户私有网络受到服务提供商网络的干扰。

用户1使用Customer-ID 30的QinQ端口进行接入,用户2使用Customer-ID 40的QinQ端口进行接入,保证它们在公网上通过Trunk端口进行传输,互不影响。

用户可在私网内部运行STP协议,实现链路备份。例如,用户1的A点使用了两条链路连到S3552,STP可自动地将一条链路断开,避免形成环路。注意,此时S3552的两个QinQ接入端口均不能使能STP协议,这是因为它们属于用户私网拓扑,与公网无关。 QinQ对其它特性的影响

由于在用户接入端口使能了QinQ,导致VPN用户的报文在网络上传播时带有两层VLAN tag,此时三层交换机的三层交换功能对于这种特殊的报文失效,因为交换机无法正确地获取报文内携带的IP地址等信息。但我们不必为此担心,因为VPN报文只在Customer-ID对应的VLAN内作二层转发,根本无需使用三层信息进行转发。而对于运营商网络内的其它普通报文,由于属于不同的VLAN,三层转发不会受到影响。

在使能QinQ的用户接入端口,仍然可以使用acl规则对报文进行流分类,流限速,重定向等qos/acl*作,这无疑有利于运营商面向不同用户提供不同层次的差别服务。对于用户来说,选择适合自己需求的服务能够节省开支;而运营商也可以借此吸引更广泛的用户对象。

5 QOS功能

QoS(Quality of Service,服务质量)是各种存在服务供需关系的场合中普遍存在 的概念,它评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是 注重分析在什么条件下服务是好的,在什么情况下还存在着不足,以便有针对性地 做出改进。

在Internet 中,QoS 所评估的就是网络转发分组的服务能力。由于网络提供的服 务是多样的,因此对QoS 的评估可以基于不同方面。通常所说的QoS,是对分组 转发过程中为延迟、抖动、丢包率等核心需求提供支持的服务能力的评估。 QOS一般是当网络存在拥塞时,优先发送优先级高的数据业务。 5.1 基于端口优先级

基于端口的优先级即配置该端口接收的数据映射进高优先级队列还是低优先级队列。只有当高优先级队列的数据发送完后再发送低优先级队列的数据。

5.2 基于802.1Q优先级

(2) 802.1p 优先级

802.1p 优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环 境下保证QoS 的场合。

4 个字节的802.1Q 标签头包含了2 个字节的TPID(Tag ProtocolIdentifier,标签协议标识,取值为0x8100)和2 个字节的TCI(Tag ControlInformation,标签控制信息)。

在上图中,TCI 中Priority 字段就是802.1p 优先级,也称为CoS 优先级。它由3

本文来源:https://www.bwwdw.com/article/yzg3.html

Top