计算机网络课程设计(TCP数据报).doc
文本预览下载声明
四 川 理 工 学 院
课 程 设 计 书
学院 计算机学院
专业 计算机科学与技术
班级 09级计科八班
题目 发送TCP数据包
教师 王非 何绍荣 陈超
学生 张卫 郭文娟 杨晓丽
姓名
学号
分工
张卫
09101010814
文档编写、排版、流程图、代码编写
郭文娟
09101010819
文档编写、排版、查找资料
杨晓丽
09101010828
文档编写、排版、查找资料
目 录
摘要 1
0.引言 1
1.设计课题 2
1.1 课程设计课题 2
1.2 课程设计要求 2
2.系统概述 3
2.1 设计程序目的 3
2.2程序设计思想 3
2.3 程序运行操作平台 3
3.概要设计 4
3.1 相关知识 4
3.2 程序流程图: 6
4.详细设计 9
4.1 定义各头部数据结构 9
4.2 计算校验和子程序 10
4.3 填充数据包 11
4.4 发送数据包 13
4.5 执行程序 15
5.扩展设计(C#实现) 16
5.1概述 16
5.2服务器端 17
5.3 客服端 19
5.4 执行程序 21
6. 设计中遇到的问题 21
7.设计后的感想及收获 21
7.1 设计后对计算机网络课程的认识 21
7.2对此次课程设计的收获 22
参考文献 22
发送TCP数据包
摘要
在这个课程设计中,主要对TCP数据包的结构以及TCP协议与IP协议的关系进行了说明。用C语言编程,设计一个发送TCP数据包的程序,并在发送成功后显示一句“Send Ok”。在设计的过程中,需要对IP首部、TCP首部和伪首部定义数据结构,并且填充IP数据包和TCP数据包。在填充数据包的过程中,需要调用计算校验和的函数,分别用于校验IP头和TCP头部(加上伪头部)。在发送数据包的过程中,要填充发送缓冲区并填入数据报的目的地址。这样整个发送过程就结束了。
扩展:用C#设计一个服务器程序(Server),一个客户端程序(Client),客户端通过服务器的转发向其他客服端发送数据,实现任意客服端的相互通信。
0.引言
《计算机网络》课程是一门很重要的专业课,它主要是对各个层的协议做了详细的介绍,学习这门课程我们就必须掌握各个层的协议的工作原理。OSI模型有7个不同的层,分为两个组。上面三层定义了中断系统中的应用程序将被彼此通信,以及如何与用户通信。下面4层定义了三怎样进行端到端的数据传输。FOSI参考模型的7层和各层的功能[ [1]. Application layer (应用层)文件、打印、消息、数据库和应用程序uvQ7 [2]. Presentation layer(表示层) 数据加密、压缩和转换服务?C6 [3]. Session layer (会话层)会话控制 [v\H [4]. Transport layer(传输层) 端到端连接lz6k [5]. Network layer (网络层)路由选择0\h [6]. Data Link layer (数据链路层)数据组合成帧 q6f [7]. Physical layer (物理层)物理拓扑
在这个课程中,主要涉及到TCP协议,对它的包的结构和发送过程做了详细的分析。
1.设计课题
1.1 课程设计课题
发送TCP数据包。
1.2 课程设计要求
本设计的功能是填充一个TCP数据包,并发送给目的主机。
程序具体要求如下:
1) 以命令行形式运行:SendTCP、source_ip、source_port、dest_ip、dest_port,其中SendTCP是程序名,source_ip为源端IP地址,source_port为源端口号,dest_ip为目的地址,dest_port为目的端口号;
2) 其他的TCP头部参数请自行设定;
3) 数据字段为“This is my homework of network ,I am happy !”
4) 成功发送后在屏幕上输出“Send OK” 。
扩展:
客户端与客服端通过服务器的的转发相互通信。(C#实现)
2.系统概述
2.1 设计程序目的
TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。TCP协议在网络层IP协议的基础上,向应用层用户进程提供可靠的、全双工的数据流传输。本课程设计的目的就是设计一个发送TCP数据包的程序,并根据本设计说明TCP数据包的结构以及TCP协议与IP协议的关系,使学生对TCP协议的工作原理有更深入的认识。
2.2程序设计思想
当多信息的传输要求比较高时,我们才用TCP来实现数据的传输。本程序
显示全部