⑴ 计算机网络中的距离向量算法(RIP)的基本原理
RIP协议采用距离向量算法,在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组。
⑵ 计算机网络中相与是什么算法
在计算机网络中相与运算就是同为1时结果为1,其他都为0。取反就是0和1交换就行了。
网络地址和主机地址的算法: 把子网掩码转换为2进制,然后与IP相与,就能得到网络地址。主机地址就是除去网络地址的部分。
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
⑶ 网络加密的算法是什么
就是网络在传输数字信号得时候0101代码之间的运算得出某个关键值就成为了网络的安全码。
⑷ 距离矢量路由算法 (计算机网络题
通过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,尤其是有一些公司可能关心运作费用甚于关心性能。即使线路延迟可能较长,他们也宁愿通过自己的线路发送数据而不采用昂贵的公用线路。
参考资料来源:网络-路由算法
⑸ 计算机网络。A,B,C网段的网络范围和主机数,和计算方法
关于A类,B类,C类IP地址的网段和主机数的计算方法
IP地址是一个32位的二进制数,由四个八位字段组成。每个IP地址包括两部分:一部分为网络标识(网络号),一部分为主机标识(主机号)。
A类地址前8位为网络标识,后24位为主机标识,网段与主机数的计算方法如下:
A类网段计算:
根据规定,A类地址的网络标识必须以“0”开头。那么其网段数应该为0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY即后面有七位数字,因为是二进制数,所以网段数应该为:
27,即2的7次幂个网段,等于128,即网段应该是0—127之间。而网络空间计算都必须“减2”,这是因为要扣除两个保留地址:二进制数里全是“0”和全是“1”的要保留。“0”做为网络号,“1”做为广播号。所以A类地址的网段为1—126.
所以网段数为27-2=126.
A类主机数计算:
因为后面24位是主机标识,所以主机数应该是224,即2的24次幂
224=412=166=2563=16777216,扣除两个保留地址后,主机最大数应该是16777214个。
综上所述,A类IP地址范围应该是:1.0.0.1~126.255.255.254
其中红色的为网络标识,绿色为主机标识
B类地址前16位为网络标识,后16位为主机标识,网段与主机数的计算方法如下:
B类网段计算:
根据规定,B类地址的网络标识必须以“10”开头。那么其网段数应该为10XXXXXX.XXXXXXXX.YYYYYYYY.YYYYYYYY即后面有14位数字,因为是二进制数,所以网段数应该为:
214,即2的14次幂个网段,等于16384,扣除两个全“0”,全“1”的保留地址,所以B类网络可以有16382个网段。
而转换成十进制后, IP地址的第一个小数点前的数字应该是多少呢?因为第一段是10XXXXXX,所以应该是26个,即2的6次幂,等于64个。127是被保留网段暂不使用,所以网段应该是从128开始,到128+64-1=191,其中192是保留网段。即十进制IP的第一段数字是在128—191之间。
B类主机数计算:
因为后面16位是主机标识,所以主机数应该是216,即2的16次幂
216=48=164=2562=65536,扣除两个保留地址后,主机最大数应该是65534个。
综上所述,B类IP地址范围应该是:128.0.0.1~191.255.255.254
其中红色的为网络标识,绿色为主机标识
C类地址前24位为网络标识,后8位为主机标识,网段与主机数的计算方法如下:
C类网段计算:
根据规定,C类地址的网络标识必须以“110”开头。那么其网段数应该为110XXXXX.XXXXXXXX.XXXXXXXX.YYYYYYYY即后面有21位数字,因为是二进制数,所以网段数应该为:
221,即2的21次幂个网段,等于2097152,扣除两个全“0”,全“1”的保留地址,所以B类网络可以有2097150个网段。
而转换成十进制后,IP地址的第一个小数点前的数字应该是多少呢?因为第一段是110XXXXX,所以应该是25个,即2的5次幂,等于32个。所以网段应该是从192开始,到192+32-1=223,224作为保留字段。即十进制IP的第一段数字是在192—223之间。
C类主机数计算:
因为后面8位是主机标识,所以主机数应该是28,即2的8次幂
28=44=162=2562,扣除两个保留地址后,主机最大数应该是254个。
综上所述,C类IP地址范围应该是:192.0.0.1~223.255.255.254
⑹ 计算机网络的最短路径算法有哪些对应哪些协议
用于解决最短路径问题的算法被称做“最短路径算法”,有时被简称作“路径算法”。最常用的路径算法有:
Dijkstra算法、A*算法、SPFA算法、Bellman-Ford算法和Floyd-Warshall算法,本文主要介绍其中的三种。
最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。
算法具体的形式包括:
确定起点的最短路径问题:即已知起始结点,求最短路径的问题。
确定终点的最短路径问题:与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。
确定起点终点的最短路径问题:即已知起点和终点,求两结点之间的最短路径。
全局最短路径问题:求图中所有的最短路径。
Floyd
求多源、无负权边的最短路。用矩阵记录图。时效性较差,时间复杂度O(V^3)。
Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题。
Floyd-Warshall算法的时间复杂度为O(N^3),空间复杂度为O(N^2)。
Floyd-Warshall的原理是动态规划:
设Di,j,k为从i到j的只以(1..k)集合中的节点为中间节点的最短路径的长度。
若最短路径经过点k,则Di,j,k = Di,k,k-1 + Dk,j,k-1;
若最短路径不经过点k,则Di,j,k = Di,j,k-1。
因此,Di,j,k = min(Di,k,k-1 + Dk,j,k-1 , Di,j,k-1)。
在实际算法中,为了节约空间,可以直接在原来空间上进行迭代,这样空间可降至二维。
Floyd-Warshall算法的描述如下:
for k ← 1 to n do
for i ← 1 to n do
for j ← 1 to n do
if (Di,k + Dk,j < Di,j) then
Di,j ← Di,k + Dk,j;
其中Di,j表示由点i到点j的代价,当Di,j为 ∞ 表示两点之间没有任何连接。
Dijkstra
求单源、无负权的最短路。时效性较好,时间复杂度为O(V*V+E),可以用优先队列进行优化,优化后时间复杂度变为0(v*lgn)。
源点可达的话,O(V*lgV+E*lgV)=>O(E*lgV)。
当是稀疏图的情况时,此时E=V*V/lgV,所以算法的时间复杂度可为O(V^2) 。可以用优先队列进行优化,优化后时间复杂度变为0(v*lgn)。
Bellman-Ford
求单源最短路,可以判断有无负权回路(若有,则不存在最短路),时效性较好,时间复杂度O(VE)。
Bellman-Ford算法是求解单源最短路径问题的一种算法。
单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。
与Dijkstra算法不同的是,在Bellman-Ford算法中,边的权值可以为负数。设想从我们可以从图中找到一个环
路(即从v出发,经过若干个点之后又回到v)且这个环路中所有边的权值之和为负。那么通过这个环路,环路中任意两点的最短路径就可以无穷小下去。如果不处理这个负环路,程序就会永远运行下去。 而Bellman-Ford算法具有分辨这种负环路的能力。
SPFA
是Bellman-Ford的队列优化,时效性相对好,时间复杂度O(kE)。(k< 与Bellman-ford算法类似,SPFA算法采用一系列的松弛操作以得到从某一个节点出发到达图中其它所有节点的最短路径。所不同的是,SPFA算法通过维护一个队列,使得一个节点的当前最短路径被更新之后没有必要立刻去更新其他的节点,从而大大减少了重复的操作次数。
SPFA算法可以用于存在负数边权的图,这与dijkstra算法是不同的。
与Dijkstra算法与Bellman-ford算法都不同,SPFA的算法时间效率是不稳定的,即它对于不同的图所需要的时间有很大的差别。
在最好情形下,每一个节点都只入队一次,则算法实际上变为广度优先遍历,其时间复杂度仅为O(E)。另一方面,存在这样的例子,使得每一个节点都被入队(V-1)次,此时算法退化为Bellman-ford算法,其时间复杂度为O(VE)。
SPFA算法在负边权图上可以完全取代Bellman-ford算法,另外在稀疏图中也表现良好。但是在非负边权图中,为了避免最坏情况的出现,通常使用效率更加稳定的Dijkstra算法,以及它的使用堆优化的版本。通常的SPFA。