通信人家园

标题: [转帖]形象生动的OSPF协议入门童话  [查看完整版帖子] [打印本页]

时间:  2005-9-28 11:32
作者: legend8179     标题: [转帖]形象生动的OSPF协议入门童话

OSPF入门童话

  可以把整个网络(一个自治系统AS)看成一个王国,这个王国可以分成b几个区(area),现在我们来看看区域内的某一个人(你所在的机器root)是怎样得到一张世界地图(routing table)的。
  
  首先,你得跟你周围的人(同一网段如129.102)建立基本联系。你大叫一声“我在这!”(发HELLO报文),于是,周围的人知道你的存在,他们也会大叫,这样你知道周围大概有哪些人,你与他们之间建立了邻居(neighbor)关系,当然,他们之间也有邻居关系。
  
  在你们这一群人中,最有威望(Priority优先级)的人会被推荐为首领(Designated Router)首领与你之间是上下级关系(adjacency邻接),它会与你建立单线联系,而不许你与其它邻居有过多交往,他会说:“那样做的话,街上太挤了”。
  
  你只好通过首领来知道更多的消息了,首先,你们互通消息,他告诉你他知道的所有地图的地名,你也会告诉他你现知道的地名,当然上也许只有你一个点。(Database Description数据库描述报文)
  
  你发现地名表中有你缺少的或比你新的东西,你会问他要一份更详细的资料,他发现你的地名表中有他需要的东西,他也会向你索求新资料。(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 引入),通过信息的传递,现在,你已经有一张完整的“世界地图”了。
  
  OSPF是这样标记最短的路的:对于某个目的地,首先,考虑是否有同一区内部到目的地的路(intra area区域内),如果有,则在其中取一条离你最近的(花费最小),写进你的表格中,这个目的地可能是到本群体某个人也可能是到其他群体的,对于经过其他区域的路由,你会不予考虑,跟自己人(同区域)打交道总比与外人(其他区域)打交道好;如果没有本区的路,你只好通过别的区域了(区域间),你只要在地图上找最近的就是了;如果你发现目的地在国外,你也只能先把它标记到你的表格上,期待什么时候王国扩张到那,你就可以把它标记到国内地图上了。
  
  OSPF就是这样,给你一份“世界地图”,并且在上面标记了最短的路,如此而已罢了。
  
  1.2. 背景介绍




  TCP/IP协议中,寻找一台计算机到另一台计算机的路由是很重要的.
  
  1.要判断是否能找到路
  
  2.找到路后找一条短的路(花费时间最小)
  
  3.在找路时不能循环
  
  4.最好还应该能动态处理路由变化,如:接口的UP或DOWN,时间花费的变化,网络结构的改变等。
  
  IETF(Internet Engineering Task Force)于1988年提出的OSPF是一个基于链路状态的动态路由协议,
  
  [协议的基本思路如下:在自治系统中每一台运行OSPF的路由器收集各自的接口/邻接信息称为链路状态,通过Flooding算法在整个系统广播自己的链路状态,使得在整个系统内部维护一个同步的链路状态数据库,根据这一数据库,路由器计算出以自己为根,其它网络节点为叶的一根最短的路径树,从而计算出自己到达系统内部可达的最佳路由]。
  
  OSPF是一类Interior Gateway Protocol(内部网关协议IGP),它处理在一个自治系统中,路由器的网络的路由表信息。


[此贴子已经被作者于2005-9-28 11:33:56编辑过]


时间:  2005-9-28 13:53
作者: zhhdodo

so good !
everyone will thank you
时间:  2005-9-28 14:11
作者: legend8179

以下是引用zhhdodo在2005-9-28 13:53:00的发言:
so good !
everyone will thank you

   you're well come!
时间:  2005-11-15 01:09
作者: 蝶恋花2005

不错,顶一下!
时间:  2005-11-15 15:15
作者: 摇摇摆摆的心

浅显易懂,顶!
时间:  2005-11-21 11:25
作者: tl586

让我头疼的事就这样解决了!感谢楼主万分!
时间:  2005-11-21 17:37
作者: fumingfan

真是精彩。。还有其它协议的介绍吗。

时间:  2005-11-22 10:38
作者: chenyu1980

理解的真透啊。高!!顶。
时间:  2005-11-22 11:14
作者: whrlyj2005

很好,要是讲讲怎么用就更好了,有华为的命令形式么
时间:  2005-11-22 12:56
作者: legend8179

关键是理解它的原理,命令配置其实很简单的。
时间:  2005-11-27 00:28
作者: waterfish

深入浅出,我喜欢,多谢
时间:  2005-12-1 15:14
作者: geallry

基本董了
谢谢
时间:  2005-12-4 11:28
作者: laiyihua

表示感谢
时间:  2006-9-6 14:49
作者: tl586

狠不错啊
时间:  2006-9-6 15:46
作者: KevinZhang06

嗯, 不错, 不错!
时间:  2006-10-7 10:42
作者: wzhj1213

Very  good!
时间:  2007-5-26 21:55
作者: m93r

不错啊!bgp也可以参考此童话
时间:  2007-5-30 13:25
作者: sisley

<p>六一了,我给小孩有故事讲了,很不错</p>
时间:  2007-8-8 11:02
作者: sttall

很好啊,看来学习要有好的方法和灵活的思维
时间:  2007-8-8 17:42
作者: i88917404

<p>有趣,谢了</p>
时间:  2008-10-8 17:19
作者: zyygr

谢谢,不错,写得很生动,起码不是那么晦涩了
时间:  2010-10-9 16:48
作者: laile123

谢谢。
时间:  2010-10-29 15:11
作者: guobing1984

很有意思,可有意思。
时间:  2013-10-10 15:16
作者: dalianxwj

谢谢,收获很大。
时间:  2019-11-1 11:00
作者: 漆刚


so good !
everyone will thank you




通信人家园 (https://www.txrjy.com/) Powered by C114