ospf 故事

可以把整个网络(一个自治系统AS)看成一个王国,这个王国可以分成几个区(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 区域内),如果有,则在其中取一条离你最近的(花费最小),写进你的表格中,这个目的地可能是到本群体某个人也可能是到其他群体的,对于经过其他区域的路由,你会不予考虑,跟自己人(同区域)打交道总比与外人(其他区域)打交道好;如果没有本区的路,你只好通过别的区域了(区域间),你只要在地图上找最近的就是了;如果你发现目的地在国外,你也只能先把它标记到你的表格上,期待什么时候王国扩张到那,你就可以把它标记到国内地图上了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值