#查看系统时间
display clock
#设置所在时区
clock timezone — clock timezone BJ add 08:00:00
#设置当前时间和日期
clock datetime — clock datetime 10:20:30 2021-06-22
#设置网络授时 — http://www.ntp.org.cn/pool –ntp官网
ntp-service unicast-server 120.25.115.20
#配置在用户登陆前显示的标题消息
header login — header login information “welcome”
#配置在用户登陆后显示的标题消息
header shell — header shell information “welcome”
命令等级
| 用户等级 | 命令等级 | 名称 |
| 0 | 0 | 访问级 |
| 1 | 0,1 | 监控级 |
| 2 | 0,1,2 | 配置级 |
| 3-15 | 0,1,2,3 | 管理级 |
用户界面
| 用户界面类型 | 编号 |
| Console | 0 |
| VTY | 0-4 |
#进入配置模式
system-view
#选择0-4的vtr用户
user-interface vty 0 4
配置用户界面
| 命令 | 功能 |
| idle-timeout | 设置超时时间 |
| screen-length | 设置指定终端屏幕的临时显示行数 |
| history-commandmax-size | 设置历史命令缓冲区大小 |
#进入配置模式
sytem-view
#选择用户
user-interface console 0
#设置缓冲区大小
history-commandmax-size 20
#设置超时时间 — 第一个数字表示分钟,第二个数字表示秒
idle-timeout 1 30
#设置永不超时
undo idle-timeout/idle-time 0 0
#显示之前输入过的命令
display history-command
| 用户级别 | 命令级别 | 级别名称 | 说明 |
| 0 | 0 | 访问级 | 网络诊断工具命令(ping,tracert),从本设备出发访问外部设备的命令(telent客户端),部分display命令等 |
| 1 | 0,1 | 监控级 | 用于系统维护,包括display等命令,并不是所有的display命令都是监控级,比如display current-configuration命令和display saved-configuration命令都是3级管理级 |
| 2 | 0,1,2 | 配置级 | 业务配置命令,包括路由,各个网络层次的命令,向用户提供直接网络服务 |
| 3-15 | 0,1,2,3 | 管理级 | 用于系统基本运行的命令,对业务提供支撑作用,包括文件系统,FTP,TFTP下载,命令级别设置命令,以及用于业务故障诊断的debugging命令等 |
#配置命令的等级,使至少在该级别之上的用户才可使用 — save为具体命令
command-privilege level 3 vive user save
| 命令 | 功能 |
| user privilege | 配置指定用户界面下的用户级别 |
| set authentication password | 配置本地认证密码 |
#进入配置模式
sytem-view
#选择用户
user-interface console 0
#修改密码 — cipher 加密密码
set authentication password cipher admin
配置接口IP地址
#进入配置模式
sytem-view
#进入对应接口
interface GigabitEthernet1/0/0
#添加ip
ip address 192.168.10.1 255.255.255.0
#进入回环口
interface loopback 0
#添加ip
ip address 1.1.1.1 32
| 命令 | 备注 |
| display ip interface brief | #显示所有网络层/三层接口 — physical-物理层状态 protocol-协议层状态 |
| display interface brief | #显示所有二层接口 — physical-物理层状态 protocol-协议层状态 |
| 命令 | 备注 |
| display version | 查看系统信息 |
| display this | 查看当前视图下的配置 |
| display diagnostic-information | 查看所有状态信息 –尽量不要用-可以导入到flash再通过ftp导出 |
VRP远程管理
配置telent管理
1.先通过console登陆设备,配置设备的IP地址以及路由,确保PC与设备之间路由可达
#配置交换机ip
interface vlanif 1
ip address 192.168.10.1 24
2.开启Telnet服务功能
3.配置VTY用户界面支持Telnet协议,用户级别,认证方式
| 认证模式 | 备注 |
| AAA | |
| Password | 登陆时只验证密码 |
| 命令 | 备注 –以下命令出现的username即用户名 passwd即需要设置的密码 |
| telnet server enable | 开启Telent服务 |
| undo telnet server enable | 关闭Telent服务 |
| display telent server status | 验证Telnet服务 |
| user-interface vty 0 4 protocol inbound telnet authentication-mode password/aaa set authentication password cipher passwd user privilege lever 15 user-interface maximum-vty 15 | 进入VTY配置模式 配置支持Telnet协议/ssh/all 配置认证模式 –设置aaa模式后无需执行-跳转到aaa模式继续设置 配置认证密码 配置用户级别 配置最大VTY会话数量 |
| aaa | 进入AAA配置模式 |
| local-user username password cipher passwd local-user username privilege level 15 local-user username service-typr telnet | 创建用户和密码 创建用户级别 创建用户可用服务 |
路由配置
| 术语 | 备注 | 类比 |
| 路由(Routing) | 不同网络间的转发过程 | 火车 |
| 路由表(Routing Table) | 路由信息的集合 | 时刻表 |
| 路由器(Router) | 具有路由功能的设备 | 火车站 |
| 默认网关(Defauit Gateway) | 路由设备的接口IP地址 | 火车站的地址 |

IP路由过程

当路由器(或其他三层设备)收到一个IP数据包时,会查看数据包的IP头部中的目的IP地址,并在路由表中进行查找,在匹配到最优的路由后,将数据包扔给该路由所指的出接口或下一跳。
#查看路由表
display ip routing-table
IP路由表

| 路由器字段 | 备注 | |
| Destination | 目标,用来表示IP包的目标地址或目标网络 | |
| Mask | 掩码,选择最佳路由的重要判断依据(最长匹配原则) | |
| NextHop | 下一跳,指明IP包所经由的下一跳路由器的接口地址 | |
| Interface | 出接口,指明IP包将从该路由的哪一个接口转发出去 | |
| Protocol | 协议,路由的来源,学习方式 Direct>OSPF>Static>RIP | |
| Preference | 优先级,比较不同路由来源到达相同目标网络的优先级,越小越优先 –类似去往相同目的地所乘不同交通工具 | |
| Cost | 度量值,比较相同路由来源到达相同目标网络的不同路径的优先级,越小越优先 –类似去往相同目的地乘坐相同一类交通工具的不同班次 |
路由优先级

路由度量

一般Preference的优先级比Cost高
等价路由
ECMP,Equal Cost Multi-Path
对于相同路由来源,相同目标网络,踩在多条相同度量值的路由时,这些路由都会被加入到路由表中,数据包会在这几个链路上进行负载分担


负载分担
负载分担不只是简单的平分数据包
负载分担规则:路由器根据五元组(源地址、目标地址、源端口、目的端口、协议)进行转发,当五元组相同时,路由器总是选择与上一次相同的下一跳地址发送报文,当五元组不同时,路由器会选取相对空闲的路径进行转发。
Mask最长匹配原则
最终数据包匹配路由表中最佳路由的算法
Preference和Cost在最终路由表形成之前进行比较,Mask在路由形成之后,数据进行转发时进行比较选择



路由来源
| 路由来源 | 备注 |
| 直连路由-Direct | 路由接口上的网络 –路由器接口配置了IP地址并开启 |
| 静态路由-Static | 管理员手动添加的网络 –即使该IP不在路由器接口中配置/需要通过路由器的接口到达另一个交换机后才能到的设备 –静态路由设置需要在经过的每个设备都进行配置 |
| 动态路由-OSPF/RIP | 路由器之间动态学习到的网络 |
静态路由
静态路由是由管理员手动配置和维护的路由
静态路由配置简单,被广泛应用于网络中
静态路由还可以实现负载均衡和路由备份
技术背景:如果只有直连路由,那么非直连网络就无法达到(配置网关就时静态路由,有了网关就可以匹配规则访问外网,否则只能访问路由器接口配置的网段)
静态路由概述:
- 配置简单,开销小
- 通过手动配置进行添加和维护
- 无法根据拓扑的变化进行动态的响应
- 适用于组网规模较小的场景,如果网络规模较大,则配置及维护的成本就会很高
- 在大型的网络中,往往采用动,静结合的方式进行部署
#静态路由配置
ip route-start 目标网络 子网掩码/前缀 下一跳地址/出接口
#删除静态路由配置
undo ip route-start 目标网络 子网掩码/前缀 下一跳地址/出接口
–如果出接口为以太网接口,则必须指定下一跳地址
–如果出接口为串口,可以使用下一跳或出接口来配置
–切记:通讯是双向的,不要忘记配置返回流量的路由

筛选查询路由表
#以路由协议筛选
ip routing-table protocol ststic
#以到达目标地址筛选
ip routing-table ip地址
#默认情况下数据包的封装时,源IP是数据包出口接口的IP,这样的话会出现没有静态路由时,也能ping通的情况
#如果要强制指定数据包的源IP,使用ping -a IP
负载分担
负载分担即两条线路或者多条线路同时工作

配置方式参考等价路由
负载备份/路由备份/浮动静态路由

- 利用优先级的特性,配置浮动路由
- 在主路由失效的情况下,浮动路由会加入到路由表并承担数据转发业务
- 在主链路正常的情况下,只有主路由会出现在路由表中
#原理修改优先级,一般静态路由修改为61即可,在主路由线路失效时自动切换
ip route-start 目标网络 子网掩码/前缀 下一跳地址/出接口 preference 61
缺省路由
一种特殊的路由,能匹配所有的目标网络,一般存在于出口到公网的路由器上
- 可以通过静态路由配置,也可以通过动态路由协议发布
- 在路由表中,以到网络0.0.0.0(掩码为0.0.0.0)的形式出现
- 通常位于末梢网络(如:家庭上网、企业出口、边界设备)
#配置缺省路由
ip route-static 0.0.0.0 0.0.0.0/0 下一跳地址/出接口
#如果路由和路由之间只有一条线路,就可以只配置一个缺省路由即可匹配到路由之后的所有网段
Loopback接口
回环口:逻辑的、虚拟的接口
#创建回环口
interface lookback 0
#添加接口IP
ip address 1.1.1.1 255.255.255.0
| 命令 | 备注 |
| interface loopback 编号 | 创建或配置一个回环口,创建后,默认up |
| 作用 | 模拟直连网段,可用于测试 设备管理(稳定) 供其他协议使用(OSPF/BGP/MPLS) SNMP Traps消息的源地址 其他用途(用途十分广泛) |
动态路由
- 路由器使用路由协议从其他路由器哪里获悉的路由
- 当网络拓扑发生变化时,路由器会自动更新路由信息
路由协议总览



路由协议分类
根据作用范围:
| 类型 | 备注 |
| IGP Interior Gateway Protocol 内部网关协议 | 运行在AS内 交换AS内的路由信息 RIP、OSPF、IS-IS |
| EGP Exterior Gateway Protocol 外部网关协议 | 运行在AS间 交换AS内的路由信息 BGP |
| AS Autonomous System 自治系统 | 处于单个管理机制下的网络 如:企业、电信、移动、联通 |
根据协议算法
| 类型 | 备注 |
| DV Distance-Vector 距离矢量 | 基于距离矢量算法,路由器并不了解网络拓扑结构 类似路牌,道听途说(routing by rumor) 如:RIP、EIGRP –只关心到达目标的跳数,不关心线路状态 |
| LS Link-State 链路状态 | 基于SPF(Shortest Path First,最短路径优先)算法 类似地图,了解完整的网络拓扑结构 如:OSPF、IS-IS –具有完整的链路信息,自行选择最优 |
根据发送的路由信息是否携带掩码:
| 类型 | 备注 |
| Classful 有类 | 不携带掩码 如:RIPv1、IGRP –已淘汰 |
| Classless 无类 | 携带掩码 如:RIPv2、EIGRP、OSPF、IS-IS、BGP |
根据业务应用
| 类型 | 备注 |
| Unicast Routing Protocol 单播路由协议 | 指导单播数据的发送 如:RIP、EIGRP、OSPF、BGP、IS-IS |
| Multicast Routing Protocol 组播路由协议 | 指导组播数据的发送 如:DVMRP、PIM-SM、PIM-DM |
路由协议运行规则
- 路由协议是在接口上运行的
- 只能学习和发布相同路由协议已知的路由信息
- 如果不同的路由协议间需要交换路由信息,就需要进行引入/注入(import)
路由收敛
- 网络拓扑变化引起的通过重新计算路由而发现替代路由的行为
- 最终网络(路由)进入一个稳定状态,即收敛完成
- 网络在收敛完成前无法完全正常工作
衡量动态路由协议的一些性能指标
| 指标 | 备注 |
| 正确性 | 能够正确找到最优的路由,且无闭环 |
| 快收敛 | 当拓扑结构发生变化之后,能够迅速作出相应的路由改变 |
| 低开销 | 协议自身的开销(内存、CPU、网络带宽)最小 |
| 安全性 | 协议自身不易受攻击,有安全机制 |
| 普适性 | 适应各种拓扑结构和各种规模的网络 |
OSPF
开放式最短路径优先OSPF(Open Shortest Path FIrst)协议是IETF定义的一种基于链路状态的内部网关路由协议
RIP是一种基于距离矢量算法的路由协议,存在着收敛慢,易产生路由环路,可扩展性差等问题,目前已逐渐被OSPF取代
OSPF概述:Open Shortest Path FIrst 开放式最短路径优先
- 大中型网络上使用最为广泛的IGP协议
- 链路状态路由协议
- 无类
- 使用组播(224.0.0.5和224.0.0.6)
- 收敛较快
- 以开销(cost)作为度量值
- 采用的SPF算法可以有效的避免环路
- 触发式更新(以较低的频率(每30繁重)发送定时更新,被称为链路状态泛洪)
- 区域的设计使得OSPF能够支持更大规模的网络
- 通过LSA的形式发布路由
- 不支持自动汇总,支持手动汇总
OSPF区域概述
| 术语 | 备注 |
| 区域(Area) | 为了适应大型网络,OSPF在AS内划分多个区域 区域是以接口为单位来划分的 每个OSPF路由器只维护所在区域的完整链路状态信息 |
| 区域ID(Area ID) | 也可以表示成一个十进制的数字,如:1 也可以表示成一个IP,如:0.0.0.1 |
| 区域优点 | 尽量减少路由表条目 使拓展变化仅影响本区域内部 |

OSPF区域类型
| 类型 | 备注 |
| 骨干区域 | Area 0,核心区域 也叫传输区域(负责在不同的非骨干区域之间分发路由信息) |
| 非骨干区域 | 非Area 0 也称常规区域 |
| PS | 所有其他非骨干区域必须和骨干区域直接相连 |
OSPF的路由器类型
| 类型 | 备注 |
| IR | Internal Router 内部路由器 所有的接口都属于同一区域 |
| BR | Backbone Router 骨干路由器 至少有一个接口属于骨干区域 |
| ABR | Area Border Router 区域边界路由器 连接一个或者多个区域到骨干区域,至少有一个接口属于骨干区域 |
| ASBR | Autonomous System Border Router 自治系统边界路由器 把从其他路由协议学习到的路由以引入的方式加入到OSPF |
| PS | 一台路由器可以同时属于多种类型 |





#配置ospf
#进入配置模式
system-view
#进入接口
interface g0/0/0
#配置接口ip
ip address 12.0.0.1 24
#设置ospf进程号以及RID
ospf 1 router-id 1.1.1.1
#设置接口所属区域
area 0
#宣告接口IP
net 12.0.0.1 0.0.0.0
#查看ospf邻居详细信息
display ospf peer
#查看ospf邻居摘要信息
display ospf peer brief
#验证/查看ospf-abr/asbr信息 –不显示本机
display ospf abr-asbr
#验证/查看ospf数据库信息
display ospf lsdb
OSPF核心工作流程
- 发现并建立邻居
- 传播LSA(区别于距离矢量的路由表更新)
- Link State Advertisement 链路状态宣告(路况信息)
- 链路:路由器接口
- 状态:描述接口信息(地址,掩码,开销,网络类型,邻居关系)
- 将LSA泛洪到区域中的所有OSPF路由器,而不仅是直连的路由器
- 收集LSA创建LSDB(链路状态数据库,地图)
- 使用SPF算法计算到每个目标网络的最短距离,并将其置于路由表中
OSPF三张表
邻居表 — 记录所有邻居关系
链路状态数据库 — 记录所欲哦链路状态信息
路由表 — 记录最佳路由
Router ID
- 运行OSPF协议前,必须选取一个RID(非0.0.0.0)
- 用来唯一标识一台OSPF路由器
- RID可以手动配置也可以自动生成
| 规则 | 备注 |
| RID选取顺序 | 1.手动配置(推荐) 2.活动回环接口上选取IP地址最高的 3.活动物理接口上选取IP地址最高的 |
| PS | RID选举具有非抢占性,除非重启OSPF –多次配置/出现更高优先级的ID RID只会使用第一次的配置 |
OSPF数据包结构和类型:封装于IP协议之上,IP协议号89




OSPF状态机制

正常情况下Down->Init->2-Way->ExStart->Exchange->Loading->Full
| 状态 | 备注 |
| 失效状态(Down) | 没有收到Hello包 |
| 初始状态(Init) | 收到Hello包,但是没有看到自己 |
| 双向通讯状态(Tow-Way) | 收到Hello包,并且看到自己(形成邻居关系) |
| 交换初始状态(Exstart) | 协商主/从关系,保证DD包能有序的发送 –对比RouterID越大优先级越大成为主 |
| 交换状态(ExChange) | 交换DD包,对比LSDB |
| 加载状态(Loading) | 正在同步LSDB,LSR,LSU交换 |
| 完全邻接状态(Full) | LSDB完成同步,形成邻接关系 |
| PS | 只有Two-Way 和Full是稳定状态 |
OSPF工作流程(数据包和状态切换过程)

- OSPF第一阶段是使用Hello包建立双向通信的过程,成为邻居关系

OSPF邻居建立条件:必须三层直连
邻居发现

- Hello报文用来发现和维持OSPF邻居关系
邻居建立所需要的条件
- RID唯一
- Hello/Dead时间间隔一致
- 区域ID一致
- 认证(如果启用了认证)一致
- 链路MTU大小一致(默认不开启检查,思科默认开启)
–如果停留在Exstart/ExChange则是mtu问题 - 子网掩码一致(以太网环境)
- 网络地址一致
–若是pp串口封装,则无需匹配 - 末梢区域一致(Option)
诊断思路

OSPF网络类型:基于接口

- 缺省情况下,OSPF认为以太网的网络类型是广播类型,PPP、HDLC的网络类型是点到点类型
#查询ospf接口
display ospf interface g0/0/0


- 缺省情况下,OSPF认为帧中继、ATM的网络类型是NBMA
DR和BDR
只要是多路访问BMA和NBMA网络中,为了减少邻接关系的数量,从而减少数据包交换次数,最终节省带宽,减低对路由器处理能力的压力,选举DR和BDR
在以太接口中选择,串口不选

| 术语 | 备注 |
| DR | Designed Router 指定路由器,类似班长,总经理 –指定的接口地址,不是RID |
| BDR | Backup DR 备用DR 类似副班长,副总经理 |
| Drothers | 类似普通学生,普通员工 |
| 关系 | DR、BDR、Drothers之间都保持邻接关系(Full) Drothers之间保持邻居关系(Two-Way) |
| 地址 | 224.0.0.6向DR和BDR发送链路状态更新 224.0.0.5向所有OSPF路由器发送 |
| 选举规则 | 首先比较Hello报文中携带的优先级 优先级范围0~255,默认1 优先级最高的被选举为DR,优先级次高的被选举为BDR 优先级为0的不参与选举 优先级一致的情况下,比较RID,越大越优先 选举具有非抢占性,除非当DR和BDR都失效或重启OSPF进程 |


- 路由器R3感知到拓扑变更,向组播地址224.0.0.6发送LSU
- DR、BDR监听224.0.0.6这一组播地址

- DR向组播地址224.0.0.5发送更新以便通知其他路由器
- 所有的OSPF路由器监听224.0.0.5这一组播地址,以便收到DR泛洪的LSU
OSPF度量值:Cost开销
- 在每个运行OSPF的接口上,都维护着一个接口cost
- Cost = 10^8/BW(bps) = 100Mbps/BW = 接口带宽参考值/接口带宽(物理)
- 到一个目标网络的度量值 =
- 从源到目标所有出站接口的Cost 值累加(数据方向)
- 从源到本路由沿途所有入站接口的Cost值累加(路由方向)
- 开销越小优先级越大
- 华为的交换机回环口cost默认为0,思科默认为0

更改开销一般两种方式
1.更改接口带宽参考值
2.直接更改开销(一般使用此方式)
#更改开销
#进入接口后
ospf cost 开销值
综合命令
| 命令 | 备注 |
| ospf 1 router-id 1.1.1.1 | 开启OSPF,进程号缺省为1 手动配置Router ID |
| area 0/0.0.0.0 | 配置区域 |
| network 192.168.0.0 0.0.0.255 | 宣告网络,即指定运行OSPF的接口; 使用反掩码来匹配(255.255.255.255-掩码) –一般使用0.0.0.0则表示精确匹配 –计算方式是取接口地址的网络地址以及反掩码 |
| display ospf peer [brief] | 显示OSPF邻居信息 |
| ospf timer hello 10 | 修改Hello包发送间隔 |
osp认证
交换基础
随着企业网络的发展,越来越多的用户需要接入到网络,交换机提供的大量的接入端口能够很好的满足这种需求。同时,交换机也彻底解决了困扰早期以太网的冲突问题,极大的提升了以太网的性能,同时也提高了以太网的安全性
交换机工作在数据链路层,对数据帧进行操作,在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发
网络分层设计
通过使用分层网络设计原则和条理化设计方法,设计人员可以创建易于管理和易于支持的网络
园区网

交换机主要功能
- 终端设备的接入
- 以太网数据帧的交换,根据目的MAC地址转发数据帧
- 学习MAC地址,并维护MAC地址表
- 防止二层环路
交换机工作原理
根据MAC地址表中的MAC地址记录,做出智能转发

| 原理 | 备注 |
| 学习 Learn | 当从一个接口收到帧时,把帧内的源MAC与该接口进行绑定,存入MAC地址表 |
| 泛洪 Flood | 当从一个接口收到广播帧、组播帧、未知单播帧(目标MAC不存在于MAC地址表中),把该帧从所有其他接口转发出去,除了接收口) |
| 转发 Forward | 当从一个接口收到已知单播帧,立即从相应的接口转发出去 |
| 更新 Update | 默认每条记录保存300秒 交换机重启清空所有接口学习到的记录 一个源MAC出现在另外接口上,会删除老的记录,添加新的记录 |
| PS | 对于一台交换机来说 — 一个MAC只能关联在一个接口上 — 接口上可以学习到多个MAC |
交换机工作流程
- 交换机初始情况下MAC地址表为空
- 交换机将收到的数据帧的源MAC地址和对应接口记录到MAC地址表中
- 当数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧
- 交换机根据MAC地址表将目标主机的恢复信息单播转发给源主机

以太网接口工作模式
| 术语 | 备注 |
| 半双工 Half-Duplex | 任意时刻只能接收或者发送数据 采用CSMA/CD机制 有最大传输距离的限制 |
| 全双工 Full-Duplex | 同一时刻可以接收和发送数据 最大吞吐量达双倍速率 消除了半双工的物理距离限制 |
| 速率 Speed | 接口连接时两端进行协商,协商失败则无法正常通信 |
修改接口工作模式
#进入配置模式
system-view
#进入接口
interface g0/0/0
#关闭自动协商
undo negotiation auto
#修改速率
speed 100
#修改双工模式
dupled full
#验证配置(查看接口信息)
display interface g0/0/0
VLAN
随着网络中计算机的数量越来越多,传统的以太网络开始面临广播泛滥以及安全性无法保障等各种问题
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置vlan,可以实现在同一个vlan内的用户可以进行二层互访,而不同vlan间的用户被二层隔离,这样既能够隔离广播域,又能提升网络的安全性
VLAN技术背景
- 交换机的所有接口术语一个广播域,往往也是一个逻辑子网
- 用户无法根据业务需要灵活的在交换机上进行广播域的隔离
- 随着网络规模越来越大,数量越来越多,广播风暴将给网络带来重大问题

- VLAN(Virtual LAN)技术提供了一种灵活的解决方案
- 将交换机的接口根据业务需要添加到不同的VLAN中,从而实现二层隔离
VLAN收益
- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力
- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其他VLAN内的用户直接通信
- 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更加方便灵活
VLAN:Virtual LAN 虚拟局域网
- 将一个物理局域网在逻辑上划分成多个广播域的二层交换技术
- 1 VLAN = 1 广播域 = 1 子网
- 广播不会在VLAN之间转发,而是被限制在各自的VLAN中
- 不同VLAN间的设备默认无法通信,需要三层设备才能实现互通
VLAN的范围
0~4095 共4096个(0和4095为保留,1为默认)
VLAN标签介绍
- 要使交换机能够分辨不同的VLAN报文,需要在报文中添加标识VLAN的字段
- IEEE 802.1Q 协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag 简称Tag),用以标识VLAN信息
— IEEE 802.1Q命令配置时通常叫做dot1q

因此,在一个VLAN交换网络中,以太网帧有以下两种形式
| 类型 | 备注 |
| 有标记帧(Tagged Frame) | 加入了4字节VLAN标签的帧 |
| 无标记帧(Untagged Frame) | 原始的、未加入4字节VLAN标签的帧 |
常用设备中:
- PC主机、服务器、Hub、傻瓜交换机只能收发Untaggend帧
- 交换机、路由器、AC既能收发Taggend帧,也能收发Untaggend帧
- 语音终端、AP等设备可以同时收发一个Taggend帧和一个Untaggend帧
— voip语音电话机串联pc,可以在交换机配置voice vlan使其在一个端口上存在两个vlan
为了提高处理效率,交换机内部处理的数据帧一律都是Taggend帧
VLAN链路类型和接口类型

链路类型
| 类型 | 备注 |
| 接入链路 | 只可以承载1个VLAN的数据帧 用于连接交换机和用户终端 接入链路上传输的帧都是Untaggend |
| 干道/中继链路 | 可以承载多个不同VLAN的数据帧 用于交换机间互联或者交换机与路由器 干道链路上传输的帧几乎都是Taggend帧用于两端识别 |
PVID:Port VLAN ID ,代表端口的缺省VLAN,默认每个接口PVID=1
如果交换机接口类型是access,则vlan的归属是PVID
如果交换机的接口类型是truck,则vlan的归属是truck
PVID是在收到的数据包上打上指定的标记
如果发出的接口PVID和数据包的PVID相同,则发出时剥离掉PVID标记
该数据被其他交换机收到不带标记的数据包后(该数据包目前不带标记)默认打上收到数据包的接口的PVID然后从相同PVID的接口发出
— 不使用VLAN的二层通讯,使其vlan互访
端口类型
- Access接入端口
- 用于和不能识别Tag的用户终端相连,或者不需要区分不同VLAN成员时使用

- Trunk干道端口
- 用于连接交换机、路由器、AP以及可同时收发Taggend帧和Untaggend帧的语音终端
- 允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出不带Tag(即剥离Tag)
- — 思科设备默认trunk接口允许所有vlan,华为设备默认只允许vlan1

相当于PVID的作用在于控制发出的数据包带不带Tag
如果pvid和vlanid一样则发出不带tag
如果不一样则保留vlan的tag
- Hybrid混杂端口
- 兼容access和trunk,可以通过命令进行调整
- 华为思科所有设备默认的端口模式都为混杂端口
- 收取数据时与trunk相同,发送数据时取决于配置

流程汇总
| 接口类型 | 接收不带Tag的报文 | 接收带Tag的报文 | 发送帧处理过程 |
| Access接口 | 接收该报文,并打上缺省VLAN ID | 对比VLAN ID与缺省VLAN ID *相同时:接收该报文 *不同时:丢弃该报文 | 先剥离帧PVID Tag,然后再发送 |
| Trunk接口 | 打上缺省的VLAN ID *当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文 *当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文 | *当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文 *当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文 | *当VLAN ID与缺省VLAN ID相同时,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文 *当VLAN ID与缺省VLAN ID不同时,且是该接口允许通过的VLAN ID时,去掉Tag,保持原有Tag,发送该报文 |
| Hybrid接口 | 同Trunk | 同Trunk | 当VLAN ID是该接口允许通过的VLAN ID时,发送该报文,可以通过命令设置发送时是否携带Tag |
VLAN规划
基于端口最为常见

VLAN配置
| 命令 | 备注 |
| vlan 10 | 创建单个VLAN |
| vlan batch 10 to 20 | 创建多个VLAN — to代表数字多少到多少 — to一个范围加一个空格可以在添加范围或者单独数字 — 删除vlan在开头加上 undo 即可,多个需要加batch |
| description name | 添加vlan描述 |
| port link-type access/trunk/hybird | 配置接口类型 |
| port default vlan 10 | 配置Access关联VLAN/PVID |
| port trunk allow-pass vlan 10 | 配置Trunk允许VLAN –默认只允许VLAN1 all即为所有 |
| port trunk pvid vlan 10 | 配置Trunk的PVID |
| port hybird taggend/untaggend vlan 10 | 配置Hybird标记VLAN |
| port hybrid pvid vlan 10 | 配置Hybrid的PVID |
| display vlan | 查看所有VLAN |
| display port vlan | 验证VLAN |
hy
例子

网络虚拟化
虚拟交换机
Virtual Switch
- 通过软件模拟的、具有实体交换机系统功能的网络平台
- 为虚拟机、主机、外部网络提供网络连接
- 每个上行端口对应一个物理网卡,多对上行端口和物理适配器时可做聚合,达到链路冗余
综合实验
hybrid一般可以实现二层的多vlan互通,使接入的接口使用hybrid模式并剥离需要互通的标签
要求:
配置VLAN
完成VLAN10 和VLAN 100之间的通讯
完成VLAN20 和VLAN 200之间的通讯

VLAN间路由
部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发,因此必须引入路由技术来实现不同VLAN间的通信
VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现
VLAN间通讯限制
每个VLAN都是一个独立的广播域,不同的VLAN之间二层就已经隔离,因此属于不同VLAN的节点之间是无法直接互访的
VLAN间通讯方法(路由)
- VLAN路由-每个VLAN一个物理连接
- 在二层交换机上配置VLAN,每个VLAN使用一条独占的物理链路连接到路由器的一个接口上
- VLAN路由-单臂路由
- 将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建子接口以支持VLAN路由器

| 命令 | 备注 |
| dot1q termination vid 10 | 关联子接口和VLAN |
| arp broadcast enable | 开启子接口的ARP广播功能 |
配置单臂路由


- VLAN路由-三层交换(最常用)
- 为每个VLAN创建一个VLANIF接口作为网关

| 命令 | 备注 |
| interface vlanif 10 | 创建VLAN接口 — VLAN接口的编号必须对应一个已创建的VLAN |
| portswitch | 配置接口为2层 |
| undo portswitch | 配置接口为3层 |
配置上层路由器时,路由器接口使用access并配置ip
交换机接口配置vlanif接口并新建配置默认vlan
然后在路由器上面配置静态路由即可
DHCP
技术背景
网络复杂度的不断提高伴随着网络规模的不断扩大,计算机的数量经常超过可供分配的IP地址数量。便携设备及无线网络的广泛使用也导致计算机的位置也经常变化,相应的IP地址也必须经常更新。所以需要一种技术,能够动态的为主机分配IP地址
- 手工配置网络参数存在的问题
- 手工配置网络参数需要每个用户都手动配置IP地址、掩码、网关、DNS等多个参数
- 这样就会存在一些问题
- 人员技术要求高
- 容易出错
- 灵活性差
- IP地址资源利用率低
- 工作量大
- DHCP: Dynamic Host Configure Protocol,动态主机配置协议
- 在BOOTP(BOOTstrap Protocol)基础上发展而来
- 为大量主机动态分配TCP/IP信息(IP地址、掩码、默认网关、DNS服务器等)
- 实现集中管理
- 分配出去的信息是有租期的
DHCP典型组网

- DHCP Client (客户端) 通过DHCP协议请求获取IP地址等网络参数的设备
- DHCP Server(服务器) 负责为DHCP客户端分配网络参数的设备
- DHCP Relay (中继) 负责转发服务器和客户端站之间的DHCP报文,可选
DHCP工作流程:正常获取地址

DHCP报文
传输层使用UDP,端口号(服务器=67,客户端=68)


类型
| 类型 | 备注 |
| DHCP DISCOVER | DHCP客户端用来寻找DHCP服务器 |
| DHCP OFFER | DHCP服务器对DISCOVER报文的响应,提供了各种网络配置信息 |
| DHCP REQUEST | 此报文用于以下三种用途 — DHCP客户端初始化后,广播发送REQUEST报文来回应DHCP服务器的OFFER报文 — DHCP客户端重启后,广播发送REQUEST报文来确认先被分配的IP地址等配置信息 — 当DHCP客户端已经和某个IP绑定后,单播或广播发送REQUEST报文来更新IP地址和相关的配置信息 |
| DHCP ACK | DHCP服务器对DHCP客户端的REQUEST报文的确认,客户端收到此报文后,才真正获得了IP地址和相关的配置信息 |
| DHCP NAK | DHCP服务器对DHCP客户端的REQUEST报文的拒绝,例如DHCP服务器收到REQUEST报文后,没有找到相应的租约记录,则发送DHCP NAK报文作为应答,告知DHCP客户端无法分配合适的IP地址 |
| DHCP DECLINE | 当DHCP客户端发现DHCP服务器分配给它的IP地址发生冲突时会通过发送此报文来通知DHCP服务器,并且会重新向服务器申请地址 |
| DHCP RELEASE | DHCP客户端可通过发送此报文主动释放DHCP服务器分配给它的IP地址,当DHCP服务器收到此报文后,可将这个IP地址分配给其他的DHCP客户端 |
| DHCP INFORM | DHCP客户端获取IP地址后,如果需要向DHCP服务器获取更为详细的配置信息(网关地址、DNS服务器地址),则向DHCP服务器发送DHCP INFORM请求报文 |
–windows下释放dhcp的ip资源
ipconfig /release
–重新获取ip
ipconfig /renew
#查看dhcp使用情况
dis ip pool
#查看ip/dncp详细情况
dis ip pool interface vlanif1 user
DHCP的租期更新
| 定时器 | 取值 |
| 租期更新 | 总租期的50% |
| 重绑定 | 总租期的87.5% |
| 到达租期 | 总租期,缺省为1天,可配置 |
T1
当租期到达50%时,DHCP客户端会自动以单播方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期

T2
当租期到达87.5%时,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期

T3
当租期达到100%时,还是没有收到服务器的回应,客户端停止使用此地址,重新发送DHCP REQUEST报文请求新的IP地址

释放
如果DHCP客户端不在使用分配的IP地址,也可以主动向DHCP服务器发送DHCP REQUEST报文,释放IP地址

失败
自动保留IP
- APIPA
- Automatic Private IP Addressing
- 如果Windows客户端无法从服务器租到IP地址
- 自动使用网络号为169.254.0.0/16的专用地址
- 仅供和相同处境的PC临时通讯
DHCP地址池(pool):所分配地址的集合

| 类型 | 备注 |
| 接口地址池 | 为连接到DHCP服务器接口同一网段的DHCP客户端分配IP地址,这种方式配置简单,即不存在中继场景 |
| 全局地址池 | 为所有连接到DHCP服务器的DHCP客户端分配IP地址 可以分配给设备所有接口下的Client 这种配置方式适用于: –DHCP服务器与客户端在不同网段,即存在中继场景 –DHCP服务器与客户端在同一网段,且需要给一个接口下的客户端分配IP地址或者给多个接口下的客户端分别分配IP地址 |
| PS | 接口地址池的优先级会比全局地址池高 –在X7系列交换机上,只能在VLANIF逻辑接口上配置接口地址池 |
DHCP应用场景


DHCP配置
| 命令 | 备注 |
| dhcp enable | |
| interface 三层接口 dhcp select interface/global dhcp server dns-list 地址 dhcp server lease 数字 dhcp server excluded-ip-address 地址 dhcp server static-bind ip-address x.x.x.x mac-address xxxx-xxxx-xxxx-xxxx | 关联接口或全局地址池 配置接口地址池的DNS服务器地址 配置接口地址池的租期,默认1天 配置接口地址池的排除地址范围 配置静态绑定 |
| ip pool 名称 | 创建全局地址池 |
| network 地址 | 配置全局地址池的可分配的网段地址 |
| gateway-list 地址 | 配置全局地址池的网关地址 |
| dns-list 地址 | 配置全局地址池的DNS服务器地址 |
| lease 数字 | 配置全局地址池下的租期,默认1天 |
| excluded-ip-address 地址 | 配置全局地址池下的排除地址范围 |
| display ip pool [地址池名称 all] | 查看地址池的属性 |
| ipconfig /release | 释放租期 |
| ipconfig /renew | 重新获取 |




接口地址池模式

中继模式

DHCP中继配置
| 命令 | 备注 |
| dhcp select relay | 开启接口的DHCP中继功能 |
| dhcp relay server-ip 地址 | 配置DHCP服务器的IP地址 |


ACL
企业网络中的设备进行通讯时,需要保障数据传输的安全可靠和网络的性能稳定
访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制,限制网络流量,提高网络性能,防止网络攻击等等。

ACL:Access Control List 访问控制列表
- 由规则组成的集合
- 所谓规则,时指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等
- 两大应用场景
- 流量过滤:调用在接口
- 条件匹配:调用在VPN、NAT、路由策略等
ACL基本原理

| 术语 | 备注 |
| ACL编号 | 标识ACL,表明是何种类型ACL |
| 规则 | 描述报文匹配条件的判断语句 |
| 规则编号 | 标识ACL规则 可以自行配置,也可以由系统分配(默认5,间隔5) |
| 动作 | 包括permit/deny两种动作,表示允许/拒绝 |
| 匹配项 | ACL定义了极其丰富的匹配项 |
| 匹配机制 | 规则标号越小越优先进行匹配,一旦命中即停止匹配 |
| 匹配(命中规则) | 即存在ACL,且在ACL中查找到了符合匹配条件的规则 |
| 不匹配(未命中规则) | 即不存在ACL,或ACL中无规则,再或者在ACL遍历了所有规则都没有找到符合匹配条件的规则 |
| 调用 | ACL创建后,必须将其应用到相关的业务模块才会生效 |
| 方向 | 应用在接口时必须选择方向:入站/出站(相对设备判断) |

ACL类型
命名分类
| 命名类型 | 备注 |
| 数字型ACL | 通过数字来标识ACL |
| 命名型ACL | 通过名称来标识ACL |
规则定义分类
| 分类 | 编号范围 | 参数 |
| 基本ACL | 2000~2999 | 源IP地址等 |
| 高级ACL | 3000~3999 | 源IP地址、目的IP地址、源端口、目的端口等 |
| 二层ACL | 4000~4999 | 源MAC地址、目的MAC地址、以太帧协议类型等 |
掩码、反掩码、通配符
| 名称 | 规则 | 作用 | 举例 | 备注 | |
| 掩码 | 连续的1和0 | IP地址 | 255.255.255.0 | 1对应网络位,0对应主机位 | |
| 反掩码 | 连续的0和1 | 路由协议 | 0.0.0.255 | 0必须匹配,1无需匹配 | |
| 通配符 | 任意的0和1 | ACL | 0.0.255.0 | 0必须匹配,1无需匹配 |
通配符
| 举例 | 备注 |
| 192.168.0.1 0.0.0.0/0 | 匹配一个主机地址 |
| 192.168.0.0 0.0.0.255 | 匹配一个网段 |
| 192.168.0.1 0.0.0.254 | 匹配网段内奇数地址 |
| 192.168.0.0 0.0.0.254 | 匹配网段内偶数地址 |
| any=x.x.x.x 255.255.255.255 | 匹配所有地址 |
ACL配置
| 命令 | |
| acl 2000 rule 5 deny/permit source 192.168.1.0 0.0.0.255 | 创建一个基本ACL 拒绝或允许源地址192.168.1.0/24网段内所有流量 |
| acl 3000 rule 5 deny/permit tcp source 192.168.1.0 0.0.0.255 destination 8.8.8.8 0 destination-port eq 80 | 创建一个高级ACL 拒绝或允许源地址为192.168.1.0/24网段到8.8.8.8的http流量 |
| traffic-filter inbound/outbound acl 2000 | 在接口调用acl流量进行过滤 |
| display acl 2000 | 验证acl |
| display traffic-filter applied-record | 验证设备上所有基于acl调用情况 |


ACL接口调用方向建议
- 基本ACL尽量调用在离目标最经的出站接口
- 高级ACL尽量调用在离源头最近的入站接口

NAT
随着Internet的发展和网络应用的增多,IPv4地址枯竭已经成为制约网络发展的瓶颈,尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的网络设备和应用仍然是基于IPv4的,因此IPv6广泛应用之前,一些过度技术的使用是解决这个问题的主要技术手段
网络地址转换技术NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能,当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址
技术背景
- 企业或家庭所使用的网络为私有网络,使用私有地址(内网)
- 运营商维护的网络为公共网络,使用公有地址(外网)
- 私有地址不能在公网中路由
- NAT一般部署在连接内网和外网的网关设备上
NAT:Network Address Translation,网络地址转换
- 将IP数据报文头中的IP地址转换为另一个IP地址的过程
- 有效避免来自外网的攻击,可以很大程度上提高网络安全性
- 控制内网访问外网、外网访问内网,解决了内网和外网不能互通的问题
NAT类型
NAT的实现方式有多种,适用于不同的场景
- 静态NAT
- 一对一的地址转换,一个公网地址只保留给一个私网地址使用
- 动态NAT
- 基于地址池动态转换,但当地址用尽以后,只能等待被占用的公网地址被释放后,其他主机才能使用