美文网首页业余整理的工作笔记
VLAN(IPTV/OTT共存项目用不同IP范围)

VLAN(IPTV/OTT共存项目用不同IP范围)

作者: 龙遁流 | 来源:发表于2020-04-19 16:46 被阅读0次

    【简介】
    虚拟局域网 Virtual Local Area Network
    用于在二层交换机上分割广播域的技术,就是VLAN。VLAN所指的LAN特指使用路由器或交换机分割的网络,即广播域。

    【用途】
    如果仅有一个广播域,有可能会影响到网络整体的传输性能,因为广播帧会传播到网络中的每一台主机,对每一台主机CPU造成负担。
    通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度。

    【机制】
    通常,在一台未设置任何VLAN的二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口(Flooding)。
    VLAN通过限制广播帧转发的范围分割了广播域,以 VLAN ID 来区分的不同的VLAN。划分不同的VLAN后,广播帧只会在同一VLAN内转发。

    在交换机上设置VLAN后,如果未做其他处理,VLAN间是无法通信的,而通常两个广播域之间由路由器连接,广播域之间来往的数据包都是由路由器中继的。
    因此,VLAN间的通信也需要路由器提供中继服务,这被称作“VLAN间路由”。VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。

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

    “将不同交换机相同VLAN通过端口并联起来。但是扩展性和管理效率都不好。让交换机间互联的网线集中到一根上,这时使用的就是汇聚链接(Trunk Link)”

    ① 访问链接
    只属于一个VLAN,且仅向该VLAN转发数据帧的端口,通常连客户机。
    设置VLAN的顺序是:生成VLAN,设定访问链接(决定各端口属于哪一个VLAN)

    设定访问链接的方法:
    (1)静态VLAN (Port Based VLAN)
    基于端口的VLAN,明确指定各端口属于哪个VLAN的设定方法。不适合那些需要频繁改变拓补结构的网络
    (2)动态VLAN
    根据每个端口所连的计算机,随时改变端口所属的VLAN的设定方法。

    分为以下三类,其间的差异,主要在于根据OSI参照模型哪一层的信息决定端口所属的VLAN。决定端口所属VLAN时利用的信息在OSI中的层面越高,就越适于构建灵活多变的网络。
    1)基于MAC地址的VLAN(MAC Based VLAN)
    通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。
    假定有一个MAC地址“A”被交换机设定为属于VLAN“10”,那么不论MAC地址为“A”的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN10中去。
    计算机连在端口1时,端口1属于VLAN10;而计算机连在端口2时,则是端口2属于VLAN10。
    2)基于子网的VLAN(Subnet Based VLAN)
    通过所连计算机的IP地址,来决定端口所属VLAN的
    即使计算机因为交换了网卡或是其他原因导致MAC地址改变,只要它的IP地址不变,就仍可以加入原先设定的VLAN。
    3)基于用户的VLAN(User Based VLAN)
    根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN

    ② 汇聚链接
    能够转发多个不同VLAN的通信的端口,也可用来形成跨越多台交换机的VLAN。
    汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息。

    案例:
    ① A发送的数据帧从交换机1经过汇聚链路到达交换机2时,在数据帧上附加了表示属于VLAN a的标记。
    ② 交换机2收到数据帧后,经过检查VLAN标识发现这个数据帧是属于VLAN a的。
    ③ 因此去除标记后根据需要将复原的数据帧只转发给其他属于VLAN a的端口。经过确认目标MAC地址并与MAC地址列表比对后只转发给目标MAC地址所连的端口。
    只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,它才会被转发到所有属于VLAN a的端口

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

    【汇聚方式】
    在交换机的汇聚链接上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN。
    附加VLAN信息的方法 IEEE802.1Q 和 ISL

    ① EEE802.1Q,经过IEEE认证的对数据帧附加VLAN识别信息的协议
    EEE802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间。具体内容为2字节的TPID和2字节的TCI,共计4字节。
    这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。而当数据帧离开汇聚链路时,TPID和TCI会被去除,这时还会进行一次CRC的重新计算。

    TPID的值,固定为0x8100。交换机通过TPID,来确定数据帧内附加了基于IEEE802.1Q的VLAN信息。而实质上的VLAN ID,是TCI中的12位元。由于总共有12位,因此最多可供识别4096个VLAN。

    【VLAN间路由】
    两台计算机即使连接在同一台交换机上,只要所属的VLAN不同就无法直接通信。
    因为在LAN内的通信,必须在数据帧头中指定通信目标的MAC地址。而为了获取MAC地址,TCP/IP协议下使用的是ARP。ARP解析MAC地址的方法,则是通过广播。
    计算机分属不同的VLAN,即分属不同的广播域,收不到彼此的广播报文。
    为了能够在VLAN间通信,需要利用OSI参照模型中更高一层——网络层的信息(IP地址)来进行路由。

    “交换机通过对各端口所连计算机MAC地址的学习,生成MAC地址列表(端口:MAC地址:VLAN)”

    ① 路由器提供路由功能
    当使用一条网线连接路由器与交换机、进行VLAN间路由时,需要用到汇聚链接。

    首先将用于连接路由器的交换机端口设为汇聚链接,而路由器上的端口也必须支持汇聚链路。双方用于汇聚链路的协议自然也必须相同。接着在路由器上定义对应各个VLAN的“子接口(Sub Interface)”。
    尽管实际与交换机连接的物理端口只有一个,但在理论上我们可以把它分割为多个虚拟端口。VLAN将交换机从逻辑上分割成了多台,因而用于VLAN间路由的路由器,也必须拥有分别对应各个VLAN的虚拟接口。

    (1)同一VLAN内通信时数据的流程

    计算机A与同一VLAN内的计算机B之间通信,收发信双方同属一个VLAN之内的通信,一切处理均在交换机内完成。
    1)计算机A发出ARP请求信息,请求解析B的MAC地址。
    2)交换机收到数据帧后,检索MAC地址列表中与收信端口同属一个VLAN的表项。
    3)计算机B连接在端口2上,于是交换机将数据帧转发给端口2,最终计算机B收到该帧。

    (2)不同VLAN间通信时数据的流程:发送方——交换机——路由器——交换机——接收方

    计算机A(VLAN 1)与不同VLAN的计算机C(VLAN 2)通信,需要通过路由器
    1)计算机A从通信目标的IP地址得出C与本机不属于同一个网段,向设定的默认网关(Default Gateway,GW,即路由器)转发数据帧,在发送数据帧之前,用ARP获取路由器的MAC地址
    2)得到路由器的MAC地址R后,发送往C去的数据帧,此数据帧中,目标MAC地址是路由器的地址R,但目标IP地址仍是最终要通信的对象C的地址。
    3)交换机收到数据帧后,检索MAC地址列表中与发出端口同属一个VLAN的表项。由于汇聚链路会被看作属于所有的VLAN,交换机连接路由器端口也属于被参照对象,则通过汇聚链接往MAC地址R发送数据帧。
    4)路由器收到数据帧后,确认其VLAN识别信息,由于它是属于VLAN 1的数据帧,因此交由VLAN 1的子接口接收。然后根据路由器内部的路由表,判断该向哪里中继。即从VLAN 2的接口转发
    这时,数据帧的目标MAC地址被改写成计算机C的目标地址,且附加了属于VLAN 2识别信息
    5)交换机收到数据帧后,根据VLAN标识信息从MAC地址列表中检索属于VLAN 2的表项。交换机将数据帧除去VLAN识别信息后转发给计算机C

    “随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈。”

    ② 三层交换机(Layer 3 Switch)提供路由功能
    本质上就是“带有路由功能的(二层)交换机”。内置的路由模块与交换模块使用ASIC硬件处理,与传统的路由器相比,可以实现高速路由。路由与交换模块是汇聚链接的,由于是内部连接,可以确保相当大的带宽。

    同一VLAN内通信时数据的流程:原理同路由器路由
    不同VLAN间通信时数据的流程:原理同路由器路由

    使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成“VLAN接口(VLAN Interface)”。VLAN接口,是用于各VLAN收发数据的接口。

    ③ 加速VLAN传输
    流(Flow),一连串数据
    只要将流最初的数据正确地路由以后,后继的数据理应也会被同样地路由。后继的数据不再需要路由器进行路由处理;通过省略反复进行的路由操作,可以进一步提高VLAN间路由的速度。

    首先,整个流的第一块数据,照常由交换机转发→路由器路由→再次由交换机转发到目标所连端口。将第一块数据路由的结果记录到缓存里保存下来
    之后,同一个流的第二块以后的数据到达交换机后,直接通过查询先前保存在缓存中的信息查出“转发端口号”后就可以转发给目标所连端口了。

    vlan_VLAN帧格式.png vlan_动态VLAN_MAC.png vlan_访问链接.png vlan_广播帧在VLAN间传输.png vlan_广播帧在交换机内传输.png vlan_加速路由1.png vlan_加速路由2.png vlan_交换机和路由器结合.png vlan_静态VLAN.png vlan_路由器路由_不同VLAN通信.png vlan_路由器路由_通信过程.png vlan_路由器路由_同一VLAN通信.png vlan_路由器路由1.png vlan_路由器路由2png.png vlan_三层交换机路由_不同VLAN通信.png vlan_三层交换机路由_结构.png vlan_三层交换机路由_同一VLAN通信.png vlan_识别VLAN的附加信息.png vlan_同一VLAN跨交换机汇聚.png vlan_同一VLAN跨交换机直连.png

    相关文章

      网友评论

        本文标题:VLAN(IPTV/OTT共存项目用不同IP范围)

        本文链接:https://www.haomeiwen.com/subject/ggrvbhtx.html