ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:182.54KB ,
资源ID:4730752      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4730752.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(路由协议原型系统的实现.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

路由协议原型系统的实现.doc

1、

课程设计报告 课程名称:        计算机网络           设计题目: RIP路由协议原型系统的实现            系    别:     计算机与信息工程学院     &nbs

2、p;   专    业:       物联网专业                 组    别:         第五组                -- 起止日期: 2023年6月8日~2023年6月14日-- 指导教师:            

3、刘进军                                    计算机科学与技术系二○一四年制 组长 谢刚 学号 班级 2023级物联网 系别 计算机与信息工程学院 专业 物联网专业 成员 谢刚 指导教师 老师    刘进军 课程设计目的 1) 进一步理解动态内部网关协议RIP的工作原理。 2) 学会将所学知识联合

4、运用,如本次RIP协议原型系统的设计即是将网络与数据结构(图)及C编程语言相结合。 3) 提高团队合作能力,发挥每一名成员的长处。 4) 体会做一个项目的流程(涉及前期的资料收集,系统规定分析,系统实现的语言选择及实现方法的讨论等)。 课程设计所需环境 1) Windows操作系统平台 2) VC++6.0编译环境 3) Cisco Packet Tracer仿真软件 课程设计任务规定 1) 实现一个RIP路由协议的原型系统 2) 广播发布本地节点的路由信息 3) 其它节点接受信息并选择最优途径 4) 支持最大不超过15跳的特性 5) 动态支持网络拓扑结构的变化(如增长

5、路由节点) 课程设计工作进度计划 序号 起止日期 工  作  内  容 分工情况 1 2023年6月8日~2023年6月9日 展开思绪讨论工作并搜集相关资料 参考相关资料独立完毕 2 2023年6月9日~2023年6月10日 分析课程设计规定,拟定目的 参考相关资料独立完毕 3 2023年6月10日~2023年6月11日 设计软件功能模块 参考相关资料独立完毕 4 2023年6月11日~2023年6月12日 编写代码、实现功能模块 参考相关资料独立完毕 5 2023年6月12日~2023年6月13日 系统整合以及

6、测试 参考相关资料独立完毕 6 2023年6月13日~2023年6月14日 完毕课程设计文档 参考相关资料独立完毕 教研室审核意见: 教研室主任签字:                 年     月     日 课程设计任务书 目   录 1.   引言………………………………………………………………………………………. 4 2.   系统开发分析………………………………………………………………………

7、……. 4     2.1  系统需求分析……………………………………………………………………... 4         2.2  系统设计原理………………………………………………………………………4 3.   系统功能描述与软件模块划分…………………………………………………………..5 4.   系统设计具体……………………………………………………………………………. 5 4.1  程序流程图 ……………………………………………………………………  6

8、     4.2  程序源代码…………………………………………………………………………7 5.   设计过程关键问题及其解决方法………………………………………………………. 10    5.1  如何实现广播本地路由及更新动态更新路由表…………………………………. 10 5.2  如何在网络拓扑结构改变后实现动态更新维护路由表…………………………..11 6.  程序设计结果界面演示……………………………………………………………………11    6.1 &nb

9、sp;设计结果演示………………………………………………………………………..11 7.  课程设计总结与体会………………………………………………………………………15 7.1  总结…………………………………………………………………………………..15 7.2  体会…………………………………………………………………………………..17 致谢………………………………………………………………………………………………17 参考文献…………………………………………………………………………………………18

10、 1. 引言    RIP(Routing information Protocol,路由信息协议)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,IGP),合用于小型同类网络的一个自治系统(AS)内的路由信息的传递。RIP协议是基于距离矢量算法(DistanceVectorAlgorithms)的,在默认情况下,RIP使用一种非常简朴的度量制度:距离就是通往目的站点所需通过的链路数,取值为1~15,数值16表达无穷大。它使用“跳数”,即metric来衡量到达目的地址的路由距离。这种协议的路由器只关心自己周边的世界,只与自己相邻

11、的路由器互换信息,范围限制在15跳(15度)之内,再远,它就不关心了。RIP进程使用UDP的520端口来发送和接受RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,假如一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP应用于OSI网络七层模型的网络层。RIP是一个用于路由器和主机间互换路由信息的距离向量协议,目前最新的版本为v4,也就是RIPv4。 2.系统开发分析 2.1  系统需求分析 1.实现一个RIP路由协议的原型系统。 2.广播发布本地节点的路由信息。

12、 3. 其它节点接受信息并选择最优途径。 4. 支持最大不超过15跳的特性。 5. 动态支持网络拓扑结构的变化(如增长路由节点) 2.2  系统设计原理 RIP协议是动态路由协议,其运营至路由器中,而路由器是运营路由协议软件的专用硬件,它的重要功能可以提成两部分:路由选择和分组转发。其中路由选择是基础。一个路由器对到来的每一个分组先选择合适的路由,然后才干依据此路由进行对的的转发,本次课程设计就是设计有着广泛的使用范围的动态路由协议RIP协议体统原型。它是距离向量协议中的一种,属于内部网关协议。运营协议的相邻路由器通过彼此之间互换路由信息RIP的距离向量,从而知道网络的连接情

13、况,实现各个网络之间的连通,这也是距离向量名称的由来。(Distance Vector)运营协议的每个路由器都要维护一张自己的路由RIP表,该路由表是相应于与它直接相联和通过路由器相连的网络连接情况而动态变化的。因此协议属于动态路由协RIP议。路由器根据路由表对发给它的包进行转发,从而实现IP路由功能。 3.系统功能描述与系统模块划分 本设计实现的RIP路由协议的原型系统功能重要涉及,一:初始化每个路由器的路由表信息。即在使用者输入网络拓扑结构中的路由节点数及链路数后,系统一方面会自动生成每个节点到其相邻路由节点的路由信息,具体涉及:目的地址、跳数、下一跳,初始设立相邻节点的跳数为1。 二

14、当路由器的初始路由表建立后,接下来就开始进行邻接节点的路由信息广播,即路由节点将自身的路由表信息广播至其相邻的节点,具体的广播信息是将每一条路由的目的地址不变,跳数加一,吓一跳修改为自身路由器接口的名称进行传送,收到广播信息的路由表对收到的每一条路由信息进行判断,分两大情况::若本来的路由表中没有目的网络N,则将该项添加到路由表中,否则(即在该路由表中有到目的网络N的信息,则观测下一条)此时分两种小情况1:若吓一跳与原路由表项相同,则无条件进行更新。2:若吓一跳与原路由表项不相同,则若收到的路由信息中距离d小于路由表中的距离,则进行更新。(尚有对于接受的路由信息跳数>=16的信息,则将

15、跳数置为16,表白不可达。)三:动态改变网络拓扑结构,即当由于实际需要,需增设路由节点时,系统会根据增设的路由节点数、名称、链路数,一方面进行新增设节点的路由表信息初始化,而后将该节点的路由信息想邻接节点进行广播,随后整个网络节点向邻接节点进行路由信息广播,这样通过几轮广播后,每一个节点都接受到了新增路由节点的最小途径信息,从而实现了路由表的动态维护与创建。 4.系统设计具体 4,1程序流程图 开始 输入要建立网络的拓扑结构所需路由节点数及链路数 各路由节点向邻接节点广播路由信息 各节点接受信息便进行路由表的更新 建立各节点的初始路由表 广播信息内容: 目的地址:不变

16、跳数:加1 吓一跳:修改为广播该路由信息的路由节点名称 若本来的路由表中无到此网络的信息,则添加,否则1:若吓一跳与原路由表项相同,则无条件进行更新。2:若吓一跳与原路由表项不相同,则判断距离d若小于路由表中的距离,则更新。(尚有对于接受的路由信息跳数>=16的信息,则将跳数置为16) 节点路由信息更新完毕,询问是否还需添加新的路由节点 否 结束 是 初始化新增路由节点路由表 4.2程序源码 由于系统的设计涉及到网络拓扑图的存储,所以本设计采用数据结构中图的存储思想来进行拓扑结构的存储,输出。下面是系统设计的重要代码: 一方面分别设立了4种类型的结构体,以来表

17、达链路信息、路由表、路由器,网络拓扑图。 #include

#include#define MAX_VERTEX_NUM 15 #define MAX 15 #includetypedef struct ArcCell//存储链路信息 { int adj; }ArcCell,Am[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct//路由表 { char destination[MAX]; int distance; char nextjump[MAX];

18、 }TNode; typedef struct//路由结点 { char r[MAX];//存储路由器名称 TNode t[MAX];//存储路由结点的路由表信息。 }VNode; typedef struct{ VNode vex[MAX]; Am arcs; int vexnum,arcnum; }Graph;//用图来存储网络拓扑结构。 //此外在此设立一个全局变量,用来辨别路由表中信息的结束。 TNode end={"",0,""}; copy(char *str1,char *str2) { int i

19、                  char *temp = str2; for(i=0;*temp!='\0';i++)                  { *(str1+i)=*(str2+i);                   temp++;   &nb

20、sp;              } *(str1+i)='\0'; } //第一步:待设计好需要的结构模型后,接下来开始根据路由节点的个数及链路数进行网络拓扑结构的构造,具体代码如下: Graph Create() { Graph G; int i,j,k,count; char v1[20],v2[20]; printf("分别输入网络拓扑结构中的路由数和链路数(中间用逗号隔开):\n"); scanf("%d,%d",&

21、G.vexnum,&G.arcnum); printf("分别输入路由器名称及路由表\n"); int LocateVex(Graph *G,char s[]); void initRoute(Graph *G,int i,int j); for(i=0;i<G.vexnum;i++)//构造路由结点 { count=0; printf("输入第%d个路由器名称:\n",i+1); scanf("%s",G.vex[i].r); G.vex[i].t[0]=end;

22、} for(i=0;i<G.vexnum;i++)//初始化邻接矩阵 for(j=0;j<G.vexnum;j++) G.arcs[i][j].adj=10000; for(k=0;k<G.arcnum;k++)//构造邻接矩阵 { printf("输入第%d条链路的两端路由器的名称:\n",k+1); scanf("%s%s",v1,v2);//用scanf输入多个字符串,中间用空格隔开。 i=LocateVex(&G,v1); j=LocateVex(&G

23、v2); G.arcs[i][j].adj=1; G.arcs[j][i].adj=1; //初始化该链路两端路由节点的路由表。 initRoute(&G,i,j); } return G; } int compare(char a[],char b[]); void printG(Graph *G); void insertNewRoute(Graph *G); //其中的LocateVex()函数用来拟定s在图中的位置,具体实现如下: int LocateVex(Graph *G,char s[]) { int i;

24、 for(i=0;i<(*G).vexnum;i++) {        if(compare(s,(*G).vex[i].r)==1) return i; } return -1; } //第二步:构造完网路拓扑图后,接下来进行拓扑结构中路由节点的路由表信息的初始化。 void initRoute(Graph *G,int i,int j) { int m,n; for(m=0;(*G).vex[i].t[m].distance!=0;m++); copy((*G).vex[i].t[m].de

25、stination,(*G).vex[j].r); (*G).vex[i].t[m].distance=1; copy((*G).vex[i].t[m].nextjump,(*G).vex[i].r); (*G).vex[i].t[m+1]=end; for(n=0;(*G).vex[j].t[n].distance!=0;n++); copy((*G).vex[j].t[n].destination,(*G).vex[i].r); (*G).vex[j].t[n].distance=1; copy((*G).vex[j].t[n].nextjump,(*G).ve

26、x[j].r); (*G).vex[j].t[n+1]=end; } //第三步:开始进行邻接节点的路由信息广播: void Exchange(Graph *G) { int i,j,k,h,count; char c;    TNode temp; for(i=0;i<(*G).vexnum;i++) for(j=0;j<(*g).vexnum;j++) .adj="=1)//找寻路由结点i的邻接结点路由,从而将信息广播发送。" k="0;(*G).vex[i].t[k].distance!

27、0;k++)//扫描路由节点i的路由表中的每一条信息。" temp.distance="">16) temp.distance=16; copy(temp.nextjump,(*G).vex[i].r); count=0; for(h=0;(*G).vex[j].t[h].distance!=0;h++) { if(compare(temp.destination,(*G).vex[j].r)==1)//表白该条路由信息的目的地址指向的是路由结点j自身,因而不需要更新及修改。 {

28、 count++; break; } if(compare((*G).vex[j].t[h].destination,temp.destination)==1) { count++; if(compare((*G).vex[j].t[h].nextjump,temp.nextjump)==1) (*G).vex[j].t[h].distance=temp.distance; else if((*G).vex[j].t[h].distance>temp

29、distance) { (*G).vex[j].t[h].distance=temp.distance; copy((*G).vex[j].t[h].nextjump,temp.nextjump); } } } if(count==0) { copy((*G).vex[j].t[h].destination,temp.destination); (*G).vex[j].t[h].distance=temp.distance; copy

30、G).vex[j].t[h].nextjump,temp.nextjump); (*G).vex[j].t[h+1]=end; } }/// printf("路由器%s向路由器%s发送消息\n",(*G).vex[i].r,(*G).vex[j].r); printG(G); }//// } printf("若需在原有网络拓扑结构中增长新的节点,请输入#键\n"); getchar(); scanf("%c",&c);

31、 if(c=='#') { insertNewRoute(G); } } //第四步:增长路由表,实现网络拓扑结构的动态变化及路由表信息的动态更新与维护。 void insertNewRoute(Graph *G) { int i,j,nVexNum,nArcNum,k,num; char v1[20],v2[20]; printf("分别输入新增长的路由数和链路数(中间用逗号隔开):\n"); scanf("%d,%d",&nVexNum,&nArcNum); p

32、rintf("分别输入路由器名称及路由表\n"); for(num=0;num<nVexNum;num++) { printf("输入新增第%d个路由器名称:\n",num+1); scanf("%s",(*G).vex[num+(*G).vexnum].r); (*G).vex[num+(*G).vexnum].t[0]=end;   } (*G).vexnum+=nVexNum; (*G).arcnum+=nArcNum; for(k=0;k<nArcNum;k++)

33、//构造邻接矩阵 { printf("输入新增路由节点后第%d条链路的两端路由器的名称:\n",k+1); scanf("%s%s",v1,v2);//用scanf输入多个字符串,中间用空格隔开。 i=LocateVex(G,v1); j=LocateVex(G,v2); (*G).arcs[i][j].adj=1;       (*G).arcs[j][i].adj=1;           initRoute(G,i,j);

34、 } for(i=0;i<(*G).vexnum;i++)//初始化邻接矩阵 for(j=0;j<(*G).vexnum;j++) { if((*G).arcs[i][j].adj!=1) (*G).arcs[i][j].adj=10000; } Exchange(G); } //下面是系统设计过程中所需的辅助自定义函数。 int compare(char a[],char b[]) { int j;    for(j=0;a[j]!='\0'&&b[j]!=&#

35、39;\0';j++) if(a[j]!=b[j]) return 0; return 1; } //显示网络拓扑结构: void printG(Graph *G) { int i,j; for(i=0;i<(*G).vexnum;i++) { printf("\t路\t由\t器%s:\n",(*G).vex[i].r); printf("目的地址\t\t距离\t\t下一跳\n\n"); for(j=0;(*G).vex[i].t[j].distance!=0;j++) pr

36、intf("%s\t\t\t%d\t\t%s\n\n",(*G).vex[i].t[j].destination,(*G).vex[i].t[j].distance,(*G).vex[i].t[j].nextjump); printf("\n\n"); } } //显示指定路由节点v的路由表: void printv(VNode v) { int i; printf("\t路\t由\t器%s\n",v.r); printf("目的地址\t\t距离\t\t下一跳\n\n"); &nb

37、sp;  for(i=0;v.t[i].distance!=0;i++) printf("%s\t\t\t%d\t\t%s\n\n",v.t[i].destination,v.t[i].distance,v.t[i].nextjump);    printf("\n\n"); } //通过主函数进行函数的调用运营: void main() { Graph G=Create(); printG(&G); Exchange(&G); }5.设计过程关键问题及其解决办法 5.

38、1  如何实现广播本地路由及更新动态更新路由表。 路由器最初启动时只包含了其直连网络的路由信息,并且其直连网络的metric值为1,然后它向周边的其他路由器发出完整路由表的RIP请求。路由器根据接受到的RIP应答来更新其路由表,具体方法是添加新的路由表项,并将其metric值加1。假如接受到与已有表项的目的地址相同的路由信息,则分下面四种情况分别对待:第一种情况,已有表项的来源端口与新表项的来源端口相同,那么无条件根据最新的路由信息更新其路由表;第二种情况,已有表项与新表项来源于不同的端口,那么比较它们的metric值,将metric值较小的一个最为自己的路由表项;第三种情况,新旧

39、表项的metric值相等,普遍的解决方法是保存旧的表项。第四种情况,新表项在该路由表中不存在,则将跳数加一,吓一跳改为原发送路由器后添加到表项后。    5.2  如何在网络拓扑结构改变后实现动态更新维护路由表。 一方面要实现新添加路由表的路由信息初始化,而后再更新与之相邻的路由节点的路由信息,接下来就进行路由信息的邻接节点广播,从而达成全网络的路由信息更新。 6.程序设计结果界面演示 6.1  设计结果演示 程序运营过程演示以及结果如下: 1.分别从键盘输入网络拓扑结构中的路由数和链路数(中间用逗号隔开) 例如输入 3,2 表达共有两个路由器和一条链路,

40、如图1-1所示拓扑结构:               图1-1 2.再分别输入各个路由器名称及其链路(中间用空格隔开) 例如分别依次输入第一个路由器名称v1 ,第二个路由器名称v2 及两个路由器间的链路v1 v2. 程序输入数据界面与按下ENTER键后各路由表的初始路由信息如图1-2         4.接下来改变原始网络拓扑结构,增长新的路由节点,如图1-3中拓扑结构所示:          

41、nbsp;                   图1-3 运营命令后输入如下: 输入新增第1个路由器名称:v4 输入新增路由节点后第1条链路的两端路由器的名称:v2 v4 增长路由结点输入界面如图1-4所示:                                     图1-4 按下ENTER键

42、程序进行v4路由器的路由表信息初始化及路由信息广播: V4路由表初始信息动态生成如图1-7:                                       图1-5 V2向v4广播信息如图1-6所示:                         &

43、nbsp;            图1-6 几轮广播信息结束后,各路由节点路由信息如下图1-7与1-8所示: 图1-8                                   图1-9 5.若还需要在原有的网络拓扑结构中继续增长新的节点,再输入#键,按以上环节继续操作,能实现不断增长路由结点以及链路,并将路由表的连续更新。

44、7.课程设计总结与体会 7.1  总结    本次课程设计是我懂得了RIP合用于小型同类网络的一个自治系统(AS)内的路由信息的传递路由实现时,而RIP作为一个系统长驻进程(daemon)而存在于路由器中,负责从网络系统的其它路由器接受路由信息,从而对本地IP层路由表作动态的维护,保证IP层发送报文时选择对的的路由。同时负责广播本路由器的路由信息,告知相邻路由器作相应的修改 7.1  体会 这次课程设计完毕了rip路由协议原型系统的实现,方案中路由节点可以运用广播发布本地节点的路由信息,其它节点接受信息并选择最优途径。 本次设计查阅了许多案例

45、学到许多知识,原先很多不懂的东西,都有了初步的了解。这次课程设计使我觉得收获挺大的。之前的学习仅限于课本,网络的很多东西都只知道其然而不知道其所以然。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才干真正做到理解。 课程设计是培养我们综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,使我们实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,网络已经成为当今计算机发展中空前活跃的领域,在生活中可以说是无处不再,因此作为二十一世纪的计算机专业的大学生来说真正的掌握网络技术

46、是十分重要的 致谢 本课程设计是在我们的赵生慧和赵国柱老师的共同指导下完毕的。他们严厉的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我们。从课题的选择到设计的最终完毕,两位老师都始终给予我们细心的指导和不懈的支持。在此谨向两位老师致以真挚的谢意和崇高的敬意。我还要感谢在一起快乐工作的成员们,正是由于你们的帮助和支持,我们才干一起克服一个又一个的困难和疑惑,直至本课程设计的顺利完毕。 在课程设计即将完毕之际,我的心情无法安静,从开始进入课题到设计的顺利完毕,有多少可敬的师长、同学、朋友给了我们无言的帮助,在这里请接受我真挚的谢意! 参考文献 [1] 谢希仁.计算机

47、网络:电子工业出版社, 2023. [2] 严蔚敏.数据结构:清华大学出版社, 2023. 指导教师评语:          指导教师署名:                 年     月     日 成  绩   教研室审核意见: 教研室主任签字:                 年     月     日

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服