计算机网络路由算法源码(计算机网络路由算法源码是什么)
本文目录一览:
- 1、距离矢量路由算法 (计算机网络题
- 2、用Matlab/C实现基于Dijkstra的路由选择算法实现
- 3、计算机网络路由算法
- 4、计算机网络中得路由算法怎么回事
- 5、什么是路由啊 路由的组成 以及路由的算法
- 6、路由信息协议(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)。
扩展资料:
路由算法的度量标准:
路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准。
通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、通信成本等。
路径长度:
路径长度是最常用的路由。一些路由协议允许网管给每个网络连接人工赋以代价值,这种情况下,路由长度是所经过各个链接的代价总和。
可靠性:
可靠性,在路由算法中指网络连接的可依赖性(通常以位误率描述),有些网络连接可能比其它的失效更多,网路失效后,一些网络连接可能比其它的更易或更快修复。
路由延迟:
路由延迟指分组从源通过网络到达目的所花时间。很多因素影响到延迟,包括中间的网络连接的带宽、经过的每个路由器的端口队列、所有中间网络连接的拥塞程度以及物理距离。
带宽
带宽指连接可用的流通容量。在其它所有条件都相等时,10Mbps的以太网链接比64kbps的专线更可取。虽然带宽是链接可获得的最大吞吐量,但是通过具有较大带宽的链接做路由不一定比经过较慢链接路由更好。
负载:
负载指网络资源,如路由器的繁忙程度。负载可以用很多方面计算,包括CPU使用情况和每秒处理分组数。持续地监视这些参数本身也是很耗费资源的。
通信代价:
通信代价是另一种重要的metric,尤其是有一些公司可能关心运作费用甚于关心性能。即使线路延迟可能较长,他们也宁愿通过自己的线路发送数据而不采用昂贵的公用线路。
参考资料来源:百度百科-路由算法
用Matlab/C实现基于Dijkstra的路由选择算法实现
/**************************************************************
* 给定一个带权有向图G = (V,E),其中每条边的权是一个非负整数。*
* 另外还给定V中的一个顶点,称为源。现在我们要计算从源到所有其 *
* 他各顶点的最短路长度。这里路径长度是路上各边权之和。这个问 *
* 题通常称为单源最短路径问题。 *
***************************************************************/
#includeiostream.h
#define INFINITE 100
void main()
{
int j,i,n,k,t,**w,*s,*p,*d;
cout"input the value of n:";
cinn;
coutendl;
d = new int[n];
s = new int[n];
p = new int[n];
w = new int*[n];
for(i = 0; i n; i++)
{
w[i] = new int[n];
}
for(i = 0; i n; i++)
for(j = 0; j n; j++)
cinw[i][j];
for(s[0] = 1,i = 1; i n; i++)
{
s[i] = 0;
d[i] = w[0][i];
if(d[i] INFINITE)
p[i]=0;
else
p[i]=-1;
}
for(i = 1; i n; i++)
{
t = INFINITE;
k = 1;
for(j = 1; j n; j++)
if((!s[j]) (d[j] t))
{
t = d[j];
k = j;
}
s[k]=1;//point k join the S
for (j = 1; j n; j++)
if((!s[j]) (d[j] d[k] + w[k][j]))
{
d[j] = d[k] + w[k][j];
p[j] = k;
}
}
cout"从源点到其它顶点的最短距离依次如下:";
for(i=1;in;i++) coutd[i]" ";
coutendl;
}
/*********
顶点个数用n表示,这里给出的例子n=6
100 1 12 100 100 100
100 100 9 3 100 100
100 100 100 100 5 100
100 100 4 100 13 15
100 100 100 100 100 4
100 100 100 100 100 100
具体例子见 电子工业出版社 《算法设计技巧与分析》148页
************/
计算机网络路由算法
关于路由器如何收集网络的结构信息以及对之进行分析来确定最佳路由,有两种主要的路由算法:
总体式路由算法和分散式路由算法。采用分散式路由算法时,每个路由器只有与它直接相连的路由器的信息——而没有网络中的每个路由器的信息。这些算法也被称为DV(距离向量)算法。采用总体式路由算法时,每个路由器都拥有网络中所有其他路由器的全部信息以及网络的流量状态。这些算法也被称为LS(链路状态)算法。
计算机网络中得路由算法怎么回事
换一个ip就好了。。一个网络ip代表局域网的一台电脑。就像每个人都有自己的姓名一样。计算机也有。如果另外一台跟你局域网ip地址重复了。那就会ip地址冲突。。然后有一台无法上网。
什么是路由啊 路由的组成 以及路由的算法
路由:路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。路由工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。
路由器的组成:
RAM(随机存储器)
功能:存放路由表;存放ARP告诉缓存;存放快速交换缓存;存放分组交换缓冲;存放解压后的IOS;路由器加电后,存放running配置文件;
特点:重启或者断电后,RAM中的内容丢失。
NVRAM(非易失性RAM)
功能:存储路由器的startup配置文件;存储路由器的备份。
特点:重启或者断电后内容不丢失。
FLASH(快速闪存)
功能:存放IOS和微代码。
特点:重启或者断电后内容不丢失;可存放多个IOS版本(在容量许可的前提下);允许软件升级不需替换CPU中的芯片。
ROM(只读存储器)
功能:存放POST诊断所需的指令;存放mini-ios;存放ROM监控模式的代码。
特点:ROM中的软件升级需要更换CPU的芯片(还好这种情况比较少遇到)
CPU(中央处理器)
衡量路由器性能的重要指标,负责路由计算,路由选择等。
背板:
背板能力是一个重要参数,尤其在交换机中。
路由算法:又名选路算法,可以根据多个特性来加以区分。算法的目的是找到一条从源路由器到目的路由器的“好”路径(即具有最低费用的路径[1] )。算法设计者的特定目标影响了该路由协议的操作;具体来说存在着多种路由算法,每种算法对网络和路由器资源的影响都不同;由于路由算法使用多种度量标准(metric),从而影响到最佳路径的计算。
算法分类:主要有RIP、IGRP(IGRP为 Cisco公司的私有协议);链路状态路由协议基于图论中非常著名的Dijkstra算法,即最短优先路径(Shortest Path First, SPF)算法,如OSPF。在距离向量路由协议中,路由器将部分或全部的路由表传递给与其相邻的路由器;而在链路状态路由协议中,路由器将链路状态信息传 递给在同一区域内的所有路由器。 根据路由器在自治系统(AS)中的位置,可将路由协议分为内部网关协议 (Interior Gateway Protocol,IGP)和外部网关协议(External Gateway Protocol,EGP,也叫域 间路由协议)。域间路由协议有两种:外部网关协议(EGP)和边界网关协议(BGP)。EGP是为一个简单的树型拓扑结构而设计的,在处理选路循环和设置 选路策略时,具有明显的缺点,已被BGP代替。
路由信息协议(RIP)是什么?
路由信息协议(RIP) 是内部网关协议IGP中最先得到广泛使用的协议【1058[1]】。RIP是一种分布式的基于距离矢量的路由选择协议,是因特网的标准协议,其最大优点就是实现简单,开销较小。
但RIP的缺点也较多。首先,其限制了网络的规模,能使用的最大距离为15(16表示不可达)。其次路由器交换的信息是路由器的完整路由表,因而随着网络规模的扩大,开销也就增加。最后,“坏消息传播得慢”,使更新过程的收敛时间过长。因此对于规模较大的网络就应当使用OSPF协议。然而目前在规模较小的网络中,使用RIP协议的仍占多数。
中文名
路由信息协议
外文名
RIP(Routing Information Protocol)
类型
内部网关协议IGP
应用
计算机行业
信息协议
路由信息协议(Routing Information Protocol,缩写:RIP)是一种使用最广泛的内部网关协议(IGP)。(IGP)是在内部网络上使用的路由协议(在少数情形下,也可以用于连接到因特网的网络),它可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。 IGP是应用层协议,并使用UDP作为传输协议。
虽然RIP仍然经常被使用,但大多数人认为它将会而且正在被诸如OSPF和IS-IS这样的路由协议所取代。当然,我们也看到EIGRP,一种和RIP属于同一基本协议类(距离矢量路由协议,Distance Vector Routing Protocol)但更具适应性的路由协议,也得到了一些使用。
历史
Xerox公司在20世纪70年代开发的,是IP所使用的第一个路由协议,RIP已经成为从UNIX系统到各种路由器的必备路由协议。RIP协议有以下特点:
(1)RIP是自治系统内部使用的协议即内部网关协议,使用的是距离矢量算法。
(2)RIP使用UDP的520端口进行RIP进程之间的通信。
(3)RIP主要有两个版本:RIPv1和RIPv2。RIPv1协议的具体描述在RFC1058中,RIPv2是对RIPv1协议的 改进,其协议的具体描述在RFC2453中。
(4)RIP协议以跳数作为网络度量值。
(5)RIP协议采用广播或组播进行路由更新,其中RIPv1使用广播,而RIPv2使用组播(224.0.0.9)。
(6)RIP协议支持主机被动模式,即RIP协议允许主机只接收和更新路由信息而不发送信息。
(7)RIP协议支持默认路由传播。
(8)RIP协议的网络直径不超过15跳,适合于中小型网络。16跳时认为网络不可达。
(9)RIPv1是有类路由协议,RIPv2是无类路由协议,即RIPv2的报文中含有掩码信息。
RIP所使用的路由算法是Bellman-Ford算法.这种算法最早被用于一个计算机网络是在1969年,当时是作为ARPANET的初始路由算法。
RIP是由“网关信息协议”(Xerox Parc的用于互联网工作的PARC通用数据包协议簇的一部分)发展过来的,可以说网关信息协议是RIP的最早的版本。后来的一个版本才被命名为“路由信息协议”,是Xerox网络服务协议簇的一部分。