linux下基于TCP协议的远程终端管理系统开题报告.docx
- 文档编号:4460331
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:16
- 大小:96.99KB
linux下基于TCP协议的远程终端管理系统开题报告.docx
《linux下基于TCP协议的远程终端管理系统开题报告.docx》由会员分享,可在线阅读,更多相关《linux下基于TCP协议的远程终端管理系统开题报告.docx(16页珍藏版)》请在冰豆网上搜索。
linux下基于TCP协议的远程终端管理系统开题报告
毕业设计(论文)开题报告
题目:
linux下基于TCP协议的远程终端管理系统
系:
电气信息学院
专业:
电子科学与技术
学生姓名:
XkZ学号:
200801180**
指导教师:
龙泳涛
2012年2月27日
毕业设计(论文)开题报告
1.文献综述:
结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写2500字以上的文献综述,文后应列出所查阅的文献资料。
文献综述
引言
Linux操作系统是一个开放源代码的免费操作系统。
它不仅有安全、稳定、成本低的特点,而且很少发现有病毒传播。
基于Linux具有稳定、可靠、安全和强大的网络功能这些优点,使得其主要应用于服务器领域。
所以本文选择在Linux环境下实现远程终端管理系统。
一、linux操作系统的介绍
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机上。
这个系统是由世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux以它的高效性和灵活性著称。
Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。
Linux是在GNU(GNU’sNotUnix)公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。
Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。
它还包括带有多个窗口管理器的X.Windows图形用户界面,如同我们使用WindowsNT一样,允许我们使用窗口、图标和菜单对系统进行操作。
Linux具有Unix的优点:
稳定、可靠、安全,有强大的网络功能。
在相关软件的支持下,可实现WWW、FTP(FileTransferProtoc01)、DNS(DomainNameSystem)、DHCP((DynamicHostConfigureProtocol,动态主机配置协议)、Email等服务,还可作为路由器使用,利用ipchains/iptables可构建NAT(NetworkAddressTranslation,网络地址转换)及功能全面的防火墙。
现在,Linux已经成为了一种受到广泛关注和支持的操作系统。
包括国际商用机器公司和惠普、戴尔在内的一些计算机业巨头也陆续支持Linux,并且成立了一些组织支持其发展,如OpenInventionNetwork(OIN)(成员有IBM,索尼,NEC,Philips,Novell,Redhat等)购买了微软专利,允许任何个体以开放的原则使用。
很多人认为,和微软Windows相比,作为自由软件的Linux具有低软件成本,高安全性,更加可信赖等优势,但是同时却需要更多的人力成本。
二、传输层协议TCP协议
传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议,由IETF的RFC793说明。
它在传送数据时是分段进行的,主机交换数据必须建立一个会话。
它用比特流通信,即数据被作为无结构的字节流。
通过每个TCP传输的字段指定顺序号,以获得可靠性。
如果一个分段被分解成几个小段,接收主机会知道是否所有小段都已收到。
通过发送应答,用以确认别的主机收到了数据。
对于发送的每一个小段,接收主机必须在一个指定的时间返回一个确认。
如果发送者未收到确认,数据会被重新发送;如果收到的数据段损坏,接收主机会舍弃它,因为确认未被发送,发送者会重新发送分段。
TCP端口为信息的传送指定端口,端口号小于256的定义为常用端口。
下图展示了TCP首部的数据格式。
如果不计任选(Options)字段,那么,它的大小是20个字节。
图1-1TCP包头格式
TCP协议通过三个报文段完成连接的建立,这个过程称为三次握手(three-wayhandshake),过程如下图所示。
(1)客户机向服务器发送一个TCP数据包,表示请求建立连接。
(2)服务器收到了数据包,知道这是一个建立请求的连接,服务器也通过发回具有以下项目的数据包表示回复:
同步标志置位、即将发送的数据段的起始字节的顺序号、应答并带有将收到的下一个数据段的字节顺序号。
(3)客户机收到了服务器的TCP,知道是从服务器来的确认信息。
于是客户机也向服务器发送确认信息。
至此客户端完成连接。
(4)服务器收到确认信息,也完成连接。
图1-2TCP建立连接(三次握手)
TCP协议建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。
具体过程如下图所示。
图1.3结束连接(4次握手)
三、网络层IP协议
IP协议是网络层的主要协议,是Internet最重要的协议。
IP是一个无连接的协议,主要负责在主机间寻址并为数据包设定路由,在交换数据前它并不建立会话。
因为它不保证正确传递。
另一方面,数据在被收到时,IP不需要收到确认,所以它是不可靠的。
IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层——TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。
IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
IP协议的数据格式如下:
版本号(4)
IHL(4)
服务类型(8)
数据包长度(16)
标识(16)
Flag(3)
偏移量(13)
生存时间(8)
传输协议(8)
校验和(16)
源地址(32)
目的地址(32)
选项(8)+填充
数据
图1-4网际协议IP数据格式。
IP地址标识着网络中一个系统的位置。
我们知道每个IP地址都是由两部分组成的:
网络号和主机号。
其中网络号标识一个物理的网络,同一个网络上所有主机需要同一个网络号,该号在互联网中是唯一的;而主机号确定网络中的一个工作端、服务器、路由器及其它TCP/IP客户端。
对于同一个网络号来说,主机号是唯一的。
每个TCP/IP主机由一个逻辑IP地址确定。
三、国内外研究现状
经过十几年的发展,Linux操作系统不断完善,得到了更多的应用。
现在,Linux桌面已经相对成熟,但是命令行技术仍然是Linux的核心技术。
远程管理Linux系统工具的许多设计者们都倾向于将这款管理工具设计成图形化界面或者远程桌面登录的样式,图形界面人机交互好,图形界面简单,图形界面在某些任务方面,确实是高效而且简单的,但是,某些任务方面,图形界面是无能的。
此外,很多远程管理工具都存在着这样的问题:
每完成一个管理功能都要为之设计一个界面。
这样一来,单人在有限的时间内完成的管理工具所具有的管理功能是极其有限的。
五结束语
Linux操作系统起源于互联网、发展成熟于互联网。
在全世界无数志同道合的高手们呵护下发展至今,Linux已经成为企业中应用最广泛的操作系统。
秉承着“软件就应该在使用他的人之间自由的传播,而不该是收费的”这一理念,Linux获得了巨大的成功!
来自英国权威的统计机构NETCRAFT官方数据显示,走在信息技术最前沿、经济实力最强大的IT企业中,XX、新浪、阿里巴巴、搜狐、GOOGLE中国、巨人集团、盛大网络、猫扑网、优酷网、PPStream等,拥有着大量的服务器,无一例外,这些服务器都运行着Linux/UNIX操作系统。
国际最权威的网站排名中,前十名的网站,所有服务器全部运行着Linux系统,其中有8家网站采用的核心技术是被称为“草根”的PHP编程语言。
像中国移动、政府部门、银行等要求安全性极高的机构都在向Linux操作系统平台迁移。
我们几乎每天都在享受着Linux为我们提供的稳定服务。
例如腾讯的QQ,所有服务器都运行着Linux系统,采用集群技术为使用者提供着安全、稳定的服务。
参考文献
[1]丁展,刘海英,等.VisualC++网络通信编程使用案例精选[M].北京:
人民邮电出版社,2004:
496-487.
[2]张旭华.用Webmin远程管理Linux系统服务器[J].计算机与现代化,2006,09:
47-49.
[3]肖习攀,阎小兵,贾迎东,等.GUI应用程序移植[M].北京:
电子工业出版社
[4]杜华.Linux编程技术详解[M].北京:
人民邮电出版社,2007:
414-445.
[5]杜宇,郭凌云.Linux网络编程[M].北京:
人民邮电出版社,2000:
112-124.
[6]王险峰,刘宝宏.Windows环境下的多线程编程原理及应用[M].北京:
清华大学
大学出版社,2002:
3-7
[7]张炯.Unix网络编程实用技术与实例分析[M].北京:
清华大学出版社.
[8]W.RichardStevens[美].TCP/IP详解卷1:
协议[M].西安:
机械工业出版社,2000。
[9]W.RichardStevens[美].UNIX网络编程(卷1:
套接口API)第三版[M].北京:
清华大学出版社,2006。
[10]W.RichardStevens[美].UNIX网络编程(卷2:
进程间通信)第二版[M].北京:
清华大学出版社,2002。
毕业设计(论文)开题报告
2.开题报告:
一、课题的目的与意义;二、课题发展现状和前景展望;三、课题主要内容和要求;四、研究方法、步骤和措施
开题报告
——linux基于TCP协议的远程终端管理系统
一课题的目的与意义
不知Linux服务器的系统管理员有没有过人不在主机前?
却又必须掌握主机信息的经验?
比如服务器在北京,偏偏管理员却出差到上海去了,这时该怎么办呢?
想说找人来帮你到服务器面前看一下,又担心管理员密码给了别人会出状况;想要通过Telnet或者ssh这类远程登录的方式来达到远程控制的目的,可偏偏手边又没有client程序可用,或者当初为了安全性考虑,完全没有在服务器上安装可供远程控制的server,这时候真是心有余力不足啊。
而且,对于刚刚接触Linux的系统管理员来说,正确高效地完成各种关键的系统配置简直是一件不可能的任务。
即使是一个很有经验的Linux的管理员,也常常会为某些复杂的配置文件的格式而苦恼。
本软件的开发主要是为了方便网络系统管理员对本地和远程安装了Linux系统的服务器进行管理,管理员利用浏览器在远程登录后,可以方便的对服务器进行运行状态的查看,对网络服务进行配置,对一些数据进行分析,而且可以对异常现象作出快速的反应。
Linux操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操作系统源代码的公开化!
只要是基于GNU公约的软件你都可以任意使用并修改它的源代码。
但对很多习惯于Windows操作系统的人来说,Linux的操作不够人性化、交互界面不够美观,这给Linux操作系统的普及带来了很大的阻碍。
因此制作一个Linux操作系统下的拥有人性化界面的实时通讯工具,将给那些刚刚接触Linux操作系统的用户带来极大的方便,而且通过设计这样的一个应用程序还能更好的学习网络编程知识和掌握Linux平台上应用程序设计开发的过程,将大学四年所学知识综合运用,以达到检验学习成果的目的。
二课题发展现状和前景展望
网络的诞生从某种意义上来说改变了我们的生活,它将这个世界的上不同地域的人之间的距离拉近了。
伴随着网络的诞生,网络聊天软件也随之而来。
最初的网络聊天软件只是有简单的文本界面,功能也十分有限,随着技术的不断发展与强大,拥有更多功能和美观界面的聊天程序走进了我们的生活,也有越来越多的人将网络聊天软件作为他们日常生活交流和通信的工具。
系统的开发主要是为了方便网络系统管理员对本地和远程安装了Linux系统的服务器进行管理增加管理的方便性,利用C/S结构,减少了管理员的劳动量。
管理员利用浏览器在远程登录后,可以方便的对服务器进行运行状态的查看,对网络服务进行配置,对一些数据进行分析,并对异常现象做出快速的反应。
本系统的目标是完成一个基于TCP协议的远程终端管理系统,给Linux系统管理员提供帮助,协助Linux系统管理员正确高效的完成各种关键的系统配置,如远程的文件操作、Shell命令执行、进程操作、系统操作、各种网络服务配置等等。
管理员通过浏览器访问次管理系统的各种管理功能并完成相应的管理动作;要求此管理系统同时具有本地和远程管理的能力,要求注意一定的安全设置,保证足够的安全性,在完成系统基本功能的前提下,注意一定的扩展和伸缩性,要求亲近的管理界面和易用的操作。
三课题主要内容和要求
课题主要内容:
远程终端管理系统实现了一个telnet的功能。
该系统采用C/S构架,需要分别编写服务端和客服端程序。
其中,服务端采用I/O复用、多线程、多进程等机制,实现多客户连接。
通过读取配置文件,服务端将初始化服务端的设置和建立用户信息。
在客户认证登陆后,服务端动态维持实时用户的会话信息,接受客户端的命令,将执行结果返回给客户端并显示。
设计要求:
1sock编程
1、基于tcp协议的客户端服务端通讯。
2、服务端使用selectI/O复用机制或多线程、多进程机制,支持多客户端连接。
3、客户端从终端接受命令,把命令发送给服务端。
服务端执行命令,并把执行结果返回给客户端。
例如:
在客户端终端键入"ls""pwd"等命令,服务端将执行结果显示在客户端。
4、服务端使用链表记录当前客户端的会话连接,并动态维护会话。
基本信息:
客户端得ip地址、端口、服务端使用sock描述符、客户端连接时间。
2配置文件
服务端的配置从配置文件中获取,不再以启动参数的形式传入。
配置内容:
服务端的使用的ip地址和端口,最大的客户连接数,用户名和用户密码。
3用户认证
1、服务端和用户端增加用户登录机制。
2、在服务端配置文件中对客户端用户密码进行配置,服务启动后从配置文件中读取用户信息形成数据表。
3、在建立连接时,客户端把接受的用户名密码发送至服务端,服务验证后返回认证结果给客户端。
认证正确开始接收命令,认证错误重新认证。
4心跳机制
客户端与服务器之间使用心跳机制。
心跳机制:
客户端定时向服务端发送一个数据包(心跳包),服务端超过一定的时间没有收到服务端的心跳包则说明客户端出现问题,做成相应的处理。
5协议
根据通信数据的类型,重新设计应用协议。
将上述客户端与服务端之间的通信数据,以协议的形式进行封装。
、四研究方法、步骤和措施
1、整体设计方案的实现
Linux系统采用C语言开发,TCP方式进行连接。
采用C/S结构。
客户及/服务器模型将网络应用程序分为客户和服务器两部分。
客户方对服务器方发送信息请求,服务器方对其做出相应回答,提供服务。
在TCP/IP网络应用中,多数网络应用程序是使用客户/服务器模型设计的。
服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户程序提出了请求信息。
此时,服务程序被"惊醒"并且为客户提供服务,对客户的请求做出适当的反应。
虽然基于连接的服务是设计客户/服务器应用程序的标准,但有些服务也是可以通过数据报Socket提供的。
当建立服务器程序时,应该将服务器程序设计成等候客户的请求。
TCP传输层通过协议端口和应用程序通信,也就是说,为了接收客户请求,服务器程序必须对传输层的一个特定协议端口进行侦听。
当服务器配置socket接口时,它使用bind()函数让socket执行体登记一个协议端口。
也就是说,程序告诉socket执行体使用哪一个协议端口进行数据传送。
Socket执行体接着告诉传输层某个特定协议端口已被使用,并将其收到的所有数据传送给SocketAPI。
2、服务器功能模块划分
服务器负责向各个客户端发布系统消息。
接受来自客户端的各种信息并分别处理。
针对这些操作,服务器做了如下的模块划分:
处理登陆信息模块:
检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。
就将在线用户发给该用户,并将该用户的状态发给各在线用户。
同时在服务器端显示出来。
处理用户日志模块:
记录用户的登录时间和离开时间已经错误信息等。
处理申请命令模块:
远程命令执行,并把结果返回
服务器守护进程:
使服务器后台运行。
服务器功能示意图:
图1-5服务器功能模型
客户端功能模块划分
客户端功能示意图:
图1-6客户端功能模型
客户端主要负责处理用户的操作信息,当用户做出相应的动作时客户端应该能够及时地做出相应动作。
因此,针对这些操作特性,将客户端模块进行如下划分:
登陆功能模块:
建立与服务器的连接并登陆,能显示登陆错误信息。
发送命令模块:
向服务器端发送命令,服务器端执行并返回给客户端。
退出模块:
向服务端发出退出请求,服务端将其关闭。
显示模块:
显示服务器端发给客户端的内容。
毕业设计(论文)开题报告
指导教师意见:
1.对“文献综述”的评语:
2.对本课题的深度、广度及工作量的意见和对设计(论文)结果的预测:
指导教师:
年月日
所在专业审查意见:
负责人:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 基于 TCP 协议 远程 终端 管理 系统 开题 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)