[ 计算机网络 | 第三章 ] 数据链路层 05 VLAN
冲突域与广播域在理解VLAN之前我们需要先建立两个关键概念冲突域和广播域。它们是衡量网络“好坏”的两把尺子也是驱动数据链路层技术不断进化的核心矛盾。冲突域定义网络中任意两台设备同时发送数据就会产生冲突的区域。特点共享同一物理介质的设备处于同一个冲突域中冲突域越大冲突越频繁网络效率越低半双工通信模式下冲突不可避免比喻一间大教室所有人用同一个对讲机频道说话。只有一个人能说其他人必须听着。人越多抢话越频繁——整个教室就是一个冲突域。关键问题冲突域怎么缩小设备冲突域变化原因集线器扩大冲突域只是把信号复制到所有端口所有端口仍在同一个冲突域交换机分割冲突域每个端口是独立冲突域不会跨端口传播冲突信号路由器分割冲突域不转发冲突信号每个接口是独立冲突域一句话交换机的出现让冲突域缩小到每个端口——冲突问题被彻底解决。广播域定义网络中一个设备发送广播帧所有能收到这个广播帧的设备的集合。特点广播帧的目的MAC地址是全1FF:FF:FF:FF:FF:FF会被泛洪到整个广播域所有收到广播帧的设备都必须停下来处理它即使这个广播和自己无关广播域越大广播帧的泛滥越严重网络效率越低比喻一个公司的大开间办公室有人在门口用喇叭喊“谁是财务部的李会计”全公司所有人都必须停下工作听听是不是找自己。喇叭声能传到的范围就是广播域。关键问题广播域怎么缩小设备广播域变化原因集线器一个广播域所有端口在同一广播域交换机仍然是一个广播域交换机会把广播帧泛洪到所有端口路由器分割广播域路由器不转发广播帧广播被限制在一个网络内部VLAN逻辑上分割广播域一个VLAN就是一个广播域不同VLAN之间广播隔离一句话交换机解决了冲突域但没有解决广播域。VLAN的出现就是要把广播域也缩小。两个域的演进史时代核心设备冲突域广播域主要矛盾共享式以太网集线器整个网络整个网络冲突严重效率低交换式以太网交换机缩小到每个端口仍然是整个网络广播泛滥安全性差VLAN时代交换机VLAN每个端口缩小到每个VLAN广播域可控安全隔离这条演进路线揭示了一个清晰的道路冲突域靠交换机解决物理分割广播域靠VLAN解决逻辑分割。两个“域”的缩小就是数据链路层技术不断进化的核心驱动力。虚拟局域网 VLAN新矛盾广播域太大交换式以太网的“副作用”交换机出现后每台设备独享端口带宽冲突问题被彻底消灭。但一个被忽略的问题浮出水面广播域不仅没有缩小反而因为设备数量增加而变得更大了。在交换式以太网中交换机收到广播帧会泛洪到所有端口ARP协议必须靠广播来查询MAC地址DHCP协议必须靠广播来寻找服务器网络中所有设备都能收到每一台设备发出的广播帧广播域太大带来三大问题问题表现后果广播风暴广播帧被泛洪到全网所有设备必须接收处理消耗网络带宽和CPU资源影响正常通信安全性差任何设备都能抓包看到所有通信财务数据和研发数据在同一“大厅”里裸奔管理混乱所有设备混在一起无法按部门分级管理无法做精细化管控核心矛盾“一个物理网络中所有设备处于同一个广播域” vs “需要按部门、按功能做逻辑隔离”比喻交换机让每个人有了独立办公室独享带宽但所有办公室的门都对着同一个大厅。任何人在大厅里喊一声广播所有人办公室的门都必须打开听。财务部在讨论薪资隔壁研发部听得一清二楚——不安全而且很烦。理想方案能不能在同一个物理空间里给不同部门建上隔断墙让他们的“喊话”只能在自己部门内部传播这就是VLAN虚拟局域网的诞生背景。VLAN如何解决(打标签and逻辑隔离)VLAN的核心思想VLAN就是把一个物理局域网逻辑上划分成多个相互隔离的虚拟局域网。每个VLAN是一个独立的广播域同一个VLAN内的设备可以直接通信不同VLAN的设备之间不能直接通信——即使它们连在同一个交换机上VLAN间通信必须经过网络层路由器或三层交换机比喻在一个大办公室里用玻璃隔断划分出财务部、研发部、市场部。同一个部门的人在隔断里面可以自由讨论VLAN内通信但财务部的声音传不到研发部VLAN隔离。如果财务部要找研发部必须走公共走廊经过前台转接路由器转发。VLAN是怎么工作的VLAN通过给以太网帧打标签来实现逻辑隔离。标准的以太网帧格式不打标签802.1Q标准在帧中插入VLAN标签802.1Q标签的结构字段长度说明TPID2字节固定为0x8100标识这是一个带VLAN标签的帧PCP3位优先级QoS服务质量0-7数值越大优先级越高CFI1位规范格式指示以太网中固定为0VID12位VLAN ID标识这个帧属于哪个VLAN取值范围 1-4094VID是核心它告诉交换机“这个帧属于哪个VLAN”。交换机收到带标签的帧后只在属于同一个VLAN的端口之间转发。不同VLAN的端口完全收不到。12位VID意味着最多可以划分4094个VLAN0和4095保留不能使用。端口的两种角色交换机的一个物理端口可以配置成两种角色之一端口类型收发什么样的帧通常连接什么设备Access口收发不带标签的帧。收到时打上所属VLAN的标签发出时去掉标签终端设备电脑、打印机、服务器Trunk口收发带标签的帧允许多个VLAN的帧通过交换机之间、交换机与路由器之间比喻Access口是每个部门的大门。员工进门时门口保安给他贴上“财务部”的胸牌打标签出门时保安把胸牌收回去标签。员工自己不知道身上有标签。Trunk口是连接不同楼层的主干走廊。走廊上来来往往的人都戴着各自部门的胸牌到了目的楼层门口保安根据胸牌判断放不放行。为什么需要Trunk口因为不同交换机上的设备可能属于同一个VLAN。例如一号楼二楼和二号楼三楼都有财务部的员工他们需要处于同一个VLAN内。Trunk口允许带标签的帧在交换机之间传输让跨越交换机的VLAN通信成为可能。VLAN如何隔离广播域当一个广播帧进入交换机交换机判断这个广播帧属于哪个VLAN交换机只向属于同一个VLAN的其他端口泛洪这个广播帧其他VLAN的端口完全不会收到这个广播帧效果不同VLAN的设备即使物理上连接在同一个交换机上也完全感觉不到对方的存在。每个VLAN就像一个独立的、专用的物理网络。 小结从冲突域到广播域数据链路层的技术演进围绕一个核心主题——把“域”缩小。交换机将冲突域缩小到每个端口VLAN进一步将广播域缩小到每个虚拟子网。VLAN通过802.1Q标签在逻辑上把一个物理网络切分成多个隔离的广播域Access口负责给帧穿脱标签Trunk口负责在交换机之间传递带标签的帧。而VLAN间的通信已经超出链路层的能力范围——需要交给网络层的路由器来处理。 下一篇预告离开有线世界进入无线局域网802.11 WiFi。无线信道比有线更不可靠冲突更难检测——CSMA/CD在无线中根本没法用。那无线网络怎么办CSMA/CA给出了一个完全不同的答案。