OSPF
——开放式最短路径优先协议
无类别链路状态IGP动态路由协议
距离矢量协议
运行距离矢量协议的路由器会周期性的泛洪自己的路由表,通过路由之间的交互,每台路由器都从相邻的路由器学习到路由条目,随后加载进自己的路由表中。对于网络中的所有路由器而言,他们并不清楚整张拓扑的结构,只是简单的知道要去往某个地方方向在哪儿,距离多远。这既是距离矢量协议的本质。
链路状态协议
与距离矢量协议不同,链路状态协议通告的是链路状态,而不是路由表。运行链路状态协议的路由器之间会首先建立一个协议的邻居关系,然后彼此之间开始交互LSA=链路状态通告。每台设备都会产生自己的LSA,路由器将接收到的LSA信息放入自己的LSDB(链路状态数据库)中。路由器通过自己的LSDB,便掌握了全网的拓扑。最后,路由器将计算出最优路径加载进自己的路由表中。
支持同开销负载均衡
基于组播进行更新——224.0.0.5 224.0.0.6
支持触发更新
每30min周期更新一次
需要结构化的部署
区域划分---地址规划
区域划分的规则
星型结构
骨干区域为0去,所有大于0的区域 都是非骨干区域,所有非骨干区域必须接入到骨干区域上
ABR---域间路由器
两个区域互联时,必须存在域间路由器ABR,且ABR同时工作在两个区域
Router ID 路由器标识符
——用于在一个OSPF域中唯一的标识一台路由器,RID必须唯一。
RID的设定可以通过手工配置的方式,或使用系统自动生成的方式。(切记:务必使用手工配置的方式)
使用系统自动生成---有限配置环回的最大数值,如果没有环回则选择最大的物理接口。
使用cost值作为度量值;cost=参考带宽/接口带宽;参考带宽默认为100M;整段路径cost值之合最小为最佳
若接口带宽大于参考带宽,则度量值为1 ,故会导致选路不佳,所以在接口带宽大于参考带宽的环境中,可以认为修改参考带宽。
OSPF的数据包
Hello包
——用于邻居间的发现关系建立和周期保活
DD包---数据库描述包
——用于携带本地的数据库目录
LSR包---链路状态请求包
——在查看完对端的DD包后,基于本地的LSA进行信息查询,随后去索要
LSU包---链路状态更新包
——用于携带各种LSA信息
LSack包---链路状态确认包
——表示确认收到
OSPF的状态机
Down状态
——表示未被激活的状态,一旦本地发出hello包,或接收到hello包,立刻进入下一个状态机
Init状态
——表示初始化的状态
TOW-WAY状态
——双向通讯建立,表示建立了邻居关系
条件匹配
Exstart 状态
——预启动,使用不携带数据库目录的DD包进行主从选举,RID大为主,优先进入下一个状态机
Exchange 状态
——准交换,携带具体数据库目录的DD包进行目录交换,需要ack确认
Loading状态
——加载,在查看完对端的DD包后,使用LSR LSU 及 LSACK 进行LSDB的同步。
FULL 状态
——转发,邻接关系建立的标志
OSPF的工作过程
启动配置完成后,本地组播 224.0.0.5 发送hello包;
Hello包将携带本地的rid值,以及本地已知的所有邻居的rid值;
若接收到来自对端的hello包中,存在本段的rid,那么视为双方认识,邻居关系建立;
生成邻居表
邻居关系建立后,开始条件匹配,匹配失败将永远停留于邻居关系,仅hello包保活即可;
若条件匹配成功,则表明可以建立邻接关系
先使用不携带数据库目录的DD包进行主从选举,rid大为主,优先进入下一个状态(优先共享自己的数据库目录)
最后在基于对端的DD包查询本地的LSDB,筛选出自己所需要的LSA
之后使用LSR LSU LSACK 来获取未知的LSA信息;
最终生成数据库表(LSDB-链路状态数据库表)
之后启用SPF算法,基于本地的LSDB生成有向图,在计算出最短路径树,在基于树形结构算出本地到达所有位置的最短路径,加载于本地的路由表中;
收敛完成后,hello包周期保活;
每30min邻接关系之间,在进行DD包的比对,若一致,则继续保活,若不一致则重新收敛。
结构突变
新增一个网段
——直连新增网段的设备 直接使用更新包告知邻接关系 需要ack确认
断开一个网段
——直连断开网段的设备 直接使用更新包告知邻接关系 需要ack确认
无法沟通
——hello time 10s , dead time 40s ,时间到了就删除邻居信息
OSPF的基础配置
[R1]ospf 1 router-id 1.1.1.1
——创建ospf进程, 进程号为1, RID为1.1.1.1
[R1-ospf-1]area 0
——进入0区
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
反掩码:掩码反过来
<R2>display ospf peer
——查询邻居关系
<R2>display ospf peer brief
——查询邻居表
<R2>display ospf lsdb
——查询数据库表
<R2>display ospf lsdb router 2.2.2.2
——打开数据库表种的详细目录 (类型+ID)
修改参考带宽 注:单位
[R2]display ospf routing
——查看ospf生成的路由表
OSPF的扩展配置
从邻局关系成为邻接关系的条件
网络类型---两个类型
点到点的网络
——在一个网段中,仅支持存在两个节点
MA---多路访问
——在一个网段中,支持存在的节点不限
在点到点的网络类型中,所有邻居关系将直接成为邻接关系
在MA网段中,若所有设备间均是邻接关系,将导致大量的重复更新;故进行DR/BDR的选举。
所有和DR/BDR设备相连的设备之间,为邻接关系
所有非DR/BDR的设备统一称之为DRother
选举DR/BDR的规则
①先比较参选接口的优先级,默认为1 范围0-255 大为优
② 若接口的优先级相同,比较参选设备的RID,大为优
[R1]interface g 0/0/0
——进入参选接口
[R1-GigabitEthernet0/0/0]ospf dr-priority 2
——将该接口在sopf协议中 DR参选时 优先级设置为2
DR的选举是非抢占性质的,若参选接口的优先级为0,则视为放弃参选。
<R1>reset ospf process
——重启ospf进程
手工认证
——在相邻的设备之间定义安全密钥
[R1]interface g 0/0/0——进入相邻接口
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 666666
手工汇总——汇总区域
[R2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
——在0区中进行路由汇总发往其他区域
注意:必须要在域间路由器上进行汇总,汇总那个区域就进入那个区域去做。
被动接口——沉默接口
——仅接收不发送路由信息,只能用于链接用户pc端的接口;不得用于路由器之间。
[R1-ospf-1]silent-interface g 0/0/1
——在ospf1进程中,将g0/0/1接口设置为被动接口
加快收敛——改计时器
Hello time 10s dead time 40 s
切记:邻居间直连接口的 hello time。若不一直,则该接口的dead time 就会自动关闭,将无法建立邻居关系
修改时不建议修改的过小
[R1-GigabitEthernet0/0/0]ospf timer hello 10
——将该接口 的hello time 修改为10 s
缺省路由
——在连接的边界路由器上,配置一条缺省路由,随后该设备将向内网发送缺省路由目的地指向自己。
[R3-ospf-1]default-route-advertise always
——下发缺省路由
VLAN
——虚拟局域网---在交换机和路由器协同工作之后,将原先的一个广播域逻辑上切分为多个广播域。
创建vlan
[SW1]display vlan
——查看vlan
VID---vlan ID 用来区分和标定不同的vlan
VID由12位二进制构成,范围 0-4095 0和4095作为保留值 1-4095
[SW1]vlan 2
——创建vlan2
[SW1]vlan batch 4 to 100
——批量创建vlan 4-100
划分vlan
①基于端口的vlan
②基于mac地址的vlan
③基于协议的vlan
[SW1]display mac-address
——查询mac地址表
加入VID之后交换机的转发原理
当数据来到交换机,交换机会先记录源MAC地址和接口的映射关系,顺便将接口所对应的VID进行记录。之后查看目标MAC地址,若目标MAC地址在本地的MAC地址表中有记录且VID和源MAC地址及相应接口对应的VID相同,则单播,若VID不同则进行泛洪。(泛洪只在VID相同的区域内进行)
IEEE组织-----802.1q标准
在源MAC地址和长度类型之间加了4个字节的tag(标签),这样的新帧结构我们称之为802.1q帧或者叫做tagged帧。将没有打标签的802.1q帧称之为untagged帧。
我们把交换机和PC端之间的链路我们称之为access链路,access链路只能通过untagged帧,并且这些帧只能属于一个特定的vlan;将交换机与交换机(路由器)之间的链路我们称之为trunk链路,trunk链路中运行通过tagged帧,且这些帧可以属于多个vlan。
[SW1-GigabitEthernet0/0/1]port link-type access
——定义该接口下链路类型为 access
[SW1-GigabitEthernet0/0/1]port default vlan 2
——定义该接口所属vlan为 vlan2
[SW1-GigabitEthernet0/0/6]port link-type trunk
——定义该接口下链路类型为 trunk
[SW1-GigabitEthernet0/0/6]port trunk allow-pass vlan 2 to 3
——定义该接口下可通过的vlan为 vlan2 和 vlan3
[SW2-GigabitEthernet0/0/3]port trunk allow-pass vlan all
——定义该接口下可通过的vlan 为 所有vlan
实现vlan间的通信
路由器的子接口——虚拟接口---将路由的一个物理接口,逻辑上划分为多个虚拟的子接口。
[R1]interface g 0/0/0.1 进入g 0/0/0接口的子接口 0/0/0.1
虚拟子接口默认关闭arp广播
[R1-GigabitEthernet0/0/0.1]dot1q termination vid 2
——让该接口执行802.1q标准 且 管理vid2
[R1-GigabitEthernet0/0/0.1]arp broadcast enable
——开启子接口的arp广播功能
ACL——访问控制列表
访问控制
——在路由器的入或者出接口上,匹配流量,之后产生动作----允许/拒绝
定义感兴趣流量
——帮助其他软件抓流量
匹配规则
至上而下,逐一匹配,上调匹配按照上条执行,不在查看下条; 在思科体系中,末尾隐含拒绝所有,在华为体系中,末尾隐含允许所有。
ACL的分类
标准——仅关注数据包中的源IP地址
扩展——关注数据包中的源IP地址 目标IP地址 协议号或目标端口号
标准ACL的配置
由于标准ACL仅关注数据包中的源IP,故,调用时尽量靠近目标为最佳,防止误杀。
2000-2999 标准acl的编号 3000-3999 扩展acl的编号
[R2]acl 2000
——创建标准ACL 编号为2000
[R2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0
——规定拒绝源 192.168.1.2,这个IP
配置地址时,需要使用通配符
Acl的通配符与ospf的反掩码匹配规则相同,唯一区别在于通配符可以进行0 1的穿插
[R2-acl-basic-2000]rule permit source any
——规定允许放通的IP为任意
[R2-acl-basic-2000]rule 9 deny source 192.168.1.3 0.0.0.0
——规定步调为9,拒绝源192.168.1.3 这个IP
[R2]interface g 0/0/1
——进入需要调用acl的接口
[R2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
——在0/0/1接口出方向上 调用acl2000
扩展ACL
由于扩展ACL可以对流量进行精确匹配,故,调用时尽量靠近源为最佳。
关注源IP 和目标 IP
[R1]acl 3000
——创建扩展acl 编号为3000
[R1-acl-adv-3000]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.2 0.0.0.0
——规定拒绝源 192.168.1.2 向目标 192.168.3.2 的ip行为
在关注源IP目标IP的同时,再关注目标端口号/协议号
Telnet——远程登录
——基于tcp 23号端口
条件
1、登录与被登录设备之间必须可达
2、被登陆设备开启telnet设定
[R2]aaa
——开启aaa服务
[R2-aaa]local-user MXY privilege level 15 password cipher 123456
——创建一个名为MXY 权限为15 密码为123456 的用户
[R2-aaa]local-user MXY service-type telnet
——定义MXY账户适用于telnet协议
[R2]user-interface vty 0 4
——创建用于账号登录的虚拟通道 0-4 个
[R2-ui-vty0-4]authentication-mode aaa
——该虚拟通道服务于aaa
[R1]acl 3003
——创建扩展acl 编号为3003
[R1-acl-adv-3003]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23
——规定拒绝源 192.168.1.10 向目标 192.168.2.2 的 tcp行为中的端口号为23的行为
[R1-acl-adv-3003]rule deny icmp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0
——规定拒绝源 192.168.1.10 向目标 192.168.2.2 的icmp行为