将此博客当作学习笔记,持续更新,欢迎指正。参考书目《网络工程师教程(第五版)》
涉及内容
1、RIP | 2、ISIS | 3、OSPF |
4、BGP | 5、命令 | 6、ACL |
1、RIP协议
距离矢量路由协议
基于UDP协议,端口号520
RIP的路由最大跳数为15,限制了RIP只适用于小型网络。
如果路由器在3分钟内没有收到路由更新信息,则说明该路由不可达。
定时发布路由信息,同时也支持触发更新
组播地址224.0.0.9
RIP路由器并不清楚网络拓扑结构,只知道该从哪里邹,距离多远
RIP三个定时器
更新定时器 —> 每隔30s发送整张路由表的副表给邻居路由器
无效定时器 —> 180s,超过这个时间没有收到邻居路由器发来的更新信息,则认为路由失败
垃圾收集定时器 —> 当路由器的路由无效后,该路由成为一个无效路由项,COST值会标记为16,缺省时间为120s,如果在这段时间内没收到该路由的更新消息,计时器结束后清除该条路由项。
*RIP规定在邻居之间每30s进行一次路由更新,如果180s仍未收到邻居的通告信息,则可以判断路由事败,并将COST值设置为16。
2、ISIS协议
基于Logical-link control
3、OSPF协议
开放最短路径优先路由协议
分布式链路状态路由协议
基于IP协议(协议号89)
采用组播方式进行路由发布 ——> 不需要进行传输层的封装
在网络拓扑发生变化时发布路由信息
并非所有的路由器都发布路由信息 —> 指定路由器(DR)代表网络向外界发布路由信息
组播地址 224.0.0.5
分层的路由协议。
自治系统被划分为多个区域,每个区域运行路由选择算法的一个实例,连接多个区域的路由器运行路由选择算法的多个实例。
通过hello报文来发现邻居,并保持邻居的活动状态
Hello报文中的TTL值为1 ——> 不能跨网段组播
OSPF的一个区域可以有多个网段 ——> 可以有多个DR和BDR
OSPF的路由器知晓整个网络拓扑结构 ——> 更不容易发生环路
不支持可变长子网掩码(VLSM)
区域类型(5个)
为了限制路由信息传播范围过大,避免网络中的路由信息过多,以提高路由收敛速度
(不同类型的区域对自治系统外部传入的路由信息的处理方式不同)
1、标准区域:可以接收任何链路更新信息和路由汇总信息
2、骨干区域:连接各个区域的传输网络,其他区域都通过骨干区域交换路由信息。拥有标准区域的所有性质
3、末梢区域:不接受本地自治系统以外的路由信息,对自治系统以外的目标采用默认路由0.0.0.0
4、完全末梢区域:不接受自治系统以外的路由信息,也不接受自治系统内其他区域的路由汇总信息,发送到本地区域外的报文使用默认路由0.0.0.0
5、非完全末梢区域:类似于存根区域,但是允许接收以类型7的链路状态公告发送的外部路由信息
路由器类型
内部路由器:每个接口都属于同一个区域的路由器
骨干路由器(BR):包含有属于Area 0的接口的路由器
区域边界路由器(ABR):某些接口属于Area 0,其他接口属于别的区域的路由器
自治系统边界路由器:与本自治系统之外的网络相连的路由器
——>
所有区域边界路由器ABR都是骨干路由器BR;
所有的ABR和位于Area 0的内部设备都是骨干路由器;
4、BGP协议
外部网关协议,主要用于自治系统(Automatic Systen,AS)之间的路由选择协议。
基于距离向量。
使用TCP作为其传输层协议
BGP基于TCP的179号端口 —> 需要建立TCP连接之后进行路由更新
报文类型
OPEN报文 —> 建立邻居关系
KEEPALIVE报文 —> 对OPEN请求进行应答
UPDATE报文 —> 发送路由更新信息
NOTIFICATION报文 —> 通告路由错误
BGP路由器收到一条路由信息时,首先检查它所在的自治系统是否在通路列表中。如果在,则该路由信息被忽略,从而避免路由环路。
5、命令
display ip routing-table
华为对路由器协议优先级的定义
路由类型 | 优先级 |
直连路由 | 0 |
OSPF内部路由 | 10 |
ISIS路由 | 15 |
静态路由 | 60 |
RIP路由 | 100 |
OSPF ASE路由 | 150 |
OSPF NSSA路由 | 150 |
IBGP路由 | 225 |
EBGP路由 | 225 |
6、访问控制列表ACL
根据源地址、目标地址、源端口或目标端口等协议信息对数据包进行过滤,从而达到访问控制的目的。包含permit / deny两种动作
ACL类型
基本ACL、高级ACL、二层ACL、用户ACL
分类 | 规则定义描述 | 编号范围 |
基本ACL |
仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则 只能根据源IP地址过滤流量 ——> 应用在离目的地最近的位置 |
2000~2999 |
高级ACL | 既可使用IPv4报文的源IP地址,也可使用目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口、UDP源/目的端口号、生效时间段等来定义规则 可以根据源/目的地址/目的端口过滤流量 ——> 应用在离源最近的位置 |
3000~3999 |
二层ACL | 使用报文的以太网帧头信息来定义规则,如根据源MAC地址、目的MAC地址、二层协议类型等 | 4000~4999 |
用户ACL |
既可使用IPv4报文的源IP地址,也可使用目的IP地址、IP协议类型、ICMP类型、TCP源端口/目的端口、UDP源端口/目的端口号等来定义规则 | 6000~6031 |
如果使用基本ACL,应该把它应用在流量传输过程中离目的地最近的位置。
如果使用高级ACL,应该把它应用到离源最近的位置。
ACL语句处理规则
*自顶向下逐个处理ACL语句 —> 要把最特殊的语句排在列表最前面,最一般的语句排在列表的最后面
1、一旦发现匹配的语句,就不再处理列表中的其他语句。
2、语句的排列顺序很重要。
3、如果整个列表中没有匹配的语句,则分组被丢弃。
例如,
rule deny ip destination 172.16.0.0 0.0.255.255
rule permit ip destination 172.16.0.0 0.0.0.255 //范围更大,但第一条ACL语句被执行后,
//第二条ACL语句就被忽略了
ACL配置实例
基本ACL
system-view
acl 2001
rule permit source 172.16.10.3 0
---------
system-view
acl 2001
rule permit source 172.16.10.3 0
rule deny source 172.16.10.0 0.0.0.255
description Permit only 172.16.10.3 through
----------
//基于时间的ACL规则
//创建时间段 working-time
//并在名称为work-acl的ACL中配置规则
system-view
time-range working-time 8:00 to 18:00 working-day
acl name work-acl basic
rule deny source 172.16.10.0 0.0.0.255 time-range working-time
-----------
//配置基于IP分片信息、源IP地址过滤报文的规则
//拒绝源IP地址是172.16.10.0/24网段地址的非首片分片报文通过
system-view
acl 2001
rule deny source 172.16.10.0 0.0.0.255 none-first-fragment
--------------
高级ACL
//配置基于ICMP协议类型、源IP地址和目的IP地址过滤报文的规则
system-view
acl 3001
rule permit icmp source 172.16.10.3 0 destination 172.16.20.0 0.0.0.255
-----------
//拒绝建立telnet连接
system-view
acl name deny-telnet
rule deny tcp destination-port eq telnet source 172.16.10.3 0 destination 172.16.20.0 0.0.0.255
system-view
acl name no-web
description Web access restrictions
rule deny tcp destination-port eq 80 source 172.16.10.3 0
rule deny tcp destination-port eq 80 source 172.16.10.4 0
*用于TCP和UDP端口号的操作符
*常用TCP和UDP端口号
ACL综合应用
【实例1】某公司通过Router实现各部门之间的互连。公司要求禁止销售部门在上班时间(8:00-18:00)访问工资查询服务器(IP地址为192.168.10.10),财务部门不受限制,可以随时访问,拓扑结构如图所示。
1、配置接口加入VLAN,并配置VLANIF接口的IP地址
//将路由器接口1、2分别加入VLAN10、20,Eth2/0/0加入VLAN100,并配置各VLANIF接口的IP地址。以Eth2/0/1和VLANIF10接口为例。
system-view
sysname R1
vlan batch 10 20 100
interface ethernet 2/0/1
port link-type trunk
port trunk allow-pass vlan 10
quit
interface vlanif 10
ip address 192.168.1.1 255.255.255.0
quit
2、配置时间段
time-range satime 8:00 to 18:00 working-day
3、配置ACL规则
acl 3001
rule deny ip source 192.168.1.0 0.0.0.255 destination 192.168.10.10 0.0.0.0 time-range satime
quit
4、配置基于ACL的流分类
//配置流分类c_xs,对匹配ACL3001的报文进行分类
traffic classifier c_xs
if-match acl 3001
quit
5、配置流行为
//配置流行为b_xs,动作为拒绝报文通过
traffic behabior b_xs
deny
quit
6、配置流策略
//配置流策略p_xs,将流分类c_xs与流行为b_xs关联
traffic policy p_xs
classifier c_xs behavior b_xs
quit
7、应用流策略
//由于销售部门访问服务器的流量从Eth2/0/1进入Router,所以可以在Eth2/0/1接口的入方向应用流策略p_xs
interface ethernet2/0/1
traffic-policy p_xs inbound
quit
8、检查配置结果
display acl all
display traffic-policy applied-record