ospf(open shortest path first)是开放式最短路径优先协议,是IETF(互联网任务工程小组)定义的一种基链路状态的内部网关路由协议。在这里重点理解两个名词,一个是链路状态,另外一个是内部网关。php
所谓的链路状态的是与rip相对的,rip是距离矢量协议,rip向外发布传输的是路由表,而ospf向外传输并非路由表而是对某一条链路状态的描述,因此称为链路状态协议。数据库
所谓的内部网关是基于BGP来说是的,BGP是外部网关协议,好比咱们于美国的路由器链接,电信的路由给联通的路由链接可能会须要BGP,但若是是电信内部的话就颇有可能使用内部网关协议,最好用,最经常使用的内部网关协议就是ospf。ide
特性l OSPF是分区域的,核心区域是0,其他的区域是普通区域,所谓的普通区域必须接入到核心区域当中。3d
l 平时只发hello包,10秒一个hello报文,下面会抓包进行验证。创建和维持邻居关系,4倍的hello时间尚未给我发hello包,我就认为你挂了,同时把从你身上学来的路由信息所有删除rest
l 不只有hello包,还有其他的四种包,这四种包在链路创建之初会发送,发送完以后就不发送了,只依靠hello包来维持链接,那四个包在NP阶段会详细介绍。code
思路&配置&查看&删除思路:blog
l 首先给ospf分配一个进程号,进程号随意。接口
l 给ospf定义一个区域,一般单区域都是使用区域0进程
l 通知与使能网段或网址,使用反掩码,注意与rip的不一样,掩码可自行定义,不会自动选择。ip
l 指定认证的密码(可选)
配置:
[R1]ospf 1把ospf运行起来,后面的是进程号,同一链路进程号能够不一样,通常都是用1. [R1-ospf-1]area 0 定义一个区域,在单区域的配置时通常都是使用0区域。 [R1-ospf-1-area-0.0.0.0]network 10.0.1.0 0.0.0.0 #接反掩码,0是精确匹配 [R1-ospf-1-area-0.0.0.0]network 10.0.123.1 0.0.0.0 #子网掩码是根据咱们定义的反掩码决定的,并非与rip同样自动根据主类识别,就像这里同样可直接宣告IP [R1-ospf-1-area-0.0.0.0] authentication-mode simple plain cba-123指定认证的模式是明文密码是huawei
查看:
[R1]display current-configuration configuration ospf 查看内存当中关于ospf的配置 <R1>dis ospf peer brief #查看邻居表
最下面的两行的含义就是经过g0/0/0接口发现了两个邻居,10.0.2.2和10.0.3.3,这里要注意,这是的邻居是邻居的ID而不是邻居的接口的IP。
在第一行还能够看到ospf的进程号是1,并且路由器的ID是10.1.123.1(标示做用)
<R1>dis ospf 1 lsdb #查看链路状态数据库
注意,这里的链路状态信息只是简略信息,其实还有很是详细的信息。ospf的数据库才是ospf的精髓所在。
<R1>dis ip routing-table #查看路由表
重置ospf进程就至关于把ospf重启,为何要重启呢?由于在咱们抓包的时候,若是想要抓到除hello包以外的包,就只能在ospf进程刚刚启动的时候才能抓的到,因此咱们能够经过重启ospf来抓包。
<R1>rest ospf process #重启ospf进程
ospf尽管比rip要高级不少,可是它仍然没法区分本身链接的是路由器仍是PC,与RIP相同,运行了ospf的路由也会向不是路由的方向发送ospf报文,这不必,因此关闭就好,还节省带宽。
slient-interface e0/0/0 #注意在是进行到ospf进程里面再使用此命令