路由选择算法的JAVA实现
路由选择算法的JAVA实现
第15卷第7期电脑开发与应用
路由选择算法的JAVA实现
JAVAImplementationofRouterSelectionAlgorithm
孔德瑾
(山西省财政税务专科学校太原030024)
【摘要】就网络层中的路由选择算法进行了归纳和总结,并使用JAVA语言编写出最短通路路由选择算法的
具体程序.
【关键词】网路层,路由,算法,JAVA
ABSTRACrThispaperinductsandsummarizestherouteralgorithminnetworklayer,andgivesthepracticalprogramofthe
shortestpathrouterselectionalgorithmwithJAVAlanguage.
KEYWORDSnetworklayer,router,algorithm,JAVA
l概论
在ISO/OSI的7层协议中,网络层是通信子网的
最高层,其一般给传输层提供两种类型的接口:虚电路
和数据报.网络层的任务就是实现这两种服务,并解决
由此引起的路由选择,阻塞和死锁问题.为了实现这个
目的,网络层必须知道通信子网的拓扑结构,并为通信
子网选择正确的路由.
2路由选择算法的要求
网络层路由选择算法要解决的是,如何在网络中
源节点和目标节点之间找到一条最佳的或最合适的路
径.因此对路由选择算法的要求是:
①正确性.即能正确而迅速地将分组从源节点传
送到目标节点.
②简单性.实现方便,相应的软件开销少.
⑧健壮性.即能适应网络拓扑的变化(如某节点损
坏)和通信量的变化,能选择新的路径,不致引起作业
的夭折.
①稳定性.算法应该是可靠的,不管运行多久,保
持正确性而不发生振荡.
⑤公平性和最优化.既要保证每个节点都有机会
传送信息,又要保证路径选择最佳.
3路由选择算法的分类
路由选择算法可按不同和原则进行分类.按源节
点发送分组是全路,多路和单路向外发送,则路由选择
算法分为扩散式,选择扩散式和单路路由选择.在单路
路由选择中,按照健壮性可分为自适应式和非自适应
式.非自适应式不能依据当前实际传输量和拓扑变化
来作路径选择,而按原先设计好的路径传送,一般称为
固定式.自适应算法能较好的适应网络中的通信量和
拓扑的变化,但实现难度大,开销多.自适应算法又可
分为孤立式,集中式和分布式.
3.1扩散式
扩散式的基本思想是:在网络中,任何一个节点
(接收结点除外)收到报文分组后,立即将该分组发往
与其相邻的节点.任何一个节点,只接收最先到达的报
文分组,不接收重复报文.这种算法的优点是可靠性
高,当网络的一部分节点受到损害而不能时,仍有可能
把报文分组传送到目的节点,而且网络延迟也最小.但
这种方式会产生大量的冗余分组,代价很大.适用于规
范较小,可靠性要求极高的场合.
扩散式路由选择算法的变形是选择扩散式路由算
法,网络中的节点有选择地向部分方向进行转发,即报
文分组发来的方向不变.这种算法保持了扩散式路由
算法的优点,并减少了额外信息流.
3.2固定式
固定式路由选择算法在网络的每个节点中存放一
张固定的到达其他各节点的路由表,该表列举了由此
源节点到所有可能的目的节点,以及到达这些目的节
点所有的输出路线,供选择使用.该表由网络设计人员
事先设计出来,存放在各节点中.当报文需要从该节点
发送时,可根据所给出的路由表找出最佳路径.
*2002—04—16收到
**孔德瑾,男.1965年生,讲师,1988年毕业丁天津师范火学,研究方向:计:饥网络,CAI等.
路由选择算法的JAVA实现2002证
3.3随机式
随机式路由选择方法是当报文分组在经过网中的
某个节点的时候,根据某个随机数的值来选择出口路
由的,也就是说它是随意的选择一条发送路径,从而把
报文分组传送到目标节点的方法.这种方法在节点上
的算法很简单,但通信的效率低,延迟时间长.
3.4适应式
基本原理:在每个节点,根据节点和通信线路的当
前状态动态地决定出口路由的方法.路由选择算法的
判断通常是使延迟时间最小或通信量最大为依据而进
行选择的,其要点是求解网内的最短通路问题.
4适应式路由选择算法的JAVA实现
在图1中,A为收信节点,X为发信节点.与X相
邻的节点的集合为Ⅳ(x),而y是Ⅳ(x)集合中的一
个节点.其中R(X,Y,A)是从X经过y到达终点A
的通路长度;(X,y)是X到y的通路长度;D(Y,A)
是从y到达终点A的最短通路长度.
X,Y,=d(X.+IXY,
④一一①一④
|)(,y)IA(Y,^)
图1路由关系
4.1求最短通路的数学模型
在实际的网络中,可以把d和D看作为传输延迟
时间.如果x到A的最佳通路存在,那么对此通路上
某一节点y来说,余下的路由(y—A)也是y