当前位置:文档之家› 网络课程设计 发送TCP数据包

网络课程设计 发送TCP数据包

网络课程设计 发送TCP数据包
网络课程设计 发送TCP数据包

成绩评定表

学生姓名班级学号

专业课程设计题目发送TCP数据包评

组长签字:

成绩

日期 2012 年月日

课程设计任务书

学院专业

学生姓名班级学号

课程设计题目发送TCP数据包

实践教学要求与任务:

发送TCP数据包的具体步骤:

(1)以命令行形式运行:SendTCP 和ListenTCP,其中,SendTCP是发送程序,ListenTCP是监听程序,发送端套接字为127.0.0.1 20000,接收端套接字为127.0.0.1 10000。

(2)数据字段为“I Love China!”。

(3)成功发送后在屏幕上输出“Send OK!”。

任务交付:

1.程序源代码;2课程设计论文及电子文档。

进度安排:

本课程设计时间为17、19教学周。其中包含设计、代码调试、课程设计论文撰写几个阶段。

第1周查找资料、完成初步设计、代码设计与初步调试;

第2周调试、测试、验收、课程设计论文撰写、答辩。

指导教师:

年月日专业负责人:

年月日

学院教学副院长:

年月日

目录

1 概述 (4)

1.1设计目的 (4)

1.2设计要求 (4)

1.3设计原理 (4)

2 详细设计 (7)

2.1 程序流程图 (7)

2.2 计算校验和 (8)

3 程序代码及运行结果 (9)

3.1程序清单 (9)

3.2 运行结果 (11)

4 总结 (14)

5参考文献 (15)

1 概述

1.1设计目的

TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。TCP协议在网络层IP 协议的基础上,向应用层用户进程提供可靠的、全双工的数据流传输。本课程设计的目的就是设计一个发送TCP数据包的程序,并根据本设计说明TCP数据包的结构以及TCP 协议与TP协议的关系。

1.2设计要求

本设计的功能是填充一个TCP数据包,并发送给目的主机。

程序具体要求如下:

(1)以命令行形式运行:SendTCP 和ListenTCP,其中,SendTCP是发送程序,ListenTCP是监听程序,发送端套接字为127.0.0.1 20000,接收端套接字为127.0.0.1 10000。

(2)数据字段为“I Love China!”。

(3)成功发送后在屏幕上输出“Send OK!”。

1.3设计原理

互联网络层是TCP/IP协议参考模型中的关键部分。当多信息的传输要求比较高时,我们才用TCP来实现数据的传输。本程序是在windows环境下实现了发送TCP数据包的功能。主要包括定义IP头部、TCP头部、和伪头部的数据结构,填充IP头部,计算IP 头部校验和,构造TCP伪头部,填充TCP头部,计算TCP头部校验和,发送TCP数据报。接着是对客户端程序的开发,程序结构与服务端程序类似,也包括定义IP头部、TCP 头部、和伪头部的数据结构。

当应用进程需要通过TCP发送时,它就将此应用层报文传送给执行TCP协议的传输实体。TCP传输实体将用户数据加上TCP报头,形成TCP数据包,在TCP数据包上增加IP头部,形成IP包。

TCP协议的数据传输单位称为报文段,报文段报头的长度是20B-60B,选项部分长度最多为40B。TCP报文段主要包括:

(1)端口号:端口号字段包括源端口号和目的端口号。每个端口号的长度是16位,分别表示发送该TCP包的应用进程的端口号和接收该TCP数据包的应用进程端口号。

(2)序号:长度为32位。由于TCP协议是面向数据流的,它所传送的报文段可以

视为连续的数据流,因此需要给每一个字节编号。序号字段的“序号”指的是本报文段数据的第一个字节的序号。

(3)报文长度:该字段长度为4位。TCP 报文长度是以4B 为一个单元来计算的,实际上报文长度在20B-60B 之间,因此这个字段的值在5-15之间。

(4)TCP 头部数据:包括 源端口号、序号、确认号、报文长度、保留URG 、ACK 、PSH ,数据包头部的格式RST 、SYN 目的端口号。

(5)FIN :紧急指针,保留长度16位,留作以后使用,目前全部置0。保留控制:这个字段定义了6种不同的标识,每一个标志占一位或多位。URG 位为1时,表明应尽快把数据传送给应用程序,否则表明允许数据在缓存中存放一段时间。RST 位为1时,表明要强制切断连接。SYN 位1时,表明有确立连接的请求,这时,把序号字段的初始值作为序号字段的值,以便开始通信。FIN 位为1时,表明发送方已经没有数据发送了,长度为16位,指向必须紧急处理的位置,只有当标志URG=1时紧急指针才生效。从TCP 报头后面的报文数据开始,到紧急指针所指出长度的数据,就是必须紧急处理的数据。 下面分别给出IP 头部、TCP 头部、和伪头部的数据结构图示:

(1)TCP 数据包和IP 的关系如图1-1所示:

图1-1 TCP 数据包和IP 的关系

TCP 报头

TCP 数据

IP 数据

IP 报头

(2)TCP协议的传输单元称为报文段、其格式如1-2所示:

TCP头部数据

源端口号目的端口号

序号

确认号

报文长度保留URG ACK PSH RST SYN FIN 窗口大小

校验和紧急指针

选项及填充

图1-2 TCP协议报文段格式

(3)伪头部的格式如图1-3所示:

0 8 16 24 31

源IP地址

目的IP地址

00000000 协议号(6)TCP长度

图1-3 伪头部数据格式

2 详细设计

2.1 程序流程图

本程序采用的是顺序结构,其流程图如图2-1所示:

开始

构造原始套接字,并初始化

填充IP头部

计算IP头部校验和

够找TCP伪头部

填充TCP头部

计算TCP头部校验和

发送TCP数据包

接收TCP数据包

结束

图2—1 程序流程图

2.2 计算校验和

为了计算一份数据报的IP检验和,首先把检验和字段置为0。然后,对首部中每个16bit进行二进制反码求和(整个首部看成是由一串16bit的字组成),结果存在检验和字段中。当收到一份IP数据报后,同样对首部中每个16bit进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1。如果结果不是全1(即检验和错误),那么IP就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。校验和(checksum),在数据处理和数据通信领域中,用于校验目的的一组数据项的和。这些数据项可以是数字或在计算检验的过程中看作数字的其它字符串。本程序中,“in_cksum”为计算校验和的函数,在填充数据包的过程中,需要调用这个函数两次,分别用于校验IP头部和TCP头部(加上伪头部)。

3 程序代码及运行结果

3.1程序清单

监听TCP数据包的服务端程序:

import https://www.doczj.com/doc/bf13560673.html,.*;

import java.io.*;

public class ListenTCP //监听TCP数据包的服务端程序

{

public static void main(String[] args)

{

ServerSocket listen=null; //定义一个ServerScoket类型的引用

Socket soc=null; //定义Socket的应用,用于套接字连接

String message=null;

BufferedReader bf=null;//定义一个BufferedReader类型的读内容的引用

InputStreamReader isr=null;//定义一个可读输入流

try{

listen=new ServerSocket(10000); //创建一个监听1000端口的对象

soc=listen.accept();//当有socket连接所监听的端口时,连接上该socket

System.out.println("*******************************************");

System.out.println("server ok");

System.out.println("*******************************************");

System.out.println("");

isr=new InputStreamReader(soc.getInputStream());//创建一个来自套接字soc

的可读输入流

bf=new BufferedReader(isr);//把soc的可读输入流作为参数创建一个 BufferedReader

message=bf.readLine();//以每行为单位读取从客户端发来的数据

System.out.println("Socket:"+soc);//显示出发送方的IP地址和端口号

System.out.println("Receive the message from :"+message); //显示接收到的数

System.out.println("");

System.out.println("*******************************************");

isr.close();//关闭输入流isr

bf.close(); //关闭字符流bf

soc.close(); //关闭Socket套接字

}

catch(Exception e)//异常处理

{

System.out.println("Error:"+e);

}

}

}

发送TCP数据包的发送端程序:

import https://www.doczj.com/doc/bf13560673.html,.*;

import java.io.*;

public class SendTCP

{

public static void main(String[] args) throws IOException

{

if (args.length!=4)

{

System.out.println("您在命令行的输入格式有误,请按照以下格式重新输入!");

System.out.println("源IP地址源端口目的IP地址目的端口");

System.exit(0);

}

String source_ip=args[0];

int source_port=Integer.parseInt(args[1]);

String dest_ip=args[2];

int dest_port=Integer.parseInt(args[3]);

if (dest_port!=10000)

{

System.out.println("请保持目的端口为10000!");

System.exit(0);

}

OutputStream os=null;

PrintStream ps=null;

BufferedReader bf=null;

String message="This is my homework of network!";

Socket soc=null;

try{

soc=new Socket(dest_ip,dest_port);

System.out.println("***************************************************");

System.out.println("Connect to server......");

System.out.println("***************************************************");

System.out.println();

bf=new BufferedReader(

new InputStreamReader(System.in));

System.out.print("Please input the message: ");

message=bf.readLine();

os=soc.getOutputStream();

ps=new PrintStream(os);

ps.println(message);

bf.close();

ps.close();

os.close();

System.out.println();

System.out.println("***************************************************" );

System.out.println("Send OK !");

System.out.println("The message was send to the address:

"+dest_ip+"["+dest_port+"]");

System.out.println("***************************************************");

soc.close();

}catch(Exception e)

{

System.out.println(e);

}

}

}

3.2 运行结果

(1)发送端套接字和接收端套接字设定:

设定套接字格式必须正确,否则程序将出现异常,这里我们是发送给本机,所以选取系统默认的本地IP,可以设定成发送套接字为127.0.0.1 20000,接收套接字为127.0.0.1 10000,设定成功之后,系统会显示正在进行连接——Connect to server 如图3-1所示:

图3-1 套接字的设定

(2)“握手”成功:

系统自动提示连接成功,可以进行数据传送,如图3-2所示:

图3-2 连接(“握手”)成功

(3)信息发送:

发送的信息为“I Love China!”,信息发送成功之后,系统提示“Send OK!”

运行结果如图3-3所示:

图3-3 发送数据成功

(4)信息接收:

系统显示接收到的信息“I Love China!”,结果如图3-4所示:

图3-4数据接收成功

4 总结

经过本次课设,我知道了如何在电脑中实现IP的格式检测。不仅要判断取值范围,还要判断标点符号、是否具有32位等等。并且我也学习到了两个新函数的运用,一个是将字符型转化成int形的函数atoi(),另一个是字符串分片函数strtok()。另外,对IP地址与子网掩码的关系也有了进一步的了解。我认为,用mask的值控制比较子网与主网的子网号是否一致,是一个比较精彩的地方。

在书上学来的东西应用到实际中还是有一定困难,开始做程序时,IP地址格式判断的条件我没有考虑全,所以刚开始总出错,这个问题以后也会注意。

我相信本次课程设计能给我在今后的学习生活中给以帮助。

5参考文献

[1]《计算机网络(第5版)》谢希仁著电子工业出版社 2009

[2]《计算机网络》宋凯刘念主编清华大学出版社 2010

[3]《数据通信与网络(第四版)》吴时霖周正康吴永辉译电子工业出版社 2010

[4]《C程序设计(第四版)》谭浩强著清华大学出版社 2009

[5]《TCP/IP协议族(第三版)》福罗赞著清华大学出版社 2010

TCP数据包格式

TCP数据包格式(zz) 修改浏览权限| 删除TCP提供一种面向连接的、全双工的、可靠的字节流服务。 在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。 TCP的接收端必须丢弃重复的数据。 TCP对字节流的内容不作任何解释。对字节流的解释由TCP连接双方的应用层解释。TCP通过下列方式来提供可靠性: 应用数据被分割成TCP认为最适合发送的数据块,称为报文段或段。 TCP协议中采用自适应的超时及重传策略。 TCP可以对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。 TCP的接收端必须丢弃重复的数据。 TCP还能提供流量控制。 TCP报文段格式

源端口和目的端口字段——各占2字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。 序号字段——占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 确认号字段——占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 数据偏移——占4bit,它指出TCP报文段的数据起始处距离CP报文段的起始处有多远。“数据偏移”的单位不是字节而是32bit字(4字节为计算单位)。 保留字段——占6bit,保留为今后使用,但目前应置为0。

紧急比特URG——当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 确认比特ACK——只有当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。 复位比特RST(Reset) ——当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 同步比特SYN——同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。 终止比特FIN(FINal)——用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 窗口字段——占2字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。 检验和——占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP 报文段的前面加上12字节的伪首部。 紧急指针字段——占16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。 选项字段——长度可变。TCP首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其它选项。 填充字段——这是为了使整个首部长度是4字节的整数倍。 TCP首部的主要选项: 最大报文段长度MSS(Maximum Segment Size)是TCP报文段中的数据字段的最大长度。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节。”窗口扩大因子,用于长肥管道。 时间戳,可用于测量往返时延RTT。 TCP的数据编号与确认 TCP协议是面向字节的。TCP将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。 在连接建立时,双方要商定初始序号。TCP每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。 TCP的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。为提高效率,TCP可以累积确认,即在接收多个报文段后,一次确认。 一、TCP的流量控制 TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。 TCP报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。 发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。

综合实验(课程设计):中小型网络工程设计与实现

综合实验:中小型网络工程设计与实现 (课程设计) 实验(设计)内容 实施目标:为某企业构建一个高性能、可靠的网络。 简要需求: (1)该企业主要包括三个建筑:行政楼、销售部、生产厂区,中心机房设在行政楼。 (2)对外提供WWW服务、对内提供文件传输服务、内外均可访问的Email服务。 (3)行政楼上的用户约120人(每人一台计算机),分成若干部门,不同部门的用户可能处在不同楼层,每一层可能有不同的部门用户。要求部门之间内部可以相互通信,不同部门之间保持一定独立性和信息隔离。【建设经过调研可知:部门为5个。其中,部门1有10人,在同一楼层;部门2有30人,在不同楼层;部门3有20人,在同一楼层;部门4有30人,在同一楼层;部门5有30人,在不同楼层】(4)销售部门约150人(每人一台计算机),分成5个团队。要求不同团队之间保持通信的独立性和隔离性。【经过调研可知:每个团队30人,每个团队的人员都在同一个楼层,不同团队可能在不同的楼层】 (5)生产厂区分成三个车间,每个车间约60个用户。 根据需求进行简要分析,可知: (1)划分VLAN,行政楼的部门需要跨交换机的VLAN划分。 (2)子网划分,不同的VLAN使用不同的子网,将子网和VLAN重叠使用。 (3)路由配置,不同子网(VLAN)之间的路由配置。 (4)WEB、DNS、DHCP、FTP、E-Mail等服务器放在中心机房的DMZ区。 设计与实现过程: (1)需求分析:详细描述企业对网络的需求。 (2)概要设计:画出网络拓扑结构图,说明报告中主要功能的实现过程。 (3)详细设计:交换机和路由器配置过程和清单。 (4)调试分析:路由、交换之间进行通信测试。 实验(设计)步骤 1、(共20分)网络拓扑设计 请根据给出的已知条件为该企业设计网络拓扑图(可以用手绘制或者请使用Cisco Packet Tracer模拟器绘制),要求按照分层结构进行设计。 要求: (1)每个VLAN/子网画出2台终端主机即可,跨交换机的VLAN需要说明或标识。将结果拍照或者截图插入到此处。(10分) 若图被遮挡,可在布局中将纸张大小调大

IP数据报格式

IP数据报格式 TCP/IP协议定义了一个在因特网上传输的包,称为IP 数据报(IP Datagram)。这是一个与硬件无关的虚拟包, 由首部和数据两部分组成,其格式如图所示。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址 1、IP数据报首部的固定部分中的各字段 (1)版本占4位,指IP协议的版本。通信双方使用的IP 协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。 (2)首部长度占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP 协议时较为方便。首部长度限制为60 字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何

选项。 (#我们一般看到的版本和首部长度两个字段是十六进制45,就是版本号version=4,headlength=5,也就是首部长度是60个字节) (3)区分服务占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。 (4)总长度总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为 216-1=65535字节。 #可以看这个以太网frame总长为336字节,而IP数据包Total length=322,336-322=14正好是Ethernet包头的长度,所以就可以看出这IP数据包总长度一值就是除去Ethernet头的剩余长度,也就是IP包头加数据的长度。 在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。 (5)标识(identification)占16位。IP软件在存储器中维

TCP数据包的发送和接收设计报告

湖北工业大学 课程设计报告 设计题目:TCP数据包的发送和接收专业:计算机科学与技术 班级:10计科2班 学号:11 姓名:吕红杰 指导老师:涂军

一.设计题目 发送和接收TCP数据包 二.设计要求 1.正确理解题意; 2.具有良好的编程规范和适当的注释; 3.有详细的文档,文档中应包括设计题目涉及的基础知识、设计思路、程序流程图、程序清单、开发中遇到的问题及解决方法、设计中待解决的问题及改进方向。 三.需求分析 TCP是一种面向连接的、可靠的传输层协议。TCP协议工作在网络层IP协议的基础上。本课程设计的目的是设计一个发送和接收TCP数据包的程序,其功能是填充一个TCP数据包,发送给目的主机,并在目的主机接收此TCP数据包,将数据字段显示显示在标准输出上。 四.具体设计 1.创建一个原始套接字,并设置IP头选项 SOCKET sock; sock = socket(AF_INET,SOCK_RAW,IPPROTO_IP); 或者: sock=WSASoccket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPE D); 这里,设置了SOCK_RAW标志,表示我们声明的是一个原始套接字类型。 为使用发送接收超时设置,必须将标志位置位置为WSA_FLAG_OVERLAPPED。在本课程设计中,发送TCP包时隐藏了自己的IP地址,因此我们要自己填充IP头,

设置IP头操作选项。其中flag设置为ture,并设定 IP_HDRINCL 选项,表明自己来构造IP头。 setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char *)&Flag, sizeof(Flag)); int timeout=1000; setsockopt(sock, SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout, sizeof(timeout)); 在这里我们使用基本套接字SOL_SOCKET,设置SO_SNDTIMEO表示使用发送超时设置,超时时间设置为1000ms。 2.构造IP头和TCP头 这里, IP头和TCP头以及TCP伪部的构造请参考下面它们的数据结构。typedef struct _iphdr 算校验和的子函数 在填充数据包的过程中,需要调用计算校验和的函数checksum两次,分别用于校验IP头和TCP头部(加上伪头部),其实现代码如下: USHORT checksum(USHORT *buffer, int size) { unsigned long cksum=0; while(size >1) { cksum+=*buffer++; size -=sizeof(USHORT); } if(size ) { cksum += *(UCHAR*)buffer; } cksum = (cksum >> 16) + (cksum & 0xffff); cksum += (cksum >>16);

IP数据包格式简介

IP 数据包格式 IP 数据包是网络传输的信封,它说明了数据发送的源地址和目的地址,以及数据传输状态。一个完整的数据包由首部和数据两部分组成。首部前20字节属于固定长度,是所有IP 数据包必须有的,后面是可选字段,其长度可变,首部后面是数据包携带的数据,见图5.3.1。 48 16 19 31 版本号 标志 生存时间 协 议标 识 服务类型数据包总长度 段偏移首 部 检 验 和 源地址目 的地址可 选字段+ 填 充位首部长度 数 据部 分 数 据 首部首部 IP 数据包 发送 图5.3.1 IP 数据包格式 1. 版本号(4bit ) 版本号占4位,是IP 协议所使用的版本号,目前是广泛使用的是第四版本,即IPv4。 2. 首部长度(4bit ) 首部长度用于指出IP 包头长度,用于标识数据包头在何处结束,所携带的数据在何处开始。首部长度占四位,数值范围5~15,以4字节为单位,则IP 首部长度为20字节~60字节。如假设首部长度取值“1010”,转换为十进制为“10”,表示IP 包头长度为10×4=40字节,数据从第41字节开始。 3. 服务类型(8bit ) 服务类型用于获得更好服务,大多数情况下并不使用。当网络流量较大时,路由器会根据不同数据包服务类型取值决定哪些先发送,哪些后发送,见图5.3.2。 D 优先级T R C 未用 0 1 2 3 4 5 6 7 图5.3.2 服务类型格式 (1)前3个bit 表示优先级,取值范围0~7共8个优先级,数值越低优先级越高。 (2)后四位是服务类型子字段,用于标识QOS 质量服务。 D :表示要求更低时延 T :表示要求更多吞吐量 R :表示要求更多可靠性 C :表示要求更小路径开销 注:DTRC 默认4位值都为0,表示一般服务;

网络课程设计--办公自动化系统的设计与实现

软件生产实习报告书 办公自动化系统的设计与实现 学号:0905010422 姓名:常勇 指导老师:姜磊 完成日期:2013年3月15日

目录 第一章前言---------------------------------------------------1 第二章可行性分析-------------------------------------------1 1、社会可行性分析---------------------------------------------1 2、使用可行性分析---------------------------------------------1 第三章系统分析----------------------------------------------1 1、性能需求------------------------------------------------1 2、功能需求------------------------------------------------2 3、用户需求------------------------------------------------------2第四章系统总体设计-----------------------------------------2 1、功能描述------------------------------------------------2 2、系统操作流程图-----------------------------------------3 第五章系统详细设计--------------------------------------4 1、数据库设计---------------------------------------------4 2、系统模块设计-------------------------------------------5 第六章系统测试--------------------------------------------9 1、测试环境-----------------------------------------------9 2、主要模块测试及结果-------------------------------------9 总结-----------------------------------------------------10参考文献------------------------------------------------------11

利用Ethereal分析TCP数据包

利用Ethereal分析TCP数据包一.分析过程: 1.图1 TCP协议图 图2 TCP协议的内容 图3 TCP协议的数据包 2.数据分析 1) 分析:546代表的是Frame的序号,54 bytes代表的是54字节的数据包的长度

2) 分析:其中代表的是MAC地址 字节: 6 6 2 以太网的MAC帧格式 目的地址:00 e0 5c 15 f1 cd(十六进制) 源地址:00 1f d0 b8 da 78(十六进制) 类型:一般类型字段的值是0x0800是,就是宝石上层使用的是IP数据报。如果类型字段分值是0x8137则宝石该帧是由Novell IPX发过来的。

3)分析: 版本:使用的是IP协议版本号为4(即IPv4) 首部长度:20个字节的长度 服务类型(新版本称区分服务):00,这个字段只有在使用区分服务时,才起作用。在一般的情况下都不使用这个字段的。 总长度:40字节,总长度指的是首部和数据之和的长度 标识:d0 34(十六进制)IP软件在存储器中维持一个计时器,每产生一个数据报,计时器就加1,并将此值赋给标志字段。 标志:001(二进制),目前标志只有两位有意义: 标志最低位记为MF(More Fragment)。MF=1表示后面“还有分片”的数据报, MF=0表示这已是若干数据报片中的最后一个。 标志中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0 是才允许分片。 片偏移:0,0000,0000,0000(二进制) 生存时间:80(十进制128s)生存时间表明的是数据报在网络中的寿命,一般以秒作为其单元。 协议:协议字段指出次此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分交给那个处理过程。 首部检验和:5167(二进制:0101,0001,0110,0111)这个字段值检验数据报的首部,但不包括数据部分。 源IP地址:192.168.1.3 目的IP地址:219.133.60.3 4)

网络课程的设计与开发

网络课程的设计与开发 余胜泉、王耀武 ysq@https://www.doczj.com/doc/bf13560673.html, 北京师范大学现代教育技术研究所(100875) 【摘要】网络课程是通过网络表现的某门学科的教学内容及实施的教学活动的总和,它包括两个组成部分:按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境。网络课程设计包括教学内容的设计、网络教学环境的设计以及在网络教学环境上实施的教学活动设计。本文从这设计三个方面出发,介绍了网络课程设计的过程模式。 【关键词】网络课程、网络课程设计、网络教学支撑环境、网络学习资源设计、网络学习活动设计 在网络教学环境中,教师和学生在地理位置上的分离,使得教学无法围绕教师为中心来展开,而必须以学生为中心,学生已经成为教学过程中的主体,所有的教学资源都必须围绕学生学习来进行优化配置,教师不再是知识的唯一源泉,最大的知识源泉是网络,教师的任务是指导学生如何获取信息,帮助学生解决学习过程中的问题,并帮助学生形成一套有效的学习方法和解决问题的方法。学生的地位也应该由原来的被动接受者转变为主动参与者,学生应该成为知识的探究者和意义建构的主体。学生的头脑不再被看作是一个需要填满的容器,而是一支需要点燃的火把。网络学习环境不再是教师讲解的辅助工具,而变为帮助学生探索、发现、学习用的认知工具。网络教学应该围绕如何促进学生的自主学习、促进学生思维的深度与广度发展、组织学生的自主学习活动来展开。这些内容构成了支撑网络教育教学观念的基石。 网络课程是通过网络表现的某门学科的教学内容及实施的教学活动的总和,它包括两个组成部分:按一定的教学目标、教学策略组织起来的教学内容和网络教学

发送TCP数据包

四川理工学院 课程设计书 学院计算机学院 专业计算机科学与技术 班级09级04班 题目发送TCP数据包 教师王非,何绍荣,陈超 学生赵清勇,谭凯,唐红琴

实验分工: 程序设计、编写代码由全小组成员共同完成 谭凯:在vc下调试运行程序、文档编写 赵清勇:在dos下运行检查、初步完成课程设计报告唐红琴:查找资料、整理课程设计报告

目录 一课程设计准备 (4) 1.1课程设计目的 (4) 1.2课程设计的要求 (4) 1.3相关知识 (5) 1.4工作环境 (7) 二课程设计分析 (7) 2.1使用原始套接字 (7) 2.2定义IP头部、TCP头部和伪头部的数据结构 (8) 2.3计算校验和的子函数 (10) 2.4程序流程图 (11) 三源代码 (12) 四运行结果与运行情况 (18) 五自我评析和总结 (19) 六参考文献 (20)

发送TCP数据包 一课程设计准备 1.1课程设计目的 TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。TCP协议在网络层IP协议的基础上,向应用层用户进程提供可靠的、全双工的数据传输流。本课程设计的目的就是设计一个发送TCP数据包的程序,并根据本设计说明TCP数据包的结构以及TCP协议与IP协议的关系,使学生对TCP协议的工作原理有更深入的认识。 1.2课程设计的要求 本程序的功能是填充一个TCP数据包,并发送给目的主机。1)以命令行形式运行:SendTCP sourse_ip sourse_port dest_ip dest_port 其中,SendTCP为程序名;sourse_ip为源端IP地址;sourse_port 为源埠;dest_ip为目的IP地址;dest_port为目的埠。 2)其它的TCP头部参数请自行设定。 3)数据字段为“This is my homework of network,I am happy!”。4)发送成功后在屏幕上输出”send OK”。

网络课程设计与开发

河北大学成人教育学院试卷 专业年级课程课程设计姓名学号 学员必读: 1、本学期7月9日下午在语音室,对本资料进行集中辅导。 2、辅导资料完成后请于2011年7月之前交到教务处,其中出勤成绩,平时测验 成绩包含在辅导资料成绩中。(满分35分) 3、作业需单独完成从课后做题,作业本写满位置,作业必须独立完成,复印无 效,另算成绩。(满分15分) 4、本学期考试时间为2011年7月(以准考证为准),请各位学员7月15日来校 领准考证。 5、考试和交作业,不再另行通知,如果不参加考试或不交作业,没有成绩,后 果自负!切记! 6、考试题从复习资料中抽取。 7、联系电话:校长室:3216556 教务处:3258890 财务处:3038890 一、填空。(每空2分,共19空) 1、课程概念应该包括以下4个基本要素:、课程内容、、。 2、教学系统赢包括的4各要素分别是:教师、、教材和。 3、一般的网络课程设计应包括课程设计和两个阶段。 4、网络课程的设计与开发应分为、课程设计、教学设计、和课程实施5个实施阶段。 5、课程设计阶段的主要工作包括、、确定内容的组织结构、计划网络课程中教与学的活动。 6、媒体在教学过程中能起到各种各样的作用,最常见的5中使用目的是,、创设情境、、、探究发现。 7、生成性目标导向下的问题情境设计包括两个阶段:和。 8、表现性任务可以归为三大类:简短评价任务、以及。 9、补充学习材料是对教学内容的拓展和丰富,可以使与教学内容相关的、讲解性材料和等。 10、网络教师在教学中扮演着多种角色,包括、组织者、、指导者、辅导者,是至关重要的人力资源。

11、“生成性目标—问题中心”的网络课程是以为中心组织网络课程各要素的,其教学策略主要包括:、、、随机进入策略等。 12、“表现性目标—活动中心”的网络课程是以为中心组织网络课程各要素的,其教学策略主要包括:、抛锚策略、、和教练策略。 13、网络课程中反馈系统主要体现在学习过程状态信息反馈,,教师和学习者的反馈信息。 14、课程中的导航系统按照导航功能分为导航、导航、导航。 15、学习导航的主要技术方法有:学习内容直接引导、、、学习内容隐藏4种。 16、按照学习发生的进程来看,网络课程的教学活动主要分为学习发生前的导学活动、学习进行过程中的辅导活动和。 17、网络环境下的讨论按照发生时间可分为和。 18、网络环境下的讨论按照讨论的形式可分为、和问题式讨论。 19、目前基于互联网络实施网上答疑的方式主要有:异步答疑和同步答疑两种。异步答疑主要包括:常见问题答疑、、;同步答疑主要为:。 20、网络教师在网络课程教学活动中可能扮演多种角色,如、学习方法和学习过程指导者、。 21、网络教师所扮演的角色主要有三种:、亦师亦友、。 22、行为目标导向下的网络课程学习评价反馈的内容包括:、、测试用时。 23、图、文、声、象是网络课程的基本组成单位。其中多媒体图片、文字、影像动画都属于,而声音属于。 24、不论网页界面中的图形图片跟内容和形式如何复杂多变,作为视觉形式的语言,构成图的最基本造型元素都是、、。

实验 IP数据报的格式

实验IP数据报的格式 【实验目的】 1、通过分析IP数据报的格式了解IP数据报各个字段的大小、取值范围; 2、掌握它们在IP协议中所起的作用。 【实验内容】 1、分析IP数据报的结构,熟悉各个字段的内容、功能、格式和取值范围; 2、编辑IP数据报首部各字段的内容; 3、单个或批量发送已经编辑好的IP数据报。 【实验原理】 IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。20字节之后是一些可选字段,其长度是可变的。IP数据报的格式如下图所示: 版本:占4 bit,指IP协议的版本。通信双方使用的IP版本必须一致。目前广泛使用的版本号为4。 首部长度:占4 bit,可表示的最大数值是15个单位(一个单位为4字节),因此IP的首部长度的最大值是60字节。

服务类型:占8 bit,用来获得更好的服务。前三个比特表示优先级。第D比特表示要求有更低的时延。T比特表示要求有更高的吞吐量。R比特表示要求有更高的可靠性。C比特表示要求选择代价更小的路由。最后一个比特目前尚未使用。 总长度:占16 bit,指首部和数据之和的长度,单位为字节。 标识:占16 bit,它是一个计数器,用来产生数据报的标识。 标志:占3 bit,目前只有前两个比特有意义。最低位记为MF,MF=1表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为DF,意思是“不能分片”。只有当DF=0时才允许分片。 片偏移:占13 bit,表示较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移单位。 生存时间:占8 bit,表示数据报在网络中可通过的路由器的最大值。 协议:占8 bit,指出此数据报携带的数据是何种协议。 首部校验和:占16 bit,只校验数据报的首部,不包括数据部分。 源IP地址:占4 bit。 目的IP地址:占4 bit。 可选字段:用来支持排错、测量以及安全等措施。此字段长度可变,从1个字节到40个字节不等,取决于所选择的项目。 【实验步骤】 练习一:分析IP数据报格式 1、运行报文仿真编辑器; 2、选择“文件”菜单中的“打开”菜单项,选择安装目录下Data目录中报文仿真编辑器 存档文件:udp.pef; 3、选中报文列表框中的一条记录,报文仿真编辑器中间部分自动显示此条报文记录的协议 结构树; 4、选中协议结构树中的“IP首部”结点,报文仿真编辑器右侧部分自动显示当前IP数据 报首部各个字段的内容; 5、查看IP数据报首部中的源地址和目的地址的结构和内容; 6、分析IP数据报首部中的类型字段所表示的含义。 练习二:编辑IP数据报格式中的字段内容 1、在报文仿真编辑器的右侧修改IP数据报的各个字段的内容; 2、单击“保存”按钮; 3、查看修改后的字段内容。 练习三:发送和接收IP数据报序列 1、运行报文解析器;

TCP数据包格式

TCP数据包格式 TCP协议也是建立在IP协议之上的,不过TCP协议是可靠的.按照顺序发送的.TCP的数据结构比前面的结构都要复杂. 每行32位=4字节。 Source Port (16) | Destination Port (16) Sequence Number (32) Acknowledgment Number (32) Data Offset(4) | Reserved (6)|UGR|ACK|PSH|RST|SYN|FIN|Window(16) Checksum (16) | Urgent Pointer (16) Options (0 or more 32 bit words + padding) DATA TCP各字段的含义 Source Port & Destination Port 如果我们将IP比喻成地址那麽Port可以说是门口了试想一下一座大楼有前门後门侧门送货的门出货的门倒垃圾的门扔死尸的门等等乱七八糟的门...... 那麽一个IP地址也有着好多个各种功能的port而每一个port都被不同的服务倾听着就好比看门人一样。 下面是一些常用port和其对应的服务有兴趣的朋友可以在Linux的/etc/services这个档案找到它们 ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol pop-3 110/tcp # POP version 3 pop-3 110/udp

IPv4 数据报首部格式

北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 班级XXX 3班学号0123456 姓名 XXX 指导教师ZHANG XUE 成绩 实验题目IPv4 数据报首部格式实验时间 2014.1 一、实验目的 掌握IPv4 协议原理,理解IPv4 分组首部结构及各字段的含义。 二、实验环境 1.连接外网的Windows XP 主机一台,并安装有科来网络分析系统。 2.通过科来网络分析系统捕获一段时间内的IPv4 分组。 三、实验内容 1.用科来网络分析系统捕获数据包。 2.分析捕获到的IP数据包中首部各个字段的意义。 四、实验步骤 1.打开科来网络分析系统,开始捕获数据包。 2.用浏览器访问百度,用ping 命令探测临机、网关和百度。 3.停止捕获,观察捕获到的数据包。

访问百度: Ping临机如图:

Ping网关如图: Ping百度如图: 4.将访问百度以及ping 临机、网关和百度的IP 数据包首部中各字段的值记录在下表中,需要记录IP 数据报的版本号、首部长度、总长度、标识、标志、片偏移、生存时间、上层协议、源地址和目的地址。 5.比较所记录的各字段的值,理解首部字段的含义和作用。

五、心得体会 经过上一次上机实践对网络命令的操作的结果分析,本次实践已经大概明白了网络命令的操作和作用和对网络命令的操作的结果分析… 六、实验要求 完成本次实验后,仔细观察所捕获的数据包,对网络层数据包首部的各字段进行整理,说明参数之间的关联性,进而加深理解网络层的工作过程。 思考与讨论:

TCP数据包的封装与发送

TCP数据包的封装与发送 一、实验目的 1.掌握TCP的工作特点; 2.熟悉TCP数据包的结构; 3.深刻理解网络体系结构中传输层与上下层之间的关系; 二、实验环境 1.PC机一台 2.Windows 操作系统 三、实验准备 1.复习TCP协议的相关内容; 2.熟练掌握TCP数据包中各自段的作用; 四、实验内容(二选一) 1.编写程序构造TCP包结构,并填写各字段,将封装后的TCP包的内容在屏幕上输出并写入指定的文件中; 2.TCP包的数据字段内容额长度自定; 五、实验报告要求 1.报告内容要有主程序的流程图和程序代码; 2.报告内容要有运行结果的截图; 3.对实验过程进行分析,对存在的问题分析。 实验相关代码 #include #include #include #include #include #pragma comment(lib,"ws2_32.lib") //数据结构及宏定义: #define IPVER 4 //IP协议预定 #define MAX_BUFF_LEN 65500 //发送缓冲区最大值 #define DEST_PORT 5050 //目的端口号

#define SOUR_PORT 8080 //源端口号 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; //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 //定义TCP首部 { USHORT th_sport; //16位源端口 USHORT th_dport; //16位目的端口 ULONG th_seq; //32位序列号 ULONG th_ack; //32位确认号 UCHAR th_lenres; //4位首部长度/6位保留字 UCHAR th_flag; //6位标志位 USHORT th_win; //16位窗口大小 USHORT th_sum; //16位校验和 USHORT th_urp; //16位紧急数据偏移量 }TCP_HEADER; using namespace std; //主要函数: //CheckSum:计算校验和的子函数 USHORT checksum(USHORT *buffer, int size) { unsigned long cksum=0; while(size >1) { cksum+=*buffer++; size -=sizeof(USHORT);

网络课程的设计与开发

网络课程的设计与开发 (仅供参考) 网络课程是通过网络表现的某门学科的教学内容及实施的教学活动的总和,它包括两个组成部分:按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境,其中网络教学支撑环境特指支持网络教学的软件工具、教学资源以及在在网络教学平台上实施的教学活动。 一、基本过程 网络课程开发的基本过程如下图所示,在此,我们假设教师已经深入了解了教学对象的学习特点,而且本课程已有成型的教学大纲和知识体系结构。 图1 网络课程开发的基本过程 网络课程开发应满足如下基本要求: (1)网络课程建设要基于远程教育的特点,能提高学习者学习兴趣与自觉性。 (2)网络课程都必须满足在互联网上运行的基本条件,还应具备安全、稳定、可靠、下载快等特点。 (3)网络课程应有完整的文字与制作脚本(电子稿)。 (4)网络课程文字说明中的有关名词、概念、符号、人名、定理、定律和重要知识点都要与相关的背景资料类相链接。 (5)对课程中的重要部分,可适当采用图片、配音或动画来强化学习效果,但要避免与教学内容无关的、纯表现式的图片或动画。 下面对网络课程开发的关键环节作一简要描述:

二、确定教学大纲 教学大纲是以纲要的形式规定出学科的内容、体系和范围,它规定课程的教学目标和课程的实质性内容,是编写教科书的直依据,也是检查教学质量的直接尺度,对教学工作具有直接的指导意义。教学大纲举一般由以下几个部份构成: 说明:扼要介绍本学科的目的和任务,选材的主要依据,以及有教学与学习的原则性建议。 本文:列出按层次结构自治的知识点条目(一般是编章节目),知识点的简要说明,知识点的教学要求、教学时数、教学活动及其所用时间说明。 实施要求:列出编写教材的专考书目,教学环境要求,教学仪器设备,辅助教学手段、说明等等。 教学大纲的编写应注意如下原则:科学性、思想性、主观联系实际、基础性、系统性等等。 如果开发的课程已有教学大纲,应尽可能选用现有大纲,如果没有,要编写一个,编写的大纲要经过学科专家审查。 三、确定教学内容 根据教学大纲,编写教材、配套的练习册、实验手册,如果已有优秀教材,尽可能选用。教材的内容应具有科学性、系统性和先进性,表达形式应符合国家的有关规范标准。应当结合“高等教育面向21世纪教学内容和课程体系改革计划”的成果,符合本门课程的内在逻辑体系和学生的认知规律。 教材、配套的练习册:教材是教学内容的文字描述,教材是教学内容选择结果的体现,教学内容选择时,要选择切合实际社会需求、反应本学科最新发展动态的教材,对于那些已经过时或陈旧的内容要坚决地删除;教材不是教学内容的简单堆切,而是教学内容的的机组合,教材应能够把一门学科的基本概念、基本原理和基本技能提炼出来,并形成一个具有逻辑性、系统性的知识系统,这个系统要有利于知识的理解与迁移;练习册是选定教学内容后,诊断与巩固教学内容测验试题的集合,它是教材有重要组成部份。 实验、实验环境与实验手册:对于一些要求技能培养目标的课程来说,实验是必不可少的。实验是教材中理论知识的实践认证,技能知识的具体体现。设计实验时,要注意实践性和可行性,实践性是指实验要在理论指导下,通过具体的操作步骤,达到预期结果;可行性是指设计的实验要求的条件不能太高,要能在实际教学过程中实施。实验手册是对实验的说明,一般有实验目标、实验环境、预备知识、实验步骤、实验报告、思考与练习等几大部分。

网络课程设计-tcp数据包的发送和接收

目录 一、软件概要简介 (6) 二、概要设计 (6) 1 6 2类图 (6) 3.数据结构的定义 (6) 4.程序截图 (7) 三、详细设计 (8) 1关键性代码 (8) 1.1内存映射文件读 (9) 1.2内存映射文件写 (9) 1.3文件的发送 (9) 1.4文件的接收 (9) 1.4.1客户端接收套接字 (9) 1.4.2 客户端把接收到的文件写人自己的文件..10 四、调试分析及测试结果 (15)

一、软件概要简介 我们做的是基于tcp数据包发送和接收的文件传输,采用的是客户/服务器模式,首先客户端连接到服务器,然后服务器端就可以选择需要传输的文件,开始传输。 二、概要设计1 1.1内存映射文件 我们首先是用内存映射文件的方法把文件一块一块的从磁盘映射到内存,每映射一块,就传输一块,直到把整个文件都传输完毕为止。内存映射文件内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。另外,实际工程中的系统往往需要在多个进程之间共享数据,如果数据量小,处理方法是灵活多变的,如果共享数据容量巨大,那么就需要借助于内存映射文件来进行。实际上,内存映射文件正是解决本地多个进程间数据共享的最有效方法。内存映射文件并不是简单的文件I/O操作,实际用到了Windows的核心编程技术--内存管理。所以,如果想对内存映射文件有更深刻的认识,必须对Windows操作系统的内存管理机制有清楚的认识,内存管理的相关知识非常复杂,超出了本文的讨论范畴,在此就不再赘述,感兴趣的读者可以参阅其他相关书籍。下面给出使用内存映射文件的一般方法: 首先要通过CreateFile()函数来创建或打开一个文件内核对象,这个对象标识了磁盘上将要用作内存映射文件的文件。在用CreateFile()将文件映像在物理存储器的位置通告给操作系统后,只指定了映像文件的路径,映像的长度还没有指定。为了指定文件映射对象需要多大的物理存储空间还需要通过CreateFileMapping()函数来创建一个文件映射内核对象以告诉系统文件的尺寸以及访问文件的方式。在创建了文件映射对象后,还必须为文件数据保留一个地址空间区域,并把文件数据作为映射到该区域的物理存储器进行提交。由MapViewOfFile()函数负责通过系统的管理而将文件映射对象的全部或部分映射到进程地址空间。此时,对内存映射文件的使用和处理同通常加载到内存中的文件数据的处理方式基本一样,在完成了对内存映射文件的使用时,还要通过一系列的操作完成对其的清除和使用过资源的释放。这部分相对比较简单,可以通过UnmapViewOfFile()完成从进程的地址空间撤消文件数据的映像、通过CloseHandle()关闭前面创建的文件映射对象和文件对象。 1.2基于socket的tcp数据包的接收和发送 Tcp的Socket编程的步骤基本就是这样:首先客户端请求连接服务器,服务器接受连接,服务器记住客户端的ip地址之后就可以进行通信了。

计算机网络课程设计小型网络的实现

计算机网络课程设计小型网络的实现

南京工程学院 课程设计说明书(论文) 题目小型网络的设计与实现 课程名称计算机网络 院(系、部、中心) 专业 班级 学生姓名 学号 设计地点 指导教师 设计起止时间: 7月1日至 7月5日

一、课程设计目的: 计算机网络是计算机技术和通信技术相结合的产物,是当今计算机世界中发展速度最快的领域之一,作为工科院校的学生,不但要认清时代的潮流和当代技术前沿,更要努力发展自己,不断学习理论知识,提升自己的水平,更要在理论知识的基础上,结合实际中的问题,培养自己发现问题,思考问题,解决问题的能力,提高自己的实践水平。 这次的课程设计的就是要让我们能够在全面深入地学习《计算机网络》这门课程的基础上,进一步理解计算机网络的基本理论,而且要将理论知识和实践结合起来,在老师给予的要求和提示下,掌握小型网路的初步配置,熟悉各项步骤,完成小型网络的设计与实现,提高网络应用水平。 课程设计是我们平时学习中最重要的一项实践环节,它能够帮助我们理解课堂教学中的内容,对提高实践认识和实际动手能力都有很重要的实际意义。按照课程设计的要求,结合所学的理论知识,查找相关资料,完成课程设计任务,同时提高网络应用能力,为后续课程打好基础。 二、课程设计任务: 完成一个小型网络的设计与实现,掌握小型网路的初步配置,熟悉各项步骤做成小型网络的设计与实现。

任务1:按图所示的网络拓扑图在PT环境中建立相应的拓扑 图:对其中的各项配置能够给予合理的改变,比如更改IP地址,登陆密码等等 任务2:应用基础设置:根据拓扑上显示的设备名称将每个设备设置对应的名称 任务3:设置R2、R3的用户名和密码 任务4:在S3、R2 、R3和 ISP上分别对接口进行配置。使用地址表(能够自己重新进行IP分配)确定接口地址,标出地址和相应的接口名称。确定哪些接口是 DCE 接口,配置 DCE 接口的时钟频率为 64000。根据地址表,逐个配置交换机和路由器各接口的地址。 任务 5:在交换机和路由器上配置 RIP 路由协议,使用版本2,实现基本三层连通。 任务6:配置主机PC1、PC2、PC3和服务器Server的IP地

相关主题
文本预览
相关文档 最新文档