二、交换机介绍及vlan原理

目录

一、交换机

1.1、交换机处理数据帧的三种行为

1.2、初始化通信

二、虚拟局域网(VLAN)

三、vlan间通信        

3.1、子接口        

3.2、三层交换机


一、交换机

        交换机:隔离冲突域,交换机每个接口都有一个网卡(计算机或交换机通过网卡交换数据)

        一块网卡的MAC地址(48位)全球唯一

        单播帧:目的MAC地址

        广播帧:全F

        组播帧:默认第8位组播位为1

        交换机启动后先学再转发,将接口和从该接口收到的源mac地址做一个记录,生成MAC表,正常300秒超时,如果被覆盖立即更新。

一个接口能不能学到多个MAC地址?

        1口学macA,2口学macB,3口学macA和C,4口学macB,5口学macC。

同一个mac地址能不能属于交换机两个接口?

        不能。

1.1、交换机处理数据帧的三种行为

  1. 泛洪:广播、组播和未知单播帧
  2. 转发:已知单播帧
  3. 丢弃

        已知目的ip查mac发送arp广播是主机行为(三层行为),不是二层交换机行为。(arp协议是二层协议)

1.2、初始化通信

        以上图为例,在计算机A处ping 1.2:

        ping 包是icmp协议(应用层协议),封装数据包+网络层+数据链路层,无需封装传输层。

  1.  首先,主机A会根据目的IP判断是否在同一网段:如在,查看主机A自己的arp缓存表是否有1.2对应的mac,没有的话发送arp广播请求报文找目的ip对应的目的mac;如不在,找网关;
  2.   其次,arp广播请求报文(数据包会写明自己的ip和目的ip+源mac为A,目的mac为FF,不封装网络层)发送至交换机,交换机先学习(记录0口对应的mac为A)后泛洪;
  3.  然后,主机B收到arp广播请求,先记录arp缓存(1.1对应的mac为A)后返回arp单播应答(没有网络层);
  4. 之后,交换机收到arp单播应答,先学习(记录1口对应的mac为B)后转发(查表通过0口发送出去);
  5. 最后,主机A收到arp单播应答先记录arp缓存(1.2对应的mac为B)。   

        可以看出,计算机是建立arp缓存表,交换机的是建立mac表。

二、虚拟局域网(VLAN)

        802.1Q(标记标准)

        傻瓜交换机:无需配置,即插即用

        二层网络不是考虑怎么通,而是提高网络通信质量。

        分割广播域时,一般都必须使用到路由器。使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域。

        但是,通常情况下路由器上不会有太多的网络接口,其数目多在1~4个左右。随着宽带连接的普及,宽带路由器(或者叫IP共享器)变得较为常见,但是需要注意的是,它们上面虽然带着多个(一般为4个左右)连接LAN一侧的网络接口,但那实际上是路由器内置的交换机,并不能分割广播域。

        况且使用路由器分割广播域的话,所能分割的个数完全取决于路由器的网络接口个数,使得用户无法自由地根据实际需要分割广播域。

        与路由器相比,二层交换机一般带有多个网络接口。因此如果能使用它分割广播域,那么无疑运用上的灵活性会大大提高。

        用于在二层交换机上分割广播域的技术,就是VLAN。通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度。

为何不用路由器隔离广播域?

  1. 路由器口比较少
  2. 路由器每秒吞吐量(PPS,paket per secongd)比交换机低
  3. 路由器作了广播域隔离(物理隔离),无法灵活修改网络

        交换机下面的计算机默认属于同一个广播域VLAN1,也就是说,没有做任何vlan规划,不会给数据帧打上或剥离vlan标记,会以原始帧的方式进行发送,换个思路理解,当其他数据帧都有vlan标记的前提下,原始帧没有标记也是一种标记。

        vid,VLAN id,交换机给数据包打标记,同一vid下的计算机属于同一广播域。

        access口:接收数据帧打vid标记,发送数据帧剥离vid标记,允许一个vlan;

        trunk口:接收数据帧和发送数据帧保持vid标记,允许多个vlan。

##创建一个vlan(1~4094)
vlan10 
##同时创建多个vlan
vlan bacth 10 20
##同时创建多个连续vlan
vlan batch 10 to 100
##修改接口类型-access
port link-type access(简写 p l a)
##透传vlan
port default vlan 10(简写 p d v)

##修改接口类型-trunk
port link-type trunk
port trunk allow-pass vlan 10(允许通过的vlan)

        当两台交换机下的两台计算机要归属到同一广播域,除了对应计算机的交换机接口需要配置同vlan标记外,交换机之间通信时需要保持vlan标记(trunk链路)。

        hybrid口:收帧打标记(pvid,port vid,默认为1),发送不打标记,允许多vlan

##修改接口类型-hybrid
port link-type hybrid
##接收数据桢打标vlan 10
port hybrid pvid vlan 10
##发送数据帧不打标记且可以发送vlan 10的数据帧
port hybrid untagged vlan 10

以上两条命令合起来就是:收到原始帧打vlan10,收到vlan10的数据帧发送时不打标


port link-type hybrid
port hybrid tagged vlan 10 20
等同于
port link-type trunk
port trunk allow-pass vlan 10 20

port link-type hybrid
port hybrid pvid vlan 100
port hybrid untagged vlan  100
等同于
port link-type access
port default vlan 100

        计算机A的数据帧到达1口会剥离标记,数据帧到达2口后会打上标记100,带有标记100的数据帧通过交换机内部转发至计算机B的access口,接收并剥离标记发送至计算机B。

三、vlan间通信        

        vlan是隔离广播域的,所以vlan间通信需要通过路由通信,属于三层通信。

        如上图:

  1. 路由器三层接口作为网关,转发本网段前往其它网段的流量。
  2. 路由器三层物理接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access。
  3. 路由器的一个物理接口作为一个VLAN的网关,因此存在一个VLAN就需要占用一个路由器物理接口。
  4. 路由器作为三层转发设备其接口数量较少,方案的可扩展性太差。     

        缺陷:因为Access口只能透传一个vlan,如果交换机有更多的vlan,那么交换机和路由器就需要更多的连线。

3.1、子接口        

        子接口:三层接口,基于物理口创建的逻辑接口,命名方式:物理接口id+子接口id。

        所以基于同物理口的子接口对端是同一设备,因此为了区分子接口,就要求收发带vlan标记的数据帧,所以对端交换机端口需要配置trunk类型。

        子接口也需要遵守路由器原则,即不同子接口属于不同广播域。

        子接口处理流程   

        下图为典型的单臂路由:

      

[R1]interface GigabitEthernet0/0/1.10
##dot1q表示802.1q协议,termination vid 10表示终结vlan10的标记,即数据帧进来后会去掉标记转发
[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.10]ip address 192.168.10.254 24
[R1-GigabitEthernet0/0/1.10]arp broadcast enable

[R1]interface GigabitEthernet0/0/1.20
##dot1q表示802.1q协议,termination vid 20表示终结vlan20的标记,即数据帧进来后会去掉标记转发
[R1-GigabitEthernet0/0/1.20]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.20]ip address 192.168.20.254 24
[R1-GigabitEthernet0/0/1.20]arp broadcast enable
##与路由器连接端口为trunk
[R1]interface GigabitEthernet0/0/2
[R1-GigabitEthernet0/0/2]port link-type trunk
[R1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20

##与PC连接端口为access
[R1]interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]port link-type access
[R1-GigabitEthernet0/0/1]port default vlan 10 

[R1]interface GigabitEthernet0/0/3
[R1-GigabitEthernet0/0/3]port link-type access
[R1-GigabitEthernet0/0/3]port default vlan 20 

3.2、三层交换机

        二层交换机(Layer2Switch)指的是只具备二层交换功能的交换机。
        三层交换机(Layer 3Switch)除了具备二层交换机的功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
        VLANIF接口(SVI,交换虚拟接口,又叫vlan网关)是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。
        VLANIF接口编号与对应的VLAN ID强关联,如VLAN10对应VLANIF 10。

        配置vlanif后会自动生成直连路由。

        如上图:

##基础配置:
[SW1]vlan batch 10 20
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 10

[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 20

##配置Vlanif:
[SW1]interface Vlanif10
[SW1-Vlanif10]ip address 192.168.10.254 24

[SW1]interface Vlanif 20
[SW1-Vlanif20]ip address 192.168.20.254 24

        vlanif DOWN原因:

  1. 没有创建vlan
  2. 没有透传vlan

        vlanif转发流程:

        假设PC、三层交换机上都已存在相应的ARP或MAC表项。
        PC1与PC2之间通信过程如下:

  1. PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同
  2. 一个网段,判断该通信为三层通信,将去往PC2的流量发给网关。PC1发送的数据帧:源MAC= MAC1,目的MAC=MAC2(网关mac)。
  3. 网关接口作为三层接口收到数据帧后,先终结掉vid,二层解封装后查看三层,根据目的ip20.2,查看路由表,发现一条直连路由,出接口为vlanif20,会做三层转发,此时数据包无vlan标记。
  4. vlanif20接口收到数据包后,解封三层,根据目的ip,查看路由表,发现是本地直连路由,会查看arp缓存表,将目的mac=MAC3,打上vlan20标记向交换模块转发,交换模块查MAC表后转发至PC2。    

        1)所有vlan的网关全部配置在核心上,称为集中式网关。
                核心交换机有所有vlan的直连路由,无需配置路由协议。
                vlan间通信时,流量必须经过核心,有可能造成次优路径。

        此时,PC1-PC4能够相互通信。

        2)把vlan的网关,配置在汇聚层/接入层,称为分布式网关。
                vlan间通信时,流量可以经过最近的网关转发,使用最佳路径。
                但是在跨设备的vlan间通信时,需要先配置互联vlan和互联IP,然后再运行路由协议,才能通信。

        此时,PC1与PC2、PC3与PC4间可以相互通信,PC1与PC3不能相互通信!

        因为在PC1ping PC3时,因为不在同一网段,会找到网关vlanif10,但是!sw2上并没有去往vlanif30的直连路由,也就是说,sw2和sw3之间没有可以通信的互联链路,所以无法通信(注:此时sw1上是没有ip地址的)。

        通过在sw2和sw3建立vlanif100并在sw1透传vlan100,就在sw1、sw2、sw3之间建立了一个vlan100的广播域(逻辑上可以理解为sw2口的1口和sw3的1口直连)。

        然后在sw2、sw3上配置OSPF协议宣告路由即可,此时PC1与PC3可以互通。

       

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网运少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值