您的位置:首页 > 其它

路由交换学习笔记09

2018-03-08 00:00 246 查看
Ospf:链路状态的内部网关路由协议
开放式最短路径优先——open shortest path first
OSPF是一种基于链路状态的路由协议,它从设计上就保证了无路由环 路。OSPF支持区域的划分,区域内部的路由器使用SPF最短路径算法保证了区域内部的无环路。OSPF还利用区域间的连接规则保证了区域之间无路由环路。
V1(试验)、v2(ipv4)、v3(支持ipv6,后期升级后可支持ipv4,部分厂商支持)
双栈(及支持ipv4,又支持ipv6)
适用于中、大型企业网,IGP,可控性强
支持的路由条目2-3万条,路由数支持100台左右
SPF算法(迪杰特拉算法):在一个AS(AS号)网络内,知道一个区域内的路由信息和拓扑信息,边界路由只传递路由信息,在一个网络内无环路,在区域间可能有环路
部署virtual-link将两个网连接在一起
运行条件:中高端路由器
无类协议,支持VLSM/CIDR,没有自动汇总,可以区域间的汇总
L2|IPv4|ospf|fcs  协议号89,五种报文
组播地址:224.0.0.5(常用)224.0.0.6(DR/BDR)
Qos路由选择协议,控制层面,分类处理数据转发,标记:IPP6在ToS:8Bit,11000000
高档协议中eigrp、ospf、is-is中最差
支持认证(明文和密文)
Hello发送10s或30s发送一次(与网络的类型有关,)
思科6种类型1、loopback;2、broadcast广播类型;3、non-broadcast;
4、point-to-point;5、point-to-multipoint;
6、point-to-multipointnon-broadcast(5.6没有对应的接口)
华为只有4种,1、loopback;2、broadcast广播类型;3、non-broadcast;
4、point-to-point;
1、环回口,不发hello,只发通告,只发32位的掩码
2、广播类型,Ethernet和DR/BDR接口
3、frame relay和ATM
4、serial串口,HDLC和PPP
5、frame relay、ATM
当网络是广播和点到点的时候,10s/次 hold time是40s
当网络是非广播,点到多点的时候,点到多点非广播是30s/次,hold time120s
建立邻居状态有8种:
第4级two-way称为neighbor邻居(只能交互hello)
第八级full 称为adjacency邻接(才能有完整的功能)
建立邻居表:邻接关系数据库,放置路由器的信息,
建立好邻居后传递LSA(包含拓扑信息和路由信息),链路状态通告,发送需要封装成LSU再发送
LSU:link status update链路状态更新,可以包含若干lsa,
LSA一共有11类,研究有1-5类和7类,1类lsa每台路由都能产生,并且只能在区域内泛洪,3类区域间的拓扑信息由区域边界路由器通告,都是复制泛洪交互
收敛后,所有路由器的LSDB都相同,用SPF算法算出最优路径信息,加入路由表(不算备份,无备份)
 
OSPF报文:IP header|sopf protocol packet
为了可靠在IPP6确认,同时也要回复确认
1、hello
2、DD(DBD思科):databasedescription数据库描述报文(隐式确认)
3、LSR(LSA request)链路状态请求报文
4、LSU(LSA update)链路状态更新报文
5、LSACK(LSA state acknowledgment)链路状态
4000
确认报文
(3/4/5是显式确认)
没有设置失败N多次后down邻居
显式确认:收到一个包后,独立发送一个确认报文
隐式确认:发送一个报文,回应一个相同的报文,这个报文即作回应,又做确认,利用报文的序列号,(效率高)
没有设置失败N多次后down邻居
DBD/DD数据库描述:交互的LSA的报头,LSA报头相当于LSA名字,发的是LSDB内的路由名字,LSA的报头放入DBD内,交互DBD,确认双方没有的路由条目,然后交互(用的是隐式确认,交互前选举主(master)和从(slave),选举方法是从路由器ID中的大小选举,主确认序列号)
LSR:请求的信息:
link state ID
ADV router
Lsa类型
Lsa的序列号
LSU是LSR的确认,回应LSR的请求信息
LSACK是LSU的确认
1-5可以单播,也可以组播,不同网络类型发送方式不同,不会广播
 
邻居状态机



建立邻居分网络类型,1、当是广播、非广播,需要选举DR/BDR,建立邻居,不能成为DR/BDR的路由器称之为DRothers,DRothers之间会一直停留在two-way2、点到点、点到多点、点到多点非广播,不用选举DR/BDR,所有邻居都能到达fullDown:还没发送任何报文,也没有通过邻居发送过任何报文Attempt尝试:在non-broadcast(非广播)和point-to-multipoint(点到多点)网络类型,启用OSPF后不会主动发送hello,只能单播发送,需要指定单播地址,临时状态,最多是hello时间的4倍Init初始化状态(单向邻居):通过邻居收到一个hello,我能确认我的hello该邻居还没收到的状态,利用neighbor字段,装的是路由器ID(全局唯一),当邻居发送的hello时,其中的neighbor字段有没有我自身的路由器ID时可以确认邻居是否收到Two-way:双边邻居关系:通过邻居收到hello,在neighbor字段检查到有我自身的路由器ID,到达two-way后,选举DR/BDR(一个网络内只有一个DR和BDR),比较参选接口的OSPF的优先级(0-255,比大),当优先级相同比较路由器ID,DR和BDR一但选定不支持自动更改,添加路由器不会更改DR和BDR,ExStart:选举主从(master和slave),交互DBD:第一个DBD:first DBD,载荷为空,无LSA报头的信息,在Flag字段有3位:I(1)、M(1)、M/S,0x7Exchange:主从交互DBDLoading:交互只有自身有,对方无的LSAFULL:交换完毕,LSDB已经同步 路由器ID、邻居、邻接路由器ID点分十进制,32位,不是IP,只属于标识,可以自己设置,或者从自身环回口中最大的IP(up状态的环回口),或从接口最大的IP使用,自动选择接口的down后,路由器的ID会变更,导致网络不易操控       在全局设置router idx.x.x.x,全局配置,然后重置进程:reset ospf 1 process(不建议使用,容易不稳定)MA网络选出DR/BDR,所有的LSA发送给DR和BDR,224.0.0.6DR/BDR组播发送给其他人224.0.0.5DR:designatedrouter 指定路由器BDR:backupdesigned router备份指定路由器当到达two-way开始选举,选举时间(wait-interval)=4*hellotime点到点网络不需要选举DR/BDR,接口优先级为0Hello报文载荷



OSPF的邻居发现过程是基于Hello报文来实现的,Hello报文中的重要字 段解释如下: 1. NetworkMask:发送Hello报文的接口的网络掩码。2. HelloInterval:发送Hello报文的时间间隔,单位为秒。3. Options:标识发送此报文的OSPF路由器所支持的可选功能。具体 的可选功能已超出这里的讨论范围。 4. RouterPriority:发送Hello报文的接口的Router Priority,用于选举 DR和BDR。5. Router DeadInterval:失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效;单位为秒,通常为四倍Hello Interval。6. DesignatedRouter:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。7. BackupDesignated Router:发送Hello报文的路由器所选举出的 BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR。8. Neighbor:邻居的Router ID列表,表示本路由器已经从这些邻居收如果路由器发现所接收的合法Hello报文的邻居列表中有自己的RouterID,则认为已经 和邻居建立了双向连接,表示邻居关系已经建立。 验证一个接收到的Hello报文是否合法包括: 1. 如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中 Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段;2. 所接收的Hello报文中HelloInterval字段必须和接收端口的配置一致;3. 所接收的Hello报文中RouterDead Interval字段必须和接收端口的配置一致;4. 所接收的Hello报文中Options字段中的E-bit(表示是否接收外部路由信息)必须和 相关区域的配置一致。  报头中的参数:



1、version版本需要匹配2、路由器ID不能冲突3、区域号,必须划分区域,直连的必须宣告进同一区域4、认证类型,认证秘钥必须一致5、当需要选举DR/BDR时,掩码必须一致6、Hello时间和dead时间必须一致7、Option字段的E位和N位必须一致8、MTU一致(不一定会有,有的厂商开启了MTU检测)9、OSPF网络类型匹配 



如图所示,路由器在建立完成邻居关系之后,便开始进行数据库同步, 具体过程如下: 1. 邻居状态变为ExStart以后,RTA向RTB发送第一个DD报文,在这个 报文中,DD序列号被设置为X(假设),RTA宣告自己为主路由器。 2. RTB也向RTA发送第一个DD报文,在这个报文中,DD序列号被设 置为Y(假设)。RTB也宣告自己为主路由器。由于RTB的Router ID比RTA的大,所以RTB应当为真正的主路由器。 3. RTA发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信 息,序列号设置为RTB在步骤2里使用的序列号,因此RTB将邻居状 态改变为Exchange。 4. 邻居状态变为Exchange以后,RTB发送一个新的DD报文,该报文 中包含LSDB的描述信息,DD序列号设为Y+1(上次使用的序列号 加1)。 5. 即使RTA不需要新的DD报文描述自己的LSDB,但是作为从路由器,RTA需要对主路由器RTB发送的每一个DD报文进行确认。所以, RTA向RTB发送一个内容为空的DD报文,序列号为Y+1。发送完最后一个DD报文之后,RTA将邻居状态改变为Loading;RTB收 到最后一个DD报文之后,改变状态为Full(假设RTB的LSDB是最新最 全的,不需要向RTA请求更新)。 



6. 邻居状态变为Loading之后,RTA开始向RTB发送LSR报文,请求那 些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有 的链路状态信息。 7. RTB收到LSR报文之后,向RTA发送LSU报文,在LSU报文中,包 含了那些被请求的链路状态的详细信息。RTA收到LSU报文之后, 将邻居状态从Loading改变成Full。 8. RTA向RTB发送LSACK报文,用于对已接收LSA的确认。 此时,RTA和RTB之间的邻居状态变成Full,表示达到完全邻接状态。 一个AS就是一个全局,一个区域就是一个子集,基于接口划分区域ABR:area borderrouter区域边界路由器(不同接口属于不同区域)ASBR:autonomoussystem border router自制系统边界路由器(一个路由器运行OSPF和其他路由协议,将从其他协议获得的路由器强行分发OSPF内)区域分为两级:骨干区域(backbone)、传输区域(transit)、Area0必须划分区域 Ospf支持的网络类型:定义的四中网络类型:点到点(串行网络:ppp/hdlc)、广播型网络(Ethernet)、NBMA网络(非广播多路访问)和点到多点网络 在邻居发现完成之后,路由器会根据网段类型进行DR选举。在广播和 NBMA网络上,路由器会根据参与选举的每个接口的优先级进行DR选举。优先级取值范围为0-255,值越高越优先。缺省情况下,接口优先级为1。如果一个接口优先级为0,那么该接口将不会参与DR或者BDR的选举。如果优先级相同时,则比较Router ID,值越大越优先被选举为DR。 为了给DR做备份,每个广播和NBMA网络上还要选举一个BDR。BDR 也会与网络上所有的路由器建立邻接关系。为了维护网络上邻接关系的稳定性,如果网络中已经存在DR和BDR,则新添加进该网络的路由器不会成为DR和BDR,不管该路由器的 Router Priority是否最大。如果当前DR发生故障,则当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR发生故障,则DR不变,重新选举BDR。这种选举机制的目的是为了保持邻接关系的稳定,使拓扑结构的改变对邻接关系的影响尽量小。



OSPF支持将一组网段组合在一起,这样的一个组合称为一个区域。 划分OSPF区域可以缩小路由器的LSDB规模,减少网络流量。区域内的详细拓扑信息不向其他区域发送,区域间传递的是抽象的路由 信息,而不是详细的描述拓扑结构的链路状态信息。每个区域都有自己的LSDB,不同区域的LSDB是不同的。路由器会为每一个自己所连接到的区域维护一个单独的LSDB。由于详细链路状态信息不会被发布到区域以外,因此LSDB的规模大大缩小了。Area 0为骨干区域,为了避免区域间路由环路,非骨干区域之间不允许 直接相互发布路由信息。因此,每个区域都必须连接到骨干区域。 运行在区域之间的路由器叫做区域边界路由器ABR(AreaBoundary Router),它包含所有相连区域的LSDB。自治系统边界路由器ASBR (Autonomous System Boundary Router)是指和其他AS中的路由器交 换路由信息的路由器,这种路由器会向整个AS通告AS外部路由信息。 在规模较小的企业网络中,可以把所有的路由器划分到同一个区域中, 同一个OSPF区域中的路由器中的LSDB是完全一致的。OSPF区域号可 以手动配置,为了便于将来的网络扩展,推荐将该区域号设置为0,即骨干区域。 OSPF的开销等于rip的跳数基于链路带宽cost值:10的8次方比带宽(bit/s)计算公式为:接口开销=带宽参考值÷带 宽。带宽参考值可配置,缺省为100Mbit/s。以此,一个64kbit/s串口的 开销为1562,一个E1接口(2.048Mbit/s)的开销为48。华为修改cost值:R1}:interfaceEthernet 0/0/1    Ospf cost ***直接改接口改公式R1}:ospf    Bandwidth-reference 100000(那多少兆除以接口带宽) 认证方式(在哪里做认证):可以在接口下做认证,也可以做区域认证(接口的优先级高于区域(进程)下做认证)接口或区域上都可以运行ospfauthentication-mode { simple [ [ plain ] | cipher ] | null } 命令来配置简单认证,参 数simple表示使用明文传输密码,参数plain表示密码以明文形式存放 在设备中,参数cipher表示密码以密文形式存放在设备中,参数null表示不认证。 命令ospfauthentication-mode { md5 | hmac-md5 } [ key-id { plain | [ cipher ] } ] 用于配置加密认证,MD5是一 种保证链路认证安全的加密算法(具体配置已在举例中给出),参数 key-id表示接口加密认证中的认证密钥ID,它必须与对端上的key-id一致。一共可以归为三类认证:md5(包括了hmac-md5、keychain、md5)、null、simple 华为命令:ospf进程中宣告
ospf 10 router-id 2.2.2.2   ——进程号和路由ID
       Area0.0.0.0    ——先进入区域
       Network2.2.2.2 0.0.0.0   ——将该网段宣告进该ospf进程
接口下宣告:

        ospf 10 router-id 1.1.1.1
       Area0.0.0.0
       Quit    ——先创建号进程和区域
       Interfaceloopback 0
       Ospfenable 10 area 0.0.0.0   ——将该接口加入ospf进程10区域0.0.0.0中
(ospf区域256可以表示为0.0.1.0)

思科:interface Ethernet0/2
ip address 192.168.24.2 255.255.255.0
ip ospf network point-to-point 设置接口连接类型为点到点网络
ip ospf 1 area 99                宣告进ospf进程1区域99
ip ospf cost 100   ————修改cost值
end
将静态路由或RIP重布发进OSPF进程
router ospf 1
router-id 0.0.0.2

redistribute rip metric 100metric-type 1 subnets
(redistribute static metric-type 1 subnets)

思科进程中宣告:

router ospf 110 (进程ID,路由间不会交互进程号)
       Router-id2.2.2.2(路由器ID,建议环回口地址)
       Network2.2.2.2 0.0.0.0 area 0.0.0.0(区域0,0.0.0.1区域1,0.0.1.0区域256)
        Network0.0.0.0 255.255.255.255 area 0.0.0.0(路由的全部接口进入宣告)

查看
Show ip protocols
Show ip ospf neighbor查看邻居表
Show ip interface brief查看进口是否宣告
Show ip interface Ethernet 0/0类型
Show ip router ospf查看路由表 
使环回口的掩码变回原来真实的掩码思科只能改为点到点或直接改为32位
Interface loopback 0
Ip ospf network point-to-point

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: