802.1Q VLAN协议和802.1P协议的实现
作者:admin 日期:2009-04-13
802.1Q协议
802.1Q协议,即Virtual Bridged Local Area Networks协议,主要规定了VLAN的实现,下面我们首先讲述一下有关VLAN的基本观念。
Virtual LANs目前发展很快,世界上主要的大网络厂商在他们的交换机设备中都实现了VLAN协议,顾名思义,VLAN就是虚拟局域网,比如对于我们的QuidwayS2403交换机来说,可以将它的24个10M以太网口划分为几个组,比如协议组,ATM组,测试组等,这样,组内的各个用户就象在同一个局域网内(可能协议组的用户位于很多的交换机上,而非一个交换机)一样,同时,不是本组的用户也无法访问本组的成员。
实际上,VLAN成员的定义可以分为4种:
1. 根据端口划分VLAN
这种划分VLAN的方法是根据以太网交换机的端口来划分,比如S2403的1~4端口为VLAN A,5~17为VLAN B,18~24为VLAN C,当然,这些属于同一VLAN的端口可以不连续,如何配置,由管理员决定,如果有多个交换机的话,例如,可以指定交换机1的1~6端口和交换机2的1~4端口为同一VLAN,即同一VLAN可以跨越数个以太网交换机,根据端口划分是目前定义VLAN的最常用的方法,IEEE 802.1Q协议规定的就是如何根据交换机的端口来划分VLAN。这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都指定义一下就可以了。它的缺点是如果VLAN A的用户离开了原来的端口,到了一个新的交换机的某个端口,那么就必须重新定义。
2. 根据MAC地址划分VLAN
这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组。这种划分VLAN的方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停的配置。
3. 根据网络层划分VLAN
这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法可能是根据网络地址,比如IP地址,但它不是路由,不要与网络层的路由混淆。它虽然查看每个数据包的IP地址,但由于不是路由,所以,没有RIP,OSPF等路由协议,而是根据生成树算法进行桥交换,
这种方法的优点是用户的物理位置改变了,不需要重新配置他所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的桢标签来识别VLAN,这样可以减少网络的通信量。
这种方法的缺点是效率,因为检查每一个数据包的网络层地址是很费时的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网桢头,但要让芯片能检查IP桢头,需要更高的技术,同时也更费时。当然,这也跟各个厂商的实现方法有关。
4. IP组播作为VLAN
IP组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高,对于局域网的组播,有二层组播协议GMRP。
通过上面可以看出,各种不同的VLAN定义方法有各自的优缺点,所以,很多厂商的交换机都实现了不只一种方法,这样,网络管理者可以根据自己的实际需要进行选择,另外,许多厂商在实现VLAN的时候,考虑到VLAN配置的复杂性,还提供了一定程度的自动配置和方便的网络管理工具。
目前,可以说VLAN还没有自己的标准,以前,各个厂商都声称他们的交换机实现了VLAN,但各个厂商实现的方法都不相同,所以彼此是无法互连,这样,用户一旦买了某个厂商的交换机,就没法买其他厂商的了,CISCO公司以前的交换机是通过802.10协议和ISL实现VLAN的,现在,IEEE 提出了802.1Q协议,该协议正在被审核,不久的将来就会作为标准确定下来,目前,各个厂商也都在实现这个协议,CISCO已经在它的IOS 12.0中实现了802.1Q协议。
下面讲述一下VLAN的优点:
1,减少移动和改变的代价,即所说的动态管理网络,也就是当一个用户从一个位置移动到另一个位置是,他的网络属性不需要重新配置,而是动态的完成,这种动态管理网络给网络管理者和使用者都带来了极大的好处,一个用户,无论他到哪里,他都能不做任何修改地接入网络,这种前景是非常美好的。当然,并不是所有的VLAN定义方法都能做到这一点。
2,虚拟工作组,VLAN的最具雄心的目标就是建立虚拟工作组模型,例如,在校园网中,同一个系的就好象在同一个LAN上一样,很容易的互相访问,交流信息,同时,所有的广播包也都限制在该虚拟LAN上,而不影响其他VLAN的人,一个人如果从一个办公地点换到另外一个地点,而他仍然在该系,那么,他的配置无须改变,同时,如果一个人虽然办公地点没有变,但他换了一个系,那么,只需网络管理者那配置一下就行了。这个功能的目标就是建立一个动态的组织环境,当然,这只是一个远大的目标,要实现它,还需要一些其他包括管理等方面的支持。
3,限制广播包,按照802.1D透明网桥的算法,如果一个数据包找不到路由,那么交换机就会将该数据包向所有的其他端口发送,这就是桥的广播方式的转发,这样的结果,毫无疑问极大的浪费了带宽,如果配置了VLAN,那么,当一个数据包没有路由时,交换机只会将此数据包发送到所有属于该VLAN的其他端口,而不是所有的交换机的端口,这样,就将数据包限制到了一个VLAN内。在一定程度上可以节省带宽。
4,安全性,由于配置了VLAN后,一个VLAN的数据包不会发送到另一个VLAN,这样,其他VLAN的用户的网络上是收不到任何该VLAN的数据包,从而就确保了该VLAN的信息不会被其他VLAN的人窃听,从而实现了信息的保密。
理论上,VLAN可以扩展到WAN上,但是,这是不明智的做法,因为VLAN允许广播包发送出去,而且它没有很好的路由算法,经常是以广播的形式转发数据包,这样,毫无疑问,极大地浪费了WAN的宝贵的带宽,所以说,将基于端口的,MAC地址和网络地址的VLAN扩展到WAN,是不合理的,而基于多播的VLAN概念则可以灵活有效的扩展到WAN。一般的以太网交换机实现的都是基于端口的VLAN,个别的会实现基于MAC地址和网络层地址的VLAN,而路由器中可以通过IGMP多播协议实现所谓的组播形式的VLAN。
.二、802.1P协议
802.1p协议定义了优先级的概念,对于那些实时性要求很高的数据包,主机在发送时就在前面提到MAC桢头增加的3位优先级中指明该数据包优先级高,这样,当以太网交换机数据流量比较多时,它就会考虑优先转发这些优先级高的数据包,目前我们做的以太网交换机所采用的TI公司的交换芯片只支持一种优先级。
802.1p协议还定义了GARP--Generic Attribute Registration Protocol。这里的Attribute是指组播MAC地址、端口过滤模式和VLAN等属性,GARP协议实际上可以定义很多交换机应该具有的特性,目前,它定义了GMRP--GARP Multicast Registration Protocol和GVRP--GARP VLAN Registration Protocol两个协议,以后会根据网络发展的需要定义其他的特性。GARP定义了以太网交换机之间交换这些特性信息的方法,如何发送数据包,接收的数据包如何处理等等。
GMRP协议是一个动态二层组播注册协议,它的很多方面跟IGMP(三层组播协议)类似,对于IP地址来说,D类IP地址是组播地址,实际上,对于每一个IP组播地址,都有一个组播MAC地址跟它对应,802.1p协议就是根据组播MAC地址来在以太网交换机上注册和取消组播成员身份的,而IGMP是根据组播IP来管理的。当然,如果以太网交换机没有实现GMRP协议,那么就只能通过静态配置来实现组播了。
关于为什么需要二层组播协议?我们在详细讨论一下。与协议IGMP一样,如果我们在自己的局域网内成立一个组播组,可能我们的局域网包含了很多交换机,如果这些交换机没有实现二层组播协议的话,那么,某个组员给其他组员发送数据包时,交换机就会将该数据包向所有的端口广播,因为交换机不知道哪个端口有人加入了该组播组,唯一的解决办法就是管理员配置交换机,这样,才能将这种广播转发数据包的发送方式限制住,而组播本身是动态的,所以,通过这种靠管理员的配置来实现组播的方式是不现实的。因此,就需要有一个二层组播协议来动态管理组员。这就是为什么需要二层组播协议的原因,目前,许多高档的交换机都把实现802.1p和802.1Q协议作为一个主要的性能指标。
GVRP是VLAN协议,由于它与GMRP都是基于GARP之上的,所以它们之间的关系很紧密,它们都要对交换机的数据库进行操作,这个协议的具体定义在802.1Q中。
802.1Q协议,即Virtual Bridged Local Area Networks协议,主要规定了VLAN的实现,下面我们首先讲述一下有关VLAN的基本观念。
Virtual LANs目前发展很快,世界上主要的大网络厂商在他们的交换机设备中都实现了VLAN协议,顾名思义,VLAN就是虚拟局域网,比如对于我们的QuidwayS2403交换机来说,可以将它的24个10M以太网口划分为几个组,比如协议组,ATM组,测试组等,这样,组内的各个用户就象在同一个局域网内(可能协议组的用户位于很多的交换机上,而非一个交换机)一样,同时,不是本组的用户也无法访问本组的成员。
实际上,VLAN成员的定义可以分为4种:
1. 根据端口划分VLAN
这种划分VLAN的方法是根据以太网交换机的端口来划分,比如S2403的1~4端口为VLAN A,5~17为VLAN B,18~24为VLAN C,当然,这些属于同一VLAN的端口可以不连续,如何配置,由管理员决定,如果有多个交换机的话,例如,可以指定交换机1的1~6端口和交换机2的1~4端口为同一VLAN,即同一VLAN可以跨越数个以太网交换机,根据端口划分是目前定义VLAN的最常用的方法,IEEE 802.1Q协议规定的就是如何根据交换机的端口来划分VLAN。这种划分的方法的优点是定义VLAN成员时非常简单,只要将所有的端口都指定义一下就可以了。它的缺点是如果VLAN A的用户离开了原来的端口,到了一个新的交换机的某个端口,那么就必须重新定义。
2. 根据MAC地址划分VLAN
这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组。这种划分VLAN的方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN,这种方法的缺点是初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停的配置。
3. 根据网络层划分VLAN
这种划分VLAN的方法是根据每个主机的网络层地址或协议类型(如果支持多协议)划分的,虽然这种划分方法可能是根据网络地址,比如IP地址,但它不是路由,不要与网络层的路由混淆。它虽然查看每个数据包的IP地址,但由于不是路由,所以,没有RIP,OSPF等路由协议,而是根据生成树算法进行桥交换,
这种方法的优点是用户的物理位置改变了,不需要重新配置他所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的桢标签来识别VLAN,这样可以减少网络的通信量。
这种方法的缺点是效率,因为检查每一个数据包的网络层地址是很费时的(相对于前面两种方法),一般的交换机芯片都可以自动检查网络上数据包的以太网桢头,但要让芯片能检查IP桢头,需要更高的技术,同时也更费时。当然,这也跟各个厂商的实现方法有关。
4. IP组播作为VLAN
IP组播实际上也是一种VLAN的定义,即认为一个组播组就是一个VLAN,这种划分的方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高,对于局域网的组播,有二层组播协议GMRP。
通过上面可以看出,各种不同的VLAN定义方法有各自的优缺点,所以,很多厂商的交换机都实现了不只一种方法,这样,网络管理者可以根据自己的实际需要进行选择,另外,许多厂商在实现VLAN的时候,考虑到VLAN配置的复杂性,还提供了一定程度的自动配置和方便的网络管理工具。
目前,可以说VLAN还没有自己的标准,以前,各个厂商都声称他们的交换机实现了VLAN,但各个厂商实现的方法都不相同,所以彼此是无法互连,这样,用户一旦买了某个厂商的交换机,就没法买其他厂商的了,CISCO公司以前的交换机是通过802.10协议和ISL实现VLAN的,现在,IEEE 提出了802.1Q协议,该协议正在被审核,不久的将来就会作为标准确定下来,目前,各个厂商也都在实现这个协议,CISCO已经在它的IOS 12.0中实现了802.1Q协议。
下面讲述一下VLAN的优点:
1,减少移动和改变的代价,即所说的动态管理网络,也就是当一个用户从一个位置移动到另一个位置是,他的网络属性不需要重新配置,而是动态的完成,这种动态管理网络给网络管理者和使用者都带来了极大的好处,一个用户,无论他到哪里,他都能不做任何修改地接入网络,这种前景是非常美好的。当然,并不是所有的VLAN定义方法都能做到这一点。
2,虚拟工作组,VLAN的最具雄心的目标就是建立虚拟工作组模型,例如,在校园网中,同一个系的就好象在同一个LAN上一样,很容易的互相访问,交流信息,同时,所有的广播包也都限制在该虚拟LAN上,而不影响其他VLAN的人,一个人如果从一个办公地点换到另外一个地点,而他仍然在该系,那么,他的配置无须改变,同时,如果一个人虽然办公地点没有变,但他换了一个系,那么,只需网络管理者那配置一下就行了。这个功能的目标就是建立一个动态的组织环境,当然,这只是一个远大的目标,要实现它,还需要一些其他包括管理等方面的支持。
3,限制广播包,按照802.1D透明网桥的算法,如果一个数据包找不到路由,那么交换机就会将该数据包向所有的其他端口发送,这就是桥的广播方式的转发,这样的结果,毫无疑问极大的浪费了带宽,如果配置了VLAN,那么,当一个数据包没有路由时,交换机只会将此数据包发送到所有属于该VLAN的其他端口,而不是所有的交换机的端口,这样,就将数据包限制到了一个VLAN内。在一定程度上可以节省带宽。
4,安全性,由于配置了VLAN后,一个VLAN的数据包不会发送到另一个VLAN,这样,其他VLAN的用户的网络上是收不到任何该VLAN的数据包,从而就确保了该VLAN的信息不会被其他VLAN的人窃听,从而实现了信息的保密。
理论上,VLAN可以扩展到WAN上,但是,这是不明智的做法,因为VLAN允许广播包发送出去,而且它没有很好的路由算法,经常是以广播的形式转发数据包,这样,毫无疑问,极大地浪费了WAN的宝贵的带宽,所以说,将基于端口的,MAC地址和网络地址的VLAN扩展到WAN,是不合理的,而基于多播的VLAN概念则可以灵活有效的扩展到WAN。一般的以太网交换机实现的都是基于端口的VLAN,个别的会实现基于MAC地址和网络层地址的VLAN,而路由器中可以通过IGMP多播协议实现所谓的组播形式的VLAN。
.二、802.1P协议
802.1p协议定义了优先级的概念,对于那些实时性要求很高的数据包,主机在发送时就在前面提到MAC桢头增加的3位优先级中指明该数据包优先级高,这样,当以太网交换机数据流量比较多时,它就会考虑优先转发这些优先级高的数据包,目前我们做的以太网交换机所采用的TI公司的交换芯片只支持一种优先级。
802.1p协议还定义了GARP--Generic Attribute Registration Protocol。这里的Attribute是指组播MAC地址、端口过滤模式和VLAN等属性,GARP协议实际上可以定义很多交换机应该具有的特性,目前,它定义了GMRP--GARP Multicast Registration Protocol和GVRP--GARP VLAN Registration Protocol两个协议,以后会根据网络发展的需要定义其他的特性。GARP定义了以太网交换机之间交换这些特性信息的方法,如何发送数据包,接收的数据包如何处理等等。
GMRP协议是一个动态二层组播注册协议,它的很多方面跟IGMP(三层组播协议)类似,对于IP地址来说,D类IP地址是组播地址,实际上,对于每一个IP组播地址,都有一个组播MAC地址跟它对应,802.1p协议就是根据组播MAC地址来在以太网交换机上注册和取消组播成员身份的,而IGMP是根据组播IP来管理的。当然,如果以太网交换机没有实现GMRP协议,那么就只能通过静态配置来实现组播了。
关于为什么需要二层组播协议?我们在详细讨论一下。与协议IGMP一样,如果我们在自己的局域网内成立一个组播组,可能我们的局域网包含了很多交换机,如果这些交换机没有实现二层组播协议的话,那么,某个组员给其他组员发送数据包时,交换机就会将该数据包向所有的端口广播,因为交换机不知道哪个端口有人加入了该组播组,唯一的解决办法就是管理员配置交换机,这样,才能将这种广播转发数据包的发送方式限制住,而组播本身是动态的,所以,通过这种靠管理员的配置来实现组播的方式是不现实的。因此,就需要有一个二层组播协议来动态管理组员。这就是为什么需要二层组播协议的原因,目前,许多高档的交换机都把实现802.1p和802.1Q协议作为一个主要的性能指标。
GVRP是VLAN协议,由于它与GMRP都是基于GARP之上的,所以它们之间的关系很紧密,它们都要对交换机的数据库进行操作,这个协议的具体定义在802.1Q中。
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags: