软考网络常考备忘录【1】

/ Magic清风 / 259阅读 / 0评论 / 分类: 网络技术

二层交换机工作原理

基于源MAC学习

1736144233454.png

交换机在刚开启的时候,MAC地址表一般都是空的
后续如图所示,几个PC之间进行交互
交换机根据发出的数据帧的源MAC地址进行学习,将收到该帧的端口与该帧源MAC写入MAC地址表
底层的工作原理就是基于源MAC学习

1736144346312.png

查表转发

当交换机收到一个目的MAC未知的帧的时候
会将该帧,除了收到该帧的接口以为的其他所有接口进行广播处理,直到找到该目的MAC
交换机会基于源MAC地址的学习,表内关系明确后
对于目的MAC地址已知的单播帧,交换机进行查表转发
对于目的MAC地址未知的单播帧,交换机进行广播处理
对于广播帧,交换机默认继续广播处理,直到达到目的

MAC Flood

1736145253960.png

一个耗尽交换机MAC地址表的一个DOS攻击
利用了交换机基于源MAC学习原理的一个漏洞
在短时间构造海量不同源MAC地址帧,发送给交换机,导致MAC地址表耗尽
从而导致正常的数据无法转发

解决MAC Flood

通过交换机端口安全技术去实现
将端口动态学习到的MAC地址转为安全MAC地址
来阻止该端口下额外学习到非法的MAC地址
其中安全MAC地址分为3类:
【1】 安全动态MAC地址:启用端口安全之后,从接口动态学习到的MAC地址,默认不老化,但重启表项会丢失,默认MAC地址表老化为300秒,也就是5分钟
【2】 安全静态MAC地址:启用端口安全之后,手动配置的MAC地址,默认不老化,重启不会丢失
【3】 StickMAC地址:启用端口安全和Stick后,安全动态和之后学习到的MAC都会转换为StickMAC,不会老化、重启也不会丢失

配置端口安全的几个参数解释:

编码 动作 解释
1 restrict 丢弃源MAC不存在的报文,并告警,华为默认使用该动作
2 protect 丢弃源MAC不存在的报文,不告警
3 shutdown 将接口状态置位为error-down,关闭接口,默认不会恢复,需要手动到接口下restart或者配置error-down auto-recovery进行自动恢复

配置端口安全命令参考:

/*配置交换机接口error-down之后的恢复*/
[SW1] error-down auto-recovery cause [选择应用如:port-security] 
/*配置端口安全开启*/
[SW1-GigabitEthernet0/0/1] port-security enable
/*配置端口安全动作,默认restrict*/
[SW1-GigabitEthernet0/0/1] port-security protect-action [protect/restrict/shutdown]
/*配置安全MAC地址最大条目*/
[SW1-GigabitEthernet0/0/1] port-security mac-mac-num [num]
/*配置老化时间*/
[SW1-GigabitEthernet0/0/1] port-security aging-time [time]
/*配置安全静态MAC地址*/
[SW1-GigabitEthernet0/0/1] port-security mac-address [address]
/*配置stick保护*/
[SW1-GigabitEthernet0/0/1] port-security mac-address stick
/*查看安全MAC表项*/
[SW1] display mac-address security
Flags: * - Backup
# - forwarding logical interface, operations cannot be performed based
on the interface.
BD   : bridge-domain   Age : dynamic MAC learned time in seconds
----------------------------------------------------------------
MAC Address    VLAN/VSI/BD   Learned-From        Type                Age
------------------------------------------------------------------------
00e0-fc12-3456 100/-/-       10GE0/0/1           security            -
----------------------------------------------------------------------
Total items: 1

配置静态MAC绑定

华为:

/*配置静态MAC与IP绑定*/
[SW1] user-bind static [ip地址] [MAC地址] interface [接口] VLAN [ID]
/*接口下调用绑定*/
[SW1-GigabitEthernet0/0/1] ip source check user-bind enable

华三:

[SW1-GigabitEthernet0/0/1] ip verify source ip-address mac-address
[SW1-GigabitEthernet0/0/1] ip source binding ip-address [ip地址] mac-address [MAC地址]

广播风暴

造成广播风暴的原因

  1. 二层环路,交换机未开启生成树(STP),或者生成树故障、设备or接口故障之类
  2. 网络中有攻击的行为,例如主机中病毒,一直往外发送恶意广播报文,或者对网络有扫描之类的行为
  3. 特殊应用场景,例如云桌面的主机批量启动(启动都会发arp、dhcp之类的广播,云主机数量庞大也可能造成拥塞),学校机房里面的电脑,批量开机类,都可能会造成

如何解决广播风暴

  1. 划分VLAN,隔离广播域,减少广播影响的范围
  2. 通过在交换机上运行STP、RSTP、MSTP,或者配置堆叠、链路聚合等技术,来破除二层环路
  3. 主机终端进行安全扫描,病毒查杀,消除网络
  4. 交换机的端口配置广播抑制、流量抑制功能

流量抑制配置实例:

[SW1] suppression mode by-packets
 /*配置未知单播流量抑制80%*/
[SW1-GigabitEthernet0/0/1] unicast-suppression 80
/*配置组播流量抑制70%*/
[SW1-GigabitEthernet0/0/1] multicast-suppression 70 
/*配置广播流量抑制60%*/
[SW1-GigabitEthernet0/0/1] broadcast-suppression 60 
/*配置已知单播流量抑制100kbit/s*/
[SW1-GigabitEthernet0/0/1] konw-unicast-suppression cir 100 
/*查看接口流量抑制*/
[SW1] display flow-suppression interface GigabitEthernet0/0/1 
storm type         rate mode   set rate value
---------------------------------------------
unknown-unicast    percent         percent: 80%
multicast          percent         percent: 70%
broadcast          percent         percent: 60%
known-unicast      bps             cir: 100(kbit/s), cbs: 18800(byte)
-------------------------------------------

风暴抑制配置实例:

/*配置风暴抑制白名单ARP协议*/
[SW] storm-control whitelist protocol arp-request
/*配置风暴抑制广播最大1000个包,大于2000个就阻塞*/
[SW1-GigabitEthernet0/0/1] storm-control broadcast min-rate 1000 max-rate 2000
/*配置风暴抑制组播最大1000个包,大于2000个就阻塞*/
[SW1-GigabitEthernet0/0/1] storm-control multicast min-rate 1000 max-rate 2000
/*配置风暴抑制单播最大1000个包,大于2000个就阻塞*/
[SW1-GigabitEthernet0/0/1] storm-control unicast min-rate 1000 max-rate 2000
/*配置风暴抑制检测行为动作为阻塞报文*/
[SW1-GigabitEthernet0/0/1] storm-control action block
/*配置风暴抑制检测时间间隔*/
[SW1-GigabitEthernet0/0/1] storm-control interval 90
/*配置风暴抑制日志记录开启*/
[SW1-GigabitEthernet0/0/1] storm-control enable log
/*配置风暴抑制上报告警*/
[SW1-GigabitEthernet0/0/1] storm-control enable trap
/*查看风暴抑制配置情况*/
[SW1] display storm-control interface GigabitEthernet0/0/1
PortName     Type      Rate      Mode Action   Punish-  Trap Log Int Last-
(Min/Max)               Status                Punish-Time
---------------------------------------------------------
GE1/0/0      Broadcast 1000/2000      Pps  Block    Normal   On  On  90  -
GE1/0/0      Multicast 1000/2000      Pps  Block    Normal   On  On  90  -
GE1/0/0      Unicast   1000/2000      Pps  Block    Normal   On  On  90  -
-----------------------------------------------------------

两者区别

原理来看,两者都是预防报文引起的广播风暴
流量抑制,对超过阈值的流量,进行丢包处理
风暴抑制,对超过阈值的流量,进行对设置的端口进行关闭处理
一个接口下配置二选一

DHCP Snoonping

基础简介

1736167819595.png

该技术应用的场景,是为了确保用户从合法DHCP服务器中获取地址的一个技术,以防出现冒充DHCP服务器之类的攻击(或者用户私接傻瓜路由器造成的短断网),用户通过非法DHCP获取的地址,会导致无法正常上网

1736168470910.png

通过配置DHCP Snooping,能确保DHCP客户端正确的获取到DHCP服务器的地址
DHCP Snooping将端口分为了,信任端口非信任端口
信任端口能正常响应DHCP服务器发来的DHCP ACKDCHP OfferDCHP NAK报文
而非信任端口收到这些报文则直接丢弃
客户端的请求报文只会通过信任端口发给DHCP服务器,而不会发给非信任端口

配置命令

1736168853994.png

如上图所示配置参考
物理接口配置:

/*配置全局模式下开启DHCP Snooping*/
[SW1] dhcp snooping enable
/*配置接口下开启DHCP Snooping功能*/
[SW1-GigabitEthernet0/0/1] dhcp snooping enable
[SW1-GigabitEthernet0/0/2] dhcp snooping enable
/*配置开启功能、信任端口*/
[SW1-GigabitEthernet0/0/3] dhcp snooping enable
[SW1-GigabitEthernet0/0/3] dhcp snooping trusted

VLAN配置:

/*配置全局模式下开启DHCP Snooping*/
[SW1] dhcp snooping enable
/*配置VLAN下开启DHCP Snooping功能*/
[SW1-vlan2] dhcp snooping enable
/*配置开启功能、信任端口*/
[SW1-GigabitEthernet0/0/3] dhcp snooping enable
[SW1-GigabitEthernet0/0/3] dhcp snooping trusted

路由&路由表

路由器也是查表转发,查的是路由表
根据收到的数据包的目的IP进行查表转发
根据最长掩码匹配机制匹配到最优路由之后,将数据包按照路由表记录的下一跳接口以及地址,进行转发

1736217110088.png
例如PC1去访问PC2,R1收到数据包之后,发现目的IP在自己路由表内,有个静态路由,那么该数据包就按照这条静态路由所指下一跳,进行转发
路由表内的路由可以分为以下三种:

【1】 直连路由:路由器接口下所在网段的路由
【2】 静态路由:人为手动添加的路由
【3】 动态路由:从动态路由协议中学习到的路由

查看路由表:

[R1] display ip routing-table 
Route Flags: R - relay[迭代路由], D - download to fib[FIB转发表], T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: Public
         Destinations : 8        Routes : 8
      Destination/Mask  Proto  Pre  Cost   Flags NextHop        Interface
          0.0.0.0/0     Static 60   0      D      10.1.4.2      GigabitEthernet1/0/0
         10.1.4.0/30    OSPF   10   0      D      10.1.4.1      GigabitEthernet1/0/0
         10.1.4.1/32    Direct 0    0      D     127.0.0.1      InLoopBack0
         10.1.4.2/32    OSPF   10   0      D      10.1.4.2      GigabitEthernet1/0/0
        127.0.0.0/8     Direct 0    0      D     127.0.0.1      InLoopBack0
        127.0.0.1/32    Direct 0    0      D     127.0.0.1      InLoopBack0
  127.255.255.255/32    Direct 0    0      D     127.0.0.1      InLoopBack0
  255.255.255.255/32    Direct 0    0      D     127.0.0.1      InLoopBack0

对一下几个字段做一下解释:

条目 解释
Destination/Mask 目的地址/掩码
Proto 该路由的协议,可以是Static/OSPF/BGP/IS-IS
Pre 路由优先级
Cost 路径开销值
Flags 标志位
NextHop 下一跳地址
Interface 出接口

路由协议的优先级

协议 优先级
直连Direct 0
OSPF 10
IS-IS 15
静态Static 60
RIP 100
OSPF_ASE 150
OSPF_NSSA 150
IBGP 255
EBGP 255

优先级越小,路由越可靠

路由协议&分类

1736232457346.png

从内外可以分为内部网关协议[IGP]外部网关协议[EGP]
根据算法,又可以分为距离矢量路径矢量链路状态
距离矢量基于Bellman-Ford算法
链路状态基于Dijkstra算法也叫SPF最短路径优先算法

RIP路由协议

RIP作为早期网络使用的一种协议,现已基本不用
一个内部网关协议IGP,基于距离矢量算法
以到达目的网段跳数作为cost衡量(经过一个路由器算一跳)
在RIP里,最大跳数为15跳,16跳为不可达,只适用于小型网络中
华为设备中,默认路由优先级为100
UDP520端口收发协议报文

1736234314157.png

协议特点:
每个30秒更新自己路由表,将自己路由表广播给全网
180秒没收到某条路由的更新会进入垃圾收集定时器状态(120秒),总计5分钟该条失效的路由才会从路由表内删除,收敛较为缓慢。

1736235188822.png

另外RIP有两个版本,一个RIPv1,RIPv2,两者之间区别:

1736234869544.png

以跳数作为度量的缺点:
会导致低带宽链路被选中

1736235389373.png

RIP的放环机制:
【1】 最大跳数限制:RIP最大16跳限制
【2】 水平分割:一条路由信息,不会再发送给产生它的来源
【3】 毒性逆转:把从邻居学到的路由cost修改为16跳,再发给那个邻居
【4】 抑制定时器和触发更新机制

OSPF路由协议

OSPF开放最短路径优先协议(Open Sortest Path First)
目前应用最多一个IGP内部网关协议
基于链路状态,Dijkstra算法,也可以叫最短路径算法(SPF)
通过连通性、距离、带宽等状态计算最佳路径
华为设备中,内部路由优先级默认10优先级,外部和外部引入路由默认150优先级
详解请看这章OSPF详解,这里制作简要描述

OSPF特点

采用触发式更新,通过组播交换协议报文224.0.0.5224.0.0.6
224.0.0.5是给Drother和DR之间同步使用,224.0.0.6是给DR和BDR之间使用
支持区域划分,将网络划分为多个区域,降低网络带宽占用以及设备内存和CPU的使用率,所有区域必须和骨干区域相连接

1736253389495.png

跨区域连接可以通过虚连接区进行,如上图场景所示
其次OSPF中,可以通过选举DR和BDR来降低全网互联,降低网络复杂度,全网路由更新只由DR发起,Drother只需相应即可
OSPF之间交互的是LSA(链路状态摘要描述)
广播网络中,每隔10秒发送一次Hello报文,来确保邻居存活,Deadtime为4倍HelloTime也就是40秒,需要选举DR和BDR
NBMA网络中是每隔30秒DeadTime为120秒,需要选举DR和BDR
PPP网络Hello时间同广播网络一样,不需要选举DR和BDR
P2MP网络Hello时间同NBMA网络一样,不需要选举DR和BDR
两边路由器Hello时间不一致会导致邻居建立失败

1736252030167.png

OSPF报文

名称 解释
Hello 用于建立邻居用
DD 交互协商LSA信息,进行LSDB同步
LSA LSDB中路由摘要
LSR 请求路由摘要信息
LSU 发送路由更新摘要
LSACK 路由更新摘要收到后的确认

DR&BDR

选举规则:
优选接口优先级高的作为DR,默认为10不参与选举
优先级相同比较Router-id越大越优先,其中Router-id优选手动配置的,但全局模式先配置的Router-id没有在ospf进程中配置的Router-id优先级大
没有配置Router-id的情况,会从Loopback接口中取最大的IP作为Router-id
没有配置Loopback接口的情况下,则从接口IP中取最大的作为Router-id,且不考虑接口up/down
Router-id没有选举出DR,则会从接口IP中对比最大的一方作为DR
DR和BDR不具有抢占性,不会导致全网收敛频繁
DRother只需要和DR及BDR建立邻居(two-way)即可

1736252352859.png

Cost值

1736252901639.png

OSPF中,使用Cost开销作为路由度量值
计算公式=100M/接口带宽这100M是OSPF中的参考带宽(reference-bandwidth)可以根据值进行修改
一条OSPF的路由,cost值是所经过所有路由cost值的总和,如上图所示

路由器角色

1736253571059.png

分为IRBRABRASBR
IR区域内路由器
BR骨干路由器
ABR区域边界路由
ASBR自治系统边界路由器

BGP边界网关协议

BGP(Border Gateway Protocol)边界网关协议
适用于大型网络的一个EGP协议,连接不同AS之间的桥梁,使用TCP179端口建立关系
支持增量更新,支持认证、无类、路由聚合(手动聚合>自动聚合>Network>import引入)
是一种路径矢量路由协议
BGP详解请看[]()这里只做概述

BGP的报文类型

一共4种OpenUpdateKeepaliveNotification

类型 解释 概述
Open 建立邻居关系 与对端建交
Update 发送新的路由更新 更新外交信息
Keepalive 周期性确认邻居关系60s检测180s没收到则认为失效 保活
Notification 报告检测到的错误 向外发布通过

BGP的选路规则

BGP中一共有13条选路规则,这些规则尤其重要,务必记忆

  1. 丢弃下一条不可达路由
  2. 优选Preference_Value最高的路由(私有熟悉本地有效)
  3. 优选Local_Preference最高的路由
  4. 优选手工聚合>自动聚合>Network>import的路由
  5. 优选AS_Path最短的路由
  6. 优选起源类型IGP>EGP>Incomplete
  7. 对于来自同AS的路由,优选MED值小的最优
  8. 优选从EBGP学习的路由EBGP>IBGP
  9. 优选AS内部IGP中Metric最小的路由
  10. 优选Cluster_List最短的路由
  11. 优选Orginator_ID最小的路由
  12. 优选Router-id最小的路由器发布的路由
  13. 优选IP地址最小的邻居学来的路由

BGP属性分类

1736340495250.png

分为公共属性、和可选属性
公共属性又分为公认必尊属性公认可选属性

【1】公认必尊属性:
所有运行了BGP的路由器发布的路由都必须携带属性,并且都必须能识别这些属性
有以下几个参数值
AS_Path[AS路径]Next-Hop[下一跳信息]Orgin[起源,路由来源]
【2】公认可选属性:
所有运行了BGP的路由器对这些属性都可以识别,非必须携带属性
有以下几个参数值
Local_Preference[本地优先级]Atomic_aggregate[自动聚合]

可选属性又分为可选传递属性可选非传递属性

【1】可选传递属性:
路由器可以不识别这些属性,但会继续向下传递这些属性
有以下几个参数值
Community[团体字]Aggregate[手动聚合]

【2】可选非传递属性:
路由器可以不识别这些属性,并且不识别的时候,不在向下传递属性
有以下几个参数值
MEDCluster_list[集群列表]Orginator_id[起源ID]

IS-IS路由协议

IS-IS(Intermediate System to Intermediate System)中间系统到中间系统协议
是一个内部网关协议,也是运营商运用较多的一个协议,属于链路状态路由协议也使用SPF算法
与OSPF类似,通过Hello报文建立邻居,不过IS-IS是运行在链路层之上
和OSPF也有区域的概念,但不同
一个IS-IS路由器只能属于一个区域
包含了L2或L1-2的区域是骨干区域
与OSPF区域不同的区域如下图所示:

1736404076670.png

ES是终端,IS是中间系统,RD是路由域、ES-IS是终端到中间系统、Area是区域

1736392072061.png

IS-IS路由分级

1736392217185.png

IS-IS中路由分为以下几种Level-0Level-1Level-2Level-3
【1】Level-0路由:
该路由只存在于ES到IS之间,也就是终端到中间系统
【2】Level-1路由:
区域内路由,就是同区域间,不同IS设备
其中如果要跨区域传递,需要Level-1-2路由转发,如下面路由角色篇所讲
【3】Level-2路由:
区域间路由,处于同个路由域,但链接着不同的区域
【4】Level-3路由:
域间路由,每个域都属于一个自治系统

IS-IS路由器角色

1736392266497.png

【1】Level-1路由器:
负责区域内的路由,只维护L1的LSDB,包含本区域内的路由信息,如果要出区域,则会转给离他最近的L1-2路由器
【1】Level-1-2路由器:
负责区域内和区域间的路由还有路由域间的路由,维护2个LSDB,一个L1一个L2
【1】Level-2路由器:
负责路由域间路由,维护L2的LSDB,该LSDB中包含了区域间的路由

文章作者:Magic清风

文章链接:https://skylan.cc/archives/1736128241989

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!


评论