ospf(open shortest path first)是开放式最短路径优先协议,是IETF(互联网任务工程小组)定义的一种基链路状态的内部网关路由协议。在这里重点理解两个名词,一个是链路状态,另一个是内部网关。
所谓的链路状态的是与rip相对的,rip是距离矢量协议,rip向外发布传输的是路由表,而ospf向外传输并不是路由表而是对某一条链路状态的描述,所以称为链路状态协议。
所谓的内部网关是基于BGP来讲是的,BGP是外部网关协议,比如我们于美国的路由器连接,电信的路由给联通的路由连接可能会需要BGP,但如果是电信内部的话就很有可能使用内部网关协议,最好用,最常用的内部网关协议就是ospf。
特性l OSPF是分区域的,核心区域是0,其余的区域是普通区域,所谓的普通区域必须接入到核心区域当中。
l 平时只发hello包,10秒一个hello报文,下面会抓包进行验证。建立和维持邻居关系,4倍的hello时间还没有给我发hello包,我就认为你挂了,同时把从你身上学来的路由信息全部删除
l 不仅有hello包,还有其余的四种包,这四种包在链路建立之初会发送,发送完之后就不发送了,只依靠hello包来维持连接,那四个包在NP阶段会详细介绍。
思路&配置&查看&删除思路:
l 首先给ospf分配一个进程号,进程号随意。
l 给ospf定义一个区域,通常单区域都是使用区域0
l 通知与使能网段或网址,使用反掩码,注意与rip的不同,掩码可自行定义,不会自动选择。
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进程就相当于把ospf重启,为什么要重启呢?因为在我们抓包的时候,如果想要抓到除hello包之外的包,就只能在ospf进程刚刚启动的时候才能抓的到,所以我们可以通过重启ospf来抓包。
<R1>rest ospf process #重启ospf进程
ospf尽管比rip要高级很多,但是它仍然无法区分自己连接的是路由器还是PC,与RIP相同,运行了ospf的路由也会向不是路由的方向发送ospf报文,这没必要,所以关闭就好,还节省带宽。
slient-interface e0/0/0 #注意在是进行到ospf进程里面再使用此命令