文章目录
CCNP1交换:三层架构概述、路由器交换机登录密码破解、VLAN、trunk(ISL、dot1Q)、DTP、VTP、交换机工作原理
有关本章实验可以查看这篇博客:CCNP实验:交换1:trunk、DTP、VTP
一、企业网三层架构概述:
BCMSN :组建Cisco多层交换网络(Building Cisco Multilayer Switched Networks)
1、冗余:
三层架构的核心在于冗余,也就是备份。当企业内网部分设备发生故障时,由于冗余机制的存在,企业网不会立即瘫痪,还可以维持正常的工作。
冗余有4种:设备、线路、网关、电源(UPS)
2、三层架构:
企业网三层分为:接入层、汇聚层、核心层。
用一张图来演示一下:
我接下来写有关交换的技术就是围绕二层汇聚层来讲的,这里我再简单说下各层的功能:
层 | 功能 |
---|---|
access 接入层 | 提供端口密度,用于用户接入 |
distribute 汇聚层 | 流量的聚合、策略规划,实施QOS和安全策略,需要支持三层功能 |
core 核心层 | 提供数据的高速转发NAT |
二、设备开机登录密码破解:
switch#delete flash:config.text 可以删除设备的配置文件。
1、破解原理:
在破解交换机、路由器设备的密码时,我们首先要了解设备的存储介质:RAM(随机存储器)、ROM(只读存储器)、flash(闪存)
特点\存储介质 | RAM | ROM | flash |
---|---|---|---|
读写 | 可读写 | 只读 | 可读写 |
地位 | 内存条 | 最小IOS 相当于BIOS | 最多IOS Cisco操作系统 |
flash(闪存),它相当于Windows上的硬盘,里面会存储着一个配置文档: config.txt 对于交换机还会再存储着一个 vlan.dat 的文件。
破解原理:
如果说在设备还没有进入到最大IOS时,也就是操作系统还没有启动的时候,进入ROM对flash中的config.txt 进行修改,就会绕过登录密码。
2、设备启动原理:
上面我们知道了交换机、路由器设备密码的破解原理、以及存储介质。
接下来,我们就来讲讲设备的启动过程:
(1)加电
(2)读取最小IOS到内存
(3)对设备进行自检
(4)引导系统从flash启动
(5)加载config.txt文件
3、破解交换机:
我们可以使用 show flash: 命令查看闪存中都存储了哪些东西。
(1)二层交换机:
①首先让电脑连接上交换机,然后将交换机重启。在交换机重启的时候长摁mode键,接着不停敲击Enter,然后交换机就会停留在最小IOS的界面。命令行前会显示switch:即表明进入最小IOS成功。
② 读取flash:使用命令:flash_init
③修改配置文件名为 xxx :使用命令:rename flash:config.text flash:xxx.text
④接着重启:reset
⑤然后再将原来的名字修改回来:rename flash:xxx.text flash:config.text
⑥将配置复制到系统下:copy flash:config.text system:running-config
⑦我们可以选择添加一个用户名和密码或者是删除该用户名和密码
(2)三层交换机:
对于三层交换机来说,大同小异。摁一会儿以后一定要松开,才能看到页面,其它都没什么。
4、破解路由器:
对于路由器来说,我们使用命令:show version 可以查看版本号
从上面我们可以看出寄存器的版本为:0x2102
0x2102 | 设备启动时将加载配置 |
---|---|
0x2142 | 设备启动时不加载配置 |
(1)进入最小IOS:
在正在开机的过程中按下CTRL+C,就会进入最小IOS。
(2)修改寄存器值:
26以上设备输入:confreg 0x2142
26以下设备输入:o/r 0x2142
(3)重启:输入 reset 命令
(4)接着copy startup-config running-config
(5)同理,增或删用户名
(6)修改寄存器的为原来的值:config-register 0x2102
三、交换机:
讲技术之前,先说一下交换机:
1、交换机的作用:
1 | 无线延长传输距离 |
---|---|
2 | 实现单播,一对一的传输 |
3 | 分割冲突域,交换机每个接口是一个冲突域,所有的接口都在一个广播域。 |
2、交换机转发数据的原理:
通过MAC地址进行物理寻址交换机是工作在数据链路层的设备,在接收到数据后,通过查找自身系统MAC地址与端口对应关系,将数据传送到目的的端口。
交换机在同一时刻可进行多个端口之间的数据传输,每一端口都是独立的物理网段,连接在端口上的网络设备独自享有全部的带宽。因此,交换机起到了分割冲突域的作用,每一个端口为一个冲突域。
交换机上有张表,有着接口、设备的MAC、VLAN之间的对应关系,交换机就是靠着这张表来进行,数据转发。
3、交换机、路由器的查表方式:
我们一直认为交换机转发数据靠MAC地址表,路由器转发数据靠路由表,但其实我们知道MAC地址表、路由表都是给人看的。
而交换机实际看的是CAM表、路由器看的是TCAM表。等于说设备和人类看到的表它是一个意思,但是样子不是一样的。
CAM(内容可寻址存储器)将MAC地址表中的 源MAC + 接口编号 + VLAN ID 进行哈希运算
TCAM(路由表)原理同CAM基本类似,CAM只使用0、1标识,但TCAM使用1、0、X 标识,X标识不确定位,也就是主机位
四、VLAN
VLAN的配置思路:
步骤 | 思路 |
---|---|
① | 交换机上创建 VLAN |
② | 将交换机上的不同接口划分到对应的 VLAN 中 |
③ | trunk干道,用于SW-SW、SW-R(路由器和交换机之间创建的也是trunk) |
④ | VLAN间路由,单臂路由(子接口) 或者 多层交换机解决 |
VLAN虚拟局域网,交换机和路由器协同工作后,将原有的一个广播域逻辑的分为多个广播域。
如果将VLAN进行分类,可以分为三类:按编号,按动静态、按结构进行分类。
1、编号分类:
编号(0-4095) | 注解 |
---|---|
1-1005(标准VLAN) | 在任何条件下均可以使用的VLAN |
1006-4094(扩展VLAN) | 在VTP模式为透明时才可以创建 |
0、4095 | 这俩VLAN不可使用 |
标准VLAN:
标准VLAN中,VLAN1、1002-1005默认存在,不得对这些VLAN进行删除和创建。1002-1005预留给非以太网技术下所使用,现在不再使用。
默认所有的接口处于VLAN1,VLAN1同时为默认的Native VLAN 和 管理VLAN
2、动静态分类:
静态 | 将交换机的某个接口划分到某个vlan中,在一个时间点内均能转发唯一vlan流量 |
---|---|
动态 | 常用在移动环境:用户连接到交换机上后,交换机将该用户的设备信息发送到服务器处,由服务器辨别该用户所在VLAN,告知交换机。 |
3、结构分类:
end to end 型:处于同一个交换网络内的相同 VLAN ID通讯是仅基于二层,它们是同一个广播域。例如图中路由器的左侧,两个 VLAN2 是同一VLAN,也就是同一个广播域。
local VLAN 型:处于不同交换网络内的相同 VLAN ID,通讯时需要基于三层进行,它们是不同广播域。例如图中路由器两边的 VLAN 2 ,它们不是同一 VLAN 也就是说它们不在同一个广播域。
4、VLAN配置:
sw(config)#vlan 2 创建vlan
sw(config-vlan)#name classroom1 命名vlan
sw(config-vlan)#exit
sw(config)#vlan 3
sw(config)#no vlan 10-100,109-200
sw(config)#int f0/1
Sw(config-if)#switchport mode access
sw(config-if)#switchport access vlan 2
同时对多个接口进行相同的部署
sw(config)#interface range f0/3-4 , f0/9-10
五、trunk 技术(ISL、dot1Q、DTP):
对于贴斯标签详细过程,可以查看我这篇博客:CCNA6:VLAN、TRUNK、单臂路由
先讲个例子:
如图所示:PC0和左边交换机所有接口在VLAN2中,而PC3和右边交换机的接口都在VLAN3中,f0/0、f0/1都是接入模式,但是PC0、PC3却配置在同一个网段中。
问:PC0可以ping通PC3吗?
可以,首先我们要知道只有Trunk干道会有贴标签、撕标签的行为,当我们用 PC0 ping PC3 的时候:
它先会看目标IP和自己是否在同一个段,如果在同一段,它会发个正向ARP,然后单播。
ARP的原理:PC0发出一个ARP请求包(源IP:1.1.1.1/24,目IP:1.1.1.2/24 源MAC:PC0MAC 目MAC:全F):,Switch0收到之后,它会将该包在VLAN2的广播域中进行洪泛,由于f0/0口也在VLAN2中,因此Switch1也会收到该ARP请求包。又因为该发过来的包没有贴标签,收到该包的Switch1的接口又在VLAN3当中,所以它会视作这个流量是VLAN3来的,最后PC3应答,所以能通。
1、打标封装协议
trunk干道不属于任何一个VLAN,它承载所有VLAN的流量,可以标记和识别不同VLAN的流量。这里的两个协议是:ISL、IEEE802.1Q协议。
特点\Trunk协议 | ISL | IEEE802.1Q(dot1Q) |
---|---|---|
私有、公有 | 私有 | 公有 |
方式 | 封装![]() | 标记![]() |
封装大小 | 30字节 | 4字节 |
标记位 | 15位用于标记VLAN ID,其中就有5位保留 | 12位标记VLAN ID |
VLAN数量 | 1024个 | 4096个 |
协议的支持 | 支持所有数据链路层协议 | 仅支持以太网 |
Cisco的二层交换机仅支持802.1Q的技术,只有Cisco的三层以上交换机才支持ISL,除此之外,IEEE802.1Q还支持Native VLAN。
数据包进出 Native VLAN 不需要贴标签,因此可以用来转发一些实时性的流量,比如说语音等流量。
2、配置:
(1)手动创建 trunk
对于Cisco设备来说,由于2层交换机仅支持IEEE802.1Q,因此直接配置即可,如下:
sw1(config)#int f0/24
sw1(config-if)#switchport mode trunk
但是对于Cisco的3层交换机来说由于可以支持ISL的封装模式,因此在设置trunk干道前,需要先声明配置封装类型。
core(config)#interface f0/20
core(config-if)#switchport trunk encapsulation dot1q
core(config-if)#switchport mode trunk
(2)DTP协议:自动生成 trunk
DTP(Cisco私有)动态 trunk协议,交换机之间自动协商成为 trunk 干道,默认在 Cisco 产品中开启。
sw1(config)#int f0/24
sw1(config-if)#switchport mode dynamic ?
auto 被动,默认45以上系列交换机
desirable 主动,默认45以下不含45系列交换机
在这里,手工开启=主动(desirable)
形成 trunk 干道的条件 | 是否能形成 trunk |
---|---|
被动——被动 | 不能形成 |
主动——被动 | 形成 |
主动——主动 | 形成 |
注意1:以上所有模式同 access 接口相遇后,必然不能形成 trunk,
注意2:该DTP协议是有安全风险的,如果电脑给该协议交换机发了一个DTP的请求消息进行建邻,那么该交换机和电脑之间生成一个trunk干道,所有vlan的广播都可以接收到,可以给经过自己电脑的流量贴任意vlan的标签,所以网络很不安全,因此就需要将其他闲置或连接电脑的接口全部设置为access模式。
(3)IEEE802.1Q中的 Native VLAN:
默认为VLAN1,在trunk干道上默认对 Native VLAN的流量不标记
一般用于大流量VLAN的需求,例如实时性流量。
以下有一种情况可以通:就是下面这种两台交换机分别给自己的接口配置 Native VLAN。
原因:因为Native VLAN不贴标签,对方也会认为不贴签的是VLAN3。Native VLAN不贴签,但是工程师却可以打开贴签功能。
SW1#show vlan dot1q tag native
查看 trunk 的Native VLAN的标记情况
(4)附属VLAN:
附属VLAN:在 ip phone 下,常常需要电话和电脑在不同VLAN,电话一般为native VLAN,且使用QOS优先转发。
Switch(config)#int f0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 2 //PC所在VLAN
Switch(config-if)#switchport voice vlan 1 //附属VLAN,ip phone
Switch#show interfaces fastEthernet 0/1 switchport
(5)trunk干道运行列表:
配置trunk干道运行列表,默认trunk干道允许所有VLAN通过。
Switch(config)#int f0/24
Switch(config-if)#switchport trunk allowed vlan 1-10,13-20
仅允许这些VLAN流量通过
Switch(config-if)#switchport trunk allowed vlan remove 2
从允许列表中排错某个VLAN
总结:
1 | 广播域的切割由设备来决定,IP地址的划分,仅仅用于设备切分完广播域后,再进行标记 |
---|---|
2 | 在一台设备删除某个vlan时,之前被划分到这些vlan的接口属性不变换,故在删除这个vlan后,这些接口将无法正常通讯——划分到其他活动VLAN,将恢复原VLAN |
3 | 若一台交换机上未创建某个VLAN,那么在cisco的产品中将不转发该vlan的流量。 |
4 | 流量的vlan ID标记行为仅在trunk间进行,access接口不对流量进行标记。若access接口的流量中存在vlan ID,该ID编号与该接口所在vlan ID相同,转发流量同时去除标记,否则丢弃流量。 |
六、VTP:
这个协议叫做:VALN Trunk 协议:
再进一步讲这个协议之前,我们还应该知道:
如果一个交换机,在自己的某个接口上划分了VLAN5,这个VLAN5下接入了一台电脑。接着我们将VLAN5删除,此时原先VLAN5的这个接口将不再属于任何VLAN,这个接口下的电脑也不能访问交换机。
配置:
1、domain域:
SW1(config)#vtp domain ccie
当一台交换机没有加域时,那么会自动加入广播过来的第一个域名。
2、password 加密:
VTP的安全风险:
上面我们说到,当交换机设置VTP后,会自动用自己的vlan.dat去同步别人的vlan.dat文档。而一个没有加任何域的交换机会自动加入第一个域名,为了避免黑客冒充交换机去同步别人的VLAN,VTP需要设置安全机制:密码加密。
SW1(config)# vtp password cisco
3、VTP 的模式(mode):
SW3(config)#vtp mode Server
VTP的模式 | 同步信息 | 能否创建、修改、删除VLAN信息 |
---|---|---|
Server(服务端) | 可以被同步、同步别人 | 能 |
Client(客户端) | 可以被同步、同步别人 | 不能 |
Transparent(透明) | 不可以 | 能 |
通过上述表格我们发现:
Server 可以同步、被同步:Server、Client
Client 也可以同步、被同步:Server、Client
而 透明模式 所拥有的VLAN,Server、Client不一定都拥有。所以扩展VLAN可以是自己独立私有,也可以公共都有的。
注意:默认所有的交换机的模式为Server
除此之外还要强调的是:
Client既然不能创建VLAN、那它怎么去同步别人,只能被Server同步?
表面是这样的:Server创建一个VLAN之后同步了一个Client,但就担心这个设备会被放在一个新网络中,可能会因为版本号等问题,去影响其它级别没它高的Server、Client。
4、Version版本:
同步规则:client和server模式会存在同步与被同步;谁同步谁由配置版本号决定
sw1#show vtp status
每修改、删除、创建一次VLAN,配置修订版本号(Configuration Revision)加1,谁的配置版本号高,就可以同步其他人
修改域名或将模式该为透明导致配置版本号归0。
在总结一下VTP的同步条件:
1 | 版本相同 |
---|---|
2 | domain相同 |
3 | password相同 |
4 | 配置修订版本号高同步低的 |
5 | 非透明模式 |
6 | 必须为 trunk 干道 |
5、VTP修剪:
修改不必要的扩散流量,减少资源的占用,仅仅在Server模式下可以生效。
比如下面这种情况,三台设备均开了VTP,然后左边和中间的设备有VLAN2,右边的设备没有VLAN2。在我们启动VTP修剪之后,左边的设备不再发的广播包就不再发给右边的设备了。
或者还有这种情况:开启VTP修剪之后,左边设备VLAN的广播到达中间设备,即便中间设备不存在VLAN2的用户它也会传给右边的设备。
SW1(config)#vtp pruning 全局开启,宏观修剪
SW1(config)#int f0/24
SW1(config-if)#switchport trunk pruning vlan 10
在该trunk干道上,专门针对某个VLAN的流量进行修剪