这几天没有更新,主要是这几节CCNA教程又是合集,我比较喜欢把合集写在同一篇里,这样可以防止遗漏。那么这三天的课程是讲了VLANs的内容。这一块我读书时候只了解到第二部分但是老师也没讲特别深,而第三部分则是一点也没讲。

要搞清楚VLAN,先得搞清楚啥是LAN,英文全称当然是Local area network,简单可以理解为一组设备包括交换机,路由,PC等,比如我们自己家中或者小型办公室的网络,但是实际上这个描述也是不精确的,毕竟有可能家里或者公司会划分不同的LAN。所以更加准确定义是 LAN就是一个单独的广播域,包括该域内所有的设备。

那又问了,什么是广播域呢?就是能接收到任意一台组内设备发出的广播帧(目标mac FFFF:FFFF:FFFF)的这么一组设备。举例说比如A 发出一个广播帧,BCD可以收到那么就在同一个LAN内。

如下图所示,PC1 PC2 SW1,PC3,4,5又是一个广播域,PC678又是一个广播域,两台路由器之间又是一个广播域,可以说路由器是可以分割广播域的。

从上图可以看出来,接在同一台交换机上的设备是同一个LAN,也就是处于同一个广播域。

可是假如接到同一台交换机上的某一个设备发出一个广播帧,那么接到该交换机上的所有设备都会收到这条广播帧,那么这势必造成了带宽的占用。另外呢,假如接到该交换机上的设备隶属于不同部分,比如有财务部,技术部,销售部等,不同部分之间的资源出于安全的目的是不能共享的,那么这又是一个问题,即使在路由器和防火墙上配置各种安全政策也没用,无法对接到同一交换机上的设备进行干预。那么怎么办?

如下图所示,我们可以把接在同一台交换机上的设备划分为不同的网段,比如下图所示就是划分为三个网段,这样就可以阻止广播帧互相乱发。根据之前学到的,交换机连接到路由器上需要一个IP接入该子网,那么如下图所示的例子,我们需要连接三条线。这样不同子网之间可以通过路由器的转发来通讯,同时安全性得到了保证。

但是呢,假如某一台设备发了一个广播帧,交换机仍然会把该帧发给所有接到它的设备上去,因为二层交换机不会去管IP地址,只看MAC地址,因此广播帧(MAC地址全F)还是被到处乱发。

从上得知,即使把接到交换机上的设备分成了几个子网,他们仍让在一个LAN或者一个广播域内。当然,我们可以多买几台交换机,但是这样成本就上来了,而且造成了很多的端口浪费。

因此,我们就得使用VLAN了。如下图所示,在交换机端口上配置VLAN,交换机会将每个 VLAN 视为一个单独的 LAN,并且不会在 VLAN 之间转发流量,包括广播或未知单播流量。

如下图所示,比如PC1发个广播帧,那么交换机只会把该帧发给VLAN10内的几个设备,当然也包括连接到R1的端口,路由器默认情况下是丢弃广播帧的

第二种情况是PC1发送一个帧给PC2,当然PC1一开始不知道PC2的mac地址的话,交换机一开始会认为这是unknown 单播,然后当然还是之前讲到的arp请求这么一个过程,包括交换机到路由器,路由器再到交换机,交换机再到PC2等等。

从PC1到PC2的路线不可能是PC1到交换机再到PC2,原因有二,首先他们在不同的子网,那么一定需要发到网关在转发,因此交换机一定会把来自PC1的帧发给路由器网关这里。其次呢,即使他们在同一个子网,但是因为在不同的VLAN,交换机仍然不会把该流量直接跨VLAN转发。

到这里我们就可以大致了解了,VLAN就是虚拟的LAN:virtual LAN,它被配置在交换机上,它是在二层工作,从逻辑上(注意,不是物理上)把不同的设备划分在不同的广播域

那么VLAN如何配置呢,如下图所示,其实就记住几条命令就可:

第一个命令是用来查看当前的VLAN:show vlan brief

该命令可以查看当前的VLAN配置,一般情况下,默认所有端口都是隶属于VLAN1,另外还有一些其他的默认VLAN,比如1002~1005就是什么fddi token-ring fddinet trnet,如果我没记错的话现在有的交换机还有voice VLAN。不过了解一下即可,不需要记住。

那么如果配置端口到某一个VLAN呢,首先要进行配置模式,并选择1个或者若干个端口

switchport mode access

switchport access vlan 10(10是VLAN ID)

如果设置的端口VLAN ID是当前不存在的,那么交换机会自动创建该VLAN

vlan 10(10是VLAN ID)

该命令用来创建VLAN并配置,如果该VLAN已经存在,则进入该VLAN进行配置

name HR(HR是自定义的名称)

那么接下来,可以去做第一个练习,然后做好后继续,

这里有一个小注意事项,多个端口 使用 int range 这种配置时候,假如端口不连续,中间必须加逗号间隔。

比如int range f3/1, f4/1

接下来我们看这一种情况,左侧的交换机接到了右侧的交换机,而不是接到了路由器,VLAN10的设备接到了两台交换机上,这种情况很常见,比如虽然是同一个部门但是是在不同的楼层,假如VLAN10的一个电脑发帧到VLAN30的一台电脑上,那么整个过程是VLAN10的PC到SW1,再到SW2,再到R1,再回到SW2,再回到SW1,最后到达目的地。当然这种情况没有任何问题,但是这种配置在小型公司或者设备不那么多的地方是没问题的,一旦遇到多台终端的情况下,就会需要大量的设备,如果部门非常多,那么还得分大量的VLAN,交换机和路由器以及交换机之间的连接也会增多,这又是一种浪费和增加成本。

为了解决这个问题,我们接下来引入 trunk 这个概念,在上文我们可以知道 交换机可以设置为access 模式,相对应的也可以把端口设置为trunk 模式,trunk 模式的作用就是可以在同一个端口下运送或者说转发不同vlan的数据。

如下图所示,两台交换机之间以及交换机和路由器之间只需要一条链路即可完成多个VLAN数据的传输,但是设备如何知道哪个帧来自于哪个VLAN呢?

此图片的alt属性为空;文件名为image-24.png

我们首先看交换机之间,这里引入一个概念,vlan tag,实际上交换机会给从trunk端口发出去的帧添加一个vlan tag,这样接收端的交换机就知道该帧隶属于哪一个vlan,这样就可以解决上述问题。

trunk port 就等于是 tagged port

而access port 就等于是 untagged port

因为同一个vlan下没必要tag,因为都在一个广播域内。

那么具体怎么给帧添加tag呢?

这就牵扯到了两种协议,ISL和802.1Q(dot1q)

其中ISL是思科的协议,比802.1Q创建的要早,但是基本上已经被抛弃了,新款的思科设备都不支持该协议,只需要了解即可

而dot1q是IEEE创建的国际标准协议,所以现在大家都用这个。

来看下图可以回忆一下,帧header的组成,不算dot1q的话,五个组成部分分别是7,1,6,6,4个bytes,而dot1q协议就是在source和type中间添加4个bytes,

具体这4个bytes或者 32个bits的组成部分如下:

TPID:Tag protocol identifier, 永远设置为0x0800,代表帧是802.1Q tagged

TCI: Tag control identifier 分为三个部分

PCP: priority code point 用来在拥挤的网络中表示数据的优先级别

DEI:Drop eligible indicator 用来表示该包在网络拥塞情况下,是否可以被丢弃

VID: VLAN ID 这个是最重要的,12个bits就是2的12次方,可以得出4096,所以范围是0~4095

其中0和4095是保存的,无法使用,所以理论上可用范围是1~4094

这里注意:可用范围分为两部分 1~1005是普通vlan,剩下的是扩展vlan,有的老设备不支持扩展vlan,但是大部分都没问题

这里有一个native vlan的概念,我们先不理,继续看trunk port 的配置上,

switchport trunk encapsulation dot1q

switchport mode trunk

如果直接输入第二个命令,交换机有一定几率会报错(假设交换机支持ISL和dot1q两种模式),因为默认封装模式是Auto的话不能这样设置。所有要先设置封装协议。

show interfaces trunk

该命令可以查看状态

另外vlan trunk 也可以设置一些参数

switchport trunk allowed vlan 关键字 vlanID

关键词有 add all except none remove,

比如 switchport trunk allowed vlan add 10 意味着允许vlan10通过trunk

如vlan10 是不存在的,那么该命令也可以执行,允许vlan10通过trunk port,但是在其他状态中比如 vlans allowed and active 中是不显示的,这一点和在端口设置access模式时候不一样,并不会像access一样自动创建vlan

还是回到刚才的图,我们已经知道如果将两个交换机之间的口设置为trunk,封装模式,native vlan匹配等,但是交换机到路由器呢?交换机依然可以设置为trunk port,所有的帧都发送至路由器,但是路由器如果将不同vlan的帧识别并转发呢?不同于最上面的情况,这次我们只有一个接口,没法设置多个接口来对应不同的vlan, 所以这里继续引入一个新的概念 ROAS, router on a stick,在同一个路由器端口下设置多个子接口,,如下图所示,R1 的G0/0口分出来 三个子接口

配置方法如下,首先得把端口打开,在配置模式下,

int G0/0

no shutdown

进入接口后设置子接口,

interface g0/0.10

.后可以跟任何数字,例如这里使用了.10 这个只是一个名字,和vlan ID没啥关系,但是呢,建议改成和vlan id一样,这样的话容易分辨

encapsulation dot1q 10

这里dot1q 后跟的数字 则是 vlan id,

ip address 192.168.1.62 255.255.255.192

这里是给该端口设置ip地址,必须和上面设置好的VLAN id 匹配得上,这样可以作为该vlan的网关

好了,我们接下来得继续做第二个练习。

练习部分后面是用的Boson NetSim,这个是收费的,官网是99美金,我目前没买这个,所以后面的练习我没有做。

另外在802.1Q中官方定义了个概念,native vlan,这个概念我一开始没搞懂,主要是不知道作用是干嘛的,我看了看定义大概理解了。从发帧出去的交换机说起,trunk port 会给从不同vlan端口来的帧加上一个 802.1Q的tag,但是假如这个帧来自于native vlan,那么就不加tag。

对于收帧的交换机说起,当接收到帧后会查看它的tag来确定它隶属于哪个vlan,但是如果该帧没有tag,那么就认为它隶属于native vlan,如果mac表没有的话还会进行flood操作。

因此呢,发送和接收端的交换机native vlan必须一致,不然的话会出问题,

在交换机上native vlan默认是1,修改方法是:

switchport trunk native vlan 1001

其中1001为VLAN ID,可以任意设置

由于native vlan是不加tag的,因此传输的效率更高,在同样的时间内可以传输更多的数据(因为帧更小)。

那么在路由器上如何设置native VLAN呢,一共有两个方法

在路由器的子接口上敲命令,encapsulation dot1q vlan-id native

例如:

int g0/0.10

encapsulation dot1q 10 native

另外一种是在路由器的物理接口上配置一个ip地址给native vlan

例如:

interface g0/0

ip address 192.168.1.62 255.255.255.192

不过为了安全,还是建议把native vlan id设置成不用的vlan id,不要用这个

最后我们接着上面的思路想,假如交换机内有非常多的VLAN,那么尽管在交换机和路由器上配置了trunk,可以把数据转发,但是假如这个网络非常庞大,那么该端口势必非常阻塞,大量的数据全靠这一个接口来转发,因此一定会有问题出现,那么可以用另外一个方法。

这就需要新的设备,三层交换机,Layer 3 交换机,简单的可以理解为能在L2和L3工作的交换机,有点类似于交换机带路由功能,可以内部VLAN路由,可以配置IP地址等

还是如下图所示,如果是二层交换机,那么VLAN20里的终端发送数据给VLAN10的终端,那么一定是要经过R1的转发,现在我们改用三层交换机,通过内部的vlan转发来实现该功能,不需要在走R1那条链路。

如果使用该功能呢,首先要了解三层交换机的一个功能特性,SVI

switch virtural interfaces

顾名思义就是交换机虚拟接口,你可以给这些接口分配ip地址,并且用这些虚拟接口做网关,交换机内部可以进行路由转发。如下图所示,不仅如此,假如想把送数据到R1外,比如互联网,三层交换机连接到路由器的端口可以当做路由端口来配置,设置IP地址,路由转发等

如果配置SVI呢,非常的简单,例如下面

interface vlan10

ip address 192.168.1.62 255.255.255.192

另外必须设置 no shutdown,默认是关闭状态

假如interface 后面跟的vlan不存在,那么查看状态时候,该SVI会显示down的状态,即使设置了no shutdown也不行,因为该VLAN不存在或者VLAN存在但是没有接口连接到该VLAN上面且UP状态,而SVI命令并不会创建该VLAN,必须先手动创建一个才行

那么如何配置连接到路由器的端口呢

ip routing

该命令是设置交换机 可以进行 Layer3 路由,允许其建立自己的路由表,如果不设置则无法内部路由

interface g0/1

no switchport

该命令把2层交换机接口改设置为3层路由接口

ip address 192.168.1.193 255.255.255.252

该命令配置ip地址

接下来就可以像路由器一样设置路由

ip route 0.0.0.0 0.0.0.0 192.168.1.194

另外这里有新的命令 show interfaces status

,可以查看端口状态,比如属于哪个vlan,是不是trunk,是不是routed

接下来做最后一个练习

VLAN这几个练习最好多练几次加深记忆力,这一块的知识也要记住,非常关键。

YouTube player
YouTube player
YouTube player
YouTube player
YouTube player
YouTube player

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

——————————————————-分隔符——————————————————————-

Day 16 Anki Flashcard下载:https://drive.google.com/file/d/1Fl-sg9RqVRK_sQH5YPVAGdn1HtS0Zsrl/view?usp=sharing

Day 17 Anki Flashcard下载: https://drive.google.com/file/d/1V3ZJLYFXw2SPLiiGqNCN3V0c4adl–jo/view?usp=sharing

Day 18 Anki Flashcard下载: https://drive.google.com/file/d/1LR2ZkhGbqvVoz6U3jiiKE9Cbk6AIuJU1/view?usp=sharing

Day 16 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/1APsxRFt6EMjEQX970Qt3ySn2IrwArh_J/view?usp=sharing

Day 17 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/1eBOcNoTQ2Kcmj6v-ctpW_8pnh5_o04n_/view?usp=sharing

Day 18 Cisco Packet Tracer 练习题下载: https://drive.google.com/file/d/1V5mgvBu2oxU54Kk0eO6v6lE3pmDDKRnv/view?usp=sharing

Day 16 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/1PaNGuMOvVYWzfeSP10-9_87Ja9TbIVXU/view?usp=sharing

Day 17 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/1hP3a3QdR0r68JxBw02X0KkQQp2vpJ9kA/view?usp=sharing

Day 18 Cisco Packet Tracer 练习题完成下载: https://drive.google.com/file/d/1IoTlOhlK4WVg3B4_vwxOWnTv1uvPNwCE/view?usp=sharing


Chao

一个三天打鱼两天晒网的博主 拖延症严重患者 干啥啥不行,学啥啥不会

0 条评论

发表回复

Avatar placeholder