--每台设备都会收到全网的信息–放到自己数据库–进行计算–算出最优的放到自己路由表里
--触发更新
--有邻居概念
--组播进行更新不使用广播
EIGRP ====更新的路由条目===路由条目永远最优的
OSPF ====更新不是路由条目=== LSA内容( link staate advertise)
链路状态通告信息=====全网能达到目的地的所有路径
每台设备收到了所有的信息之后===因此=== 每台设名都具备了一个独立计算的能力===每台设备都会独立计算出到达目的地的最优路径
EIGRP ===中国式父母===告诉你最优的
OSPF ===西方式父母===什么都告诉你(让你自己选)
OSPF的周期更新=== 30min更新—次===更新30min内没更新的路由条目==不怎么占用带宽
查邻居表-----show ip ospf neighbor
查链路状态数据库-------show ip ospf database
查路由表-----show ip route ospf
EIGRP协议===更新路由条目
OSPF 协议=== 更新LSA ( link - state advertise )
EIGRP进程号要一样。
OSPF进程号可以不一样,进程号本地有效。不同进程下建立的邻居不交互。
--------------------------------------------------------------
10S发一次HELLO包,40S没收到就中断
hello包交互完形成邻居关系(2-way),LSA彼此发送完毕形成邻接关系(full)。
邻居=== 2-WAY ===只发hello 不发LSA
邻接=== FULL ====也发hello 也发LSA
网络类型(TCP/IP路由技术卷一):
1.广播类型broadcast 传播方式:组播 hello定时器:10s,40s 需要选举DR,BDR 2.点对点类型point - to - point 传播方式:组播 hello定时器:10s,40s 不需要选举DR,BDR 3.点到多点 传播方式:组播 hello定时器:30s,120s 不需要选举DR,BDR 4.非广播多录访问NBMA 传播方式:单播 hello定时器:30s,120s 需要选举DR,BDR 5.虚链路 传播方式:单播 LSA不老化,不泛洪 不需要选举DR,BDR
如果我两个设备都是DROTHERS ====彼此之间两个路由之间是邻居(2-way)状态
常用点到点和广播,DMVPN用点对多点。
点对多点一般用于VPN环境下,VPN一般称为按需链路,基于原有线路建立,数据要加密解密,本事就不快,对于按需链路hello包周期会变慢。
以前NBMA是用在帧中继环境下。NBMA是因为带宽本事就小,所以hello周期也慢。T1线路1m多的带宽。
--------------------------------------------------------------
OSPF如何选举DR BDR=====根据:1.优先级 2.router-id
1.优先级越大越好===默认1===最大255 === 0放弃选举
2.比较router-id =====越大越好
点对点网络优先级自动为0(没有DR,BDR)
如果我不配置router-id ===自动选举吗?自动选举?
1.比较本地环回口IP地址最大的成为router-id
2.比较本地物理接口IP地址最大的成为router-id
如果我有两条一模一样的路由条目
-先比较管理距离(华为叫优先级)
-如果管理距离一样代表一个协议过来的,在比较度量值(也叫开销值)
DROTHERS更新发送DR和BDR == 组播= 224.0.0.6
DR统一发布给其他所有的DROTHERS == 组播=224.0.0.5
DR吃配置,一般手动配置选DR。
-------------------------------------------------------------
建立邻居的必要条件
hellotime(hello时间和死亡时间不一样不能建立邻居)
area id(区域ID)
authentication password(密码和认证类型要一样)
stub area flag(如果要配置特殊区域,两端需要配置同样类型的特殊区域才能建立邻居)
ospf建立邻居的几个问题:
1.直连接口在同一网段
2.直连接口在同一Area
3.Router-id不重复
4.Hello时间一致
5.网络类型要一致
6.认证问题
7.两端MTU不同(最大传输单元,两端要一致)
-------------------------------------------------------------
1.hello:用来建立和维持邻居关系.
2.database description (DBD):用来检验路由器之间数据库并进行同步.
3.link state request (LSR):链路状态请求.
4.link state update (LSU):特定链路之间的请求记录.
5.link state acknowledgement (LSAck):确认包.
重启OSPF进程也会保留cef表(华为是fib表)和路由表。
--------------------------------------------------------------
OSPF如何成功建立邻接的过程:
down: Attempt:尝试状态,在帧中继NBMA环境下才有。双向指定邻居,一方没指定就会是这个状态。 Init:OSPF的初始状态 2-Way:两端交换完hello包后进入的状态,邻居状态。会选举DR,BDR。 ExstartState:发选举DBD包,不是发hello包。会选举主从关系,决定谁先发DBD包。谁的routerid大谁是主。 ExchangeState:交换DBD包,包含LSA摘要信息。两端领接的确认也是通过DBD。通过序列号的携带确认。不是LSAck。 LoadingState:一端发LSR请求信息,一端回LSU更新信息。发请求的收到更新后回复LSAck确认信息。 LSAck用于确认LSA(链路状态信息),不是用于确认DBD。 Full:邻接建立完毕,OSPF最后一个状态。
OSPF邻居路由器之间通过组播地址224.0.0.5发送hello数据包,每一台路由器都发,收到hello数据包的路由器将在发送一个源为自己,目的为对方的地址的数据包(单播发送),这样,双方通信就建立完成了,此时竟入了2-way状态。
然后在进入exstart状态,这是他们已经确定了谁为DR,谁为BDR(DR和BDR的选举是在2-way和exstart之间完成的)。然后他们根据RID大小的比较确认了主从关系并开始通过单播方式互相发送DBD(链路状态描述数据包,LSA头部)。
此时进入Exchange状态,路由器之间分别根据自己所收到的链路状态描述数据包生成了链路状态请求列表(LSR),然后在一个MA网络(multiple access 多路访问网络)中他们以单播方式互相发送链路状态请求,收到请求的DRothers路由器以组播地址224.0.0.6发送更新只有DR和BDR监听224.0.0.6,然后DR在通过224.0.0.5将同步后的LSDR生成LSU泛洪出去,DRothers收到了LSU并同步了LSDB,然后从其他接口泛洪转发出去。
LSR一定是单播发送的,LSU是先单播发一次,在组播发一次。
OSPF邻居之间是以单播方式回复LSAck确认的。
LSAck有单播(点对点网络,NBMA网络)也有组播(广播网络),是基于你的网络类型。
比如后边还有新增路由(network一个网段,一个地址)==不发DBD了==直接发送LSU
--------------------------------------------------------------
LSDB == linkstate database链路状态数据库==保存LSA到数据库===
=计算最优的路径放入路由表(根据cost值计算,10的8次方除于带宽。累加入站接口的开销)
LSA的类型:
一类LSA:区域内产生,一个区域内传递过来。路由表中O为一类LSA。
二类LSA:谁是DR
三类LSA:区域间产生,经过ABR,其他区域传递过来的。路由表中O IA为三类LSA。
四类LSA:谁是ASBR
五类LSA:自治系统内产生,经过ASBR,其他协议来的。路由表中O E2为五类LSA。
七类LSA:
六类LSA,基于组播的OSPF技术-MOSPF
八类九类LSA,原本用于BGP和OSPF之间的技术上,后被RFC重修修订用于OSPFv3
十类十一类LSA,主要用于MPLS TE环境中。
单纯的多区域并没有减小路由表大小---没有实现优化的作用
--------------------------------------------------------------
LSDB中:
link id===产生LSA的设备RID
(二类LSA=DR的地址。三类LSA=具体O IA条目。四类LSA=ASBR的RID。五类LSA=类似三类的概念,具体的O E条目。)
ADV Router(Adverise Router)===通告了这个条目的设备RID
(一类LSA=link id=ADV Router。二类LSA=通告DR信息的设备RID。三类LSA=ABR的RID。四类LSA=ABR通告谁是ASBR,ABR的RID。五类LSA=ASBR的RID)
age===生存周期,秒为单位,收到这条路由后从0开始计时。30分钟(1800秒)周期更新,收到更新会重置。
收不到会在等一个周期,最长生存时间累计到3600秒,可以修改。
Seq#===每一次有更新(变化)就累加1,0x80000001更新后为0x80000002。
link count ===这个设备具体宣告了多少条路由。(一类)
Checksum===校验和,做校验的,携带来的Checksum本地会在校验一次。
Tag===标记,就是重分布是手动设定的标记。后期调优使用策略路由时可以设置匹配条件为tag。(五类)
--------------------------------------------------------------
虚链路在两个ABR做,不管中间其他的设备(DRothers),跟VPN类似。
虚链路不能隔山打牛,只能一个区域打通了,在打通下一个区域(做多次virtual-link,1跟2互通,2跟3互通,1跟3才算虚链路成功)。
开销值(cost)
累加入站口的开销。接口cost可以修改。
OSPF路由汇总,没有自动汇总只能手动汇总,较少路由表大小,不能基于某个设备汇总。只能区域间汇总(ABR上操作)和协议间汇总(ASBR上操作)。
虚链路汇总在入ABR上做汇总。
--------------------------------------------------------------
OSPF默认路由一般用在内网。
出口设备一般都是两种情况:①写一条静态默认路由指向运营商。②和运营商之间跑BGP协议
--------------------------------------------------------------
OSPF接口认证。密码一样的情况下才能建立邻居。一般小规模不用。
支持明文也支持密文认证。
debug时,类型2是密文认证,类型1是明文认证,类型0是没有认证。
OSPF区域认证需要在接口下配置密文(配置方式跟接口认证一致),然后在OSPF视图下开启认证。
--------------------------------------------------------------
ospf特殊区域
末节区域
完全末节区域
NSSA(非完全未节区域)
完全NSSA(完全非完全末节区域)
为什么要做末节区域?主要是做区域优化。路由条目越多查询越慢。(不能做虚链路)
末节区域不连接其他设备,末节区域上有很多路由条目,但是不管怎么走,下一跳都是邻居设备。
末节区域(Stub):
每台区域上的设备都要进行配置。配置完后过滤5类LSA(外部路由,O E条目),也过滤四类LSA(谁是ASBR)。三类还在。
会产生三类默认路由(O*IA),指向下一跳设备。
完全末节区域(Totally Stub):
过滤三类、四类、五类的LSA,会产生三类默认路由(O*IA),指向下一跳设备。(只有一类、二类和默认的三类)。
用于末节区域中。
非完全末节区域配置在自治系统边界区域。路由条目没有减少,O E变O N。
外部路由经过asbr到特殊区域时会转换为七类,七类路由经过abr到常规区域时会转换回五类LSA。(只在NSSA里是七类)
NSSA区域(NSSA):
过滤所有四类和五类LSA,只把ASBR五类转换为七类的LAS(O N路由条目)。
如果ABR有传五类的路由,会被过滤掉,导致的某些路由不可达,一般会在ABR上结合area 2 nssa default-information-originate 这条命令一起用。
意思是ABR向NSSA区域下发一条七类默认路由(O*N2),区域内其他路由收到这条指向ABR的七类默认路由。
只剩一类二类三类七类的LSA。
完全NSSA区域(Totally NSSA):
还剩一类,二类,七类,指向ABR的默认三类(跟NSSA手动下发的差不多,都是指向ABR,完全NSSA只不过会过滤三类。)
用于过渡区域中。
--------------------------------------------------------------
O:OSPF的路由,一类LSA
O IA:OSPF的三类LSA
O E1:E=extemal=外部,别的协议引入进OSPF的,1表示会累加度量值(cost值,开销值),累加内部度量值。
O E2:E=extemal=外部,别的协议引入进OSPF的,2表示不累加度量值(cost值,开销值),默认值是20。
O N
O N2
--------------------------------------------------------------
重分布---多个协议的导入导出
从互通的角度出发,一般重分布是双向的。
EIGRP引入OSPF参考5个K值(带宽、延迟、可靠性、负载、MTU),入乡随俗,引入时设置一个度量标准。不设置默认无限大,不会出现在路由表。
Router(config)#router eigrp 100
Router(config-router)#redistribute ospf 100 metric 10000 100 255 1 1500
(10000kbit/s )(100延迟,单位为10微秒) (255表示百分比可靠性)(1表示有效带宽度量,负载,255表示百分比负载)(1500MTU,最大传输单元)
OSPF引入EIGRP
Router(config)#router ospf 100
Router(config-router)#redistribute eigrp 100 subnets //subnets表示可以支持无类路由。所有协议重分布进ospf,metric都是20。BGP有特殊性不是。
OSPF引入静态路由
Router(config)#router ospf 100
Router(config-router)#redistribute static subnets
OSPF引入直连路由
Router(config)#router ospf 100
Router(config-router)#redistribute connected subnets
OSPF重分布EIGRP中101.1.1.0这个网段
Router(config)#access-list 1 permit 101.1.1.0
Router(config)#route-map abc permit 10
Router(config-route-map)#match ip address 1
Router(config)#router ospf 100
Router(config-router)#redistribute eigrp 100 subnets route-map abc
满足重分布的两点:
1.本地的其他协议导入过来 2.本地其他协议中宣告的条目
--------------------------------------------------------------
Router(config-if)#ip ospf network point-to-point 修改网络类型为点对点 Router#show ip ospf database 查看OSPF的LSDB Router#show ip ospf neighbor 查看OSPF的邻居 Router(config-if)#clear ip ospf process 重启OSPF进程 Router(config-router)#area 1 virtual-link 3.3.3.3 配置虚链路,要互相指定对端的router id。(两个ABR) Router(config-if)#ip ospf cost 11 修改接口开销值。 Router(config-router)#area 1 range 100.1.0.0 255.255.252.0 汇总O IA路由,要在ABR上操作。 Router(config-router)#summary-address 200.1.1.0 255.255.252.0 汇总O E路由,要在ASBR上操作。 R2(config-if)#ip ospf 1 area 0 接口下起OSPF R2(config-router)#default-information originate always 重分布默认路由(加上always即使本地没有默认路由,也能下发。技术点:一般用在数据中心核心给汇聚下发的。) R2(config-if)#ip ospf authentication-key cisco 配置明文认证,密码为cisco。 R2(config-if)# ip ospf message-digest-key 1 md5 cisco 配置密文认证。1为第一把钥匙,加密方式为MD5,密码为cisco。 R2(config-if)#ip ospf authentication message-digest 接口下启用密文认证。 R2(config-if)#ip ospf authentication 接口下启用明文认证。 R2(config-router)#area 0 authentication message-digest ospf视图下开启区域密文认证。 R2(config-router)#area 0 authentication ospf视图下开启区域明文认证。 R2(config-router)#area 1 virtual-link 2.2.2.2 message-digest-key 1 md5 cisco 设置虚链路认证密文 R2(config-router)#area 1 virtual-link 2.2.2.2 authentication message-digest 开启虚链路认证 R2#debug ip ospf events 查看OSPF相关事件。 Router(config-router)#area 1 stub 在OSPF视图下配置末节区域,要在区域内每台路由上配置。 Router(config-router)#area 1 stub no-summary 在OSPF视图下配置完全末节区域,只需要在末节区域的ABR上配置。 Router(config-if)#ip ospf prefix-suppression 在接口下配置,抑制本接口的一类LSA Router(config-router)#area 2 nssa 在OSPF视图下配置NSSA区域,该区域内每台路由都要配置。 Router(config-router)#area 2 nssa default-information-originate 在OSPF视图下配置NSSA默认路由。ABR向NSSA区域下发一条七类默认路由,指向ABR。只在ABR上配置。 Router(config-router)#area 2 nssa no-summary 在OSPF视图下配置完全NSSA区域,只在ABR上配置。
--------------------------------------------------------------
拓展:
DMVPN ===基于IPSEC VPNdynamic multipoint vpn ===
IPSEC VPN ==点对点点对多点=======一定针对相互有公网IP
DMVPN ===没有公网IP的环境下=========是IPSEC
--------------------------------------------------------------
评论