如何简单说理解OSPF
2017-11-30 18:38:31 0

    每次看抗日神剧都发现无论何时信息传送是个很重要的环节,为了传送信息牺牲了无数的革命先烈,当时最先进的就是电话,但是电话都是靠人工接线,效率可想而知,更有线路的的硬性限制。不像现代没有什么专门的接线员,全部的自动化,智能化,就像静态路由一样你用一条就要写一条。
    什么是OSPF?
    OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。
    回顾历史我们,事实告诉我们信息的重要性,一定程度上信息决定了成败。网络如何快速的传递信息呢?线路如何走呢?我们可以把整个网络(一个自治系统AS)看成一个王国,这个王国可以分成几个 区(area),现在我们来看看区域内的某一个人(你所在的机器root)是怎样得到一张 世界地图(routing table)的。首先,你得跟你周围的人(同一网段如129.102)建立基本联系。你大叫一声 “我在这!”(发HELLO报文),于是,周围的人知道你的存在,他们也会大叫,这样 你知道周围大概有哪些人,你与他们之间建立了邻居(neighbor)关系,当然,他们 之间也有邻居关系。
    在一群人中,最有威望(Priority优先级)的人会被推荐为首领( Designated Router)首领与你之间是上下级关系(adjacency邻接),它会与你建立 单线联系,而不许你与其它邻居有过多交往,他会说:“那样做的话,街上太挤了 ”。
  你只好通过首领来知道更多的消息了,首先,你们互通消息,他告诉你他知 道的所有地图的地名,你也会告诉他你现知道的地名,当然上也许只有你一个点。 (Database Des cription数据库描述报文)
  你发现地名表中有你缺少的或比你新的东西,你会问他要一份更详细的资料 ,他发现你的地名表中有他需要的东西,他也会向你索求新资料。(Link State Request连接状态请求报文)
  当然,你们毫不犹豫地将一份详细资料发送给对方。(Link State Update连 接状态升级报文)
   收到地图后,互相致谢表示收到了。(Link State Ack连接状态响应报文)
  现在,你已经尽你所能得到一份地图(Link State DataBase连接状态数据库 ),你去查找地图把到所有地方的路挑一条最近(shortest path最短路)的,记 为一张表格(routing table路由表),当然以后查这份表格就知道到目的地的一 条最近的路了。地图也要收好,万一表格上的某条路不通了可以通过图去找一条新 的路。
  其实跟你有联系的,只是周围一群人,外面的消息要通过首领来知道。因为 你的地图是跟首领的一致,我们假设你是首领,你要去画一份世界地图。
  你命令所有手下向你通报消息,你可以知道你这一群人的任何一点点小动静 (event事件)。你手下还会有同时属于两群人的家伙(同一区内两网段),他会 告诉你另一群人的地图,当然也会把你们这一群人的地图泄露,(不过,无所谓啦 )。这样,整个区的地图你知道了(对于不知道的那也没办法,我们尽力了)。
  通过不停地交换地图,现在,整个区的人都有同样的地图了,住在区边境上 的人义不容辞地把这个区的地图(精确到每一群人)发送到别的区,把别的区信息 发送进来。国王会把这些边境的人命名为骨干(backbone area)。通过骨干人士 的不懈努力,现在,整个国家的地图你都了解得一清二楚了。
  有些人“里通外国”(AS Boundary Router自治系统边界路由器) ,他们知 道一些“出国”(AS External route自治系统外部路由)的路,当然他们会把这些 秘密公之与众(import 引入),通过信息的传递,现在,你已经有一张完整的“ 世界地图”了。
    这样是不是更容易理解动态路由了,就是一个人去画地图一样。
    更多请咨询:小刀网络

相关信息推荐