标签:
OSPF全称是啥我就不絮叨了,什么迪杰斯特拉,什么开放最短路径优先算法都是人尽皆知的事儿,尤其是一提算法还会被学数据结构的童鞋鄙视,干脆就不提了,直接开整怎么用吧。(不过好像真有人不知道OSPF里的F代表了什么...)
一个大概的profile:
89号协议,链路状态协议Link State之一,组播地址会用到224.0.0.5(DR other 用来收听DBD LSR LSU LSA的,也就是下面5种包中的4种) 224.0.0.6(DR BDR用来收听。。。的)
跟大多数dynamic routing protocol一样,它也是Hello包建邻居,生产邻居表;接下来开始传信息,这些信息被OSPF称为LSA,这个LSA不是上面提到的那个LSA,这个是Link State Advertisement, 这些信息被交互过之后就存入Link State Database, 即LSDB,即topology表。这个拓扑表,我个人认为就是被SPF这个算法所直接读取的,然后去给你计算出最短路径,这个拓扑表不光包含了路由,应该算作是路由表的一个母体,它里面会有我的哪个端口接了谁的哪个端口。
Link State Routing Protocol 这是从思科的PPT上抄的,什么EIGRP是道听途说OSPF才是有组织的居委会之类的陈词滥调我就不说了,我今天是以一个长者的身份对你们说,唉?好像哪里不对
Link State Data Structure:
Network Hierarchy 是一个backbone区域周围连几个area 1 2 3 4这样的结构
它的目的是:
但是说实话,我们公司就没这么做,因为犯不着,具体原因后面再说。
Forming OSPF Adjacencies
整个topology是触发更新的,但是你要是迟迟不触发它,它自己30min会refresh一次,老化时间是60min.
OSPF有5种包
每个OSPF的speaker都有一个router-id,确定router-id的方法如下,按照先后顺序依次是:
(要是以上三个都没有,那你还跑个毛的OSPF,不许抬杠哦!)
建立Neighborhood的条件,也就是说这俩speaker得一致的条件 PS. speaker counterpart peer都是常用的这种邻居的英文表达,尤其counterpart 和 peer的意思更是接近,都有对等体的意思,speaker没有对等体的意思
OSPF建立邻居需要经过的几个状态
Initial 正在交换Hello包
Two way Hello包交换完毕,Hello包里有自己的router-id,反正是用于比较router-id的,MA网络在没有改端口优先级的情况下用来选出谁是DR BDR & other,完了 整个地方还牵扯网络类型..整个dr other 之间是没有未来的,他们就停留在two way 状态,所以他们也不算邻居neighbor而是邻接adjacent
Exstart 选主从,router-id大的是Master,小的是slave,整个可以通过 debug ip os adj debug ip ospf packet 在slave上可以看到"NBR Negotiation Done. We are the SLAVE."这样一条忧伤的信息
Exchange 交换 LSDB
Loading 交换LSR LSU
Full
PS. 感觉能把每个包头部都画出来的绝对是大神...困死了,睡觉去。
标签:
原文地址:http://www.cnblogs.com/Vooom/p/4240704.html