距离向量算法
① JAVA实现距离矢量算法
public static void main(String[] args) {
new Jsq();
}
/* 利用构造进行实例化 */
public Jsq() {
② 求计算向量距离的公式
您应该要的是向量的长度公式吧?
如果向量用·(x1,x2,x3.。。。。。xn)表示,那么长度是:
所有分量的平方和,然后开平方
③ 计算机网络中的距离向量算法(RIP)的基本原理
RIP协议采用距离向量算法,在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组。
④ 距离矢量路由算法 (计算机网络题
通过B到个点的距离为:(11,6,14,18,12,8),因为B到A的距离为5,C到B的距离为6所以C到A的距离更新为5+6=11,C到B的距离没变为6,C通过B到C的距离为6+8=14,C通过B到D的距离为6+12=18,C通过B到E距离6+6=12,C通过B到F距离为6+2=8。
通过D到个点的距离为:(19,15,9,3,12,13),通过D到A的距离为3+16=19,通过D到B的距离为3+12=15,通过D到C的距离为6+3=9,通过D到D的距离为3,通过D到E的距离为3+9=12,通过D到F的距离为3+10=13。
通过E到个点的距离为:(12,11,8,14,5,9),通过E到A的距离为5+7=12,通过E到B的距离为5+6=11,通过E到C的距离为5+3=8,通过E到D的距离为5+9=14,通过E到Eden距离为5,通过E到F的距离为9。
取到达每一目的地的最小值(C除外)得到: (11, 6,0,3, 5,8)就得出了新的路由表。输出的路线输出线路是: (B,,B, -,D,E, B)。
(4)距离向量算法扩展阅读:
路由算法的度量标准:
路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准。
通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、通信成本等。
路径长度:
路径长度是最常用的路由。一些路由协议允许网管给每个网络连接人工赋以代价值,这种情况下,路由长度是所经过各个链接的代价总和。
可靠性:
可靠性,在路由算法中指网络连接的可依赖性(通常以位误率描述),有些网络连接可能比其它的失效更多,网路失效后,一些网络连接可能比其它的更易或更快修复。
路由延迟:
路由延迟指分组从源通过网络到达目的所花时间。很多因素影响到延迟,包括中间的网络连接的带宽、经过的每个路由器的端口队列、所有中间网络连接的拥塞程度以及物理距离。
带宽
带宽指连接可用的流通容量。在其它所有条件都相等时,10Mbps的以太网链接比64kbps的专线更可取。虽然带宽是链接可获得的最大吞吐量,但是通过具有较大带宽的链接做路由不一定比经过较慢链接路由更好。
负载:
负载指网络资源,如路由器的繁忙程度。负载可以用很多方面计算,包括CPU使用情况和每秒处理分组数。持续地监视这些参数本身也是很耗费资源的。
通信代价:
通信代价是另一种重要的metric,尤其是有一些公司可能关心运作费用甚于关心性能。即使线路延迟可能较长,他们也宁愿通过自己的线路发送数据而不采用昂贵的公用线路。
参考资料来源:网络-路由算法
⑤ 如何用JAVA实现距离向量算法急求!!!!!!
一个实例代表一个路由器(结点)。 npk )= S
实例之间利用UDP交换路由表。 wtw%)db
能够打印出邻居列表和输出路由表!
⑥ 距离向量路由算法的路由表
有三个路由器,A,B和C。路由器A的两个网络接口F0和S0
分别连接在 10.1.0.0和10.2.0.0网段上;路由器B的两个网络接口S0和S1
分别连接在 10.2.0.0和10.3.0.0网段上;路由器C的两个网络接口S0和E0
分别连接在 10.3.0.0和10.4.0.0网段上;
如上图中各路由表的前两行所示,通过路由表的网络接口到与之直接相连的网
络的网络连接,其向量距离设置为0。这即是最初的路由表。
当路由器B和A以及B和C之间相互交换路由信息后,它们会更新各自的路由表。
例如,路由器B通过网络端口S1收到路由器C的路由信息(10.3.0.0,S0,0)和(10.4.0.0,E0,0)后,在自己的路由表中增加一条(10.4.0.0,S1,1)路由信息。该信息表示:通过路由器B的网络接
口S1可以访问到10.4.0.0网段,其向量距离为1,该向量距离是在路由器C的基础上加1获得的。
同样道理,路由器B还会产生一条(10.1.0.0,S0,1)路由,这条路由是通过网络端口S0从路由器A
获得的。如此反复,直到最终收敛,形成图中所示的路由表。
概括地说,距离向量算法要求每一个路由器把它的整个路由表发送给与它直接连接的其它路由
器。路由表中的每一条记录都包括目标逻辑地址、相应的网络接口和该条路由的向量距离。当一个路
由器从它的相邻处收到更新信息时,它会将更新信息与本身的路由表相比较。如果该路由器比较出一条
新路由或是找到一条比当前路由更好的路由时,它会对路由表进行更新:将从该路由器到邻居之间的
向量距离与更新信息中的向量距离相加作为新路由的向量距离。
⑦ 距离向量路由算法的运算
路由器间交换的最重要的信息是修改报文,参加路由维护计划的路由器发送当前存在于实体的描述路由库的路由修改报文。仅通过相邻路由器间交换路由信息是可以维护整个系统的最佳路由的,这在接下来的讨论中会逐步得到证明。 距离向量算法总是基于一个这样的事实:路由库中的路由已是目前通过报文交换而得到的最佳路由。同时,报文交换仅限于相邻的实体间,也就是说,实体共享同一个。当然,要定义路由是最佳的,就必须有衡量的办法,这就用到前面所说的“metric”。RIP简单的中,通常用可行路由所经的路由器数简单地计算metric值。在复杂的中,metric一般代表该路由传输报的延迟或其它发送开销。 令D代表从实体i到实体j的最佳路由的metric值,d(i,j)代表从i直接到j的开销,因为开销是可加的,算法中最佳路由如此获取表示: D(i,i)=0, 对所有的i D(i,j)=MIN[d(i,j)+D(k,j), 当i不等于k时 实体i从相邻路由器k收到k到j的开销的估计D,i将D(i,j)加上i到k的开销估计d(i,j),i比较从所有相邻路由器得到的数值,取得最小数,就得到了它到j的最佳路由。
⑧ 假设每个节点初始时知道到其每个邻居的费用。考虑距离向量算法,说明z的距离表项(画出算法运行过程)
z x y vu 4 14 6 v 5 15 5x 2 12 8 y 4 10 10
⑨ 距离向量算法的实现(Java或C++)
希望这个对你有所启发,尽管是用C编的,你看一下思想。
下载地址: http://download.pudn.com/downloads98/sourcecode/multimedia/streaming/7941968VCD.rar
出处:
http://www.pudn.com/downloads138/sourcecode/internet/tcp_ip/detail594129.html