VLAN及帧格式知识学习总结
VLAN知识学习总结
(以下是从华为官网摘录,写的很好,原作者:朱玥 老师;摘录外网的不知名作者的文章,感谢,赞一个)
https://info.support.huawei.com/info-finder/encyclopedia/zh/VLAN.html
VLAN(Virtual Local Area Network)相当于OSI参考模型的第二层的广播域,能够将广播风暴控制在一个VLAN内部,划分VLAN后,由于广播域的缩小,网络中广播包消耗带宽所占的比例大大降低,网络的性能得到显著的提高。
即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。
每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则不能直接互通。这样,广播报文就被限制在一个VLAN内。
VLAN Tag和VLAN ID
要使交换机能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧中加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。
EEE 802.1Q封装的VLAN数据帧格式
数据帧中的VID字段标识了该数据帧所属的VLAN,数据帧只能在其所属VLAN内进行传输。VID字段代表VLAN ID,VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。
交换机内部处理的数据帧都带有VLAN标签。而交换机连接的部分设备(如用户主机、服务器)只会收发不带VLAN tag的传统以太网数据帧。因此,要与这些设备交互,就需要交换机的接口能够识别传统以太网数据帧,并在收发时给帧添加、剥除VLAN标签。添加什么VLAN标签,由接口上的缺省VLAN(Port Default VLAN ID,PVID)决定。
为什么需要VLAN
早期以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通讯介质的数据网络通讯技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过二层设备实现LAN互连虽然可以解决冲突严重的问题,但仍然不能隔离广播报文和提升网络质量。
在这种情况下出现了VLAN技术。这种技术可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,广播报文就被限制在一个VLAN内。如下图所示。
因此,VLAN具备以下优点:
- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:不同VLAN内的报文在传输时相互隔离,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
- 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
VLAN vs 子网
通过将IP地址的网络部分进一步划分为若干个子网,可以解决IP地址空间利用率低和两级IP地址不够灵活的问题。
与VLAN相类似的是,子网也可以隔离主机间的通信。属于不同VLAN的主机之间不能直接通信,属于不同的子网的主机之间也不能直接通信。但二者没有必然的对应关系。
VLAN的接口类型和VLAN标签的处理机制
现网中属于同一个VLAN的用户可能会被连接在不同的交换机上,且跨越交换机的VLAN可能不止一个,如果需要用户间的互通,就需要交换机间的接口能够同时识别和发送多个VLAN的数据帧。根据接口连接对象以及对收发数据帧处理的不同,当前有VLAN的多种接口类型,以适应不同的连接和组网。
不同厂商对VLAN接口类型的定义可能不同。对于华为设备来说,常见的VLAN接口类型有三种,包括:Access、Trunk和Hybrid。
Access接口
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器)相连,或者不需要区分不同VLAN成员时使用。
- 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。
- 有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
Access接口大部分情况只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。交换机内部只处理Tagged帧,所以Access接口需要给收到的数据帧添加VLAN Tag,也就必须配置缺省VLAN。配置缺省VLAN后,该Access接口也就加入了该VLAN。
当Access接口收到带有Tag的帧,并且帧中VID与PVID相同时,Access接口也能接收并处理该帧。
在发送带有Tag的帧前,Access接口会剥离Tag。
Trunk接口
Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许属于缺省VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Trunk接口上的缺省VLAN,有的厂商也将它定义为native VLAN。当Trunk接口收到Untagged帧时,会为Untagged帧打上Native VLAN对应的Tag。
Hybrid接口
Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。
Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口。比如在灵活QinQ中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk接口不能实现该功能,因为Trunk接口只能使该接口缺省VLAN的报文不带VLAN Tag通过。
VLAN的使用场景
VLAN的常见使用场景包括:VLAN间用户的二层隔离,VLAN间用户的三层互访。
VLAN间用户的二层隔离
如下图所示,某商务楼内有多家公司,为了降低成本,多家公司共用网络资源,各公司分别连接到一台二层交换机的不同接口,并通过统一的出口访问Internet。
基于接口的VLAN划分组网图
为了保证各公司业务的独立和安全,可将每个公司所连接的接口划分到不同的VLAN,实现公司间业务数据的完全隔离。可以认为每个公司拥有独立的“虚拟路由器”,每个VLAN就是一个“虚拟工作组”。
再比如,某公司有两个部门,分别分配了固定的IP网段。为加强员工间的学习与交流,员工的位置有时会相互调动,但公司希望各部门员工访问的网络资源的权限不变。
基于IP的VLAN划分组网图
为了保证部门内员工的位置调整后,访问网络资源的权限不变,可在公司的交换机Switch_1上配置基于IP子网划分VLAN。这样,服务器的不同网段就划分到不同的VLAN,访问服务器不同应用服务的数据流就会隔离,提高了安全性。
VLAN间用户的三层互访
如下图所示,某小型公司的两个部门分别通过二层交换机接入到一台三层交换机Switch_3,所属VLAN分别为VLAN2和VLAN3,部门1和部门2的用户互通时,需要经过三层交换机。
通过VLANIF实现VLAN间用户的三层互访
可在Switch_1和Switch_2上划分VLAN并将VLAN透传到Switch_3上,然后在Switch_3上为每个VLAN配置一个VLANIF接口,实现VLAN2和VLAN3间的路由。
静态VLAN
在VLAN管理员最初配置交换机Port和VLAN ID的对应关系时,就已经固定了这种对应关系,即这个Port只能对应这个VLAN ID,之后无法进行更改,除非管理员再重新配置。
当一台设备接到这个Port上的时候,怎么判断该主机的VLAN ID与Port对应呢,这里是根据IP配置决定的,我们知道每个VLAN都有一个子网号,并对应着哪些Port,如果设备要求的IP地址和该Port对应的VLAN的子网号不匹配,则连接失败,该设备将无法正常通信。所以除了连接到正确的Port外,也必须给设备分配属于该VLAN网络段的IP地址,这样才能加入到该VLAN中。
动态VLAN
交换机自动配置Port为主机所属的VLAN。
这里有三种分类: 基于MAC,基于IP,基于用户
基于MAC的VLAN(例如二层交换机)
将所有主机的硬件地址都加入到VALN的管理数据库中,例如,一主机随便连接到交换机的一个动态VLAN的Port时,管理数据库将根据主机的MAC地址查询到该主机要加入VLAN 2中,然后自动设置该Port为VLAN 2。缺点是当主机更换了网卡之后,管理数据库需要重新设定。
基于IP的VLAN(例如三层交换机)
与基于MAC不同,这种方法会记录子网ID与VLAN ID的映射,而不论主机的网卡怎么变换,只要他的IP不变,交换机就可以根据主机的子网ID自动设置对应的VLAN ID。
基于用户的VLAN
根据操作系统的登录用户决定VLAN。
外网的搜索到的一些解释(跨部门和跨交换机设计很赞)
Virtual LAN (VLAN) is a concept in which we can divide the devices logically on layer 2 (data link layer). Generally, layer 3 devices divide broadcast domain but broadcast domain can be divided by switches using the concept of VLAN.
A broadcast domain is a network segment in which if a device broadcast a packet then all the devices in the same broadcast domain will receive it. The devices in the same broadcast domain will receive all the broadcast packets but it is limited to switches only as routers don’t forward out the broadcast packet. To forward out the packets to different VLAN (from one VLAN to another) or broadcast domain, inter Vlan routing is needed. Through VLAN, different small-size sub-networks are created which are comparatively easy to handle.
VLAN ranges –
- VLAN 1: It is the default VLAN of switches. By default, all switch ports are in VLAN. This VLAN can’t be deleted or edit but can be used.
- VLAN 2-1001: This is a normal VLAN range. We can create, edit and delete these VLAN.
- VLAN 1002-1005: These are CISCO defaults for fddi and token rings. These VLAN can’t be deleted.
- Vlan 1006-4094: This is the extended range of Vlan.
Difference between LAN and VLAN?
A LAN is a local area network and is defined as all devices in the same broadcast domain. If you remember, routers doesn't forward broadcast packets, switches just forward them.
VLAN stands for Virtual Local Area Network. VLANs (Virtual LAN) are a logical segmentation of LANs.In one physical cisco switch; you can create multiple VLANs that connect to different network.
When do you need a VLAN?
You need to consider using VLAN’s in any of the following situations:
1) You have many devices on your LAN and want to decrease broadcast traffic.
2) Users in groups need more security.
3) Groups of users need to be on the same broadcast domain because they are running the same applications.
For example, you might have an Engineering, Marketing, and Accounting department. Each department has workers on different floors of the building, but they still need to access and communicate information within their own department. It is essential for sharing documents and web services.
VLANs need to be set up with best practices in order to keep your network secure. Make the following smart choices when setting up VLANs. You won’t regret it!
Why not to use subnetting for network?
Each VLAN should be in its own subnet. The benefit that a VLAN provides over a subnetted network is that devices in different physical locations, not going back to the same router, can be on the same network. The limitation of subnetting a network with a router is that all devices on that subnet must be connected to the same switch and that switch must be connected to a port on the router.