2022年2022年计算机网络基础课程设计方案 .pdf

上传人:C****o 文档编号:32493572 上传时间:2022-08-09 格式:PDF 页数:13 大小:196.63KB
返回 下载 相关 举报
2022年2022年计算机网络基础课程设计方案 .pdf_第1页
第1页 / 共13页
2022年2022年计算机网络基础课程设计方案 .pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《2022年2022年计算机网络基础课程设计方案 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机网络基础课程设计方案 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机网络基础课 程 设 计 方 案目录课程设计说明 . 错误!未定义书签。课程设计选题 . 2 1. CRC算法模拟 . 2 2. 零比特填充模拟 . 2 3. 曼彻斯特编码模拟. 2 4. 截断二进制指数退避算法 . 3 5. 透明网桥自学习与转发帧算法模拟 . 3 6. IP 分片模拟 . 4 7. IP 首部检验和算法模拟. 4 8. IPv4数据报封装模拟 . 5 9. 使用子网时IP 分组转发模拟 . 6 10. 距离向量算法模拟 . 7 11. UDP检验和算法模拟. 7 12. 利用滑动窗口实现流量控制模拟 . 8 13. 慢开始、拥塞避免算法模拟 . 9 课程设计示例 . 1

2、1 1. 字节填充法解决透明传输模拟 . 11 信息技术学院名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案2 课程设计选题1.CRC算法模拟【分值】 20 分【页码】 P68-69 【描述】待传送的一组数据M 以二进制字符存储在input_m.txt 文件中,生成多项式P 以二进制字符存储input_p.txt文件中。编写CRC算法,计算冗余码R 并输出到output_r 文件中。【提示】a、模 2

3、 加减可以采用按位异或运算的方法计算。【举例】input_m.txt 101001 input_p.txt 1101 output_r.txt 001 2.零比特填充模拟【分值】 10 分【页码】 P74 【描述】待传送的原始数据以二进制字符存储在input.txt文件中,内含若干5 个连续 1 的子串、6 个连续1 的子串。编写零比特填充算法,并将结果保存至output_f.txt文件;并且编写算法还原数据,结果保存至output_d.txt文件。【提示】a、原始数据只要包含5 个连续 1 的子串、 6 个连续 1 的子串即可,内容任意。【举例】input.txt 0100111111011

4、111010 output_f.txt 010011111010111110010 output_d.txt 0100111111011111010 3.曼彻斯特编码模拟【分值】 10 分【页码】 P80 【描述】待传送的原始数据以二进制字符存储在input.txt文件中。编写曼彻斯特编码模拟算法,将编码的结果保证至output_e.txt ;并且编写从电压高低到二进制数据的解码算法,结果保存至 output_d.txt 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共

5、13 页 - - - - - - - - - 计算机网络基础课程设计方案3 【提示】a、用字符 “HL”代表电压 “前高后低” ,表示码元1;用字符“LH”代表电压 “前低后高”,表示码元0。【举例】input.txt 1000100111 output_e.txt LHHLHLHLLHHLHLLHLHLH output_d.txt 1000100111 4.截断二进制指数退避算法【分值】 10 分【页码】 P82 【描述】重传次数存储在input.txt 文件中。 编写截断二进制指数退避算法,计算得到的重传推迟时间存入output.txt文件。【提示】a、以太网争用期为51.2s,最多重传次

6、数为16这些可预定义为常量。b、若重传已经超过16 次,则将重传推迟时间设置为-1s,表示应丢弃该帧。【举例】input.txt 1 output.txt 0(说明:或51.2,随机选择;此括号内信息不是输出内容)5.透明网桥自学习与转发帧算法模拟【分值】 20 分【页码】 P94-96 【描述】网络拓扑由input_top.txt文件给出,数据帧发送事件由input_event.txt文件给出。网桥初始转发表为空。 试编写透明网桥自学习与转发帧算法,将网桥处理完每一发送事件后的网桥帧转发策略和当前转发表输出到output.txt文件。【提示】a、为简单起见,可以仅考虑单个两端口的网桥。b、i

7、nput_top.txt文件的每行包括“主机” 、 “连接的网桥端口号”等拓扑信息,主机用字母(除字母“Z” )编号,网络端口用数字编号。c、input_event.txt文件的每行给出 “源主机”、 “目的主机” 等信息, 其中用目的主机为 “Z”表示广播帧。d、网桥帧转发策略的可能结果有“丢弃”、 “向端口x 转发“、”泛洪“。e、一行中的多个字段自行决定分隔符,比如空格或制表符等。【举例】input_top.txt :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共

8、13 页 - - - - - - - - - 计算机网络基础课程设计方案4 A 1 B 1 C 2 D 2 input_event.txt :A D B A C Z B C output.txt :事件 1:A to D; 网桥帧转发策略:泛洪;转发表:A 1 事件 2:B to A; 网桥帧转发策略:丢弃;转发表:A 1 B 1 事件 3:C to Z; 网桥帧转发策略:泛洪;转发表:A 1 B 1 C 2 事件 4:B to C; 网桥帧转发策略:向端口2 转发;转发表:A 1 B 1 C 2 6.IP 分片模拟【分值】 10 分【页码】 P123-124 【描述】IP 数据包原始长度、分

9、片最大长度存储在input.txt 文件中。编写一算法计算分片结果,将每一分片的总长度、MF、DF、片偏移存入output.txt 。【提示】a、设该 IP首部无选项,IP固定首部长度为20 字节。b、一行中的多个字段自行决定分隔符,比如空格或制表符等。【举例】input.txt (注:两字段分别是IP 数据包原始长度、分片最大长度)3820 1420 output.txt : (注:每行信息分别是分片总长度、MF、DF、片偏移)1420 1 0 0 1420 1 0 175 1020 0 0 350 7.IP 首部检验和算法模拟【分值】 10 分名师资料总结 - - -精品资料欢迎下载 -

10、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案5 【页码】 P125 【描述】20 个字节的某IP 首部以十六进制字符存储在input.txt文件中每行8 个字符(即4个字节),其中首部检验和字段为0。编写 IP首部检验和算法,检验和计算结果以4 个十六进制字符形式存入output.txt 。【提示】a、 首部检验和的计算涉及每个字(16 位) 间的反码算术运算求和计算规则见课本P125的脚注。b、一行中的多个字段自行决定分隔符,比如空格或制表

11、符等。【举例】input.txt :45 00 00 86 4C 37 40 00 7F 06 00 00 C0 A8 42 D4 C0 A8 63 CB output.txt :87 4A 8.IPv4 数据报封装模拟【分值】 20 分【页码】 P122-125 【描述】input.txt 文件的第一行以点分十进制给出了某IP 数据报的源IP 地址、第二行以点分十进制给出了目的IP地址,第三行给出了待封装的TCP数据报长度。整个TCP数据报的数据用字母“ A”代替( ASCII为 0 x41) 。定义 IP数据报固定首部数据结构,并编写封装算法,结果以每行8 个的十六进制字符(即4 个字节)

12、存入output.txt文件。【提示】a、IP 数据报首部的 “区分服务字段填0、标识字段可随意设置、生存时间可随意设置(比如 127) ,不考虑可选字段。b、可以不考虑IP 分片的问题,但应实现首部检验和的计算。c、 点 分 十 进 制 地 址 到 二 进 制 地 址 的 转 换 可 以 使 用Winsock API( 名 词 解 释 参 见http:/ ,头文件为 )中的inet_addr 函数,其函数原型如下:unsigned long inet_addr(const char* cp) 入口参数cp:点分十进制形式的IP 地址返回值:网络字节顺序的IP 地址,是无符号的长整数d、一行中

13、的多个字段自行决定分隔符,比如空格或制表符等。【举例】input.txt :192.168.66.181 192.168.99.203 60 output.txt :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案6 45 00 00 50 03 70 40 00 7F 06 D0 66 C0 A8 42 B5 C0 A8 63 CB 41 41 41 41 41 41 41 41 41 41 41

14、41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 9.使用子网时IP分组转发模拟【分值】 20 分【页码】 P133-135 【描述】input_r.txt文件给出了某路由器的路由表,文件由若干行组成,每行给出了目的网络地址、子网掩码、下一跳地址等信息(地址均以点分十进制表示);input_d.txt文件给出了该路由器收到的一系列IP 数据报点分十进制表

15、示的目的IP 地址。编写使用子网时IP 分组转发算法,将每一个IP数据报的处理结果输出到output.txt文件。【提示】a、点分十进制地址到二进制地址的转换可以使用Winsock API 中的 inet_addr 函数。b、一行中的多个字段自行决定分隔符,比如空格或制表符等。【举例】input_r.txt : (注:每行包括目的网络地址、子网掩码、下一跳地址等信息;最后一行给出了默认路由)128.30.33.0 255.255.255.128 Interface0 128.30.33.128 255.255.255.128 Interface1 128.30.36.0 255.255.255

16、.0 Router2 0.0.0.0 0.0.0.0 Router3 input_d.txt :128.30.33.13 128.30.33.130 128.30.36.2 128.50.39.3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案7 output.txt : (注:每行包括目的IP地址、处理结果)128.30.33.13 Interface0 128.30.33.130 Interfa

17、ce1 128.30.36.2 Router2 128.50.39.3 Router3 10.距离向量算法模拟【分值】 20 分【页码】 P148-149 【描述】input_r.txt 文件给出了某路由器Rx的当前路由表信息,文件由若干行组成,第一行为路由器名,后续每行给出了目的网络(以网络名称表示) 、 距离、下一跳路由器等信息; input_n.txt文件给出了路由器Rx 刚接收到的来自相邻路由器Ry的 RIP路由更新信息, 文件由若干行组成,第一行为路由器名,后续每行给出了目的网络、距离、下一跳路由器等信息。编写距离向量更新算法,将路由器Rx 更新后的路由表写入output.txt 。

18、【提示】a、可参照课本P149 例 4-5,以网络名称表示目的网络、以路由器名称或“直接交付”给出下一跳路由器信息。b、一行中的多个字段自行决定分隔符,比如空格或制表符等。【举例】input_r.txt :R6 Net2 3 R4 Net3 4 R5 input_n.txt :R4 Net1 3 R1 Net2 4 R2 Net3 1 直接交付output.txt :R6 Net1 4 R4 Net2 5 R4 Net3 2 R4 11.UDP 检验和算法模拟【分值】 10 分【页码】 P185-187 【描述】input.txt 文件的第一、二行分别以点分十进制给出某即将传输的UDP 数据报

19、的源IP 地址和目的IP 地址,后续每行8 个十六进制字符(即4 个字节)给出整个UDP数据报的数据(其中检验和字段为0,最后一行可能少于4 个字节)。编写 UDP检验和算法,检验和计算结果以 4 个十六进制字符形式存入output.txt 。【提示】名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案8 a、点分十进制地址到二进制地址的转换可以使用Winsock API 中的 inet_addr 函数。

20、b、UDP 的检验和计算包括伪首部、UDP首部和 UDP 数据部分,其中数据部分字节数为奇数时需在末尾填入一个全零字节参与计算。c、一行中的多个字段自行决定分隔符,比如空格或制表符等。【举例】input.txt :153.19.8.104 171.3.14.11 04 3F 00 0D 00 0F 00 00 54 45 53 54 49 4E 47 output.txt :69 12 12.利用滑动窗口实现流量控制模拟【分值】 20 分【页码】 P203-204 【描述】input.txt 文件的第一行给出主机A 发送给主机B 的 TCP报文段的大小(单位:字节),第二行给出了主机A 发送的

21、起始序号seq,第三行给出了主机B 设置的初始接收窗口rwnd的大小(单位:字节),后续若干行描述了报文段传输事件每行的第一个字段是方向( “A-B”或“ B-A” ) ,若方向为“A-B”则该行后续字段包括标志(“新发”或“重发” ) 、结果( “成功”或“丢失” ) ,若方向为“ A-B”则该行后续字段为新的接收窗口rwnd。编写利用滑动窗口实现流量控制模拟算法,将处理结果写入output.txt 每行为一次传输事件的信息,包括方向、序号(若方向为“A-B”则为发送序号seq,若方向为“B-A”则为确认序号ack) 、A 主机实际还可发送的字节数(即减去已发字节数)、A 主机实际还可发送的

22、序号范围(若前一字段为0 则不写此项) 。【提示】a、设置两全局变量分别记录发送序号seq 和确认序号ack,在处理每一事件时及时更新seq、ack 的值。b、确认序号ack 是期望收到对方下一个报文段的第一个数据字节的序号。c、设置一数组记录传输丢失的报文段序号,以便重传。d、若一行有多个字段,自行决定分隔符,比如空格或制表符等。【举例】input.txt :100 1 400 A-B 新发成功A-B 新发成功A-B 新发丢失B-A 300 A-B 新发成功名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -

23、- - - - - 第 8 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案9 A-B 新发成功A-B 重发成功B-A 100 A-B 新发成功B-A 0 output.txt :A-B seq=1 300 101-400 A-B seq=101 200 201-400 A-B seq=201 100 301-400 B-A ack=201 200 301-500 A-B seq=301 100 401-500 A-B seq=401 0 A-B seq=201 0 B-A ack=501 100 501-600 A-B seq=501 0 B-A ack=60

24、1 0 13.慢开始、拥塞避免算法模拟【分值】 20 分【页码】 P208-210 【描述】input_s.txt 文件给出了慢开始门限ssthresh 状态变量的初始值;input_c.txt文件给出了若干个出现网络拥塞的传输轮次(取值在1-30 之间) 。编写慢开始、拥塞避免模拟算法,计算并输出前30 个传输轮次的拥塞窗口cwnd 等信息,结果存入output.txt 每行包含轮次、cwnd、ssthresh、现用算法等信息。【提示】a、此模拟中的窗口单位不使用字节而使用报文段的个数。b、拥塞窗口cwnd 的初值为1,即第 1 传输轮次允许传输一个报文段,传输成功后cwnd即按照指数规律增

25、长为2。c、若一行有多个字段,自行决定分隔符,比如空格或制表符等。【举例】input_s.txt 16 input_c.txt 12 23 output.txt :1 2 16 慢开始2 4 16 慢开始3 8 16 慢开始4 16 16 拥塞避免5 17 16 拥塞避免6 18 16 拥塞避免7 19 16 拥塞避免名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案10 8 20 16 拥塞避免9 2

26、1 16 拥塞避免10 22 16 拥塞避免11 23 16 拥塞避免12 24 16 拥塞避免13 1 12 慢开始14 2 12 慢开始15 4 12 慢开始16 8 12 慢开始17 12 12 拥塞避免18 13 12 拥塞避免19 14 12 拥塞避免20 15 12 拥塞避免21 16 12 拥塞避免22 17 12 拥塞避免23 18 12 拥塞避免24 1 9 慢开始25 2 9 慢开始26 4 9 慢开始27 8 9 慢开始28 9 9 拥塞避免29 10 9 拥塞避免30 11 9 拥塞避免名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -

27、 - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案11 课程设计示例1.字节填充法解决透明传输模拟【分值】 10 分【页码】 P67 【描述】待传送的原始数据以十六进制字符存储在input.txt文件中,内含SOH(0 x01) 、EOT(0 x04) 、ESC (0 x1B)等字符。编写字节填充算法,并将结果保存至output_f.txt文件;并且编写算法还原数据,结果保存至output_d.txt文件。【提示】a、原始数据只要包含3 种特殊字符即可,内容任意。b、存储原始数据的i

28、nput.txt 文件中只可能出现十六进制字符,且长度为偶数。【举例】input.txt AC00013C5604201B76 output_f.txt AC001B013C561B04201B1B76 output_d.txt AC00013C5604201B76 【程序清单】01 #includestdio.h02 03 typedefint status; 04 #define TRUE 105 #define FALSE 006 07 #define MAX_BUF_LEN 150008 09 #define SOH 0 x0110 #define EOT 0 x0411 #defin

29、e ESC 0 x1B12 13 typedefstruct StuffingString14 15 unsigned char bufMAX_BUF_LEN; 16 unsigned int len; 17 * PStuffingString; 18 19 status byte_stuffing(PStuffingString psin, PStuffingString psf) 20 21 unsigned int i=0; 22 psf-len = 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -

30、- - - - - - 第 11 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案12 23 while ( ilen ) 24 25 if ( psin-bufi = SOH | psin-bufi = EOT | psin-bufi = ESC ) 26 psf-bufpsf-len+ = ESC; 27 psf-bufpsf-len+ = psin-bufi+; 28 29 return TRUE; 30 31 32 status byte_unstuffing(PStuffingString psf, PStuffingString psd) 33 34

31、 unsigned int i=0; 35 psd-len = 0; 36 while ( ilen ) 37 38 if ( psf-bufi = ESC ) 39 40 i+; 41 if ( psf-bufi != SOH & psf-bufi != EOT & psf-bufi != ESC ) 42 return FALSE; 43 44 psd-bufpsd-len+ = psf-bufi+; 45 46 return TRUE; 47 48 49 status input(char f, PStuffingString psin) 50 51 FILE * fp; 52 psin

32、-len = 0; 53 if (fp = fopen(f, r ) = NULL) 54 return FALSE; 55 while ( fscanf(fp, %2X , &psin-bufpsin-len+) != EOF ); 56 psin-len-; 57 if ( fclose(fp) ) 58 return FALSE; 59 return TRUE; 60 61 62 status output(char f, PStuffingString psout) 63 64 FILE * fp; 65 unsigned int i=0; 66 if (fp = fopen(f, w

33、 ) = NULL) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 13 页 - - - - - - - - - 计算机网络基础课程设计方案13 67 return FALSE; 68 while ( ilen ) 69 70 if ( psout-bufi bufi+); 73 74 if ( fclose(fp) ) 75 return FALSE; 76 return TRUE; 77 78 79 void main() 80 81 StuffingString

34、 sin, sf, sd; 82 if (input( c:input.txt, &sin) = TRUE) 83 84 if (byte_stuffing(&sin, &sf) = TRUE) 85 86 output(c:output_f.txt, &sf); 87 if (byte_unstuffing(&sf, &sd) = TRUE) 88 89 output( c:output_d.txt, &sd); 90 printf( byte-stuffing/unstuffing successful!n); 91 92 93 94 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 13 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁