子网划分与VLAN技术详解.docx
《子网划分与VLAN技术详解.docx》由会员分享,可在线阅读,更多相关《子网划分与VLAN技术详解.docx(60页珍藏版)》请在冰豆网上搜索。
![子网划分与VLAN技术详解.docx](https://file1.bdocx.com/fileroot1/2023-2/25/b2a978c0-4b5e-4c37-9336-e70746124ddc/b2a978c0-4b5e-4c37-9336-e70746124ddc1.gif)
子网划分与VLAN技术详解
子网划分与VLAN技术详解
子网划分与VLAN技术详解
子网划分
子网划分定义:
Internet组织机构定义了五种IP地址,有A、B、C三类地址。
A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域。
而在同一广播域中有这么多结点是不可能的,网络会因为广播通信而饱和,结果造成16777214个地址大部分没有分配出去。
可以把基于类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于类的网络地址的主机部分创建的。
划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。
子网掩码
网络前缀
路由器判断IP
子网掩码告知路由器
主机一
主机二
两个结果不同,也就是说,两台主机不在同一网络,数据需先发送给默认网关
让我们将主机二的IP地址与错误的子网掩码相“与”:
这个结果与主机一的网络地址相同,主机一与主机二将被认为处于同一网络中,数据不再发送给默认网关,而是直接在本网内传送。
由于两台主机实际并不在同一网络中,数据包将在本子网内循环,直到超时并抛弃。
数据不能正确到达目的机,导致网络传输错误。
缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。
所以,子网掩码不能任意设置,子网掩码的设置关系到子网的划分。
设置
①划分子网数②子网位数③子网掩码(二进制)④子网掩码(十进制)⑤每个子网主机数
①1~2②1③④⑤126
①3~4②2③④⑤62
①5~8②3③④⑤30
①9~16②4③④⑤14
①17~32②5③④⑤6
①33~64②6③④⑤2
如上表所示的C类网络中,若子网占用7位主机位时,主机位只剩一位,无论设为0还是1,都意味着主机位是全0或全1。
由于主机位全0表示本网络,全1留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位。
计算步骤
1、确定要划分的子网数目以及每个子网的主机数目
2、求出子网数目对应二进制数的位数N及主机数目对应二进制数的位数M。
3、对该IP地址的原子网掩码,将其主机地址部分的前N位置取1或后M位置取0即得出该IP地址划分子网后的子网掩码。
在上例中,我们分别根据子网数和主机数划分了子网,得到了两种不同的结果,都能满足要求,实际上,子网占用5~8位主机位时所得到的子网都能满足上述要求,那么,在实际工作中,应按照什么原则来决定占用几位主机位呢?
划分时注意事项
在划分子网时,不仅要考虑目前需要,还应了解将来需要多少子网和主机。
对子网掩码使用比需要更多的主机位,可以得到更多的子网,节约了IP地址资源,若将来需要更多子网时,不用再重新分配IP地址,但每个子网的主机数量有限;反之,子网掩码使用较少的主机位,每个子网的主机数量允许有更大的增长,但可用子网数量有限。
一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和,所以,网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,会将更多的主机位用于子网位。
综上所述,子网掩码的设置关系到子网的划分。
子网掩码设置的不同,所得到的子网不同,每个子网能容纳的主机数目不同。
若设置错误,可能导致数据传输错误。
优点
1.减少网络流量
2.提高网络性能
3.简化管理
4.易于扩大地理范围
如何划分子网
首先要熟记2的幂:
2的0次方到9次方的值分别为:
1,2,4,8,16,32,64,128,256和512.还有要明白的是:
子网划分是借助于取走主机位,把这个取走的部分作为子网位.因此这个意味划分越多的子网,每个子网容纳的主机将越少.
SubnetMasks
ClasslessInter-DomainRouting(CIDR)
CIDR值:
SubnettingClassA,B&CAddress
划分捷径
1.你所选择的子网掩码将会产生多少个子网
2的x次方-2(x代表网络位,即2进制为1的部分,现在的网络中,已经不需要-2,已经可以全部使用,不过需要加上相应的配置命令,例如CISCO路由器需要加上ipsubnetzero命令就可以全部使用了。
)
2.每个子网能有多少主机
2的y次方-2(y代表主机位,即2进制为0的部分)
3.有效子网是
有效子网号=256-10进制的子网掩码(结果叫做blocksize或basenumber)
4.每个子网的广播地址是
广播地址=下个子网号-1
5.每个子网的有效主机分别是
忽略子网内全为0和全为1的地址剩下的就是有效主机地址.最后有效1个主机地址=下个子网号-2(即广播地址-1)
根据上述捷径划分子网的具体实例
1.子网数=2*2=4(ipsubnetzero命令启用)
2.主机数=2的6次方-2=62
1.子网数=2*2=4(ipsubnetzero命令启用)
2.主机数=2的14次方-2=16382
2.主机数=2的5次方-2=30
三类主要的网络地址
我们知道,从LAN到WAN,不同种类网络规模相差很大,必须区别对待。
因此按网络规模大小,将网络地址分为主要的三类,如下:
A类:
012381624310网络号主机号
B类:
10网络号主机号
C类:
110网络号主机号
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类:
1110多目地址
E类:
11110留待后用其中多目地址(multicastaddress)是比广播地址稍弱的多点传送地址,用于支持多目传输技术。
E类地址用于将来的扩展之用。
可变长子网掩码的作用
可变长子网掩码(VLSM)的作用:
节约IP地址空间;减少路由表大小.使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括RIPv2,OSPF,EIGRP和BGP.关于更多的VLSM知识,可以去进行搜索
子网划分可用的工具
学习子网划分主要便于理解和掌握网络原理,在实际工作中手动划分和计算还是比较繁琐,可以有一些诸如子网划分器之类的自动化辅助工具可以便于计算和列出划分结果提高工作效率。
VLAN技术详解
1.VLAN的概念
1.1什么是VLAN
VLAN(VirtualLocalAreaNetwork)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可跨越不同网段、不同网络的端到端的逻辑网络。
一个VLAN组成一个逻辑子网,即一个逻辑广播域,它可以覆盖多个网络设备,允许处于不同地理位置的网络用户加入到一个逻辑子网中。
VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,VLAN之间的通信是通过第3层的路由器来完成的。
在此让我们先复习一下广播域的概念。
广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。
严格地说,并不仅仅是广播帧,多播帧(MulticastFrame)和目标不明的单播帧(UnknownUnicastFrame)也能在同一个广播域中畅行无阻。
本来,二层交换机只能构建单一的广播域,不过使用VLAN功能后,它能够将网络分割成多个广播域。
那么,为什么需要分割广播域呢?
那是因为,如果仅有一个广播域,有可能会影响到网络整体的传输性能。
具体原因,请参看附图加深理解。
图中,是一个由5台二层交换机(交换机1~5)连接了大量客户机构成的网络。
假设这时,计算机A需要与计算机B通信。
在基于以太网的通信中,必须在数据帧中指定目标MAC地址才能正常通信,因此计算机A必须先广播“ARP请求(ARPRequest)信息”,来尝试获取计算机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和AppleTalk等协议也经常需要用到广播。
例如在Windows下双击打开“网络计算机”时就会发出广播(多播)信息。
(WindowsXP除外……)
总之,广播就在我们身边。
下面是一些常见的广播通信:
●ARP请求:
建立IP地址和MAC地址的映射关系。
●RIP:
选路信息协议(RoutingInfromationProtocol)。
●DHCP:
用于自动设定IP地址的协议。
●NetBEUI:
Windows下使用的网络协议。
●IPX:
NovellNetware使用的网络协议。
●AppleTalk:
苹果公司的Macintosh计算机使用的网络协议。
1.2VLAN的实现机制
在理解了“为什么需要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,在实际使用中则是用“VLANID”来区分的。
如果要更为直观地描述VLAN的话,我们可以把它理解为将一台交换机在逻辑上分割成了数台交换机。
在一台交换机上生成红、蓝两个VLAN,也可以看作是将一台交换机换做一红一蓝两台虚拟的交换机。
在红、蓝两个VLAN之外生成新的VLAN时,可以想象成又添加了新的交换机。
但是,VLAN生成的逻辑上的交换机是互不相通的。
因此,在交换机上设置VLAN后,如果未做其他处理,VLAN间是无法通信的。
明明接在同一台交换机上,但却偏偏无法通信——这个事实也许让人难以接受。
但它既是VLAN方便易用的特征,又是使VLAN令人难以理解的原因。
需要VLAN间通信时怎么办呢?
那么,当我们需要在不同的VLAN间通信时又该如何是好呢?
请大家再次回忆一下:
VLAN是广播域。
而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。
因此,VLAN间的通信也需要路由器提供中继服务,这被称作“VLAN间路由”。
VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。
其中的具体内容,等有机会再细说吧。
在这里希望大家先记住不同VLAN间互相通信时需要用到路由功能。
1.3VLAN的划分方法
VLAN的划分可以是事先固定的、也可以是根据所连的计算机而动态改变设定。
前者被称为“静态VLAN”、后者自然就是“动态VLAN”了。
静态VLAN又被称为基于端口的VLAN(PortBasedVLAN)。
顾名思义,就是明确指定各端口属于哪个VLAN的设定方法。
由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数字(比如数百台)后,设定操作就会变得烦杂无比。
并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定——这显然不适合那些需要频繁改变拓补结构的网络。
我们现在所实现的VLAN配置都是基于端口的配置,因为我们只是支持二层交换,端口数目有限一般为4和8个端口,并且只是对于一台交换机的配置,手动配置换算较为方便。
另一方面,动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN。
这就可以避免上述的更改设定之类的操作。
动态VLAN可以大致分为3类:
�●基于MAC地址的VLAN(MACBasedVLAN)
�●基于子网的VLAN(SubnetBasedVLAN)
�●基于用户的VLAN(UserBasedVLAN)
其间的差异,主要在于根据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
动态VLAN
基于MAC地址的VLAN
根据各端口所连计算机的MAC地址设定
基于子网的VLAN
根据各端口所连计算机的IP地址设定
基于用户的VLAN
根据端口所连计算机上登录用户设定
就目前来说,对于VLAN的划分主要采取上述基于端口的VLAN和基于子网的VLAN两种,而基于MAC地址和基于用户的VLAN一般作为辅助性配置使用。
2.VLAN帧结构
在交换机的汇聚链接上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN。
附加VLAN信息的方法,最具有代表性的有:
●IEEE802.1Q
�●ISL
现在就让我们看看这两种协议分别如何对数据帧附加VLAN信息。
2.1IEEE802.1Q
IEEE802.1Q,俗称“DotOneQ”,是经过IEEE认证的对数据帧附加VLAN识别信息的协议。
在此,请大家先回忆一下以太网数据帧的标准格式。
IEEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(TypeField)”之间。
具体内容为2字节的TPID和2字节的TCI,共计4字节。
在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。
这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。
基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签。
因此,它也被称作“标签型VLAN(TaggingVLAN)”。
1.TPID(TagProtocolIdentifier,也就是EtherType)
是IEEE定义的新的类型,表明这是一个加了802.1Q标签的帧。
TPID包含了一个固定的值0x8100。
2.TCI(TagControlInformation)
包括用户优先级(UserPriority)、规范格式指示器(CanonicalFormatIndicator)和VLANID。
①UserPriority:
该字段为3-bit,用于定义用户优先级,总共有8个(2的3次方)优先级别。
IEEE802.1P为3比特的用户优先级位定义了操作。
最高优先级为7,应用于关键性网络流量,如路由选择信息协议(RIP)和开放最短路径优先(OSPF)协议的路由表更新。
优先级6和5主要用于延迟敏感(delay-sensitive)应用程序,如交互式视频和语音。
优先级4到1主要用于受控负载(controlled-load)应用程序,如流式多媒体(streamingmultimedia)和关键性业务流量(business-criticaltraffic)-例如,SAP数据-以及“losseligible”流量。
优先级0是缺省值,并在没有设置其它优先级值的情况下自动启用。
②CFI:
CFI值为0说明是规范格式,1为非规范格式。
它被用在令牌环/源路由FDDI介质访问方法中来指示封装帧中所带地址的比特次序信息。
③VID:
该字段为12-bit,VLANID是对VLAN的识别字段,在标准802.1Q中常被使用。
支持4096(2的12次方)VLAN的识别。
在4096可能的VID中,VID=0用于识别帧优先级。
4095(FFF)作为预留值,所以VLAN配置的最大可能值为4094。
所以有效的VLANID范围一般为1-4094。
2.2ISL(InterSwitchLink)
ISL,是Cisco产品支持的一种与IEEE802.1Q类似的、用于在汇聚链路上附加VLAN信息的协议。
使用ISL后,每个数据帧头部都会被附加26字节的“ISL包头(ISLHeader)”,并且在帧尾带上通过对包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值。
换而言之,就是总共增加了30字节的信息。
在使用ISL的环境下,当数据帧离开汇聚链路时,只要简单地去除ISL包头和新CRC就可以了。
由于原先的数据帧及其CRC都被完整保留,因此无需重新计算
∙DA―40位组播目的地址。
包括一个广播地址0X01000C0000或者是0X03000C0000。
∙Type―各种封装帧(Ethernet(0000)、TokenRing(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―标准SNAP802.2LLC头。
∙HAS―SA的前3字节(厂商的ID或组织唯一ID)。
∙VLAN―15位VLANID。
低10位用于1024VLAN。
∙BPDU―1位描述符,识别帧是否是生成树网桥协议数据单元(BPDU)。
如果封装帧为思科发现协议(CDP)帧,也需设置该字段。
∙INDEX―16位描述符,识别传输端口ID。
用于诊断差错。
∙RES―16位预留字段,应用于其它信息,如令牌环和分布式光纤数据接口帧(FDDI),帧校验(FC)字段。
∙ISL帧最大为1548bytes,iSL包头26+1518+4=1548
ISL有如用ISL包头和新CRC将原数据帧整个包裹起来,因此也被称为“封装型VLAN(EncapsulatedVLAN)”。
需要注意的是,不论是IEEE802.1Q的“TaggingVLAN”,还是ISL的“EncapsulatedVLAN”,都不是很严密的称谓。
不同的书籍与参考资料中,上述词语有可能被混合使用,因此需要大家在学习时格外注意。
并且由于ISL是Cisco独有的协议,因此只能用于Cisco网络设备之间的互联。
IEEE802.Q和ISL的异同:
相同点:
都是显式标记,即帧被显式标记了VLAN的信息。
不同点:
IEEE802.1Q是公有的标记方式,ISL是Cisco私有的,ISL采用外部标记的方法,802.1Q采用内部标记的方法,ISL标记的长度为30字节,802.1Q标记的长度为4字节。
VLAN的TRUNK协议(VTP)
一、VTP概述
VLAN中继协议(VTP,VLAN TRUNKINGPROTOCOL)是CISCO专用协议,大多数交换机都支持该协议。
VTP负责在VTP域内同步VLAN信息,这样就不必在每个交换上配置相同的VLAN信息。
VTP还提供一种映射方案,以便通信流能跨越混合介质的骨干。
VTP最重要的作用是,将进行变动时可能会出现在的配置不一致性降至最低。
VTP也有一些缺点,这些缺点通常都与生成树协议有关。
1、VTP协议的作用
VLAN中继协议(VTP)利用第2层中继帧,在一组交换机之间进行VLAN通信。
VTP从一个中心控制点开始,维护整个企业网上VLAN的添加、添加和重命名工作,确何配置的一致性。
2、VTP的优点
>保持配置的一致性
>提供跨不同介质类型如ATM、FDDI和以太网配置虚拟局域网的方