2022年网络课程设计任务书 .pdf
《2022年网络课程设计任务书 .pdf》由会员分享,可在线阅读,更多相关《2022年网络课程设计任务书 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 计算机网络原理课程设计说明书发送 TCP 数据包起止日期:2010年 06月 28 日 至 2010年 07 月 02 日学生姓名班级学号成绩指 导 教 师 ( 签 字 )计算机与通信学院2010 年 7 月 02 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 2 湖南工业大学课程设计任务书2009 2010 学年第二学期计算机与通信学院(系、部)通信工程专业071 班级课程名称:计算机网络原理设计题目:发送 TCP数
2、据包完成期限:自2010 年 6 月 28 日至2010 年 7 月 02 日共1 周内容及任务主要内容:1. 本程序的功能是填充一个TCP数据包,并发送给目的主机。2. 以命令行形式运行: SendTCP source_ip source_port dest_ip dest_port 其中 SendTCP为程序名; source_ip为源 IP 地址; source_port为源端口;dest_ip为目的 IP 地址; dest_port为目的端口。3. 其他的 TCP 头部参数自行设定。4. 数据字段为“ This is my homework of network!”. 5. 成功发送后
3、在屏幕上输出“send OK”。进度安排起止日期工作内容2010.6.28 分组、任务分配、课题理解2010.6.29 查阅资料、算法分析设计、完成流程图的设计2010.6.30 了解初始化原始套接字2010.7.1 了解并且熟悉发送TCP 数据包的过程2010.7.2 程序调试、演示和答辩、修改设计说明书、个人总结主要参考资料1 谢希仁 .计算机网络 (第五版 ).电子工业出版社.2008 2 吴功宜 .计算机网络(第二版 ).清华大学出版社.2008 3 吴功宜 .计算机网络课程设计.机械工业出版社.2005(校图书馆:TP393.466)4 吴英 .计算机网络软件编程指导书.清华大学出版
4、社.2008 5 徐明伟 .计算机网络原理实验教程.机械工业出版社.2008指 导 教 师 (签字):年月日系 ( 教 研 室 ) 主 任 ( 签字) :年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 3 课题名称计算机网络原理人数3 组长同组人员课题的主要内容和要求主要内容:1. 本程序的功能是填充一个TCP 数据包,并发送给目的主机。2. 以命令行形式运行: SendTCP source_ip source_port
5、 dest_ip dest_port 其中 SendTCP为程序名; source_ip为源 IP 地址; source_port为源端口;dest_ip为目的 IP 地址; dest_port为目的端口。3. 其他的 TCP 头部参数自行设定。4. 数据字段为“ This is my homework of network!”. 5. 成功发送后在屏幕上输出“send OK”。主要要求:1算法正确,程序运行正常、输出清晰。2遵循良好的编程规范,程序要有合适的注释。3编程所使用的操作系统、 语言、开发环境不限, 但要在设计说明书中注明。4设计说明书逻辑清晰,主要算法用流程图表述,书写规范。具体
6、任务1. 初始化原始套接字2. 发送 TCP数据包时间安排与完成情况6 月 28 号, 查找好相关资料、理解原理、并分配好任务6 月 29 号, 熟悉了解初始化原始套接字的过程6 月 30 号, 熟悉并且了解发送数据包的过程7 月 01 号, 把两者结合起来,实现程序的功能7 月 02 号,编写调试,并且撰写课程设计报告名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 4 一、设计目的:设计一个发送 TCP数据包的程序,并根据本
7、设计说明TCP 数据包的结构以及 TCP 协议与 IP 协议的关系, 使大家对 TCP 协议的工作原理有更深入的认识。二、设计要求:本程序的功能是填充一个TCP 数据包,并发送给目的主机。?以命令行形式运行: Send TCP source_ip source_port dest_ip dest_port 。 其中 SendTCP为程序名;source_ip为源 IP 地址; source_port为源端口;dest_ip为目的 IP 地址; dest_port为目的端口。?其他的 TCP 头部参数自行设定。?数据字段为“ This is my homework of network!”. ?
8、成功发送后在屏幕上输出“send OK! ” 。三、设计分析:?使用原始套接字?定义 IP 头部、 TCP 头部和伪头部的数据结构?填充数据包?发送数据包四、设计思想:本课程设计的目标是发送一个TCP数据包,可以利用原始套接字来完成这个工作。整个程序由初始化原始套接字和发送TCP数据包两个部分组成。创建一个原始套接字,并设置IP 头选项SOCKET sock; sock = socket(AF_INET,SOCK_RAW,IPPROTO_IP); 或者:sock=WSASoccket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPED)
9、; 设置 SOCK_RAW 标志,表示我们声明的是一个原始套接字类型。为 使 用 发 送 接 收 超 时 设 置 , 必 须 将 标 志 位 置 位 置 为名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 5 WSA_FLAG_OVERLAPPED 。在本课程设计中,发送TCP 包时隐藏了自己的IP 地址, 因此我们要自己填充IP 头, 设置 IP 头操作选项。其中 flag 设置为 ture,并设 定IP_HDRINCL 选项
10、 ,表 明自己 来构 造 IP 头 。 注 意, 如果 设置IP_HDRINCL 选项, 那么必须具有administrator权限, 要不就必须修改注册表:HKEY_LOCAL_MACHINESystemCurrentControlSetServicesAfdParameter 修改键: DisableRawSecurity(类型为 DWORD) ,把值修改为1。如果没有,就添加。BOOL Flag=TRUE; setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char *)&Flag, sizeof(Flag); int timeout=1000;sets
11、ockopt(sock, SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout, sizeof(timeout); 在这里我们使用基本套接字SOL_SOCKET,设置 SO_SNDTIMEO 表示使用发送超时设置,超时时间设置为1000ms。构造 IP 头和 TCP 头这里,IP 头和 TCP 头以及 TCP 伪部的构造请参考下面它们的数据结构。计算校验和的子函数在填充数据包的过程中,需要调用计算校验和的函数checksum 两次,分别用于校验IP 头和 TCP头部(加上伪头部) ,其实现代码如下:USHORT checksum(USHORT *buffer, int
12、size) unsigned long cksum=0; while(size 1) cksum+=*buffer+; size -=sizeof(USHORT); if(size ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 6 cksum += *(UCHAR*)buffer; cksum = (cksum 16) + (cksum & 0 xffff); cksum += (cksum 16); return (U
13、SHORT)(cksum); 五、程序流程图:构 造原 始 套 接 字 , 并 初始 化开始填 充 IP 头 部计 算 IP 头部 检 验 和构 造 T C P 伪 头 部填 充T C P 头 部计 算 T C P 头 部 校 验 和发 送 T C P 数 据 报结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 7 六、源程序代码:#include #include #include #include #include #i
14、nclude #include #include #pragma comment(lib,ws2_32.lib)#define IPVER 4 /IP 协议预定#define MAX_BUFF_LEN 65500 /发送缓冲区最大值typedef struct ip_hdr /定义 IP 首部 UCHAR h_verlen; /4 位首部长度 ,4 位 IP 版本号UCHAR tos; /8 位服务类型TOS USHORT total_len; /16 位总长度(字节)USHORT ident; /16 位标识USHORT frag_and_flags; /3 位标志位UCHAR ttl; /
15、8 位生存时间TTL UCHAR proto; /8 位协议(TCP, UDP 或其他 ) USHORT checksum; /16 位 IP 首部校验和ULONG sourceIP; /32 位源 IP 地址ULONG destIP; /32 位目的 IP 地址IP_HEADER; typedef struct tsd_hdr / 定义 TCP 伪首部 ULONG saddr; /源地址ULONG daddr; /目的地址UCHAR mbz; /没用UCHAR ptcl; /协议类型USHORT tcpl; /TCP 长度PSD_HEADER; typedef struct tcp_hdr
16、/ 定义 TCP 首部 USHORT th_sport; /16 位源端口USHORT th_dport; /16 位目的端口ULONG th_seq; /32 位序列号ULONG th_ack; /32 位确认号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 8 UCHAR th_lenres; /4 位首部长度 /6 位保留字UCHAR th_flag; /6 位标志位USHORT th_win; /16 位窗口大小USH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年网络课程设计任务书 2022 网络 课程设计 任务书
限制150内