计算机网络课程设计crc,【最新精品版】计算机网络课程设计报告.doc

计算机网络课程

设计报告

2012年7月2日

目 录

1.CRC检验码………………………………………………………… 3

1.1题目描述………………………………………………………… 3

1.2需求分析………………………………………………………… 3

1.3算法设计………………………………………………………… 3

1.4功能实现………………………………………………………… 6

2.RIP协议………………………………………………………………7

2.1题目描述………………………………………………………… 7

2.2需求分析………………………………………………………… 7

2.3算法设计………………………………………………………… 8

2.4功能实现………………………………………………………… 13

3.滑动窗口…………………………………………………………… 15

3.1题目描述………………………………………………………… 15

3.2需求分析………………………………………………………… 15

3.3算法设计………………………………………………………… 16

3.4功能实现………………………………………………………… 22

4.课程设计总结……………………………………………………… 24

5.重要程序清单……………………………………………………… 25

CRC检验码

1.1题目描述

课本P105页3-07:要发送的数据为1101011011,采用CRC的生成多项式是P(C)= X^4+X+1,试为该数据添加CRC码,并验证他的正确性,改动CRC码最后一位, 验证他的正确性。

1.2需求分析

CRC循环冗余检验是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。上题即是要求编程实现CRC算法并利用其验证发送数据的正确性。

循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。

校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。CRC码的生成步骤

1、将x的最高幂次为R的生成多项式G(x)转换成对应的R+1位二进制数。

2、将信息码左移R位,相当与对应的信息多项式C(x)*2的R次方

3、用生成多项式(二进制数)对信息码做除,得到R位的余数。

4、将余数拼到信息码左移后空出的位置,得到完整的CRC码。

【例】的生成多项式是^4+X+1。位的原始报文为,求编码后的报文。

解: 1、将生成多项式^4+X+1转换成对应的二进制除数1011。 2、此题生成多项式有位(R+1),要把原始报文(x)左移(R)位变成  3、用生成多项式对应的二进制数对左移位后的原始报文进行除

步骤1中的转换过程可以由用户完成,即程序可以只提供二进制序列的输入(这样方便实现)。

1.3.3算法具体实现

核心函数CRC

定义一个函数名为string CRC(string data,string div)的函数,其参数分别为发送数据data和除数div(都有用户输入,由主函数传值)

函数分布实现

string s1,s2,temp;

int len;

len = div.length();

//下面的for循环式补0操作,相当于上述步骤2

for(int i=0;i

data.append("0");

//下面是当除数data长度大于等于除数时做循环异或操作的过程

while(data.length()>=div.length())

{

s2 = ""; //中间变量,用来村粗每次异或的结果

s1 = data.substr(0,len); //求子串

data = data.substr(len,data.length()-len);

//下面是具体的一对一的异或运算操作

for(int i=0;i

{

if(s1[i]==div[i])//相同

s2.append("0");

else

s2.append("1"); //相异

}

//将s2前面0去掉,因为前面的0无意义,去掉后再继续下次异或

while(s2.leng

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 一、设计目的 1 二、需求分析 1 2.1用户需求 1 2.2网络需求 2 2.2.1可恢复性 2 2.2.2病毒的防护 2 2.2.3安全性 2 三、网络总体设计 2 3.1各关键设备简单介绍: 2 3.2网络接入类型的选择 3 3.3网络的综合布线 3 3.4网络拓扑图 4 3.4.1星型结构 4 3.4.2环形结构 6 3.4.3树型结构 7 四、总结 8 五、主要参考文献 8 一、设计目的 随着计算机网络的普及,为了能让公司更好的与现代社会的发展接轨。更快的获取市场 信息,为了让外界厂解该公司的相关信息组建企业网,以实现对"公司档案管理"、"产品 信息"、"供求信息"等进行计算机网络化的管理,通过建立公司内部的局域网,员工之间 可以进一步加强联系,实现信息共享。降低厂打印、分发各护文件、资料、报表的纸张 费用。 二、需求分析 现代化的公司需要的是一个现代化的办公环境,高速的工作效率可以创造好的企业文化 。通过调查某公司,该公司办公地点共一层楼,两积约为600平方多米,集团总公司:董 事长助理(1台电脑)、总经理室(1台电脑)、财务部(6台电脑)、人力资源(4台电脑) 、审计监察(3台电脑〕、营运管理部(2台电脑〕、后勤部(2台电脑)、企划设计部(4 台电脑〕、营销部(5台电脑)。共28台电脑。 2.1用户需求 公司的员工对电脑的需求有下列几点: 2.1.1信息的及时性和可预测性 快速的访问、传输和修改信息,对于一个公司的交易系统是至关重要的。用户是都希望 网速更快一点,提高工作的效率。一旦有了对响应时间的具体需求。我们就能确定设备 能力、连接速度和其他直接影响网络性能的因素。 2.1.2可靠性和有效性 在用户的角度看来,可靠性就是能稳定地提供服务,在一个可靠的系统里。在绝大部分 时间内系统资源可被用户使用。可靠性也意味着提供给用户的服务水平也必须持久有效 。 2.1.3适应性 适应性是系统适应用户改变需求的能力,网络适应用户的需求而带给用户所需的信息。 2.1.4可升级性 用户是通过网络对他自己的计算机的影响来评价网络的。现在科技发展的速度飞快。 计算机的系统也不断更新,因此必须具有可升级性。 2.1.5安全性 安全性是对用户所需的信息和设备的完整性的保证,用户安全需要包括经常 自动备份、发生问题后及时恢复和对关键数据进行管理。 2.2网络需求 这个公司内部对网终有几方面的要求: 2.2.1可恢复性 存储在服务器或主要硬件上的信息是公司的生命线。重要数据的丢失是致命的。所以, 正确备份数据是网络可恢复性的关键因素。良好的备份和归档程序只是一方面,还需要 考虑预防发生范围灾难的应对措施。 2.2.2病毒的防护 一个病寿可能在几分钟内感染整个网络。因此,防毒软件是很重要的,保护公司的整个 网络正常运行。 2.2.3安全性 所有在网上流动或暂存于网络结点中的数据都面临着危险。网络的安全就是保护资源包 括数据的保密性、完整性和可靠性。 三、网络总体设计 3.1各关键设备简单介绍: 局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米 以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、 电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组 成,也可以由一个公司内的上千台计算机组成。 路由:是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这 种行为动作的机器,它的英文名称为Router。是使用一种或者更多度量因素的网络层设 备,它决定网络通信能够通过的最佳路径。路由器依据网络层信息将数据包从一个网络 前向转发到另一个网络。偶尔也称为网关(尽管网关的这个定义现在己经过时)。 路由器的功能简单的讲,路由器主要有以下几种功能: 第一,网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网 ,实现不同网络互相通信; 第二,数据处理,提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙 等功能;第三,网络管理,路由器提供包括配置管理、性能管理、容错管理和流量控制 等功能。 交换机(Switch)是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网 络节点提供独享的电信号通路。最常见的交换机是以太网交换机。 3.2网络接入类型的选择 以太网:物理介质由同轴电缆或双绞线组成,传输速率是10Mbit/s,,是现在常用的网络 ,可以满足公司对网络需求。 令牌环:物理介质是双绞线,传输速率是4Mbit/s或16Mbit/s,公司方面是满足要求的.但 是不是现在流行通用的网络。 光纤分布式数据接口:物理介顶是光纤。传轮速率是 100Mbit/s。是局域网的主干部分。 快速以太网:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值