VLAN间路由技术
数据流的分析基础
二层交换机使用的意义
- 以太网内部局域网的组建,端口密度大(缺点是端口类型少)
- 基于芯片的转发
-
工作在OSI第二层,其主要功能工作任务是转发二层数据帧
image.png
交换机的处理转发
- 交换机的处理查找转发是根据数据包的第二层的头部进行查找转发的
-
交换机的转发是依赖于MAC地址表,MAC地址表的形成是交换机动态学习的过程,动态的去生成MAC条目,那么交换机是如何进行查找转发的,如图所示,PC1去访问PC2,他们是属于同一个vlan,同一个网段的,中间的核心交换机收到数据帧之后,之间查看数据帧的第二层头部,二层交换机工作在第二层,只能去查找第二层头部,查找数据帧的第二层头部,提取目标MAC地址,通过提取的目标mac地址,在mac表中进行查找,通过查找,因该从F0/3号接口发送出去,所以交换机针对数据的处理,仅仅只使用了第二层头部
image.png
路由器使用的意义
- 具有多种类型的接口,用于连接多个IP子网及多种链路,并实现其互联互通的网络设备
使用路由器就是连接多种不同的介质,同时连接多个不同的子网,所以说如果有多个子网,这些子网之间需要进行通信的话,那么必须要通过路由来实现的 - 工作在OSI第三层,其主要工作任务是在网络中转发IP数据包
-
大部分的路由器都是基于软件进行转发,转发效率比较低
image.png
路由表
- 又称全局路由表,存储在路由器的内存中,用于指示路由器如何将IP数据包发至正确目的地的信息表
路由器工作在第三层,根据第三层的头部来进行处理,路由器数据的转发依赖于路由表路由表是由路由器静态或者动态的生成路由表
路由器的处理转发
如图,RA要访问RC这个网段,路由器收到一个完整的数据帧,有二层头部三层头部和传输层头部和数据,那么路由器受到这数据,首先会查第二层头部,看而二层头部中的目标MAC地址是不是自己接口的mac地址,只有这个数据是自己的,然后才确认这个数据包是发送给自己的,否则的话,就会把数据丢弃,只有发现是发给自己的,才允许把第二层头部剥离,然后再来查看IP头部里面的目标IP,将IP头部里面的目标IP提取出来,在路由表里面去查找,是否有去往这个网段的路由,比如说10发往22网段的,那么目标路由也就是22,所以通过查找路由表,所以我们知道数据因该从S0/1这个接口发送出去,要把数据从接口发送出去,但是二层头部已经被剥离了,数据要在链路上传送,是要有完整的数据的,所以从这个接口出去,要重新封装一个二层头部,封装什么二层头部,是要由这个传输的协议来决定的,如果是以太网封装的就是以太网头部,如果是HDLC,就封装HDLC这样的头部,这就是RA的处理过程
image.png
路由器与交换机的部署
交换机用在哪里?路由器用在哪里?
- 通常情况下,交换机用在局域网的内部,用来构建局域网内部的一个网络,实现多个功能区的互连,通过交换机也可以实现局域网内部的一个通信,所以交换机一般放在局域网内部,用来构建的
- 路由器通常放在网络的一个边界,因为路由器由非常丰富的广域网接口,所以它可以通过广域网接口实现一个远距离的互连
数据流分析案例
- 如图所示有三个网段,所以使用路由器将这三个网段进行互连,由1.0、2.0、3.0三个网段
-
在同一个子网内如何来实现访问???
例:
pc22访问pc21,都处于同一个局域网,按照vlan的特点,因该划在同一个vlan里面,处于同一个广播域,他们之间地址的解析可以直接通过ARP发送广播报文来进行实现,pc22发送的广播报文pc21时可以收到的,对方的MAC地址可以通过ARP直接进行解析,所以pc22访问pc21,因为在同一个子网,所以他们在进行数据的一个封装的时候,在二层头部里面封装的目标MAC地址因该就是对端的MAC地址,在同一个子网,数据的访问是直接进行访问的
image.png -
在不同的子网之间如何来进行访问???数据的处理过程是怎么样的?
例:
3网段的pc31访问2网段的pc12,在不同的网段,pc31发送的ARP广播不能到达PC12,在这种情况下,如果访问的是其他的子网,必须要借助一个网关,所以在配置PC的时候,除了配置IP还要配置网关,默认网关的意思就是如果你要去访问其他的子网的话,把数据丢给路由器,让路由器查找去往这个网段如何走,所以通常情况下使用的就是离我这个设备最近的三层路由器的接口的IP,所以PC31的网关就因该是192.168.3.1,所以封装的目标MAC地址就是网关的MAC地址,所以pc31访问pc12,数据帧应该先发给交换机3交换机经过mac地址表的查找,发现目标在R1,就把数据发给R1,同理R1收到之后在转发
image.png
单臂路由实现方式
通过单臂路由的方式实现不同vlan之间的访问
例:
-
vlan间互通需求
根据连接业务的特点,要求实现研发vlan、办公vlan与服务器vlan间的数据访问,不允许研发vlan与办公vlan互访
image.png
方法一:
- 单臂路由:在整个网络边缘加上一个路由器,所有的pc可以采用路由器的IP作为网关,不同的子网,不同的vlan之间,数据可以通过路由器来进行路径的查找和转发,最终实现不同vlan之间的查找和互访,通过将路由器旁挂在网络边缘,通过路由器来实现路由的访问
单臂路由实现的工作原理:所有的子网所有的vlan,数据都需要通过路由器来进行查找和转发,那么在交换机与路由器之间的链路到底因该承载哪条vlan的流量?这时候就用到了Trunk,Trunk就是在同一个链路上面承载不同vlan的流量,将交换机与路由器之间的链路配制成Trunk,所有vlan的流量都可以通过Trunk链路发送给路由器,然后通过路由器来进行查找 -
路由器一个接口到底该如何区分流量到底是来自于哪个vlan,单臂路由使用了子接口这样的概念,子接口就是一个逻辑接口,在这一个接口上面创建一个一个相互独立的子接口,每个子接口可以指定属于哪一个vlan,举例,在F0/0/1这个子接口上面指定是属于vlan10的,封装的协议是dot1q10,也就代表如果收到一个数据带有10的标记,虽然都是从一个物理接口进来的,但是通过查看这个标记我们就知道这个数据应该是发给0/0/0这个接口,因为这个接口是属于vlan10的,通过Trunk和子接口的方式,可以实现路由的查找转发
image.png
单臂路由的配置:
-
首先第一步在路由器上面考虑采用哪一个接口作为单臂路由,比如说现在采用F0/1这个接口,首先进入这个物理接口,进入物理接口之后一定要做的一件事情就是no shutdown, 把这个接口打开,因为后面所创建的接口都是一个逻辑借口,如果物理接口没有打开的话,所有逻辑接口也都处于一个关闭的状态,物理接口上的IP配不配无所谓,有三个vlan,要实现三个vlan之间的互访就要创建三个子接口,用valn号做一个标识区分子接口,在每个子接口下面配置的IP作为这个vlan的网关,在交换机上面只需要把模式改成Trunk模式
image.png -
方法二:
三层交换:三层交换机原理上与单臂路由是一样的,三层交换机就是将路由器与二层交换机进行一个结合,在这个设备上面既能进行二层的一个交换又能进行三层路由的转发, -
软转发路由器性能瓶颈:
1、低端路由器基于软件转发,vlan间路由器转发性能较低
2、高端路由器基于芯片转发,但价格太高
3、二层交换机基于芯片转发,但不能做三层转发
4、能否把二层交换机和低端路由器的优势结合起来实现共同转发——那就是三层交换机
三层交换机发展历程
image.pngimage.png
image.png
image.png
image.png
- 三层交换机既有路由表又有MAc地址表,那么什么时候用路由表什么时候用mac表,如果三层交换机收到一个数据,通过查看数据报文的mac地址,如果你这个目标mac地址在我的mac表里面,那么我就通过mac表进行转发,如果mac地址的SVI接口的mac地址,那么数据报文就是从我们的交换引擎发给路由引擎实现理由的查找,