四川理工学院
课程设计书
学院专业班级题目教师学生
计算机学院计算机科学与技术09级04班发送TCP数据包王非,何绍荣,陈超赵清勇,谭凯,唐红琴
1
f实验分工:程序设计、编写代码由全小组成员共同完成谭凯:在vc下调试运行程序、文档编写赵清勇:在dos下运行检查、初步完成课程设计报告唐红琴:查找资料、整理课程设计报告
2
f目
录
一课程设计准备411课程设计目的412课程设计的要求413相关知识514工作环境7二课程设计分析721使用原始套接字72.2定义IP头部、TCP头部和伪头部的数据结构823计算校验和的子函数1024程序流程图11三源代码12运行结果与运行情况四运行结果与运行情况18五自我评析和总结19六参考文献20
3
f发送TCP数据包数据包
一课程设计准备
设计目的11课程设计目的
TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。TCP协议在网络层IP协议的基础上,向应用层用户进程提供可靠的、全双工的数据传输流。本课程设计的目的就是设计一个发送TCP数据包的程序,并根据本设计说明TCP数据包的结构以及TCP协议与IP协议的关系,使学生对TCP协议的工作原理有更深入的认识。
设计的要求12课程设计的要求
本程序的功能是填充一个TCP数据包,并发送给目的主机。1)以命令行形式运行:Se
dTCPsourse_ipsourse_portdest_ipdest_port其中,Se
dTCP为程序名;sourse_ip为源端IP地址;sourse_port为源埠;dest_ip为目的IP地址;dest_port为目的埠。2)其它的TCP头部参数请自行设定。3)数据字段为“Thisismyhomeworkof
etworkIamhappy”。4)发送成功后在屏幕上输出”se
dOK”。
4
f13相关知识
编制本程序前要对TCP协议有一定的了解。当应用程序有报文需要通过TCP发送时,它就将此应用层报文传送给执行TCP协议的传输实体。TCP传输实体将用户数据加上TCP报头,形成TCP数据包,在TCP数据包上增加IP头部,形成IP包。下图显示的是TCP数据包和IP包的关系。TCP报头TCP数据
IP报头
IP数据
TCP协议的传输单元为报文段,其格式如图所示。报文段报头的长度为20B60B。其中固定长度为20B,报文段长度最多为40B。TCP报文段主r