关于计算机的时间周报告,计算机网络综合验周报告.doc

计算机网络综合验周报告

计算机科学与技术学院

——计算机科学与技术专业

《计算机网络综合实验周报告》

(2013/2014学年 第一学期)

学生姓名:

学生班级:

学生学号:

指导教师:

2013年 12 月 24 日

目 录

一、编程目的3

二、通信原理3

(一)TCP/IP3

(二)Socket4

三、Linux虚拟环境安装7

(一)VMware简介7

(二)Linux简介8

(三)Linux虚拟环境安装9

四、设计过程11

(一)服务器端创建监听与文件管理11

(二)客户端连接与文件传输12

五、代码开发12

(一)服务器端13

六、结束语17

一、编程目的

这次程序设计的目标是在以Linux为内核的操作系统下,实现多线程文件传输系统功能模块。系统模块分为服务器和客户端两部分,客户端实现对文件的上传、下载和查看服务器默认路径下的文件列表;服务器可以对文件进行管理操作,包括创建、删除和重命名等。

多线程文件传输是一种一对多或者多对多的关系,一般是一个服务器对应着多个客户端。客户端通过socket连接服务器,服务器要为客户端创建一个单独进程(线程)监听每个客户端的请求。

创建好连接之后文件就可以通过流的形式传输。linux内核中为我们提供了两种不同形式的读写流,包括read()、write()和send()、recv()。客户机对文件的查看指令也是通过流传递给服务器,服务器根据请求类型返回不同相应流。

根据socket原理和特点绘画出链接流程图,将客户机与服务器的相互通信划分为不同的模块,每个模块负责独立的功能项。服务器输入指令管理目录下的文件,create filename是创建文件命令,rename oldname newname是删除文命令,delete filename 是删除文件命令,同时监听着客户端的请求;客户端向服务器发送上传、下载和查看请求,从而得到不同的相应,包括将文件下载到当前路径下,从当前路径下上传文件给服务器,列出服务器的文件列表。

二、通信原理

Linux是计算机使用的主流操作系统之一,TCP/IP是广为应用的互联网协议,Linux为TCP/IP网络编程提供了一种网络进程通信机制:套接字接口(Sockets?Interface)。以下将介绍Linux环境下套接字的基本概念及编程技术,并结合实例说明在Linux下如何用套接字实现客户机/服务器方式的进程通信。

(一)TCP/IP

TCP/IP即传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol),是一个由多种协议组成的协议族,他定义了计算机通过网络互相通信及协议族各层次之间通信的规范。

TCP是一种面向连接的、可靠的、双向的通信数据流,说他可靠,是因为他使用3段握手协议传输数据,并且在传输时采用“重传肯定确认”机制保证数据的正确发送:接收端收到数据后要发出一个肯定确认,而发送端必须要能接收到这个肯定信号,否则就要将数据重发。在此原理基础之上,设计了基于Linux操作系统下TCP/IP编程实现文件传输的实例。我们采用客户机/务器模式通信时,通信双方发送/接收数据的工作

Linux支持BSD的套接字和全部的TCP/IP协议,是通过网络协议将其视为一组相连的软件层来实现的。BSD套接字(BSD Socket)由通用的套接字管理软件支持,该软件是INET套接字层,用来管理基于IP的TCP与UDP端口到端口的互联问题。从协议分层来看,IP是网络层协议,TCP是一个可靠的端口到端口的传输层协议,他是利用IP层进行传接报文的;同时也是面向连接的,通过建立一条虚拟电路在不同的网络问传输报文,保证所传输报文的无丢失性和无重复性。用户数据报文协议(User Datagram Protocol,UDP)也是利用IP层传输报文,但他是一个非面向连接的传输层协议。利用IP层传输报文时,当目的方网际协议层收到IP报文后,必须能够识别出该报文所使用的上层协议(即传输层协议)。因此,在IP报头中,设有一个“协议”域(Protoco1)。通过该域的值,即可判明其上层协议类型。传输层与网络层在功能上的最大区别是前者提供进程通信能力,而后者则不能。在进程通信的意义上,网络通信的最终地址不仅仅是主机地址,还包括可以描述进程的某种标识符。为此,TCP/UDP提出了协议端口(Protocol Port)的概念,用于标识通信的进程。例如,Web服务器进程通常使用端口80,在/etc/serv~ices文件中有这些注册了的端口地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值