什么是单臂路由技术?

使用vlan trunk可以在同一交换机上划分vlan,从而相同vlan的主机可以通信,不同vlan不能通信,如果连接不同vlan的主机想要通信,怎么办?

不同vlan是属于不同广播域的,配置的是不同的IP网段,针对不同网段的IP进行通信,这时候需要借助路由,通过单臂路由技术三层交换技术可以实现不同vlan间的通信。

假设主机A与主机B在不同网段中,主机A属于vlan10,主机B属于VLAN20,如果主机A要想主机B发送信息,那么主机A的网关应该是自己直连的路由器接口的IP地址。那么问题来了?

问题一:目前有两个vlan都连接了路由器的同一物理接口,那这个物理接口应该属于哪个vlan的网关呢?

 问题二:交换机要想转发vlan的数据,就必须配置为trunk,但是因为trunk是交换机的属性,路由器接口又不能配置为trunk

解决办法:

依据路由器的物理接口去划分子接口,路由器接口f0/0中第一个“0”是模块号,第二个“0”代表接口号。

#划分子接口并分配给不同的vlan
0/0.1   vlan 10
0/0.2   vlan 20
#子为接口配置IP,物理接口不需要配置IP

单臂路由的工作原理 

  • 工作原理图

以上图为例,PC0需要发送数据给PC1,发现PC1和自己不是同一网段,这时将数据交给自己的网关,网关为路由器0的F0/0.1子接口,通过ARP协议获取自己网关的MAC地址,数据会通过交换机进行转发,会为收到的数据打上vlan10的标签,将数据传到路由器0,路由器0收到数据,集合路由器的工作原理,查看目的IP地址,找到对应接口,再进行标签转换,再发送到交换机,这时交换机收到的就是打上vlan20标签数据,根据交换的mac地址表的对应关系直接转发。

  • 实验拓扑图

  •  交换机配置命令
交换机配置
en          
conf t      
vlan 10            #添加vlan10
vlan 20            #添加vlan20
exit
int f0/1           #进入交换机接口f0/1
sw acc vlan 10     #将接口f0/1添加到vlan10
int f0/2           #进入交换机接口f0/2
sw acc vlan 20     #将接口f0/1添加到vlan20
int f0/3    
sw mo trun         #将接口f0/3设置为trunk
  • 路由器配置命令
conf  t   
int g0/0.1                                 #进入子接口g0/0.1
encapsulation dot1Q 10
ip add 192.168.10.254 255.255.255.0        #设置接口ip
exit
int g0/0.2   
encapsulation dot1Q 20
ip add 192.168.20.254 255.255.255.0
exit 
int g0/0                                   
no shut                                     
exit
#使用dhcp为PC设置动态获取IP
ip dhcp pool vlan20                        #定义DHCP地址池
network 192.168.20.254 255.255.255.0       #指定分配的网络范围:网络地址和子网掩码
default-router 192.168.20.254              #指定默认网关
exit
ip dhcp pool vlan10
network 192.168.10.254 255.255.255.0
default-router 192.168.10.254
exit
 
  • 设置PC的dhcp动态获取IP

 

  • 两台PC都设置DHCP获取IP后,在PC0的命令行pingPC1动态获取的IP

 通过交换机上划分vlan,想要实现不同vlan间的通信,这时候就可以使用三层交换机来解决

三层交换相比单臂路由优势何在?

问题:使用单臂路由可以解决不同vlan间的路由,为什么还要使用三层交换路由

  • 单臂路由会造成网络的瓶颈,子接口依托于物理接口,物理接口压力比较大

  • 单臂路由主要是利用路由器的转发,每一次数据来之后都需要进行路由,路由器的工作量比较大

猜你喜欢

转载自blog.csdn.net/fencecat/article/details/128190335