IP路由基础

局域网内的主机可以通过交换机来实现相互通信。不同局域网之间的主机要想相互通信,可以通过路由器来实现。路由器工作在网络层,隔离了广播域,并可以作为每个局域网的网关,发现到达目的网络的最优路径,最终实现报文在不同网络间的转发。

LAN和广播域.png

此例中,RTA和RTB把整个网络分成了三个不同的局域网,每个局域网为一个广播域。LAN1内部的主机直接可以通过交换机实现相互通信,LAN2内部的主机之间也是如此。但是,LAN1内部的主机与LAN2内部的主机之间则必须要通过路由器才能实现相互通信。

  • 路由选择 路由器收到数据包后,会根据数据包中的目的IP地址选择一条最优的路径,并将数据包转发到下一个路由器,路径上最后的路由器负责将数据包送交目的主机。数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器负责将数据包按照最优的路径向下一跳路由器进行转发,通过多个路由器一站一站的接力,最终将数据包通过最优路径转发到目的地。当然有时候由于实施了一些特别的路由策略,数据包通过的路径可能并不一定是最佳的。

    路由器能够决定数据报文的转发路径。如果有多条路径可以到达目的地,则路由器会通过进行计算来决定最佳下一跳。计算的原则会随实际使用的路由协议不同而不同。

  • IP路由表

IP路由表.png

路由器转发数据包的关键是路由表。每个路由器中都保存着一张路由表,表中每条路由表项都指明了数据包要到达某网络或某主机应通过路由器的哪个物理接口发送,以及可到达该路径的哪个下一跳路由器,或者不再经过别的路由器而直接可以到达目的地。

  • 路由表中包含了下列关键项:

    • 目的地址(Destination):用来标识IP数据包的目的地址或目的网络。
    • 网络掩码(Mask):在IP编址课程中已经介绍了网络掩码的结构和作用。同样,在路由表中网络掩码也具有重要的意义。IP地址和网络掩码进行“逻辑与”便可得到相应的网段信息。如本例中:目的地址为8.0.0.0,掩码为255.0.0.0,相与后便可得到一个A类的网段信息(8.0.0.0/8)。网络掩码的另一个作用还表现在当路由表中有多条目的地址相同的路由信息时,路由器将选择其掩码最长的一项作为匹配项。
    • 输出接口(Interface):指明IP数据包将从该路由器的哪个接口转发出去。
    • 下一跳IP地址(NextHop):指明IP数据包所经由的下一跳路由器的接口地址。
  • 路由表的建立

    • 根据来源的不同,路由表中的路由通常可分为以下三类:
      • 链路层协议发现的路由(也称为接口路由或直连路由)。
      • 由网络管理员手工配置的静态路由。
      • 动态路由协议发现的路由。

    建立路由表.png

    • 最长匹配原则 最长匹配原则.png

      路由表中如果有多个匹配目的网络的路由条目,则路由器会选择掩码最长的条目

    • 路由优先级(Preference) 路由器可以通过多种不同协议学习到去往同一目的网络的路由,当这些路由都符合最长匹配原则时,必须决定哪个路由优先。

      路由优先级.png

      每个路由协议都有一个协议优先级(取值越小、优先级越高)。当有多个路由信息时,选择最高优先级的路由作为最佳路由。

      如图所示,路由器通过两种路由协议学习到了网段10.1.1.0的路由。虽然RIP协议提供了一条看起来更加近的路线,但是由于OSPF具有更高的优先级,因而成为优选路由,并被加入路由表中。

    • 路由度量 如果路由器无法用优先级来判断最优路由,则使用度量值(metric)来决定需要加入路由表的路由。

      一些常用的度量值有:跳数,带宽,时延,代价,负载,可靠性等。

      跳数是指到达目的地所通过的路由器数目。

      带宽是指链路的容量,高速链路开销(度量值)较小。

      路由度量.png
      metric值越小,路由越优先;因此,图示中metric=1+1=2的路由是到达目的地的最优路由,其表项可以在路由表中找到。

  • 路由器转发数据包 路由器转发数据包.png 路由器收到一个数据包后,会检查其目的IP地址,然后查找路由表。查找到匹配的路由表项之后,路由器会根据该表项所指示的出接口信息和下一跳信息将数据包转发出去。

  • 路由器选择最优路由的顺序是什么 路由器在选择最优路由时,会首先根据最长掩码匹配原则;如果掩码长度一致,则比较路由协议之间的优先级;如果优先级相同,再比较metric值。如果metric值也相同,多条相同的路由将实现等价负载分担

静态路由基础

静态路由是指由管理员手动配置和维护的路由

静态路由配置简单,被广泛应用于网络中。另外,静态路由还可以实现负载均衡和路由备份。因此,学习并掌握好静态路由的应用与配置是非常必要的。

静态路由是指由管理员手动配置和维护的路由。静态路由配置简单,并且无需像动态路由那样占用路由器的CPU资源来计算和分析路由更新。

静态路由的缺点在于,当网络拓扑发生变化时,静态路由不会自动适应拓扑改变,而是需要管理员手动进行调整。

静态路由一般适用于结构简单的网络。在复杂网络环境中,一般会使用动态路由协议来生成动态路由。不过,即使是在复杂网络环境中,合理地配置一些静态路由也可以改进网络的性能。

距离矢量路由协议(RIP)

RIP是路由信息协议(Routing Information Protocol)的简称,它是一种基于距离矢量(Distance-Vector)算法的协议,使用跳数作为度量来衡量到达目的网络的距离。RIP主要应用于规模较小的网络中。

RIP是一种比较简单的内部网关协议。RIP使用了基于距离矢量的贝尔曼-福特算法(Bellman-Ford)来计算到达目的网络的最佳路径。

最初的RIP协议开发时间较早,所以在带宽、配置和管理方面要求也较低,因此,RIP主要适合于规模较小的网络中。

RIP协议中定义的相关参数也比较少。例如,它不支持VLSM和CIDR,也不支持认证功能。

  • RIP工作原理

    RIP工作原理.png

    路由器启动时,路由表中只会包含直连路由。运行RIP之后,路由器会发送Request报文,用来请求邻居路由器的RIP路由。运行RIP的邻居路由器收到该Request报文后,会根据自己的路由表,生成Response报文进行回复。路由器在收到Response报文后,会将相应的路由添加到自己的路由表中。

    RIP网络稳定以后,每个路由器会周期性地向邻居路由器通告自己的整张路由表中的路由信息,默认周期为30秒。邻居路由器根据收到的路由信息刷新自己的路由表。

  • RIP度量

    RIP使用跳数作为度量值来衡量到达目的网络的距离

    缺省情况下,直连网络的路由跳数为0。当路由器发送路由更新时,会把度量值加1。RIP规定超过15跳为网络不可达

    路由器从某一邻居路由器收到路由更新报文时,将根据以下原则更新本路由器的RIP 路由表:

    • 对于本路由表中已有的路由项,当该路由项的下一跳是该邻居路由器时,不论度量值将增大或是减少,都更新该路由项(度量值相同时只将其老化定时器清零。路由表中的每一路由项都对应了一个老化定时器,当路由项在 180 秒内没有任何更新时,定时器超时,该路由项的度量值变为不可达)。
    • 当该路由项的下一跳不是该邻居路由器时,如果度量值将减少,则更新该路由项。
    • 对于本路由表中不存在的路由项,如果度量值小于16,则在路由表中增加该路由项。

    某路由项的度量值变为不可达后,该路由会在 Response 报文中发布四次(120 秒),然后从路由表中清除。

  • RIPv1&RIPv2

    RIP包括RIPv1和RIPv2两个版本。

    RIPv1为有类别路由协议,不支持VLSM和CIDR。 RIPv2为无类别路由协议,支持VLSM,支持路由聚合与CIDR。

    RIPv1使用广播发送报文;RIPv2有两种发送方式:广播方式和组播方式,缺省是组播方式。RIPv2的组播地址为224.0.0.9。组播发送报文的好处是在同一网络中那些没有运行RIP的设备可以避免接收RIP的广播报文;另外,组播发送报文还可以使运行RIPv1的设备避免错误地接收和处理RIPv2中带有子网掩码的路由。

    RIPv1不支持认证功能,RIPv2支持明文认证和MD5密文认证。

  • RIP环路

    RIP环路.png

    如图所示,RIP网络正常运行时,RTA会通过RTB学习到10.0.0.0/8网络的路由,度量值为1。一旦路由器RTB的直连网络10.0.0.0/8产生故障,RTB会立即检测到该故障,并认为该路由不可达。此时,RTA还没有收到该路由不可达的信息,于是会继续向RTB发送度量值为2的通往10.0.0.0/8的路由信息。RTB会学习此路由信息,认为可以通过RTA到达10.0.0.0/8网络。此后,RTB发送的更新路由表,又会导致RTA路由表的更新,RTA会新增一条度量值为3的10.0.0.0/8网络路由表项,从而形成路由环路。这个过程会持续下去,直到度量值为16。

    • 环路避免

      • 水平分割

        水平分割.png

        RIP路由协议引入了很多机制来解决环路问题,除了之前介绍的最大跳数,还有水平分割机制。水平分割的原理是,路由器从某个接口学习到的路由,不会再从该接口发出去。也就是说,RTA从RTB学习到的10.0.0.0/8网络的路由不会再从RTA的接收接口重新通告给RTB,由此避免了路由环路的产生。

      • 毒性反转

        毒性反转.png

        RIP的防环机制中还包括毒性反转,毒性反转机制的实现可以使错误路由立即超时。配置了毒性反转之后,RIP从某个接口学习到路由之后,发回给邻居路由器时会将该路由的跳数设置为16。利用这种方式,可以清除对方路由表中的无用路由。

        本示例中,RTB向RTA通告了度量值为1的10.0.0.0/8路由,RTA在通告给RTB时将该路由度量值设为16。如果10.0.0.0/8网络发生故障,RTB便不会认为可以通过RTA到达10.0.0.0/8网络,因此就可以避免路由环路的产生。

      • 触发更新

        触发更新.png

        缺省情况下,一台RIP路由器每30秒会发送一次路由表更新给邻居路由器。

        当本地路由信息发生变化时,触发更新功能允许路由器立即发送触发更新报文给邻居路由器,来通知路由信息更新,而不需要等待更新定时器超时,从而加速了网络收敛。

链路状态路由协议(OSPF)

设计上保证了无路由环路,支持区域划分,区域内部路由器使用SPF最短路径算法保证的区域内无环路,利用区域间连接规则保证了区域间无环路

  • OSPF特征

    • 以组播的方式发送hello报文,DR/BDR:224.0.0.6 Other:224.0.0.5
    • OSPF工作在IP层之上的,协议号为89
    • OSPF仅传递对端不具备的路由信息
    • 更新方式为出发更新
    • OSPF支持验证。明文验证和MD5验证(哈希)
  • OSPF工作原理

    • 接口启动OSPF-------dowm
    • 发送Hello报文---寻找邻居--init
    • 对端接受到hello报文以后,会检查Hello报文参数信息
    • 收到对端发送的hello报文----2-way
    • 检查DR/BDR关系是否建立
    • 依靠DR/BDR建立邻接关系------路由的传递
    • 交互LSA
    • 同步的LSDB-----full
  • OSPF有五种报文类型,每种报文都使用相同的OSPF报文头:

    • Hello报文:最常用的一种报文,用于发现、维护邻居关系。并在广播和NBMA(None-Broadcast Multi-Access)类型的网络中选举指定路由器DR(Designated Router)和备份指定路由器BDR(Backup Designated Router)。Hello报文中的Router Dead Interval字段代表死亡间隔,如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。死亡间隔是Hello间隔的4倍,在广播网络上缺省为40秒(因为Hello间隔缺省为10秒)。
    • DD报文:两台路由器进行LSDB数据库同步时,用DD报文来描述自己的LSDB。DD报文的内容包括LSDB中每一条LSA的头部(LSA的头部可以唯一标识一条LSA)。LSA头部只占一条LSA的整个数据量的一小部分,所以,这样就可以减少路由器之间的协议报文流量。
    • LSR报文:两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地LSDB所缺少的,这时需要发送LSR报文向对方请求缺少的LSA,LSR只包含了所需要的LSA的摘要信息。
    • LSU报文:用来向对端路由器发送所需要的LSA。
    • LSACK报文:用来对接收到的LSU报文进行确认。

邻居状态机.png

  • 邻居和邻接关系建立的过程如下:
    • Down:接口没启动OSPF
    • Attempt:此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。
    • Init:发送了一份hello报文,但是没有收到来自邻居的hello
    • 2-Way:收到来自邻居的hello报文
    • ExStart:这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。
    • Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
    • Loading:相互发送LSR报文请求LSA,发送LSU报文通告LSA。
    • Full:路由器的LSDB已经同步。

缺省情况下,OSPF认为以太网的网络类型是广播类型,PPP、HDLC的网络类型是点到点类型

  • DR&BDR选举

    管理员手动指定最优先,然后才是自动选举

    在邻居发现完成之后,路由器会根据网段类型进行DR选举。在广播和NBMA网络上,路由器会根据参与选举的每个接口的优先级进行DR选举。优先级取值范围为0-255,值越高越优先。缺省情况下,接口优先级为1。如果一个接口优先级为0,那么该接口将不会参与DR或者BDR的选举。如果优先级相同时,则比较Router ID,值越大越优先被选举为DR。

    为了给DR做备份,每个广播和NBMA网络上还要选举一个BDR。BDR也会与网络上所有的路由器建立邻接关系。

    为了维护网络上邻接关系的稳定性,如果网络中已经存在DR和BDR,则新添加进该网络的路由器不会成为DR和BDR,不管该路由器的Router Priority是否最大。如果当前DR发生故障,则当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR发生故障,则DR不变,重新选举BDR。这种选举机制的目的是为了保持邻接关系的稳定,使拓扑结构的改变对邻接关系的影响尽量小。

    • SPF算法原理: 每台设备以自己为根节点,其他设备为叶子节点,计算路由
  • OSPF区域

    OSPF区域.png

    OSPF支持将一组网段组合在一起,这样的一个组合称为一个区域。

    OSPF的区域:0-65535

    • 区域间等级划分
      • 区域0: 骨干区域(必须要有,只能一个)
      • 1-65535: 非骨干区域(只能和骨干区域相连)

    划分OSPF区域可以缩小路由器的LSDB规模,减少网络流量。

    每个区域都有自己的LSDB,不同区域的LSDB是不同的。路由器会为每一个自己所连接到的区域维护一个单独的LSDB。由于详细链路状态信息不会被发布到区域以外,因此LSDB的规模大大缩小了。

    Area 0为骨干区域,为了避免区域间路由环路,非骨干区域之间不允许直接相互发布路由信息。因此,每个区域都必须连接到骨干区域。

    运行在区域之间的路由器叫做区域边界路由器ABR(Area Boundary Router),它包含所有相连区域的LSDB。自治系统边界路由器ASBR(Autonomous System Boundary Router)是指和其他AS中的路由器交换路由信息的路由器,这种路由器会向整个AS通告AS外部路由信息。

    在规模较小的企业网络中,可以把所有的路由器划分到同一个区域中,同一个OSPF区域中的路由器中的LSDB是完全一致的。OSPF区域号可以手动配置,为了便于将来的网络扩展,推荐将该区域号设置为0,即骨干区域。

VLAN

  • VLAN原理

    随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重、广播泛滥以及安全性无法保障等各种问题。

    VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。

    VLAN技术.png

    VLAN技术可以将一个物理局域网在逻辑上划分成多个广播域,也就是多个VLAN。VLAN技术部署在数据链路层,用于隔离二层流量。同一个VLAN内的主机共享同一个广播域,它们之间可以直接进行二层通信。而VLAN间的主机属于不同的广播域,不能直接实现二层互通。这样,广播报文就被限制在各个相应的VLAN内,同时也提高了网络安全性。

    上图本例中,原本属于同一广播域的主机被划分到了两个VLAN中,即,VLAN1和VLAN2。VLAN内部的主机可以直接在二层互相通信,VLAN1和VLAN2之间的主机无法直接实现二层通信。

  • VLAN帧格式

    VLAN帧格式.png

    VLAN标签长4个字节,直接添加在以太网帧头中,IEEE802.1Q文档对VLAN标签作出了说明。

    • TPID:Tag Protocol Identifier,2字节,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带802.1Q标签的帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
    • TCI:Tag Control Information,2字节。帧的控制信息,详细说明如下:
      • Priority:3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。当交换机阻塞时,优先发送优先级高的数据帧。
      • CFI:Canonical Format Indicator,1比特。CFI表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。
      • VLAN Identifier:VLAN ID,12比特,在X7系列交换机中,可配置的VLAN ID取值范围为0~4095,但是0和4095在协议中规定为保留的VLAN ID,不能给用户使用。
    • 在现有的交换网络环境中,以太网的帧有两种格式:
      • 没有加上VLAN标记的标准以太网帧(untagged frame);
      • 有VLAN标记的以太网帧(tagged frame)。
  • 链路类型

    链路类型.png

    VLAN链路分为两种类型:Access链路和Trunk链路。

    接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。如本例所示,图中主机和交换机之间的链路都是接入链路。

    干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。如本例所示,图中交换机之间的链路都是干道链路。干道链路上通过的帧一般为带Tag的VLAN帧。

  • PVID

    PVID即Port VLAN ID,代表端口的缺省VLAN。交换机从对端设备收到的帧有可能是Untagged的数据帧,但所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机必须给端口收到的Untagged数据帧添加上Tag。为了实现此目的,必须为交换机配置端口的缺省VLAN。当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLAN的VLAN Tag。

  • 端口类型

    • Access Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。

      Access端口收发数据帧的规则如下:

      • 如果该端口收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
      • Access端口发送数据帧时,总是先剥离帧的Tag,然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
    • Trunk Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。

      Trunk端口收发数据帧的规则如下:

      • 当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文。否则丢弃该报文。
      • 端口发送数据帧时,当VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时,去掉Tag,发送该报文。当VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时,保持原有Tag,发送该报文。
    • Hybrid Hybrid端口收发数据帧的规则如下:

      • 当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
      • Hybrid端口发送数据帧时,将检查该接口是否允许该VLAN数据帧通过。如果允许通过,则可以通过命令配置发送时是否携带Tag。
  • VLAN划分方法

    VLAN的划分包括如下5种方法:

    • 基于端口划分:根据交换机的端口编号来划分VLAN。通过为交换机的每个端口配置不同的PVID,来将不同端口划分到VLAN中。初始情况下,X7系列交换机的端口处于VLAN1中。此方法配置简单,但是当主机移动位置时,需要重新配置VLAN。
    • 基于MAC地址划分:根据主机网卡的MAC地址划分VLAN。此划分方法需要网络管理员提前配置网络中的主机MAC地址和VLAN ID的映射关系。如果交换机收到不带标签的数据帧,会查找之前配置的MAC地址和VLAN映射表,根据数据帧中携带的MAC地址来添加相应的VLAN标签。在使用此方法配置VLAN时,即使主机移动位置也不需要重新配置VLAN。
    • 基于IP子网划分:交换机在收到不带标签的数据帧时,根据报文携带的IP地址给数据帧添加VLAN标签。
    • 基于协议划分:根据数据帧的协议类型(或协议族类型)、封装格式来分配VLAN ID。网络管理员需要首先配置协议类型和VLAN ID之间的映射关系。
    • 基于策略划分:使用几个条件的组合来分配VLAN标签。这些条件包括IP子网、端口和IP地址等。只有当所有条件都匹配时,交换机才为数据帧添加VLAN标签。另外,针对每一条策略都是需要手工配置的。
    VLAN5 VLAN10
    基于端口 G0/0/1, G0/0/7 G0/0/2 G0/0/9
    基于MAC地址 00-01-02-03-04-AA/00-01-02-03-04-CC 00-01-02-03-04-BB/00-01-02-03-04-DD
    基于IP子网划分 10.0.1.* 10.0.2.*
    基于协议划分 IP IPX
    基于策略 10.0.1.* + G0/0/1+ 00-01-02-03-04-AA 10.0.2.* + G0/0/2 + 00-01-02-03-04-BB
  • VLAN间路由

    VLAN隔离了二层广播域,也严格地隔离了各个VLAN之间的任何二层流量,属于不同VLAN的用户之间不能进行二层通信。

    解决VLAN间通信问题的第一种方法是:在路由器上为每个VLAN分配一个单独的接口,并使用一条物理链路连接到二层交换机上。当VLAN间的主机需要通信时,数据会经由路由器进行三层路由,并被转发到目的VLAN内的主机,这样就可以实现VLAN之间的相互通信。

    然而,随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口,而路由器的接口数量是极其有限的。并且,某些VLAN之间的主机可能不需要频繁进行通信,如果这样配置的话,会导致路由器的接口利用率很低。因此,实际应用中一般不会采用这种方案来解决VLAN间的通信问题。

    因为不同VLAN之间的主机是无法实现二层通信的,所以必须通过三层路由才能将报文从一个VLAN转发到另外一个VLAN。

    解决VLAN间通信问题的第一种方法是:

    在路由器上为每个VLAN分配一个单独的接口,并使用一条物理链路连接到二层交换机上。当VLAN间的主机需要通信时,数据会经由路由器进行三层路由,并被转发到目的VLAN内的主机,这样就可以实现VLAN之间的相互通信。

    VLAN路由.png

    然而,随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口,而路由器的接口数量是极其有限的。并且,某些VLAN之间的主机可能不需要频繁进行通信,如果这样配置的话,会导致路由器的接口利用率很低。因此,实际应用中一般不会采用这种方案来解决VLAN间的通信问题。

    解决VLAN间通信问题的第二种方法是:

    在交换机和路由器之间仅使用一条物理链路连接。在交换机上,把连接到路由器的端口配置成Trunk类型的端口,并允许相关VLAN的帧通过。在路由器上需要创建子接口,逻辑上把连接路由器的物理链路分成了多条。一个子接口代表了一条归属于某个VLAN的逻辑链路。配置子接口时,需要注意以下几点:

    • 必须为每个子接口分配一个IP地址。该IP地址与子接口所属VLAN位于同一网段。
    • 需要在子接口上配置802.1Q封装,来剥掉和添加VLAN Tag,从而实现VLAN间互通。
    • 在子接口上执行命令arp broadcast enable使能子接口的ARP广播功能。

    本例中,主机A发送数据给主机B时,RTA会通过G0/0/1.1子接口收到此数据,然后查找路由表,将数据从G0/0/1.2子接口发送给主机B,这样就实现了VLAN2和VLAN3之间的主机通信

    解决VLAN间通信问题的第三种方法是:

    在三层交换机上配置VLANIF接口来实现VLAN间路由。如果网络上有多个VLAN,则需要给每个VLAN配置一个VLANIF接口,并给每个VLANIF接口配置一个IP地址。用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。

    VLAN路由2.png

Last modification:November 17th, 2020 at 03:00 pm