显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

浩瀚星云

上善若水 厚德载物<学习版>

 
 
 
 
 
 
 
 
 
 
网易云音乐 曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

网络层基础知识总结(4)——路由算法总结

2014-11-10 20:49:45 阅读90 评论0 102014/11 Nov10

1、理想的路由算法

路由选择协议的核心就是路由算法,即需要何种算法来获得路由表中的各项目。一个理想的路由算法应具有如下一些特点:

(1)、算法必须是正确的和完整的:沿着各路由表所指引的路由,分组一定能够最终到达的目的网络和目的主机。

(2)、算法在计算上应简单:路由选择算法的计算不应该使网络通信量增加太多的额外开销。

(3)、算法应能适应通信量和网络拓扑的变化:当网络中的通信量发生变化时,算法能自适应地改变路由以均衡各链路的负载。当某个或某些结点、链路发生故障不能工作,或者修理好了再投入运行时,算法也能及时地改变路由。有时称这种自适应性为“稳健性”。

(4)、算法应具有稳定性:在网络通信量和网络拓扑相对稳定的情况下,路由算法应收敛于一个可以接受的解,而不应该使得出的路由不停地变化。

(5)、算法应是公平的:路由选择算法应对所有用户(除对少数优先级高的用户)都是平等的。

(6)、算法应是最佳的:路由选择算法应当能够找出最好的路由,使得分组平均时延最小而网络的吞吐量最大。所谓”最佳“只能是相对于某一种特定要求得出的较为合理的选择而已。

2、静态路由与动态路由

路由器转发分组是通过路由表转发的,而路由表是通过各种算法得到的。如果从路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,则只有两大类:

(1)、静态路由选择:静态路由选择的特点是简单和开销小,但不能及时适应网络状态的变化。对于很小的网络,完全可以采用静态路由选择,自己手动配置每一条路由(静态路由选择算法为非自适应路由算法,每一条路由都要自己手动配置)。

作者  | 2014-11-10 20:49:45 | 阅读(90) |评论(0) | 阅读全文>>

1、一个IP数据报的总长度为3820字节,其数据部分为3800字节(使用固定首部),需要分片为长度为1420字节的数据报片,请详细描述分片过程及结果?

解:

(1)、因为固定首部的长度为20字节,因此每个数据报片的数据部分长度不能                    超过1400字节。

(2)、因此可以将整个数据报分割成3个数据报片:1400字节、1400字节、                        1000字节。

(3)、原始完整数据报的首部被复制为各个数据报片作为首部,但是其中的有                    关字段的值需要修改,因此:

①.第一个数据报片为:20B(首部)+1400B

【数据起止:0->1399,片偏移=0/8=0字节】

②.第二个数据报片为:20B(首部)+1400B

【数据起止:1400->2799,片偏移=1400/8=175字节】

③.第三个数据报片为:20B(首部)+1000B

【数据起止:2800->3799,片偏移=2800/8=350字节】

作者  | 2014-11-9 22:12:08 | 阅读(139) |评论(0) | 阅读全文>>

网络层基础知识总结(2)

2014-11-6 15:05:04 阅读101 评论0 62014/11 Nov6

1、IP数据报首部格式介绍

从宏观方面看,IP数据报的首部总共是60B,其中前一部分是固定部分长20B,后面的21-60B为可选字段(长度可变)和填充字段。

(1)、版本:占4位(4bit),指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。

(2)、首部长度:占4位(4bit),可表示的最大十进制数值是15。这个字段表示数的单位是32位字(1个32位字=4字节),因此,当IP的首部长度为1111时(即十进制15),首部长度就为最大值60B。当IP数据报的首部长度不是4字节的整数倍时,必须要利用最后的填充字段加以填充。因此IP数据报的数据部分永远从4字节的整数倍时开始,这样在实现IP协议时比较方便。IP数据报首部限制为60B的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20B(即首部长度字段为:0101),这时不使用任何选项。

(3)、区分服务:占8位(8bit),用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS,只有在使用区分服务时,这个字段才起作用。

(4)、总长度:总长度指首部加数据部分的长度之和,单位为字节。总长度字段占16位(16bit),因此数据报的最大长度为216-1=65535字节。注意:在IP层下面的每一种数据链路层都有其自己的帧的格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU。当一个IP数据报封装成链路层的帧时

作者  | 2014-11-6 15:05:04 | 阅读(101) |评论(0) | 阅读全文>>

[数据结构与算法分析]:绪论基础知识总结

2014-11-5 21:26:30 阅读58 评论0 52014/11 Nov5

1、数据结构的概念

答:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括3方面的内容:

(1)、逻辑结构

(2)、存储结构

(3)、对数据的运算

2、数据、数据元素、数据项、数据对象?

答:

(1)、数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称,数据是计算机程序加工的“原料”。

(2)、数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

(3)、数据项:一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位。

(4)、数据对象:是性质相同的数据元素的集合,是数据的一个子集。

3、数据元素之间的4种基本关系?

答:

(1)、集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。

(2)、线性结构:结构中的数据元素之间存在一个对一个的关系。

(3)、树型结构:结构中的数据元素之间存在一个对多个的关系。

(4)、图状结构:结构中的数据元素之间存在多个对多个的关系。

4、数据的逻辑结构?

答:数据的逻辑结构描述的是数据之间的逻辑关系,它与数据的存储结构无关,同一逻辑结构可以对应多种存储结构。归纳起来,数据的逻辑结构主要有两大类:

(1)、线性结构:线性结构是指该结构中的结点之间存在一对一的关系。其

作者  | 2014-11-5 21:26:30 | 阅读(58) |评论(0) | 阅读全文>>

网络层基础知识总结(1)

2014-11-4 16:24:36 阅读74 评论0 42014/11 Nov4

1、存在多种异构网络对不同网络之间的通信会造成一些麻烦,但是为什么世界上还存在多种异构网络?

答:世界上之所以存在着多种异构的网络,就是因为仅用一种体系结构的网络根本无法满足所有用户的需求。

2、网络互联有何实际的意义?进行网络互联时,有哪些共同的问题需要解决?

答:

(1)、网络互联的意义:我们知道,不可能让所有的用户都使用相同的网络。虽然这样做可使网络互联变得比较简单,但在实际上是不可行的。这是因为用户的需求是多种多样的,没有一种单一的网络能够适应所有用户的需求。另外,网络技术是不断发展的,网络的制造厂家也要经常推出新的网络,在竞争中求生存。因此在市场上总会有很多种不同性能、不同网络协议的网络供不同的用户选用。因此我们面临的现实问题是:在客观上,世界上有很多的特性各异的网络。但这些网络又希望能够互相通信,于是网络互联的意义就是非常重要的。

(2)、网络互联会遇到许多的问题需要解决:

①、不同的寻址方案

②、不同的最大分组长度

③、不同的网络接入机制

④、不同的超时控制

⑤、不同的差错恢复方法

⑥、不同的状态报告方法

⑦、不同的路由选择技术

⑧、不同的用户接入控制

⑨、不同的服务(面向连接服务和面向无连接的服务)

⑩、不同的管理与控制方式

3、作为中间设备,转发器、网桥、路由器、网关,之间有何区别?

答:将网络互联起来要使用一些中间设备。根据中间设备所在的层次,可以有以下四种不同的中间设备:

作者  | 2014-11-4 16:24:36 | 阅读(74) |评论(0) | 阅读全文>>

#include<stdio.h>

#define MAX 100

int fun(char str[],char a[],int c[])

{

int i,j,k=0,len=0;

for(;str[len]!='\0';len++);

a[0]=str[0];

c[0]=1;

k++;

for(i=1;i<len;i++)

{

c[i]=0;

}

for(i=1;i<len;i++)

{

j=0;

while((j<k)&&(a[j]!=str[i]))

{

j++;

}

if(j==k)

{

a[k]=str[i];

c[k]++;

k++;

}

else

{

c[j]++;

}

}

return k;

}

void main()

{

char str[MAX],a[MAX];

int  c[MAX],k,i;

printf("输入字符串:");

gets(str);

k=fun(str,a,c);

作者  | 2014-10-31 15:34:42 | 阅读(63) |评论(1) | 阅读全文>>

1、网桥的工作原理:

网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发和过滤。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤),网桥依靠转发表来转发帧。转发表也叫做转发数据库或者路由目录。

2、使用网桥的优点:

(1)、过滤通信量,增加吞吐量;

(2)、扩大了物理范围,因而也增加了整个以太网上工作站的最大数目;

(3)、提高了可靠性,当网络出现故障时,一般只影响个别网段;

(4)、可互联不同的物理层、不同MAC子层和不同速率(如10Mb/s和100Mb/s)                     的以太网。

3、使用网桥的缺点:

(1)、由于网桥对接收的帧要先进行存储和查找转发表,然后才转发,而转发之前还必须执行CSMA/CD算法(碰撞退避算法),这就增加了时延;

(2)、在MAC子层并没有流量控制功能。当网络上的负荷很重时,网桥中的缓存空间可能不够而发生溢出,以致产生丢帧的现象;

(3)、网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息 而产生网络拥塞,这就是广播风暴。

4、网桥与转发器的区别:

网桥与转发器最大的区别就是工作的层次不同。网桥工作在数据链路层,

作者  | 2014-10-17 20:55:47 | 阅读(1379) |评论(0) | 阅读全文>>

#include <stdio.h>

int SelectSame(int *h1,int *h2,int *h3 ,int n1,int n2)

{

int i,j,k=0;

for(i=0;i<n1;i++)

{

j=0;

while((j<n2)&&(h1[i]!=h2[j]))

{

j++;

}

if(j<n2)

{

h3[k++]=h1[i];

}

}

return k;

}

main()

{

int i,j,n1,n2,length=0;

int a[100],b[100],c[100];

printf("输入集合N1的大小(小于100):");

scanf("%d",&n1);

printf("输入集合N2的大小(小于100):");

scanf("%d",&n2);

printf("输入集合N1的元素:\n");

for(i=0;i<n1;i++)

{

scanf("%d",&a[i]);

}

printf("输入集合N2的元素:\n");

for(j=0;j<n2;j++)

作者  | 2014-10-17 13:21:27 | 阅读(56) |评论(1) | 阅读全文>>

利用顺序表设计一个算法,求两个无序集合的交集

2014-10-17 11:19:08 阅读51 评论0 172014/10 Oct17

#include <stdio.h>

int SelectSame(int *h1,int *h2,int *h3 ,int n1,int n2)

{

int i,j,t,k=0;

for(i=0;i<n1;i++)

{

for(j=0;j<n2;j++)

{

if(h1[i]==h2[j])

{

for(t=0;t<k;t++)

{

if(h3[t]==h1[i])

{

break;

}

}

if(t>=k)

{

h3[k++]=h1[i];

}

}

}

}

return k;

}

main()

{

int i,j,n1,n2,length=0;

int a[100],b[100],c[100];

printf("输入集合N1的大小(小于100):");

scanf("%d",&n1);

printf("输入集合N2的大小(小于100):");

scanf("%d",&n2);

printf("输入集合N1的元素:\n");

for(i=0;i<n1;i++)

作者  | 2014-10-17 11:19:08 | 阅读(51) |评论(0) | 阅读全文>>

#include <stdio.h>

#include <string.h>

int DeleSame(int *head,int n)

{

int i,j=0,k;

for(i=1;i<n;i++)

{

k=0;

while((k<=j)&&(head[i]!=head[k]))

{

k++;

}

if(k>j)

{

j++;

head[j]=head[i];

}

}

n=j+1;

return n;

}

main()

{

int i,n,len=0;

int a[100];

printf("输入n(小于100)");

scanf("%d",&n);

for(i=0;i<n;i++)

{

scanf("%d",&a[i]);

}

printf("您输入的顺序表是:[");

for(i=0;i<n;i++)

{

printf(" %d ",a[i]);

}

printf(" ]\n删除操作后的结果是:[ ");

作者  | 2014-10-17 8:46:22 | 阅读(864) |评论(0) | 阅读全文>>

以太网的信道利用率总结

2014-10-15 22:21:41 阅读231 评论0 152014/10 Oct15

分析:假定10Mb/s的以太网同时有10个站点在工作。那么每个站点所能发送数据的平均速率似乎应该是总数据率的1/10(即1Mb/s)。其实不然,因为多个站点在以太网上同时工作就可能会发生碰撞。当发生碰撞时,信道资源实际上是被浪费了。因此,当扣除碰撞所造成的信道损失后,以太网总的信道利用率就不能达到100%了。

以太网信道被占用情况的例子如下图所示。一个站在发送帧时出现了碰撞。经过一个争用期2τ后(τ是以太网单程端到端的传播时延),可能又出现了碰撞。这样经过n个争用期后,一个站点发送数据成功了。假定发送帧需要的时间是T0,则有:T0=(帧长bit)/(数据发送速率bit/s) (此时的速率为:10Mb/s)。

注意:站点成功发送一个帧需要占用信道的时间是:T=T0+ τ , 比这个帧的发送时间要多一个单程的端到端时延τ ,这是因为当一个站点发送完最后一个比特数据时,这个比特还要在以太网上传播。在最极端的情况下,发送站点在传输媒体的一端,而比特在媒体上传输到另一端所需的时间是τ 。因此,必须在经过时间 T=T0+ τ 后以太网的传输媒体才能完全进入空闲状态,才能允许其他站点发送数据。

从上图中可以看出,要提高以太网的信道利用率,就必须减小 τ 与 T0 之比。在以太网中定义了参数a ,它是以太网单程端到端时延τ 与帧的发送时间T0 的比值即:

(1)、当a->0时,表示只要一发送碰撞,就立即可以检测出来,并立即停止发送,因而此时以太网信道资源就被浪费的时间非常小了。

作者  | 2014-10-15 22:21:41 | 阅读(231) |评论(0) | 阅读全文>>

求出m位数的最大n个素数

2014-10-11 22:13:23 阅读58 评论0 112014/10 Oct11

#include <stdio.h>

#include <math.h>

void main()

{

int m,n,count=0;

int i,j,x1,x2;

printf("m,n:");

scanf("%d,%d",&m,&n);

x1=(int)pow(10,m-1);

x2=(int)pow(10,m)-1;

for(i=x2;i>x1;i--)

{

for(j=2;j<i;j++)

{

if(i%j==0)

break;

}

if(j>=i)

{

count++;

if(count<=n)

{

printf("%d  ",i);

}

}

}

}

作者  | 2014-10-11 22:13:23 | 阅读(58) |评论(0) | 阅读全文>>

数据链路层总结(2)

2014-10-6 14:18:07 阅读74 评论0 62014/10 Oct6

1、什么叫传统的以太网?以太网有哪两个主要标准?

答:

(1)、传统以太网:

是指最早流行的10Mb/s速率,遵循 DIX Ethernet V2 标准的局域网。

(2)、以太网的两个标准:

①、DIX Ethernet V2 标准

②、IEEE 的 802.3 标准

2、为什么LLC子层的标准已经制定出来了但现在却很少使用?

答:

20世纪90年代后,激烈竞争的局域网市场逐渐明朗。以太网在局域网市场中已经取得了垄断地位,并且几乎成为了局域网的代名词。由于因特网发展很快而TCP/IP体系经常使用的局域网只剩下DIX Ethernet V2 而不是IEEE 的 802.3 标准中的局域网,因此现在IEEE  802委员会制定的逻辑链路控制子层LLC( 即IEEE 的 802.3 标准 )的作用已经消失了,很多厂商生产的网络适配器上就仅装有MAC协议而没有LLC协议。

3、试说明10BASE-T中的 “10”、“BASE”、“T” 所代表的意思?

答:

10BASE-T中的“10”表示信号在电缆上的传输速率为10MB/s,“BASE”表示电缆上的信号是基带信号,“T”代表双绞线星形网,但10BASE-T的通信距离稍短,每个站到集线器的距离不超过100m。

4、以太网使用的CSMA/CD协议时以争用方式接入到共享信道。这种方式与传统的时分复用TDM相比优缺点如何?

作者  | 2014-10-6 14:18:07 | 阅读(74) |评论(0) | 阅读全文>>

数据链路层总结(1)

2014-10-6 14:17:22 阅读87 评论0 62014/10 Oct6

1、PPP协议的工作状态有哪几种?当用户要使用PPP协议和ISP建立连接进行通信需要建立哪几种连接?每一种连接解决什么问题?

答:

(1)、PPP协议的工作状态有哪几种:

①、“链路静止”状态

②、“链路建立”状态

③、“鉴别”状态

④、“网络协议”状态

⑤、“链路断开”状态

⑥、“链路终止”状态

(2)、使用PPP协议和ISP建立连接进行通信需要建立哪几种连接:

①、链路静止:链路静止时,在用户PC机和ISP的路由器之间并不存在物理层的连接。

②、链路建立:链路建立时,目的是建立链路层的LCP连接。

③、鉴别:鉴别时,只允许传送LCP协议的分组、鉴别协议的分组以及监测链路质量的分组。

④、网络层协议:网络层协议时,PPP链路的两端的网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组。

⑤、链路打开:链路打开时,链路的两个PPP端点可以彼此向对方发送分组。

2、局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用?

答:

1)、局域网的主要特点:

局域网LAN是指在较小的地理范围内,将有限的通信设备互联起来的计算机通信网络

(1)、从功能的角度来看,局域网具有以下几个特点:

①、共享传输信道:在局域网中,多个系统连接到一个共享的通信媒体上。

②、地理范围有

作者  | 2014-10-6 14:17:22 | 阅读(87) |评论(0) | 阅读全文>>

尾插法创建单链表

2014-9-23 19:21:55 阅读80 评论0 232014/09 Sept23

#include <stdio.h>

#include <malloc.h>

typedef struct linknode

{

int data;

struct linknode *next;

}linklist;

linklist *Createlist(linklist *head,int b[],int n)

{

int i;

linklist *p,*q;

head=(linklist *)malloc(sizeof(linklist));

q=(linklist *)malloc(sizeof(linklist));

head->next=NULL;

for(i=0;i<n;i++)

{

p=(linklist *)malloc(sizeof(linklist));

p->data=b[i];

p->next=head->next;

head->next=p;

if(i==0)

{

q=head;

}

head=head->next;

}

head->next=NULL;

return q;

}

作者  | 2014-9-23 19:21:55 | 阅读(80) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

湖南省 长沙市 狮子座

 发消息  写留言

 
比较执着!偶尔小坏。嘿嘿
 
近期心愿为自己加油!相信自己一定能行!
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注