CCNP学习笔记3-路由部分--OSPF

ospf                rip                eigrp

分类        IGP 无类 链路状态  IGP 无类 距离矢量  IGP 无类 混合

封装        IP 89                udp520            IP 88

更新地址    224.0.0.5-6         224.0.0.9         224.0.0.10 也可以neighbor指单播

更新方式    定时(30分)完整  完整(30秒定时触发  增量 触发

老化(60分)触发

AD          110                120                 汇总5 外部170 内部90

度量        带宽                跳数               5个K值(默认带宽 延时)

##########################################################################################

◆LSA  分为7类

链路状态协议传递的不是路由,而是LSA(链路状态描述信息)包括路径和拓扑。

- 一个区域内的LSA是同步,一致的。

- LSA放到LSDB,同步后运行SPF算法形成SPF树,根据SPF树生成路由表

◆链路状态协议的结构

- 邻居表 通过hello包形成和维护

邻居数据库

包含自己承认的邻居名单

- 拓扑表

LSDB

包含所有路由器及其所连接的网络;对比eigrp只有邻居通告的路由信息

同一区域内LSDB内容同步

- 路由表

转发数据库

达到目的的最佳路径列表

◆链路状态协议的结构:去适应大型网络,隔离大量的LSA泛洪

网络分层

- 链路状态协议需要对网络分层

- 层次包括 2层:骨干 区域 0。。 传递路由

非骨干区域 。。 接入终端 路由汇总给骨干。

◆区域特点:

- 减少路由条目 手动汇总

- 拓扑变化只影响自己的区域

- LSA在自己区域泛洪

- 层次化设计

◆区域术语:

非骨干区域必须和骨干区域相连,防环;区域之间类似于距离矢量的方法来选路,通过骨干区                                             域知道非骨干区域

ABR 区域边界路由器,即连接区域0和非骨干区域的路由(连接非骨干区域的路由器不能称为               ABR)一个路由器同时属于两个区域,属于不同区域的是接口。对比BGP一个路由器只能属             于一个区域

ASBR 把外部路由重分布到ospf内的路由器 除了特殊区域 ofpf stub

OSPF 邻居 :

hello更新时间10秒,死亡时间40秒 前提- 点到点网络和广播

hello更新时间40秒,死亡时间120秒 前提- NBMA ;点到多点;点到多点非广播

路由器交换hello信息建立邻居

hello包内容:hello & dead 时间必须一致

area ID 必须一致

认证密码 必须一致

stub 区的flag 字段 普通区域和stub不能称为邻居

接口MTU 必须一致 ,除非配置接口忽略MTU.ip ospf mtu ignor

MA网络中,接口掩码必须一致。

帧中继网络,隔离组播也会无法形成邻居关系

ACL过滤数据包 导致无法建立邻居

除此之外还包含 router ID唯一标识路由器;neighbor;

邻接:邻接关系同步LSA .。邻居关系,不同步LSA

是否形成邻接 由OSPF网络类型决定的

- 点到点广域网

邻居之间形成完全邻接状态

- 局域网链路

与DR BDR 形成完全邻接状态 MA网络

点到多点 点到多点非广播 相邻设备形成邻接关系

与其他路由器只形成邻居关系,双向状态Drothers

- 路由更新和拓扑信息只在形成邻接关系的路由器之间传递

- 一旦形成邻接,将同步LSA

- LSA将在一个区域内泛洪

◆OSPF算法  SPF算法

10~8 / 接口带宽(路由入方向的接口) 单位 bps 例如100M链路的cost值就是1

◆LSA 序号

- 每个LSA 在LSDB中都有一个序号

- 序号编排方案是一个4字节的数字,从0X80000001 到 0X7FFFFFFF

- 每隔30分 路由的LSA泛洪一次,保证数据库同步,每次泛洪,序号 +1

- 最终,一个LSA会从  0X7FFFFFFF 循环回 0X80000001。若发生这种情况,这个LSA会被始发路由       器将老化时间设置为60分,并从LSDB中清除。

- 当路由器遇到两个一样的LSA,必须确定哪个最新,即序号高的最新。

◆LSA序号和生存时间

查看LSA序号 :show ip ospf database

◆链路状态协议的结构:LSA

路由器收到一条LSA,如何判断本地是否已经存在这条LSA?

通过LSA头部信息,包括3个信息,完全一致才是同一条LSA

show ip ospf database

1,类型 1--7类: router--1类

2,通告路由器: ADV ROUTER

3,LSA名字: Link-ID

判断一条LSA是否是最新的,出来用序号区别外,还可以用老化时间和校验和区分!!

############################################################################################################# OSPF 包类型 ####################

HELLO 建立和维持邻居关系 网络类型决定10秒还是30秒

DBD   LSA的头部消息 6个消息 3个区分是否同一个LSA.       ; 3区别是否是最新的LSA

LSA类型,通告路由器,link-ID; 序号生存时间 校验和

link-state request 也是LSA头消息

link-state update  完整LSA消息

link-state ACK

其中只有LSU需要ACK确认

LSU 来确认 LSR

DBD 自己确认自己

OSPF 包头格式


version

number

type
packet

length


router

ID

area ID
check

sum


authentication

type

authentication date

version v2--IPv4; v3--IPv6

type 1-5 5种包类型

routerID 标识路由器

area-ID  基于接口。。。。ISIS 区域基于路由器

校验和   确定包么有被篡改

认证类型             0:不认证,默认  1:明文  2:MD5

authentication 根据类型   空            密码      散列值

DATE 若是DBD:本地所有的LSA头

LSR:想要的LSA头

LSU:完整LSA

ACK:收到的LSA头

hello包:包括内容

router ID

★ hello dead 时间

neighbor  收到的hello包含自己routerID

★ areaID

router priority

DR IP address

BDR IP address

★ authentication password

★ stub area flag

◆ OSPF路由器ID

- 每个运行ospf的路由器都有一个routerID

- 在LSDB中,通过routerID识别不同路由器

- 默认,routerID是路由器活动接口IP最高的

- 若配置loop back 则他将成为routerID,若有多个loop back 则选IP最高的

- 配置 进程下 router-ID x.x.x.x

- 建议用loop back 口做routerID

routerID 配置多少就是多少 没配置 就是loop back IP 最大的 没有loop back就选活动接口IP最大的

改变routerID 要重启进程才能生效clear IP ospf process ;这个过程会重新收敛,会造成断网。

routerID相同将不能形成邻居关系。不相邻路由器,或不同区域路由器routerID一样可以建立邻居但会影响路由传递。

◆DR BDR选举

- 利用组播交换hello (优先级字段)

- 优先级最高当选DR,次高为BDR

- 优先级相同,用routeID比较

◆优先级

- 接口下 命令 ip ospf priority number

- 不同接口可能被分配不同值

- 默认 1 。范围 0 - 255

- 优先级为 0 将永远不参与DR BDR选举

- 一个路由器不是DR 或BDR,就是DRother

- DR BDR 非抢占,但可以设置为 0 主动弃权,同时BDR变为DR,不会出现更高优先级的成为DR,剩                                               下的选举BDR

- 选举时间40秒

◆ DR/BDR选举完成后,DRrother只和DR、BDR形成邻接关系。

所有路由器组播hello包到地址224.0.0.5 以便他们能跟踪其他邻居的信息,即DR将泛洪LSU到          224.0.0.5

Drother 只组播LSU到all drother地址224.0.0.6。只有DR BDR监听这个地址

所有Drother泛洪 LSU 到224.0.0.6,这个地址只有DR BDR能接收,Drother将丢弃这个组播地址,然后DR 泛洪 LSU 到224.0.0.5,这个地址所有路由器都能收到 ,这样DR BDR和所有drother的通信。

当有链路断了 泛洪老化时间为3600秒 序号+1的LSA

当DR当掉,BDR不存在情况下 ,Drother发的更新,其他路由器需要40秒dead时间才能知道,所以Drother需要40秒才能收敛

在有BDR的情况下,Drother的更新224.0.0.6也会被BDR收到,当BDR 4秒没收到DR关于DRother的更新,BDR就会接替DR,泛洪224.0.0.5。所以其他路由器只需4秒就能收敛。

########################################################################################

◆ 过程

172.16.5.1                      172.16.5.3

RA-----------down state---------RB

-----hello 224.0.0.5-->RB->init state

<----单播包含RA的信息----- 触发更新

two-way state---单播包含RB的信息-》RB 也进入two-way state

two-way state 使用HELLO中的优先级字段后routerID选举DR BDR 40秒时间,所以two-way会卡40       秒,如果不需要选DR BDR 就瞬间进入下一状态。

exstart state

选举master,master不一定是DR,因为DR使用优先级选举,master使用routerID

使用DBD报文中的routerID

RA/|\----------I will start exhange 携带自己routerID------------->RB

<--NO,I will start exchange 携带自己routerID(地址高于RA)--

Exchange state

<-------------here is a summary of my LSDB------------------

-------------here is a summary of my LSDB------------------>

Loading state相互请求自己所需

LSR ----------RA需要的路由------------->

<---------RA需要的路由-------------LSU

LSACK---------------------------------->

FULL state 然后运行SPF生成路由表

DBD报文,如何实现自己确认自己?

DBD字段包括3位

init是否是初始        more是否有后续报文        master是否是主

第一个DBD的flag字段3位都为1 即flag=7,随机生成一个序号。对端也是发送flag=7的DBD

比较routerID后 用对端序号发给对端 flag= 2.对端收到200的序号

对端发送序号位201 flag=3 ,直到主传到最后一个报文时 flag = 1

确认完成!!!

待续!!!

时间: 2024-10-11 17:49:09

CCNP学习笔记3-路由部分--OSPF的相关文章

CCNP学习笔记6-路由部分--OSPF综合题

地址描述 1,R1--R5 都要一个loopback0=10.10.x.x 2, R1--R3 e0地址=1.1.123.x 3, R2--R4 的广域网接口为 1.1.234.x/24 4,R4-R5  的广域网接口=1.1.45.x/24 桥接 1,如图,配置R1--R3的以太地址 2,如图,配置R2-R4之间物理口地址 3,R2-R4 之间的frame-relay 是全互联,要求只能使用图中的PVC,不允许广播,组播通过 R2 int s2/2 no frame-relay inverse

CCNP学习笔记7-路由部分--OSPF综合题2

一,地址描述 1,R1--R5 都要一个loopback0=10.10.x.x 2, R1--R3 e0地址=1.1.123.x 3, R2--R4 的广域网接口为 1.1.234.x/24 4,R4-R5  的广域网接口=1.1.45.x/24 二,桥接 配置R1-R3以太网地址 配置R2-R4之间物理IP R2-R4之间的frame-relay 是全互联1 R2: int s2/2 frame-relay map ip 1.1.234.4 204 frame-relay map ip 1.1

CCNA学习笔记七——路由概述

静态路由协议: 动态路由协议:AS(自治系统):执行统一路由策略的一组设备的集合 EGP(外部网关协议): BGP:边界网关协议 IGP(内部网关协议): 距离矢量协议: RIP:V1,V2 IGRP EIGRP 链路状态路由协议: OSPF IS-IS 静态路由: 特点: 路由表是手工设置的 除非网络管理员干预,否则静态路由不会发生变化 路由表的形成不需要占用网络资源 适合环境 一般用于网络规模很小,拓扑结构固定的网络中 默认路由: 特点: 在所有路由类型中,默认路由优先级最低 适用环境: 一

FreakZ学习笔记:路由应答机制

FreakZ学习笔记:路由应答机制 路由应答机制是建立在路由发现和路由请求完成之后进行的,换句话说就是在通信链路建立完成之后,帧信息被传输到目的节点时,由目的节点进行的应答机制:路由应答机制在NWK.c下的mac_data_ind函数被调用,该函数的功能在另一篇文章<FreakZ学习笔记:接收过程详解>中有解释,这里不再赘述:相应代码如下: switch (cmd.cmd_frm_id) { case NWK_CMD_RTE_REQ: if(nib.dev_type != NWK_END_DE

TtinkPHP学习笔记之路由解析

TP框架URL地址可以有以下几种: http://域名/index.php?m=模块&c=控制器&a=方法         基本get模式 http://域名/index.php/模块/控制器/方法                         路径模式pathinfo http://域名/模块/控制器/方法                                         rewrite重写模式(需要apache开启对.htaccess的支持) http://域名/ind

angular学习笔记(十七)-路由和切换视图

本篇介绍angular中如何通过判断url的hash值来显示不同的视图模板,并使用不同的控制器: 下面,通过一个例子,来一步一步说明它的用法: 我们要做一个邮箱应用,打开的时候显示的是邮件列表: 然后点击邮件主题,可以查看该邮件的详细内容: 点击返回列表,再回到列表页 一. 创建index页面: <!DOCTYPE html> <html> <head> <title>14.1路由和视图切换</title> <meta charset=&q

CCNP学习笔记4-路由部分--路由控制

◆passive-interface - 可以用在rip eigrp ospf中. 其中在rip中是只收不发报文 在eigrp不收不发报文 在ospf不收不发报文 路由协议进程中 network命令作用有两个: 1,把network的地址网段的路由宣告进去,掩码长度由接口配置决定,不是network决定 例如: network 10.0.0.1 0.0.0.255 就是把10.0.0.1-254的路由宣告,掩码由接口配置决定 2,把network宣告的网段所在的接口宣告你路由协议 例如:netw

CCNP学习笔记17--vlan间路由

实现方法: 1,单臂路由 2,3层SVI接口 单臂路由实验: R1: int e0/0 no shu int e0/0.1 encap dot1q 10 ip add 11.1.1.1 255.255.255.0 no shu int e0/0.2 encap dot1q 20 ip add 22.1.1.1 255.255.255.0 SW1: int f0/10 swi trunk encap dot1q swi mode trunk swi nonegotiate 关闭协商 swi tru

Codeigniter入门学习笔记09—路由

很久很久以前学习Codeigniter的笔记记录,很随意,但都是自己记录的,希望对需要的人有所帮助. 本文使用word2013编辑并发布 Postbird | There I am , in the world more exciting! Postbird personal website : http://www.ptbird.cn 路由 1.更改默认路由文件 ????application/config/routes.php ????默认控制器 ???? 2.伪静态 ????control