路由选择算法的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

java路由方法_路由选择算法的JAVA实现.doc相关推荐

  1. java indexof方法_【3-14】Java中集合类list的增删改查

    Hello,大家好,我是大家最亲爱的siki老师,每天都会在这里为大家带来一个Java语法中有趣的知识点,Q群175158287,欢迎同大家多多交流哈! 今天给大家带来的是Java中list类的使用, ...

  2. java clone方法_干货满满:Java中创建对象的五种方式详解

    通常来说,对象具有状态和行为,变量用来表明对象的状态,方法表明对象所具有的行为. 作为Java开发者,我们通常都是使用依赖管理系统,比如Spring去创建Java对象,但使用管理系统创建对象并不是唯一 ...

  3. 浏览器运行java的方法_通过浏览器运行java程序的两种方法

    方法一:Applet技术 现在有一个application,要把它转换成Applet. 首先,用eclipse打开这个项目. 然后找到要改的java类,让这个类继承Applet类或者JApplet类. ...

  4. java 提供的排序方法_请给出java几种排序方法

    展开全部 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序 为了便于管理,先引32313133353236313431303231363533e78988e69d83313 ...

  5. java 下载加速_一种基于Java的大文件下载加速方法与流程

    本发明涉及java/多线程技术领域,涉及一种加速文件下载装置,具体提供一种基于java的大文件下载加速方法. 背景技术: 现有的常用下载方式是基于浏览器的单线程下载.这种单线程下载的方式,是通过htt ...

  6. 我的世java途径错误_我的世界JAVA路径错误的解决方法分享

    我的世界JAVA路径错误该怎么解决呢?JAVA是Minecraft运行的虚拟环境必要条件,需要您安装后才开始游戏.很多童鞋在安装过程中都遇到了JAVA路径错误的提示,这是什么原因导致的?第一手游网必须 ...

  7. java方法重载和重载方法_我们可以在Java中重载main()方法吗?

    java方法重载和重载方法 The question is that "can we overload main() method in Java?" 问题是"我们可以在 ...

  8. main方法_十个经典的 Java main 方法面试题

    以下是笔者认为比较经典的关于Java main方法的面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,分享给大家,如有错误,请指出. 1.不用main方法如何定义一个类? 不行,没 ...

  9. ie浏览器java不弹窗_解决IE屏蔽Java Applet问题的方法 .

    利用Java虚拟机程序来实现,一般通过在IE中设置ActiveX控件启用选项即可解决. 什么是ActiveX控件? ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中 ...

最新文章

  1. 算法 求子数组的最大和 C
  2. c++stack容器介绍
  3. linux查看用户拥有的权限
  4. Java ThreadLocal的使用
  5. diamond升级IP,覆盖的时候报错
  6. python爬虫网络中断_Python 爬虫总是超时中断?试试Tenacity重试模块
  7. C语言结构体对齐[转]
  8. matlab2c使用c++实现matlab函数系列教程-max函数
  9. 关于Location of the Android SDK has not been setup in the preferences的解决方法
  10. css中的一些选择器的用法总结
  11. 恒生笔试题B卷 数据库
  12. Qt调用Com组件--QT调用COM组件DLL(dumpCPP工具)
  13. 苹果手机自带表格软件_苹果手机还自带扫描仪,没想到今天才发现
  14. 用计算机新字库打出的文字,为什么用五笔打字有很多字打不出来(GBK和GB2312字库的区别)...
  15. PR曲线以及ROC曲线的绘制
  16. IMS:InputChannel通过socket发送Input给App
  17. 弹窗代码大全 弹窗广告代码
  18. 用Python制作fits文件
  19. 原生Arm版Office安装步骤
  20. Ansiable批量管理工具

热门文章

  1. NB-IoT技术实战开发 ----- NB-IoT硬件介绍
  2. 多玩英雄联盟插件盒子v3.8.0
  3. 计以下整数的标准差和平均值c语言,北邮2012学年计算机实习题目及要求.doc
  4. origin绘图分享
  5. Internet Download Manager v6.36 Build 3 Final 注册版-IDM下载工具
  6. ubuntu更换源报 E: Failed to fetch。。。。错误的解决办法
  7. 基于图像重建损失的无监督变化检测
  8. 新浪微博分享链接代码-简单前端分享
  9. java实现12306查票_[转]java抓取12306信息实现火车余票查询示例firefox
  10. 【信号与线性系统】知识点与学习攻略