HCIA理论笔记

之前学习数通时候老师总结的笔记,清理U盘时顺便全部清出来了,一年多了,虽然已经忘记差不多,但是总结的笔记一键回收站了未免也太可惜了,放此希望能够对屏幕的你学习数通有所帮助,并且希望到时候对我有所帮助时能拿出来看看


1.数据通信网络基础

1、计算机网络的定义:通过传输介质将不同物理位置的设备进行连接,实现资源共享
1)按照网络覆盖范围:
局域网:覆盖范围5公里内,企业网络或者家庭网络等
广域网:几十公里到几千公里,由运营商维护

2)按照服务的客户:
企业网:金融、政府、教育、交通等
运营商:为家庭或者企业提供网络服务

2、网络设备
1)交换机:用于实现用户设备的接入
分为二层和三层:区别能配置IP地址,运行路由协议

2)路由器:连接不同网络
接口数量相对交换机会更少

3)防火墙:实现网络安全性,部署在网络边界

4)无线设备
AP,分为胖瘦(FAT、FIT)AP,是否能够实现自我管理(上网配置,宽带账号,认证,DHCP,NAT)
AC,作为无线网络的核心节点,下发配置给瘦AP(应用:大型企业、商场)

3、网络拓扑
星型网络:扩展性好,受核心节点接口限制,核心节点故障影响范围大
总线型网络:节省电缆成本,出现冲突问题
环形网络:节省链路成本,并且有一定冗余性,发生故障时容易导致网络瓶颈
树形网络:方便扩展,实现流量的统一管理。层级越高的设备故障影响范围越大
全网状网络和部分网状网络:可靠性强,冗余性,成本高

4、企业网络架构
小型企业网络:扁平化架构,设备都在一个层次,接入设备数量不多,网络要求不高,尽量节约成本
中大型企业网络:层次化架构,设备都在不同层次,接入设备数量较多,对于网络要求高,成本预算高

Q:评价一个网络的好坏?
1、成本
2、冗余性
3、安全性
4、稳定性
5、可扩展性

2.网络参考模型、数据帧格式

一、TCP/IP五层模型
1)应用层 数据
2)传输层 数据段
3)网络层 数据包
4)数据链路层 数据帧
5)物理层 比特流

二层交换:拆包到数据链路层,根据MAC地址转发(二层交换机、三层交换机)
三层路由:拆包到网络层,根据IP地址转发(三层交换机、路由器)

二、数据帧格式
Ethernet_II:D/S MAC地址,Type字段(判断上送的三层协议),Data,FCS(校验和,完整性校验)
常见Type值:0x0800 IP、0x0806 ARP、0x86DD IPv6
用来传输用户的数据流量

IEEE802.3:D/S MAC地址,Length,LLC(区分子帧类型),SNAP(机构代码、Type字段),Data,FCS
	用来传输协议的数据流量(STP、ISIS)

Q:如何区分两种帧格式?
	Type/Length大于等于1536 (0x0600),说明是EII数据帧
	Type/Length小于等于1500 (0x05DC),说明是802.3帧

三、MAC地址
1、数据链路层基于MAC地址进行帧的传输

总共48bit二进制:24bit OUI、24bit 厂商自定义
通常用十六进制表示,和二进制互相转化8421法
华为OUI:0x00e0fc

2、MAC地址的分类
单播:第八bit为0,用于实现一对一的通信
组播:第八bit为1,用于实现一对多的通信
广播:48bit全为1,用于实现一对多的通信

3、终端收到数据帧的处理
单播MAC:目的MAC为本身,则进行FCS校验,校验通过后接受并且处理根据Type值上送三层协议
组播MAC:目的MAC是否是我加入的某个组播组,是则进行FCS校验,校验通过后接受并且处理根据Type值上送三层协议
广播MAC:直接接受,进行FCS校验,校验通过后接受并且处理根据Type值上送三层协议

3.传输介质

1、简单网络的组成
发送方、接受方、传输介质,协议,报文,传输设备(路由器、交换机等)

2、同轴电缆
带宽小,成本高(相对网线),现在基本不使用(视频监控)

3、网线
线序:T568A、T568B
交叉线(两端线序不同,相同设备之间)、直通线(两端线序相同,不同设备之间)

成本低、带宽大,传输距离短(100m)

4、光纤
分为单模和多模,单模传输距离远(2km),多模传输距离短(300米左右)
成本高(光模块——将光信号转为电信号),带宽大

5、串口电缆
已经被淘汰,早期广域网使用,带宽低

6、双工模式
单工:一方发送数据,另一方只能接受
半双工:单位时间只有一方能发送数据,另一方只能接受
冲突域:共享式网络中可能会出现信号冲突现象,两台或者两台以上设备同时发送数据发送冲突的区域。
共享式网络:同轴电缆、HUB(集线器、傻瓜交换机)
解决方式:CSMA/CD,载波侦听多路访问
先听后发,边听边发,冲突停发,随机重发
全双工:任意时间双方都能收发数据(路由器交换机)

4.IP协议及编址

一、IPv4报文格式
1、Version版本:说明v4、v6
2、Header Length:头长度
3、ToS字段:用于QoS,流量分类
4、Total Length:总长度

Q:为什么IP报头有两个长度字段?
总长度减去头长度等于上层的数据长度

MTU值:接口最大传输单元,默认1500,发送数据超出接口MTU会进行分片

5、Identification:标识符,标识分片属于哪一个数据包
6、Flag:功能位,D位(置为1,表示不允许分片)、M位(置为1,表示后续还有其他分片)
7、Fragment Offset:片偏移,决定分片重组顺序
以上三个字段用于IP报文分片

8、TTL:生存时间,范围0~255,每经过一台三层设备TTL值就会减1,主要用于防止永久环路
9、Protocol:协议号,类似二层Type字段,TCP为6,UDP为17,ICMP为1
10、校验和:类似FCS

11、源目IP地址
1)IP地址:32bit二进制,点分十进制表示
十进制转二进制:除2取余,逆序排列

2)构成:网络位+主机位
子网掩码判断属于网络位or主机位
必须由连续1构成,32bit二进制,点分十进制表示
必须和IP地址一起出现,置为1对应IP地址为网络位,为0主机位
表达方式:192.168.10.1 255.255.255.255 (点分十进制)= 192.168.10.1/24(位数)

3)两个特殊地址:不能配置给主机或者路由器接口使用
网络地址:主机位全为0,判断网络范围,网段
广播地址:主机位全为1,收到目的IP为广播地址,接受并且处理
一个网段可用地址数量为:2ⁿ-2(n:主机部分的比特位数)

网关:不同网段互访的出口(配置了网关地址的设备,称为网关设备)
将目的IP地址和本身掩码做与运算,得出对方网络地址,和本身进行对比
	如果一致可以直接二层转发互访
	如果不一致需要通过网关进行转发

4)IP地址的分类
A类:第一bit为固定为0,范围0.0.0.0~127.255.255.255,前8bit为网络位,后24bit为主机位
B类:前2个bit固定为10,范围128.0.0.0~191.255.255.255,前16bit为网络位,后16bit为主机位
C类:前3个bit固定为110,范围192.0.0.0~223.255.255.255,前24bit为网络位,后8bit为主机位
以上三类为单播地址,可以分配给主机或者设备接口使用
D类:前4个bit固定为1110,范围224.0.0.0~239.255.255.255,用于组播
E类:前4个bit固定为1111,保留

172.16.1.0

5)私网IP地址:局域网内部使用,不同局域网可以重复使用,需要访问公网时候通过NAT技术实现
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255

6)特殊IP地址
255.255.255.255 全网广播地址
0.0.0.0 表示无地址,或者默认路由中匹配所有网段
127.0.0.0/8 测试网卡
169.254.0.0/24 本地链路地址 微软买断,DHCP获取地址失败后用于临时通信。

7)子网划分
有类编址:按照地址默认掩码进行子网划分
无类编址(VLSM可变长子网掩码):不使用默认掩码划分
广播域:广播报文能够到达区域
a、根据部门内主机数量判断需要的主机位,比如100台,2^n-2 大于等于 100,n=7
b、计算网络位得出掩码为32-7=25,减去默认掩码25-24=1,称为子网位
c、子网位可以为0,也可以为1,根据子网位位数得出子网数量2^n
d、列出所有子网,将主机位置为0或1,得出子网的网络地址和广播地址

8)无类域间路由(汇总路由)
拆分位数 => 保留相同的位数 => 得出汇总路由

192.168.0.0~7.0/24汇总

192.168.00000 000.0
192.168.00000 001.0
192.168.00000 010.0
192.168.00000 011.0
192.168.00000 100.0
192.168.00000 101.0
192.168.00000 110.0
192.168.00000 111.0

192.168.0.0/21

5.ICMP协议

1、ICMP的作用:传递差错、控制、查询等信息

2、ICMP的三大功能和两大应用
1)控制——ICMP重定向:解决次优路径
触发条件:当收到IP报文又要从该接口发出的时候触发
重定向消息包含去往目的IP更优的下一跳,主机收到后在本身的路由表生成32位的主机路由

Q:为什么不直接修改网关为RTA路由器接口
	如果修改网关,原本访问外网的数据包会发生次优路径。

2)查询——用来检测转发路径是否正常
交互Echo-Request、Reply报文,如果能够收到响应说明中间的转发链路能够正常转发
应用:ping——检测链路的联通性,以及其他网络参数(延迟150ms以内、丢包率不高于2%、抖动)
格式:ping X.X.X.X(IP地址) 额外参数
-c:数据包数量
-a:指定源IP地址(不指定以离目的IP最近的物理接口作为源)
-h:指定TTL值
-f:不允许分片
-i:指定出接口
-t:长ping,路由器上使用为限制响应时间

3)差错——向数据源端告知对方无法访问原因
当设备收到目的无法访问时候,向SIP地址回送一个ICMP报文,里面包含无法访问的原因
应用:tracert——路径跟踪,用来探测访问目的IP经过的所有节点
-a:指定源IP地址(不指定以离目的IP最近的物理接口作为源)
-m:指定最大TTL值
-f:第一个TTL值
-p:指定UDP的端口号,默认33434
-q:每跳检测报文个数,默认3

3、ICMP报文格式
组成:Type + Code + 校验和 + Data部分

Type	Code
0	0	Echo Reply	
8	0	Echo Request	用于ping功能

3	0/1/2/3	网络,主机,协议,端口不可达
5	0	重定向
11	0	TTL值超时

6.ARP协议

1、ARP协议的作用:根据目的IP地址去解析目的MAC地址

2、ARP报文:主要关注以下四个地址
1)发送者MAC
2)发送者IP 用来生成ARP表项
3)目标MAC
4)目标IP 用来判断是否进行响应

PS:不能穿越路由器,工作在一个广播域内

3、ARP缓存表
1)组成:IP地址、MAC地址、类型(动态、静态)
2)动态生成方式:通过Request和Reply实现
动态表现存在老化时间,华为设备1200s,windows 600s,思科 300s
老化时间内如果使用到该表项会重置老化时间,保活
动态表项能够被覆盖

PS:缺少目的IP对应MAC地址会发送ARP请求
3)静态生成方式:手工配置表项,不会老化,也不能被覆盖,考虑安全性

Q:不同网段互访如果进行ARP请求?
	***相同网段直接请求目的IP的MAC地址,不同网段请求网关的MAC地址

不同网段的互访,先发送给网关,网关重新封装二层后转发

Q:静态绑定PC6的MAC地址?
	不可以,路由器接口收到DMAC不是本身的数据会进行丢弃

4、免费ARP
作用:用来探测IP地址是否冲突
特殊ARP请求:目标IP和发送者IP地址相同
触发条件:获得一个新的IP地址时发送
如果没有任何响应,IP地址不存在冲突能够正常使用
如果说收到回应,说明存在冲突不使用该地址,周期发送免费ARP直到冲突解除(防止网络内其他主机的ARP表项被篡改)

7.传输层协议

1、基本概念——端口号,用于标识上层应用,范围1~65535
1)分类:知名端口(1023及以下,固定应用使用)、不知名端口(1024及以上,自由使用)
HTTP TCP-80
Telnet TCP-23
SMTP TCP-25
FTP TCP-20、21
TFTP UDP-69
DNS UDP-53
2)作用:类似Type、Protocol,上送应用层程序

2、TCP传输控制协议
1)作用:TCP是一种面向连接的传输层协议,可提供可靠的传输服务
2)报文格式
源、目端口:源端口使用不知名端口,目的端口根据要访问的应用填入
序列号:表示已经发送了多少字节数据
确认序列号:表示希望收到的数据下一字节
头长度:TCP报头的长度,20~60字节之间
Flag位:功能位,用来表示激活某一个功能
ACK(确认连接,确认序列号有效)、RST(重置连接)、SYN(发起连接)、FIN(结束连接)
Window:滑动窗口,控制发送数据大小
· 校验和、紧急指针
3)传输前:TCP建立连接——三次握手
通过SYN和ACK实现
4)传输中:TCP传输过程——通过序列号和确认序列号实现可靠
服务器如果没有收到对方报文,一段时间后会重新发送确认序列号和上一份相同TCP报文,客户端重新发送。
TCP流量控制——控制交互报文大小,通过WIndow值实现控制
5)传输后:TCP拆除连接——四次分手
通过FIN和ACK实现

Q:建立连接时三次握手,拆除连接时要四次分手?
	TCP是双向连接,防止一段数据发送还没有完成。

3、UDP用户数据包协议
1)作用:UDP是一种面向无连接的传输层协议,传输可靠性没有保证
2)报头:源目端口号,校验和,长度(仅占用8字节,传输效率高)
3)应用与一些时延敏感的流量,如语音、视频等,丢包不会进行处理
4)由应用程序根据需要提供报文到达确认、排序、流量控制等功能。

8.数据转发过程

1、数据转发过程
1)发送端:产生应用数据,逐层封装TCP(源目端口号)、IP(源目IP,协议号6)、查找路由下一跳为网关、查ARP表(则发送ARP
请求获取网关对应MAC),封装二层(SMAC为本身,DMAC为网关发送),共享式网络发送前会用CSMA/CD检测链路,普通链路直接发送
2)网络设备(路由器、三层交换机),收到后DMAC是本身接受,根据DIP去转发,查找路由表(下一跳和出接口),查找下一跳对应ARP表
重新封装二层转发。
3)接受端:二层DMAC为本身,根据Type上送IP,三层目的IP为本身,根据协议号上送TCP,目的端口号为80上送应用层HTTP协议

2、标识唯一一条流量——五元组:源目IP、协议号、源目端口号

9.华为VRP系统

1、配置系统方式
1)Web网管
2)命令行界面:Console口、Telnet或SSH方式登录设备。
Console线连接过程
a、将Console线缆,网口连接到设备,USB连接PC
b、部分需要安装驱动软件(驱动精灵)
c、终端模拟软件(PUTTY,CRT)
d、连接设备(快速连接,选择Seriarl串口,选择COM口,波特率9600,流控关闭)
设备管理器里查看COM口编号

2、命令行视图
1)用户视图:表示,初始视图,查看运行状态和统计信息等功能,通过system-view进入系统视图
2)系统视图:[huawei]表示系统视图,针对系统全局配置,通过interface 接口类型,接口编号,quit回到上一视图
3)接口视图:[huawei-GigabitEthernet0/0/1]表示,对接口配置,IP地址等,quit回到上一视图
4)协议视图:输入协议名称OSPF、ISIS、BGP,如OSPF,[AR1-ospf-1]表示,quit回到上一视图

3、常用命令
undo删除配置、重置默认状态、关闭服务
Ctrl_Z:回到用户视图
Ctrl_W:删除一个单词
CTRL+] :终止连接,远程登录
sysname 名称
display this 查看当前视图的配置
interface GigabitEthernet0/0/0 配IP地址
ip address 10.1.1.254 255.255.255.0
display current-configuration或者dis curr 查看当前配置
display ip interface brief 查看所有接口IP地址
save

4、设置登录认证
user-interface console 0 #Console连接设置认证
authentication-mode password
set authentication password cipher 123

user-interface vty 0 4			#远程登录设置认证
  authentication-mode password		#密码认证
  set authentication password cipher 456
  user privilege level 0			#修改用户级别

  authentication-mode aaa			#AAA数据库认证
aaa
  local-user Datacom password cipher 789	#创建用户名和密码
  local-user datacom service-type telnet 	#设置服务类型,如果console为Terminal
  local-user datacom privilege level 15		#修改用户级别

10.VRP系统管理

1、个人电脑连接网线到网络设备上,并且配置相同网段的IP地址
2、电脑作为FTP或者TFTP的服务器,打开IPOP软件(服务=>FTP/TFTP)
Get 下载、Put 上传、Delete删除、Rename修改名称
修改目录为VRP的系统路径,Start开启服务
FTP可以设置用户名和密码
3、设备连接服务器(PC充当)
1)FTP获取
ftp 10.1.1.2
输入用户名和密码
get AR2220E-V200R007C00SPC600.cc

2)TFTP获取
tftp 10.1.1.2 get AR2220E-V200R003C00SPC600.cc

4、更改下次启动的VRP
startup system-software AR2220E-V200R007C00SPC600.cc

5、重启设备
Reboot

11.交换网络基础

1、交换机每一个接口都是一个冲突域,整个交换机是一个广播域
路由器每一个接口都是一个广播域

2、***交换机的工作原理:根据数据帧源MAC地址学习记录MAC地址表内,根据目的MAC地址查找MAC地址表进行转发

3、三种转发行为
泛洪:从一个接口收到,发送其他所有接口
1)收到未知单播帧或组播、广播帧 BUM帧
未知单播帧:目的MAC在MAC地址表内无法查找到

转发:从一个接口收到,发送另一个接口
1)目的MAC在MAC地址内能够查找到,已知单播帧,根据MAC地址的接口转发

丢弃:从一个接口收到,不发送任何接口
1)同出同入,从一个接口收到又要从该接口发出
2)数据帧小于64字节或者大于接口MTU(认为帧不完整,二层没有分片字段)

4、MAC地址表
组成:MAC地址、VLANID、接口、类型(动态、静态)
动态MAC地址表生成过程:根据源MAC地址进行学习
存在老化时间,300s,使用一次表项就重置老化时间,保活

静态MAC地址表:手工绑定,不会被老化
mac-address static AAAA-BBBB-CCCC GigabitEthernet 0/0/10 vlan 1

5、注意事项
1)一个MAC地址不能同时出现交换机的多个接口,后学习的MAC地址表会覆盖先学习的MAC地址(MAC地址表飘移)
2)一个接口可以记录多个MAC地址(Hub的场景)
3)静态表项不会被动态表项覆盖
4)接口down之后,MAC地址表的相关接口的表项会立刻删除

12.STP原理以及配置

一、产生背景
1、部署冗余链路防止网络中出现单点故障导致整个网络无法正常工作,保证冗余性同时带来二层环路

二层环路带来的问题:
1)广播风暴:任意广播帧在网络中重复转发,数据帧数量会不断增加,最后导致设备死机。
2)主机收到重复的数据帧
3)MAC地址飘移:后学习的MAC地址覆盖了先学习的MAC地址,主机无法正常互访。

二层环路和三层环路的对比:
1、二层环路没有在数据帧内没有字段可以自动解决,影响范围更大
2、三层环路在IP报头内,有TTL值可以保证环路在一定时间后自动消除,影响范围更小

STP的作用:在保证链路、设备冗余情况下,防止二层环路的出现
1、通过交互生成树报文,逻辑在阻塞端口解决二层环路
2、能够动态感知拓扑发生变化,其他链路故障时,阻塞接口恢复转发状态,保证冗余性

二、STP的基本概念
1、BPDU(Bridge Protocol Data Unit,网桥协议数据单元):阻塞端口、维护拓扑结构
1)两种类型
配置BPDU(Configuration BPDU):配置BPDU是STP进行拓扑计算的关键;
TCN BPDU(Topology Change Notification BPDU);TCN BPDU只在网络拓扑发生变更时才会被触发。

2)报文字段
a、标识字段
PID、PVI:固定为0
BPDU Type:判断是配置BPDU(0x00),TCN BPDU(0x80)
Flag:TCA、TC

b、四要素
Root ID:根桥ID
网络的中心,桥ID最小的设备会被选举为根桥

RPC(Root Path Cost):根路径开销,到达根桥需要花费开销
每台设备接口上都会有Cost值,用于计算RPC
常用dot1.t:100M = 200000、1000M = 20000、10G = 2000
命令:stp pathcost-standard 可以修改标准
RPC累计方式:累计所有经过设备的入接口Cost值

Bridge ID:发送者桥ID
桥优先级(0~65535、默认32768)+设备MAC地址
比较规则:先比较优先级,越小越优,比较MAC地址,越小越优。

Port ID:发送者端口ID
组成:接口优先级(0~255,默认128)+接口编号
比较规则:先比较优先级,越小越优,比较接口编号,越小越优。

按照顺序比较,都是越小越优

c、定时器
Message Age:消息寿命,经过一台设备都加1,设备到达Root的跳数
Max Age:最大寿命,默认20s
Message Age大于Max Age,非根桥交换机会丢弃该配置BPDU。限制STP的网络半径,推荐半径不大于7

Hello Time:根桥周期发送BPDU的间隔,默认2s
Forward Delay:转发延迟,在侦听和学习状态所停留的时间间隔,默认15s

**配置BPDU的转发过程:累计入接口的Cost到PRC、修改BID为本身、修改发送PID为接口

3)STP的工作过程:选举阻塞端口
a、选举一个根桥。
通过修改优先级影响根桥的选举:
第一种 stp priority 4096 #必须是4096的倍数
第二种 stp root primary/secondary #修改为根桥或者备份根桥

b、每个非根交换机选举一个根端口。
根端口(RP):用来接受Root发送的最优BPDU,每个非根交换机都有一个根端口,距离根桥最近的一个接口
分别依据该端口的根路径开销、对端BID、对端PID和本端PID
修改接口开销影响根端口的选举
接口视图内 stp cost 200000
修改接口优先级影响根端口的选举
stp port priority 16 #必须是16的倍数

c、每个链路选举一个指定端口。
指定端口(DP):用来转发Root发送的最优BPDU,每条链路上都有一个指定端口
根桥上的接口,通常都是DP接口

d、阻塞非根、非指定端口。
阻塞端口(Blocking Port,华为为AP):不转发用户流量

stp mode stp		#修改STP模式,默认为mstp
display stp		#查看STP信息,桥ID和根桥ID一致说明本身是根桥
display stp brief		#查看接口状态,角色等	DESI为DP、ROOT为RP、ALTE为AP

4)STP的端口状态:决定接口是否转发流量以及学习MAC地址
Disable:关闭状态、不收发任何报文,比如接口关闭
Blocking:阻塞状态、不转发用户流量,接受并不发送BPDU,不学习MAC地址,AP最后状态
Listening:监听状态、不转发用户流量,接受并发送BPDU,不学习MAC地址
Learning:学习状态、不转发用户流量,接受并发送BPDU,学习MAC地址
Forwarding:转发状态、转发用户流量,接受并发送BPDU,学习MAC地址,DP和RP最后状态

Listening、Learning、Forwarding:跳转需要等待15s的转发延迟,防止临时环路。

5)故障场景:
根桥故障:
根桥故障直连和非直连会导致50 s(20s的Max Age+两个转发延迟)左右的恢复时间。
直连链路故障:直连链路故障,备用端口会经过30s(RP接口需要两个转发延迟进入转发)后恢复转发状态。
非直连链路故障:非直连故障会导致50s(20s的Max Age+两个转发延迟)左右的恢复时间。
对于次优BPDU报文,会直接丢弃

PS:STP至少都需要30s~50s的时间恢复,RSTP主要针对收敛时间改进

6)拓扑变更:
STP拓扑变更条件:接口UP/Down
发送拓扑变更时如果无任何机制,会造成300s临时环路
拓扑变更机制:通过TCN BPDU、配置BPDU(Flag:TCA、TC)实现。
发现故障的设备向上游设备发送TCN BPDU,表示拓扑变更
上游设备收到TCN BPDU会回复TCA置位的配置BPDU,并且继续向上游发送TCN BPDU直到根桥收到
根桥收到TCN BPDU后,会发送TC置位的配置BPDU持续35s(第一个TCA和TC同时置位,同时确认TCN,其余TC置位),16或者17个
其他设备收到TC置位的配置BPDU,立刻刷新MAC地址表(华为机制,标准300s变为15s)

13.RSTP原理以及配置

一、RSTP的端口角色
STP:DP、RP、BP(Blocking Port)
RSTP:DP、RP、BP(Backup Port)、AP(Alternate Port)
BP(Backup Port):作为DP的备份,被自己的BPDU阻塞的端口(BPDU中桥ID和本身一致则说明自己)
DP接口故障需要18s到48s的老化时间,对端为RP或者AP
DP接口故障后,BP首先等待18s的老化时间,切换为DP并且进行PA协商
对端是RP能够成功进行PA则为18s,对端是AP接口不能成功进行PA为48s(还需等待30s定时器)
AP(Alternate Port):作为RP的备份,被其他设备的BPDU阻塞的端口
RP接口故障后,AP立刻切换为RP,并且不需要等待转发延迟直接进入转发状态

二、边缘端口(EP、Edge port)
作用:用于连接终端等不需要进行STP计算的接口
特点:接口up之后直接进入转发状态,不需要等待转发延迟
一种特殊的DP接口。
配置: 全局下:stp edged-port default #全局视图下激活,所有接口都为边缘端口
interface GigabitEthernet0/0/3 #进入连接其他交换机的接口下手工关闭
stp edged-port disable
接口下:interface GigabitEthernet0/0/1
stp edged-port enable

Q:边缘端口不需要进行STP的计算,为什么还周期发送BPDU报文
	防止误连产生的环路,重新选出BP接口后,环路消失

激活了边缘端口接口,如果收到BPDU报文,立刻丧失边缘端口的特性,重新进行STP计算

三、端口状态
STP:5种,Disabled、Blocking、Listening、Learning、Forwarding
RSTP:3种,Discard、Learning、Forwarding
根据用户来看,是否转发用户流量以及学习MAC地址来区分
不转发、不学习MAC地址,就是Discard状态
不转发、学习MAC地址,就是Learning状态
转发、学习MAC地址,就是Forwarding

Q:Learning状态不转发用户流量,怎么去学习MAC地址?
	根据BPDU的源MAC进行学习

四、BPDU的改进
STP:配置BPDU、TCN BPDU
RSTP:RST BPDU(相当于STP的配置BPDU)

填充了Flag位
TCA:RSTP内无意义,用于兼容STP
Agreement:同意,用于PA协商
Forwarding:是否能够转发用户流量
Learning:是否能够学习MAC地址
F=0、L=0 为Discard状态,F=0、L=1为Learning状态,F=1、L=1就是Forwarding状态
Port Role:端口角色位
00为未知、01为AP或BP、10为RP接口、11为DP接口
Proposal:提议,用于PA协商
TC:拓扑变更

老化时间:STP Max Age最长20s,RSTP为6s(华为18s)
BPDU发送方式:STP只有Root能够发送BPDU,RSTP每台设备都会按照Hello time发送BPDU
次优BPDU的处理(非直连故障场景):
STP对于次优BPDU直接丢弃
RSTP对于次优BPDU直接丢弃,并且立刻回复一份最优BPDU

五、PA协商和收敛过程
1、交换机刚启动都认为本身Root,互相发送RST BPDU(没有Flag置位)
2、比较后选出根桥、DP、RP接口,此时DP和RP都处于Discard状态
3、DP接口发送P=1 的RST BPDU
4、RP接口收到P=1 的RST BPDU后进行Sync同步(阻塞所有非边缘的端口,置为Discard状态)
Q:不进行同步会有什么问题?
如果没有同步,网络完成收敛前(新AP接口选出),网络存在环路
阻塞非边缘端口保证网络中不会同时出现全部接口都是Forward的状态
STP等待两个转发延迟30s,足够长的时间保证AP接口选举出来并且阻塞

5、RP接口完成同步后,从Discard状态跳转到Forwarding状态,并且向DP接口发送A=1 的RST BPDU
6、DP收到后从Discard状态跳转到Forwarding状态

PA协商的前置条件:必须在DP和RP接口,点到点全双工链路

PS:由Root为中心进行PA协商,一段一段进行,直到网络末梢。
如果DP和AP的接口进行PA协商会失败,失败之后按照定时器(30s)进行收敛
原本AP接口就不转发用户流量

六、拓扑变更机制
STP的拓扑变更机制需要逐个设备向上游发送TCN BPDU,直到Root收到后才进行拓扑变更的触发
网络范围越大,TCN BPDU报文到达Root时间就越久,并且所有沿途设备都需要进行TCA和TCN BPDU报文交互

STP的触发条件:接口Up/Down
RSTP的触发条件:接口进入Forwarding状态

RSTP拓扑变更:
1、当一个设备满足触发条件,清空本身MAC地址表,并且启动While Time计时器(两倍的Hello time,默认4s)
在计时器计时的过程内,向外发送RST BPDU中TC会置位为1
2、其他交换机收到RST BPDU之后,清空所有端口学习到MAC地址表(除了收到RST BPDU接口以及边缘端口)
也在所有其他接口启动While Time计时器,向外发送RST BPDU中TC会置位为1
3、其他交换机重复以上过程,TC在网络中快速泛洪

七、STP的兼容
不同版本STP能够互相兼容运行
运行RSTP的设备收到3个配置BPDU会转化为STP模式运行,和STP一样使用定时器收敛

八、保护机制
1、根保护:防止网络中有攻击者恶意接入,抢占根桥导致网络重新收敛震荡的情况。
a、网络中所有设备需要重新进行STP的计算
b、攻击者可以窃取合法用户数据
配置:在DP接口内stp root-protection
在网络边缘的交换机DP接口上配置,如果只在Root上配置保护,只能保护本设备的角色
启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。
在经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,
端口会自动恢复到正常的Forwarding状态。

2、环路保护:防止因为网络拥塞导致临时环路(AP接口快速切换为RP接口并且Forward)
当由于链路拥塞或者单向链路故障导致这些端口收不到来自上游交换设备的RST BPDU时,此时交换设备会重新选择根端口。
原先的根端口会转变为指定端口,而原先的阻塞端口会迁移到RP并且进入转发状态,从而造成交换网络中可能产生环路。
开启环路保护后,只要RP或者AP没有收到上游的BPDU,会进行端口角色的切换,但是保持Discard状态不转发用户流量
直到收到上游BPDU报文,重新进行选举,回复链路阻塞前的状态。
配置:在RP或AP内配置stp loop-protection

3、BPDU保护:保护边缘端口的角色
交换设备上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,
边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统。
配置:全局视图下stp bpdu-protection,所有边缘端口都会激活保护

4、TC-BPDU保护
攻击者伪造大量TC BPDU导致网络中交换机的MAC地址表被频繁清除,此时有主机发送数据,会认为未知单播帧并且泛洪
主机数量越多,泛洪的未知单播帧数量就越多,引发广播风暴。
配置TC BPDU保护之后,单位时间内只处理规定次数的TC BPDU,超出次数的TC BPDU在单位时间后统一处理一次。

14.IP路由基础

一、路由表内容
display ip routing-table #查看路由表

Destination/Mask :访问目的IP地址和对于掩码,目的地

*以下三个字段用来选举最优路由
Proto:协议,路由的获取方式
直连:通过设备自动生成
设备接口上配置IP地址,并且接口物理层和协议必须UP
路由表自动生成3条路由(广播、网段、接口)
静态:通过管理员手工配置
动态:通过动态路由协议,如OSPF等自动学习生成

Pre:路由优先级,每种协议对应一个优先级,选择最优
去往相同网段的路由(网段掩码必须一致),比较优先级,优先级越小越优,最优一条路由会装入路由表。
范围是0255,可调范围1255,常见优先级如下

协议		优先级
直连		0
OSPF内部		10
ISIS		15
静态		60
RIP		100
OSPF外部		150
BGP		255

Cost:开销或度量值,路由度量值表示到达这条路由所指目的地址的代价
去往相同网段的路由(网段掩码必须一致),比较优先级,优先级越小越优,优先级相同情况下会比较度量值,度量值越小越优
度量值最小的一条路由装入路由表内。

Q:为什么OSPF使用带宽作为路由的度量值?
	当带宽得到一定保证时,其他网络参数相应降低

Q:如果度量值也相同?
	会负载,称为等价路由

等价路由:路由表内一条路由会有多个下一跳并且都使用形成负载负载分担,转发时候均匀分布流量在不同链路上
	负载分担两种模式
	1、基于包:链路利用率相对较高,容易导致数据包乱序
	2、基于流:根据五元组(源目IP、源目端口号、协议号),链路利用率相对较低,不容易导致数据包乱序

*用于重新封装二层指导数据包转发
Nexthop:下一跳的IP地址

interface:出接口,转发的接口

Q:为什么要同时又下一跳和出接口,单独一个字段不能指导转发吗?
	源MAC通过出接口进行封装,目的MAC通过下一跳查找ARP表进行封装

Q:应该使用哪个IP地址作为下一跳(A和B之间的直连接口,Loopback,B和C之间的直连接口)
	必须使用A和B之间的直连接口,因为A发送ARP请求时,下一跳和本身的接口必须处于同一广播域内

	路由器的接口不能配置相同网段地址,会报错

二、路由转发时——最长掩码匹配原则
当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,
直到找到匹配度最长的条目,这就是最长前缀匹配机制。
掩码越长,网络位就越长,主机位越短,范围就越精确

主机路由:掩码为32位的路由,在转发时一定优先使用

三、路由转发流程
中间路由器:收到数据,先查看DMAC是否为接口的MAC地址,如果是则接受,按照二层Type上送三层处理
根据三层目的IP地址,最长掩码匹配原则查找路由表,找到出接口和下一跳重新封装二层发送。

15.静态路由的配置

一、静态路由的应用场景
1、网络出口处:写默认路由指向ISP设备
2、网络末梢处:写默认路由指向下一跳

二、静态路由的配置
[RTB]ip route-static 192.168.1.0 255.255.255.0 10.0.12.1 #网段、掩码、下一跳
[RTB]ip route-static 192.168.1.0 255.255.255.0 Serial 1/0/0 #网段、掩码、出接口
[RTB]ip route-static 192.168.1.0 24 Serial 1/0/0 10.0.12.1 #网段、掩码、下一跳、出接口

PS:在广播型的接口(如以太网接口)上配置静态路由时,必须要指定下一跳地址。
       在串行接口上,可以通过指定下一跳地址或出接口来配置静态路由。

对于非直连路由,需要通过静态或者动态路由实现访问

注意:来回路径上需要配置双向路由

Q:PC1能够访问PC3,那AR1能否访问PC3?
	ping会使用离目的IP最近的物理接口地址,PC3回包时AR3没有12.1.1.0/24的路由信息导致丢包

三、负载分担
通过配置两条或以上,网段和掩码相同,但是下一跳不同的路由实现负载
ip route-static 2.2.2.0 255.255.255.0 GigabitEthernet0/0/0 100.1.1.2
ip route-static 2.2.2.0 255.255.255.0 GigabitEthernet0/0/1 200.1.1.2

四、路由备份
通过配置两条或以上,网段和掩码相同,但是下一跳不同的路由,并且修改优先级实现主备
ip route-static 2.2.2.0 255.255.255.0 100.1.1.2
ip route-static 2.2.2.0 255.255.255.0 200.1.1.2 preference 70

PS:配置主备路由时,保证双方的主备链路一致,防止出现来回路径不一致

五、缺省(默认)路由
作用:匹配不到明细路由时,根据默认路由进行转发
缺省路由配置不当可能会出现环路,访问无明细的路由会出现环路

Q1:在末梢用ospf学习和静态有啥区别
网段数量越多,互访需求越多时候,需要配置静态路由数量就越多

小型、简单、组网比较固定的网络,也可以使用静态去实现全互通,节省设备性能

16.OSPF基础

一、动态路由的产生背景
1、静态路由扩展性差,网络规模越大,静态路由的配置量就越大,容易出现错误,一旦出现错误静态路由不能自动解决。
2、静态路由维护难度大,不能自动收敛,扩大规模或者出现差错都需要重新进行配置。
3、动态路由协议:周期自动更新路由表,通过学习可以将对端路由装入本地路由表,易于进行维护和管理;
对于网络拓扑有一定的感知能力,适用于中大型网络。(OSPF、ISIS、BGP、RIP)

二、动态路由协议的分类
1、按工作区域分类,AS自治系统:由同一个机构或者组织统一维护管理网络称为AS
IGP:工作在AS内部协议,用于发现、计算和维护路由,代表有OSPF、ISIS、RIP
EGP:工作在AS之间,用于传递和控制路由信息,代表有BGP
2、按工作机制及算法分类
DV距离矢量:传递路由时只携带路由信息,代表RIP,BGP(PA路径属性)
LS链路状态:传递路由时不仅携带路由信息,还携带拓扑信息,代表OSPF、ISIS(SPF算法)
3、按是否携带掩码
有类:路由信息不携带掩码,RIPv1
无类:路由信息携带掩码。其他路由协议均携带

三、链路状态协议工作原理
1、建立邻居并且泛洪LSA信息
2、收集网络中LSA信息,形成LSDB链路状态数据库(包含所有LSA信息)
3、运行SPF算法得出全网拓扑(无环的树状结构),地图去往每个设备最优路径
4、计算最优路由并且装入路由表内
传递的LSA还需要提取其中网段等路由信息装入路由表

四、OSPF的基本概念
1、区域:逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。
分类:骨干区域(Area 0)、非骨干区域(非0以外的区域)、特殊区域(将非骨干区域调整为特殊区域)
a、骨干区域必须要存在
b、设计区域时,所有非骨干区域必须和骨干区域有连接
c、设备数量较少时可以全部划分到Area 0
d、随着网络规模的扩大,为了限制LSA的泛洪范围减轻设备性能压力,可以划分多个区域。

2、路由器类型
区域内路由器(Internal Router):所有接口均处于同一区域内
区域边界路由器ABR(Area Border Router):同时连接骨干区域以及非骨干区域
骨干路由器(Backbone Router):骨干区域内的设备
自治系统边界路由器ASBR(AS Boundary Router):只要引入外部路由就是ASBR
display ospf abr-asbr 查看设备的路由类型

3、Router-ID
作用:用于在一个OSPF域中唯一地标识一台路由器
格式:和IP地址相同,点分十进制
配置方式
a、手工配置:ospf 1 router-id 100.100.100.100 #创建进程时同时配置
系统视图下 router-id 100.100.100.100 #系统视图下配置的RouterID可以给多个协议使用
同时配置以协议为准
b、自动选举:首选Loopback接口地址大,次选物理接口地址大

环回接口:loopback,逻辑上虚拟接口,创建后永远up,模拟一些网段,作为设备的Router ID

OSPF的配置
0、配置好接口IP地址
1、创建OSPF进程
2、创建区域并且宣告接口

ospf 1 router-id 100.100.100.100
import-route direct
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.12.0 0.0.0.255

Q:为什么和主机不需要建立邻居关系,也需要宣告到OSPF内?
告知其他邻居本身相连的网段

ospf 1
area 0.0.0.0
network 0.0.0.0 255.255.255.255 #宣告所有接口到OSPF内

常用查看命令
display ospf interface #查看宣告到OSPF的接口
display ospf peer brief #查看OSPF邻居的摘要信息
display ospf routing #查看OSPF的路由信息
display ospf lsdb #查看OSPF的LSDB数据库

4、度量值
去往某一网段需要花费的开销,多条相同路由(OSPF学习),对比度量值,度量值小的一条路由会装入路由表
通过修改度量值可以影响设备选路。

每个激活OSPF的接口默认会有开销值,计算公式:参考带宽(默认100M)/接口的实际带宽(不满1或者小数点统一取整数)

修改方式:
a、直接修改接口开销
interface GigabitEthernet0/0/2
ip address 10.1.1.254 255.255.255.0
ospf cost 10000
b、协议视图内修改参考带宽值
ospf
bandwidth-reference

OSPF路径累计Cost值:累计所有路由入接口开销值

五、OSPF的工作过程
简介:基于IP协议,协议号89,IP不可靠,所以OSPF提出很多确认

1、OSPF的报文
a、Hello:用于发现、建立和维护邻居关系,用来选举DR、BDR
发现:使用组播地址(224.0.0.5)进行发送,交换机收到后会进行泛洪
建立:协商参数,比如Area、Router ID
维护:周期性发送,一段时间内没有收到邻居的Hello报文,认为对方发生故障。
b、DD(Database Description):描述本地LSDB的摘要信息,用于两台设备进行数据库同步,携带LSA的摘要信息
c、LSR(Link State Request):用于向对方请求所需要的LSA。携带LSA的摘要信息
d、LSU(Link State Update):用于向对方发送其所需要的LSA。携带完整LSA信息
e、LSAck(Link State ACK)用来对收到的LSA进行确认。携带LSA的摘要信息

LSR、LSU、LSAck为显示确认(整个报文用于确认)

2、OSPF邻居、邻接建立过程
邻居关系:只交互了Hello报文,形成邻居关系
邻接关系:在邻居关系的基础上,交互剩余其他报文,进行数据库同步,称为邻接关系

邻居状态机
Down状态:表示还没有收到任何邻居报文
init状态:收到Hello报文,没有包含本身Router ID
2-Way状态:收到Hello报文,包含本身Router ID

邻居建立过程
1)双方处于Down状态,表示还没有收到任何邻居报文
2)R2收到Hello报文(Hello报文中不包含本身Router ID),Down => init(初始化)
3)R1收到Hello报文(Hello报文中包含本身Router ID),Down => 2-Way
4)R1再次发送Hello,R2收到后发现包含本身Router ID,init => 2-Way
2-Way状态表示邻居状态已经完成

邻接状态机
Exstart:通过交互空DD报文选举主从(Master、Slave)
Exchange:交互DD报文携带LSA摘要信息,用于描述本身LSDB
Loading:交互LSR、LSU、LSAck,同步数据库。
Full:表示已经收到邻居所有LSA信息,数据同步完成。

邻接建立过程
1)如果不需要选举DR、BDR,直接从2-Way跳转Exstart
2)R1、R2互相发送空DD报文,包含Flag(I位、M位、M/S位)、序列号(用来保证DD顺序的,随机产生)、Router-ID
I位:表示是否为第一份DD报文
M位:表示后续是否还有DD报文
M/S位:表示主从身份,为1为Master、为0为Slave
3)比较空DD报文内Router ID,Router ID大的一方R2成为Master设备。
交互空DD报文后,选出主从并且跳转到Exchange状态
4)Slave设备R1首先发送DD报文,并且以主设备序列号为准,和上一份DD报文的序列号相同,用于确认。
5)双方继续交互DD报文序列号Y+1递增,直到双方都描述完所有本身LSDB数据库(收到M=0的DD)
跳转到Loading状态进行数据同步。
6)双方交互LSR、LSU、LSAck,直到需要请求LSA都获取为止(LSR请求列表为空),进入Full的状态

3、OSPF的网络类型
接口默认的OSPF网络类型取决于接口所使用的数据链路层封装。
OSPF的有四种网络类型:Broadcast、NBMA、P2MP和P2P
ospf network-type 修改网络类型
不同网络类型会影响OSPF的参数和操作,比如Hello发送间隔,是否去选举DR和BDR

1)P2P:点到点
数据链路层协议为PPP或HDLC,自动为P2P。
Hello报文发送间隔10s,老化时间是40s
一个接口允许有一个邻居

2)BMA:广播,广播式多路访问
数据链路层协议为以太网,自动为BMA
Hello报文发送间隔10s,老化时间是40s
一个接口允许有多个邻居

3)NBMA:非广播式多路访问
数据链路层协议为FR,不支持广播、组播报文
Hello报文发送间隔30s,老化时间是120s
一个接口允许有多个邻居

4)P2MP:点到多点
没有一种数据链路层协议默认为P2MP
需要管理员手工修改
底层是NBMA的网络,并且属于分支总部结构可以修改P2MP
Hello报文发送间隔30s,老化时间是120s

如果是为BMA或NBMA会选举DR(指定路由器),BDR(备份指定路由器)

4、DR和BDR
DR(指定路由器),BDR(备份指定路由器),DROther(非DR、BDR的设备)
作用:用于减少MA网络内的邻接关系,DROther之间不建立邻接关系,保持2-Way
所有设备和DR、BDR建立邻接关系

选举:交互Hello报文,优先级字段(0~255,默认为1),优先级越大设备越优,分别选出DR、BDR
接口内ospf dr-priority修改优先级,0表示放弃选举

网络中必须有DR,可以没有BDR。

5、认证
区域认证
area 0.0.0.0
authentication-mode md5 1 cipher 123 #区域内所有接口都配置

接口认证
interface GigabitEthernet0/0/0
ospf authentication-mode md5 1 cipher 123 #只在该接口配置

同时配置接口和区域认证,会接口为准

17.VLAN的原理和配置

1、VLAN(虚拟局域网)的作用
逻辑上将交换机划分多个不同的VLAN,实现广播域的隔离

2、VLAN的产生背景
路由器能够隔离广播域,每个接口就是一个广播域
交换机能够隔离冲突域,每个接口就是一个冲突域。不能隔离广播域,整个交换机就是一个广播域。

广播域较大带来的问题:主机数量越多,当发送未知单播帧和广播帧引发安全问题以及垃圾流量

划分VLAN之后,将多个部分归属到不同的广播域内,实现二层隔离和三层互访。

3、VLAN的工作原理
1)VLAN Tag:通过数据帧中MAC地址和Type字段插入VLAN Tag字段,让设备能够识别
没有Tag的帧称为无标记帧/untag帧,主机、路由器一般无法识别VLAN Tag
有Tag的帧称为标记帧/tag帧,交换机能识别VLAN Tag,并且为了处理效率,交换机内部数据帧统一带Tag

TPID(标签协议标识符):标识数据帧的类型,值为0x8100时表示802.1Q帧。
PRI(优先级):标识帧的优先级,主要用于QoS(服务与质量)。
CFI(标准格式指示符):在以太网环境中,该字段的值为0。
VLAN ID(VLAN标识符):12bit,最多4096个VLAN,标识该帧所属的VLAN。
			0~4095,第一个和最后一个不可用,可用范围1~4094
	扩展:VXLAN,新增报头实现VLAN数量的扩展

Q:设备如何识别是否有带Tag?
	读取到TPID时判断带Tag

2)具体实现——VLAN划分
	基于接口,根据接口PVID打上VLAN,配置简单,安全性较差,最常用的划分方式
		网络管理员预先给交换机的每个接口配置不同的PVID,将该接口划入PVID对应的VLAN。
		当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的Tag,然后数据帧将在指定PVID中传输。
		PVID取值:1~4094。
	基于MAC,由管理员手工配置MAC和VLAN的对应关系,安全性较高,配置比较繁琐
		vlan 1
	 	 mac-vlan mac-address 5489-9821-0C39
	基于子网:根据IP的子网划分
	基于协议:根据网络层协议,IP或者IPv6
	基于策略:绑定MAC、IP、接口,安全性最高,配置最繁琐

生效顺序:基于策略>基于协议>基于子网/MAC>基于接口

3)具体实现——交换机的端口类型
	Access接口:接入链路,一般连接主机或者路由器等不识别Tag的设备。
		特点:只能配置一个VLANID,并且发送数据帧时不带Tag
		接受数据帧:如果为untag帧,接收该帧,并打上该接口PVID的Tag。
			    如果为tag帧,对比PVID和数据帧内的VLAN ID,如果一致则接受,不一致就丢弃
		发送数据帧:对比PVID和数据帧内的VLAN ID,一致则剥离Tag发送,如果不一致就丢弃
		配置:
		1、创建VLAN	vlan batch 10 20		#批量创建
		2、修改接口类型以及PVID
			interface GigabitEthernet0/0/3
			 port link-type access
			 port default vlan 10		#PVID,不配置默认为1
		display port vlan				#查看接口VLAN
		display vlan				#查看已经创建VLAN信息
		
	Trunk接口:干道链路,一般用于交换机之间、路由器防火墙的子接口(VLAN间路由)
		特点:允许多个VLAN的数据帧通过,根据允许收发列表进行判断
		接受数据帧:如果为untag帧,根据接口PVID打上Tag,对比Tag是否在接口允许收发列表内,如果有对应VLAN则接受,否则丢弃
			    如果为tag帧,对比Tag是否在接口允许收发列表内,如果有对应VLAN则接受,否则丢弃
		发送数据帧:对比Tag是否在接口允许收发列表内,如果有对应VLAN则保留Tag发送(VLAN和接口PVID一致会剥离Tag)
			    ,否则丢弃
		配置:一般不配置PVID
			interface GigabitEthernet0/0/4
			 port link-type trunk
			 port trunk allow-pass vlan 10 20
			 port trunk pvid vlan 1			#设置PVID
	
		PVID配置不当可能导致相同VLAN的数据无法互访

	Hybrid接口:混合链路,可以用于连接主机或者交换机,发送数据时可以灵活携带Tag
		接受数据帧:接受数据帧:如果为untag帧,接收该帧,并打上该接口PVID的Tag。
			    如果为tag帧,对比PVID和数据帧内的VLAN ID,如果一致则接受,不一致就丢弃
		发送数据帧:对比Tag是否在接口允许收发列表内,在并且根据配置决定是否带Tag
		配置:
			interface GigabitEthernet0/0/4
			  port link-type hybrid
			  port hybrid tagged vlan 10 20	#将VLAN加入允许收发列表,发送时携带Tag
			  port hybrid untagged  vlan 30 40	#将VLAN加入允许收发列表,发送时不携带Tag
			  port hybrid pvid vlan 1

		替代Access接口
			interface GigabitEthernet0/0/4
			 port link-type hybrid
			 port hybrid pvid vlan 10
			 port hybrid untagged vlan 10

		替代Trunk接口
			interface GigabitEthernet0/0/4
			 port link-type hybrid
			 port hybrid tagged vlan 10 20

	应用场景:允许多个VLAN不带Tag从接口发出时
		主机都够访问服务器,主机之间不能互访

18.VLAN间路由

1、产生背景:实际部署时一般不同部门划分不同VLAN,并且不同网段,当有互访需求情况下,
二层是隔离必须通过三层路由(三层设备:路由器、三层交换机)

2、实现方式:
多臂路由:交换机配合路由器
1)路由器:接口配置VLAN的网关地址
interface GigabitEthernet0/0/1
ip address 192.168.3.254 255.255.255.0
interface GigabitEthernet0/0/0
ip address 192.168.2.254 255.255.255.0
2)交换机:配置Access接口划分VLAN
interface GigabitEthernet0/0/4
port link-type access
port default vlan 3
interface GigabitEthernet0/0/2
port link-type access
port default vlan 3

优点:每个VLAN一条链路保证带宽
缺点:每个VLAN需要一条链路,扩展性差

单臂路由:交换机和路由器之间只用一条链路承载多个VLAN
0)连接主机用Access划分VLAN
1)将交换机和路由器之间的链路配置为Trunk链路
interface GigabitEthernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 2 to 3
2)路由器上创建子接口以支持VLAN路由(识别Tag)。
interface GigabitEthernet0/0/0.2
 dot1q termination vid 2			#识别Tag,收到带Tag时并且VID一致,则剥离Tag,发送时根据vid打上Tag
 ip address 192.168.2.254 255.255.255.0 
 arp broadcast enable			#激活ARP广播

优点:路由器和交换机之间只需要一条链路
缺点:所有VLAN的流量共用一条链路,容易造成带宽的瓶颈

三层交换:通过三层交换机创建虚拟的VLANIF作为网关,实现三层互通
VLANIF接口创建必须和VLANID一致
收到广播报文会VLAN内泛洪,并且对应VLANIF接口也会处理
注意VLANIF双up条件:必须有接口属于所属VLAN才能够up,存在对应VLANID

配置:
interface Vlanif3
 ip address 192.168.3.254 255.255.255.0

优点:配置简单,每个VLAN独享链路带宽

19.网络应用

1、FTP文件传输协议,基于TCP,典型C/S架构,可以认证(用户名和密码)
分为两种工作模式,使用20、21两个端口,21用于会话,20用于数据传输
主动模式:服务器主动和客户端建立数据连接,其中建立数据连接的目的端口号,使用客户端在Port命令内告知的端口,源端口号为20
被动模式:服务器被动和客户端建立数据连接,收到PASV命令后,开启一个随机端口并且告知客户端,客户端与该接口建立数据连接(S/D Port为随机端口)

2、TFTP简单文件传输协议,基于UDP、使用69端口,无需认证

3、DHCP(动态主机配置协议)的原理和配置
1)产生背景:手工配置工作量大、容易出错、参数不好理解、地址利用率低、灵活性差(WLAN设备移动后需要手工配置地址)
2)DHCP优点:1、统一管理(方便统一修改网络参数,DNS等)2、地址租期(租期到期后地址可以分配给其他设备使用)
3)DHCP的报文:DHCP Discovery、Offer、Request、Nak/Ack、Release(释放)
4)DHCP的工作过程
a、四步交互
客户端广播发送Discovery报文寻找网络内的DHCP服务器
收到Discovery的DHCP服务器,都分配地址单播回复Offer报文(IP地址等网络参数、服务器ID)
客户端选择第一份收到的Offer报文,广播回复Request报文(选择的服务器ID)
服务器收到Request之后,如果服务器ID和本身一致则回复Ack进行确认,服务器ID和本身不一致,临时租约、IP地址回收,用于分配给其他设备
主机收到Ack会发送免费ARP进行重复检测,通过后才使用改地址

b、租约更新
客户端地址到达50%租期后,单播发送Request报文到服务器请求更新租约
服务器回复Ack,则续约成功。回复Nak,则续约失败,客户端需要重新进行四步交互获取地址。
	PS:如果Request报文没有回应,租约继续增加直到87.5%,进行重绑定广播发送Request报文,其他服务器均可回应

5)全局地址池的配置
dhcp enable #系统视图下激活DHCP服务
ip pool huawei #创建全局地址池
gateway-list 192.168.1.254
network 192.168.1.0 mask 255.255.255.0
static-bind ip-address 192.168.1.1 mac-address 5489-98ac-535f
excluded-ip-address 192.168.1.100 192.168.1.200
lease day 0 hour 2 minute 0
dns-list 114.114.114.114
interface GigabitEthernet0/0/0 #接口启用全局地址池模式
ip address 192.168.1.254 255.255.255.0
dhcp select global

Q:多个全局地址池,收到Discovery报文如何判断使用哪个地址池的地址呢?
	根据路由表,找到接口对应的网络号,并且分配相同网段地址池的地址

6)接口地址池的配置
dhcp enable
interface GigabitEthernet0/0/1
ip address 192.168.2.254 255.255.255.0
dhcp select interface
PS:接口地址池无需配置网段以及网关地址,直接分配和接口网段相同的地址,接口IP地址作为网关
dhcp select interface
dhcp server static-bind ip-address 192.168.2.2 mac-address 5489-9863-1b0d
dhcp server excluded-ip-address 192.168.2.100 192.168.2.200
dhcp server lease day 0 hour 2 minute 0
dhcp server dns-list 8.8.8.8

display ip pool  可以查看地址池的使用情况

20.以太网链路聚合与交换机堆叠、集群

1、产生背景:
STP和链路聚合都能够实现链路可靠性。STP会阻塞端口,无法提升带宽。
链路聚合通过将多个物理接口捆绑成为一个逻辑接口(Eth-Trunk接口),提升带宽,保证可靠性,节省成本。

2、链路聚合的基本概念:
聚合组:逻辑的Eth-Trunk接口
成员接口和成员链路:参与捆绑的接口和链路
根据是否转发数据分为活跃/非活跃链路、接口
聚合模式:LACP链路聚合控制协议、手工
活动接口上限阈值和活动接口下限阈值:最多有多少接口处于活跃、最少多少接口处于非活跃

3、手工模式
1)所有链路都进行数据转发并且负载分担
2)最多支持8条链路的捆绑
3)手工不会交互任何报文进行协商,不能自动检查接口状态,不能检测非直连的故障

interface Eth-Trunk1
mode manual load-balance #修改模式,默认为手工
trunkport GigabitEthernet 0/0/1 0/0/2 0/0/3 #添加接口到逻辑组内

display interface Eth-Trunk 1
display Eth-Trunk 1 #查看捆绑接口的状态

4、LACP模式
1)LACP会交互LACPDU报文进行协商,自动检查接口状态,能够检测非直连的故障
报文内容
系统优先级:用于选举主从设备,默认32768,如果一致则比较MAC地址,都是越小越优,最优一台设备成为主设备
修改优先级控制主从选举:lacp priority 0
MAC地址
接口优先级:两端都会以主动端的接口优先级来选择活动接口,默认32768,如果一致则比较接口编号,都是越小越优
修改接口优先级,控制活跃链路的选举:成员接口视图内 lacp priority 0
接口编号

2)配置最大活动接口数,实现链路备份
活跃链路的选举
interface Eth-Trunk1
mode mode lacp-static #修改模式,默认为手工
trunkport GigabitEthernet 0/0/1 0/0/2 0/0/3 #添加接口到逻辑组内
lacp preempt enable #激活抢占功能
lacp preempt delay 10 #设置抢占延迟,防止链路频繁up/down导致活跃链路频繁抢占,丢包
max active-linknumber 2 #设置最大活跃链路数

3)最多支持16条链路的捆绑,最多8条链路进行转发

PS:配置聚合组后,所有VLAN等配置均在聚合接口内配置

5、路由器配置链路聚合
interface Eth-Trunk1
undo portswitch #关闭二层交换功能,才能配置IP地址
ip address 12.1.1.2 255.255.255.0
trunkport GigabitEthernet 0/0/1 0/0/2 0/0/3

6、堆叠(iStack)和集群(CSS)
堆叠:多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上变成一台交换设备,作为一个整体参与数据转发。
框式设备堆叠成为集群
集群一般只支持框式2台交换机,堆叠一般支持8~9台交换机

优点:简化网络拓扑,提升带宽设备性能、冗余备份

21.ACL访问控制列表

1、ACL访问列表的作用
1)流量控制:ACL可以通过定义规则来允许或拒绝流量的通过。
2)匹配工具:根据某些特征匹配流量后给协议使用

2、ACL的分类
基本ACL、范围2000~2999,只能用来匹配源IP地址
高级ACL、范围3000~3999,匹配五元组等内容
二层ACL、范围4000~4999,源目MAC,VLAN、二层协议等

3、ACL规则
1)组成:rule+规则编号(无配置默认以5为步长增长)+动作(Permit/Deny)+匹配特征(源IP等)
2)按照编号进行匹配,如果匹配到一条后续规则不会生效。
3)如果所有规则均未匹配到,默认deny any

eq等于、gt大于、lt小于、range组

PS:配置ACL一般在发送端的网关设备上配置,减少链路带宽的浪费

反掩码(通配符掩码):0表示匹配,1表示不匹配
思路:将匹配的地址转为二进制,相同部分通配符为0,不同部分通配符为1

Q:192.168.1.0、2.0~8.0,匹配其中的奇数,1.0、3.0、5.0、7.0,ACL怎么写?
后面两个十进制展开

192.168.1 .0 0000 0 00 1.0
192.168.3 .0 0000 0 01 1.0
192.168.5 .0 0000 0 10 1.0
192.168.7.0 0000 0 11 1.0
0000 0 11 0.0

192.168.1.0 0.0.6.0

22.NAT的原理

1、作用:将内网私网地址转化为公网地址,实现内网的外网的互通
2、好处:隐藏私网IP提高安全性,节省IP地址,实现内网的外网的互通
3、NAT部署:连接内网和外网的网关设备上。
4、实现方式:
1)静态NAT:手工配置一对一映射
配置:
网关的出接口:nat static global 12.1.1.10 inside 192.168.1.1
优点:内网外网都可以主动访问
缺点:不能节省IP地址
2)动态NAT:通过地址池动态转换
配置:
创建地址池 nat address-group 1 12.1.1.11 12.1.1.12
ACL匹配内网主机
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
出接口应用
interface GigabitEthernet0/0/1
ip address 12.1.1.1 255.255.255.0
nat outbound 2000 address-group 1 no-pat
优点:一定程度上节省IP
缺点:公网不能主动访问私网
3)NAPT:转换公网地址时,同时会转换端口号实现公网地址的复用
配置:
创建地址池 nat address-group 1 12.1.1.11 12.1.1.12
ACL匹配内网主机
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
出接口应用
interface GigabitEthernet0/0/1
ip address 12.1.1.1 255.255.255.0
nat outbound 2000 address-group 1
优点:节省公网IP
缺点:公网不能主动访问私网
4)Easy IP
出接口应用时
interface GigabitEthernet0/0/1
ip address 12.1.1.1 255.255.255.0
nat outbound 2000
5)NAT Server
配置
出接口应用:nat server protocol tcp global 12.1.1.100 www inside 192.168.1.3 www
优点:内网外网都可以主动访问

Q:为什么内网有服务器时用NAT Server,而不是静态NAT?
	静态NAT的映射关系设置后,一个IP地址只能一个主机使用,不能像NAT Server映射端口号,节省IP

23.广域网协议

1、局域网和广域网的对比
局域网带宽高但是传输距离短,无法满足广域网长距离传输;
局域网设备通常都是交换机,广域网设备大多都是路由器;
局域网属于某一个单位或者组织,广域网服务大多由ISP提供;
广域网与局域网一般仅在物理层和数据链路层采用不同的协议或技术,其他层次基本没有差异;
银行、政府、军队、大型公司的专用网络也属于广域网,且与Internet实现物理隔离;
Internet只是广域网的一种,小企业借用Internet作为广域网连接。

2、早期广域网技术
PPP:提供认证、分配IP地址,扩展性好(PPPOE),广泛使用
HDLC:过于追求可靠性,只支持同步传输,传输效率低
ATM:固定长度的信元,速率高,技术比较复杂而价格昂贵
FR:无差错的校验机制,带宽太低,已被淘汰

3、广域网络的设备介绍
CE:用户端连接服务提供商的边缘设备。CE连接一个或多个PE,实现用户接入。
PE:服务提供商连接CE的边缘设备。PE同时连接CE和P设备,是重要的网络节点。
P:服务提供商不连接任何CE的设备。

4、PPP的状态机
Dead状态:表示接口还没有启动
Establish状态:接口up后进入,会进行LCP协商,协商成功进入认证阶段,协商失败回到Dead状态
认证:认证成功或者无认证进入Network阶段,认证失败进入Terminate状态
Network:进行NCP网络参数协商,协商通过后就可以转发数据
Terminate状态:终结,会交互LCP的报文进行链路拆除

5、PPP报文的格式
组成:Flag,起始符,标识数据帧的开始和结束,固定为0x7E
Address,地址,无意义,固定全为1,十六进制为FF
Control,控制。表示无序号帧,固定为0x03
PS:Address+Control为FF03,表示为PPP的帧头
Protocol:标识上层协议
FCS:校验和

6、LCP的工作流程
1)LCP报文
Request(携带链路层参数的)、Ack(确认表示参数合法)、Nak(表示需要再次协商)、Reject(不识别参数)

2)协商
互相发送Request报文包含参数(魔术字、MRU、认证协议)、如果协商通过回复Ack
魔术字:用于防止物理环路,随机产生一个数值,收到Request报文魔术字不一致则协商成功
如果收到魔术字一致情况,回复Nak报文(包含魔术字),收到Nak重新选举魔术字再次进行协商,最多5次。
MRU:最大接收单元,协商时,如果不一致,会回复Ack直接以小为准
认证协议:由认证方携带,如果对端也配置的相应的认证,会直接回复Ack,如果没有配置回复Reject包含认证协议表示不能识别
认证方收到后,把认证协议Request报文内删除,重新发送,被认证方回复Ack。后续认证阶段认证失败拆链

3)维护
周期(10s)发送Echo-Request,收到后回应Echo-Reply,老化时间30s。

4)拆除
发送Terminate-Request、回复Terminate-Ack,如果Ack丢包,最多发送三个Terminate-Request,然后拆链。

7、认证——PAP协议
明文认证、两次握手、由被认证方主动发起
由被认证方首先发送Authenticate-Request,包含用户名和密码(明文携带)
认证方收到后Request后,将用户名和密码与本身数据库内进行对比
如果一致则回复Authenticate-Ack表示通过认证、不一致则回复Authenticate-Nak表示认证失败

认证方的配置
interface Serial0/0/0
link-protocol ppp
ppp authentication-mode pap
aaa
local-user huawei password cipher 123
local-user huawei service-type ppp

被认证方的配置
interface Serial0/0/0
link-protocol ppp
ppp pap local-user 1 password simple 123

8、认证——CHAP协议
密文认证、三次握手、由认证方主动发起
报文: Challenge挑战报文,用于发起认证,包含会话ID、随机数、用户名(可选)
Response用于被认证方响应认证方,包含会话ID,Hash值,用户名(必配)
Success、Failure:用于认证方告知认证成功或者失败

会话ID:用于区分认证方不同会话,认证方根据会话ID找到随机数进行Hash
随机数:每次发送挑战报文时,随机产生一个数值,参与Hash值计算,用于防重放攻击(使用之前报文进行认证)	
用户名:如果挑战报文内携带用户名,可以用户名去查找密码,如果没有携带直接使用接口的密码

1)认证方接口下没有配置用户名,被认证方接口下必须配置密码

验证方没有配置用户名(即接口没有配置命令ppp chap user username):
验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文(Challenge)。
被验证方接到验证方的验证请求后,利用Identifier、ppp chap password命令配置的CHAP密码和随机数进行MD5算法,将生成的密文和自己的用户名发回验证方(Response)。
验证方将自己本身保存的密码、Identifier和随机数进行MD5算法,和收到respone中的密文进行比较,以验证认证是否正确。

2)认证方接口下配置了用户(ppp chap user XXX),被认证方可以在接口或者AAA数据内配置密码

验证方配置了用户名的验证过程(即接口配置命令ppp chap user username):
验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文(Challenge),并同时将本端的用户名附带上一起发送给被验证方。
被验证方接到验证方的验证请求后,先检查本端接口上是否配置了ppp chap password命令,如果配置了该命令,则被验证方将生成的密文((Identifier+密码+随机数)的MD5)和自己的用户名发回验证方(Response)。如果接口上未配置ppp chap password命令,则根据此报文中验证方的用户名在本端的用户表查找该用户对应的密码,将密文((Identifier+密码+随机数)的MD5)和被验证方自己的用户名发回验证方(Response)。
验证方将自己本身保存的密码、Identifier和随机数进行MD5算法,和收到respone中的密文进行比较,以验证认证是否正确。
被认证方在接口下和AAA数据库下都配置了密码,接口密码优先直接使用接口密码去进行MD5运算

9、NCP——IPCP协商
分静态(检测IP地址地址是否冲突、并且生成32位主机路由)和动态(分配IP地址)
1)静态IPCP
互相发送Configure-Request,包含本身IP地址,收到后对比接口IP地址如果不冲突则回复Ack,协商通过
通过后32位主机路由,不同网段也可以互访。

只需要配置IP地址

2)动态IPCP
被分配地址端发送Configure-Request(其中IP为0.0.0.0)
分配地址端收到IP地址为0.0.0.0的Request报文,认为IP地址不合法,从地址池选出一个地址放入Configure-Nak报文内发送被分配地址端
被分配地址端收到Nak报文,将里面IP地址作为接口IP地址,重新发送Configure-Request
分配地址端收到Configure-Request,检测是否冲突,不冲突回复Ack
分配地址端也要正常发送Configure-Request(包含接口IP地址),被分配地址端协商回复Ack

10、PPPoE
1)作用:将以太网帧封装一层PPPoE头,实现以太网中也能使用PPP协议

Q:为什么运营商要使用PPPoE连接家庭或者企业网络?
	家庭上网需要:IP地址(DHCP)、认证(OSPF)、计费(AAA)
	如果不使用PPP,企业需要部署多个协议实现以上功能,而PPP可以满足需求,但是只能在点到点全双工链路使用,一般是光纤
	如果每家都单独连接一条光纤链路成本高,所以通过PPPoE,让以太网也能运行PPP协议,并且可以部署交换机减少链路成本

2)PPPoE会话建立
PPPoE的会话建立有三个阶段,PPPoE发现(discovery)阶段、PPPoE会话阶段和PPPoE终结阶段。

PPPoE发现(discovery)阶段
客户端广播发送PADI(init)请求需要的服务。
服务器收到后回复PADO(offer)多个服务器能够提供客户端服务。
客户端收到多份offer报文,选择第一份收到PADO,发送PADR(Request)报文,请求确认提供服务
服务器回复PADS(Session-Conf),包含会话ID
获取会话ID后,双方能通过会话ID+MAC地址确认通信双方

PPPoE会话(Session)阶段
正常进行PPP链路的协商,LCP、认证、NCP(动态IPCP获取地址)
PPP协商通过后正常转发数据。

PPPoE终结(Terminate)阶段
通信双方在任意时刻都可以发送PADT终结PPPOE的会话

猜你喜欢

转载自blog.csdn.net/cy6661/article/details/128605119