首届醉美江阳摄影展:什么是扩散法??

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/19 10:49:23
是路由算法

扩散法是一种静态路由算法,每一个输入的分组都被从除输入线路之外的所有其它线路上转发出去.扩散法显然会产生大量的分组副本,因此必须有一些办法来抑制无限的转发.
一种办法是在分组头中携带一个跳数计数器,分组每到一个节点其跳数计数器就减1,当计数器为0时分组被丢弃.计数器的初始值可以设为通信子网的直径,即相距最远的两个节点之间的跳数.
另一种办法是记住哪些分组已经转发过了,从而确保一个分组不会被同一个节点转发两次.这要求源路由器从主机收到一个分组后,将一个序号放入分组头中,同时每一个路由器对于每一个源路由器都要维护一张序号表,记录从每一个源路由器上已经收到的分组的序号.每当一个路由器收到来自某个源路由器的分组时,就用分组的序号去查找该源路由器的序号表,如果序号已在表中则该分组被丢弃.为了防止序号表过大,序号表中还应增设一个计数器k,表示序号直至k的分组都已经转发过了,从而不需要保留序号小于k的序号.
扩散法的一种较实用的变形是选择性扩散,在这种算法中分组只朝着大致正确的方向转发,而不是转发到除输入线路外的所有线路上.
尽管扩散法在很多应用中都不实用,但它确实也有一些适用的地方.比如由于扩散法的鲁棒性(robustness)很好,它在战场的军事网络中特别有用;其次扩散法在本质上是一种广播式的路由算法,因此在一些要求广播传输的应用中也很有用,如分布式数据库的同步更新;在无线网络中位于发送站功率范围内的所有站都能收到发送站发送的消息,这其实也是一种扩散的形式,这个特性常被一些算法所利用;由于扩散法总能找到最短通路,因此其它路由算法都可以和扩散法进行比较,以衡量各自的算法性能.