《计算机网络课程设计TCP 协议优化方法研究.doc》由会员分享,可在线阅读,更多相关《计算机网络课程设计TCP 协议优化方法研究.doc(11页珍藏版)》请在三一办公上搜索。
1、枣 庄 学 院信息科学与工程学院课程设计任务书 题目: TCP 协 议 优 化 方 法 研 究 学 号: 2 0 1 0 1 2 2 2 0 2 3 8 姓 名: 张 永 义 专 业: 计算机应用技术 课 程: 计 算 机 网 络 指导教师: 王 霞 职称: 讲 师 完成时间: 2012 年5月-2012年6月枣庄学院信息科学与工程学院制2012 年 6 月 24 日 课程设计任务书及成绩评定课程设计的任务和具体要求了解TCP协议的概况。了解TCP协议的基本原理。了解TCP协议的结构及其优势。尝试从四个维度进行TCP协议优化方法研究。归纳、分析并写成课程设计任务书。 指导教师签字: 日期: 指
2、导教师评语成绩: 指导教师签字: 日期: 课程设计所需软件、硬件等所需软件: Ethereal软件、WinpCap软件 等所需硬件: PC机 等课程设计进度计划起至日期工作内容备注2012.05.10-2012.05.192012.05.20-2012.06.122012.06.13-2012.06.24收集相关资料进行总体规划撰写课程设计任务书参考文献、资料索引序号文献、资料名称编著者出版单位1 计算机网络 谢希仁 电子工业出版社2 网络安全 胡道元 清华大学出版社3 计算机互联网技术与TCP/IP协议 梁振军 梁波 海洋出版社4 数据通信与计算机网络 高传善 高等教育出版社 目 录1 摘要
3、.42 TCP/IP协议的概况.42.1 TCP/IP协议概述. 42.2 TCP/IP协议的主要特点.52.3 TCP/IP协议的结构.62.4 TCP/IP协议的优势.63 深入理解TCP/IP协议.7 3.1 TCP/IP协议的基本原理.73.2 TCP释放链接过程.84 TCP协议的优化.8 4.1 TCP协议的广域网优化.84.2 TCP连接优化.94.3 TCP的安全问题.94.4 对复杂应用的支持.105 结论.101 、摘要 TCP(传输控制协议)是一系列规则的集合,它和网际协议(IP)共同使用,通过互联网在计算机之间以信息单元的形式发送数据。IP协议控制实际的数据传输,TCP
4、协议主要负责追踪在互联网上传送的信息所划分的各个数据单元(包)。TCP协议是面向连接的协议,就是说在两端传送信息时,连接是一直建立和保持的。TCP协议负责把信息划分成IP协议所能够处理的,也要能把接收到的包拼成一个完整的信息。在开放式系统互连(OSI)通信模型中,TCP协议位于第四层传输层中。TCP/IP是Internet/Intranet使用的协议体系,也是大多数网络采用的协议。本文内容主要阐述有关TCP协议如何应用于传输数据及数据传输的详细过程解析。2 、TCP/IP协议的概况2.1 TCP/IP协议概述TCP/IP协议(Transmission Control Protocol/Inte
5、rnet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。TCP/IP协议使用范围极广,是目前异种网络通信使用的唯一协议体系,适用于连接多种机型,既可用于局域网,又可用于广域网,许多厂商的计算
6、机操作系统和网络操作系统产品都采用或含有TCP/IP协议。TCP/IP协议已成为目前事实上的国际标准和工业标准。TCP/IP是很多的不同的协议组成。 TCP用户数据报表协议,也称作TCP传输控制协议(Transport Control Protocol,可靠的主机到主机层协议),这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的6个基本协议的一种。两个TCP意思不相同)。TCP是一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。 通过每个TCP传输的字段指定顺序号,以
7、获得可靠性。是在OSI参考模型中的第四层,TCP是使用IP的网间互联功能而提供可靠的数据传输,IP不停的把报文放到 网络上,而TCP是负责确信报文到达。在协同IP的操作中TCP负责:握手过程、报文管理、流量控制、错误检测和处理(控制),可以根据一定的编号顺序对非正常顺序的报文给予从新排列顺序。2.2 TCP/IP协议的主要特点 (1)开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作系统; (2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网中; (3)统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址; (4)标准化的高层协议,可以提供多种可靠
8、的用户服务。 TCP/IP模型的主要缺点有: 首先,该模型没有清楚地区分哪些是规范、哪些是实现;其次,TCP/IP模型的主机网络层定义了网络层与数据链路层的接口,并不是常规意义上的一层,接口和层的区别是非常重要的,TCP/IP模型没有将它们区分开来。2.3 TCP/IP协议的结构图一 TCP/IP协议结构图2.4 TCP/IP协议的优势 在长期的发展过程中,IP逐渐取代其他网络。这里是一个简单的解释。IP传输通用数据。数据能够用于任何目的,并且能够很轻易地取代以前由专有数据网络传输的数据。下面是一个普通的过程: 一个专有的网络开发出来用于特定目的。如果它工作很好,用户将接受它。 为了便利提供I
9、P服务,经常用于访问电子邮件或者聊天,通常以某种方式通过专有网络隧道实现。隧道方式最初可能非常没有效率,因为电子邮件和聊天只需要很低的带宽。 通过一点点的投资IP 基础设施逐渐在专有数据网络周边出现。 用IP取代专有服务的需求出现,经常是一个用户要求。 IP替代品过程遍布整个因特网,这使IP替代品比最初的专有网络更加有价值(由于网络效应)。 专有网络受到压制。许多用户开始维护使用IP替代品的复制品。 IP包的间接开销很小,少于1%,这样在成本上非常有竞争性。人们开发了一种能够将IP带到专有网络上的大部分用户的不昂贵的传输媒介。 大多数用户为了削减开销,专有网络被取消。3 、深入理解TCP/IP
10、协议3.1 TCP/IP协议的基本原理TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。表1 四层协议结构簇TCP/IP层 主要协议 主要功能应用层 HTTP、TELNET、 向传输层传送数据或从应用程序获得数据 DNS SNMP FTP传输层 TCP UDP 实现源主机和目的主机之间对等实
11、体间会话提供端到端的连接,TCP要实现差错控制流量控制网络层 IP、ICMP、IGMP 异种网络互联,路由选择提供点到点的连接网络接口层 ETHERNET PPP 接入不同结构的网络以利用网络传递IP分组 FDDL、ATM3.2 TCP释放链接过程使用TCP进行通信的两个程序可以使用CLOSE(关断)操作从容地终止对话。在内部,TCP使用一种修改的3次握手关断连接。当一个应用程序告诉TCP它没有更多的数据要发送时,TCP将关闭在一个方向上的连接。即将完成发送的TCP为了关掉一条连接上自己发送方向的那一半,就把剩余数据发送完毕,等待接收方对数据的应答,然后发送一个FIN位置1的报文段,接收方TC
12、P确认这个FIN报文段,并通知自己这一边的应用程序没有更多的数据可提供(例如,使用操作系统的文件结束机制)。一旦一条连接关掉一个方向,TCP便拒绝再接受这个方向上的数据。同时,数据可以继续在相反方向上流动,直到发送方关掉那个方向的连接为止。当然,即便是连接已经关断了,确认还是继续流回到发送端。当两个方向都已关断时,在每一端点上的TCP软件便删除各自的连接记录。在机器接收到初始的FIN报文段之后,TCP不是立即产生第2个FIN报文段,而是发送一个应答,然后关断连接的请求通知应用程序。将请求通知应用程序并获得响应可能需要相当长的时间(例如,可能涉及到与人的交互作用)。上述确认防止在等待期间重发初始
13、的FIN报文段。最后,当应用程序指示TCP完全关断连接时,TCP发送第二个FIN报文段,并且源场点以第二个报文段即ACK应答。通常,应用程序在用完一条连接时就使用关断操作把连接关掉。因此,关断连接可以看成是正常使用的一部分,就像关闭文件那样。有时候,非正常条件的出现会迫使应用程序或网络软件断开一条连接。TCP为这样的非正常断连提供了一个重置设施。4 、TCP协议的优化4.1 TCP协议的广域网优化TCP在最初设计时没考虑到高带宽情况下远程传输的延迟问题,主要问题在于传输数据包的同时还有TCP的校验包。在延迟很小的网络TCP校验包可以忽略不计,但几千公里出去,很可能就是几百毫秒的延迟(中国的网络
14、压力比较大,这种情况很常见),光等校验包的累计时间就要用分钟来计算。这种延迟在广域网上是致命的,而这本身恰恰又是TCP/IP的容错传输机制造成的。WAN优化里面的TCP优化,是目前很多厂商都采用的优化技术,实现方法是做成一个TCP代理的方式,多发一些数据包再统一校验,这是很常用的一种方法。在两端放上代理设备,构建与服务器的局域网连接环境,在广域网方面就改变TCP协议的校验方式,通过减少TCP校验的次数,来减少延迟的累计时间,会取得非常大的效果(一般在广域网优化时实现,端到端文件传输的情况)。F5的WAN优化分为几个内容,其中一个就是TCP优化,另外还包括Cache的技术,文件缓存和字典技术等,
15、综合解决协议初期主要考虑了容错而没有考虑到高带宽的延迟问题的优化方法。4.2 TCP连接优化另外,最初设计TCP/IP的时候没有也考虑到网络上那么多应用产生的那么多TCP连接。大量TCP连接对服务器资源的占用,对应用存在很大压力。通过OneConnect和TCPExpress等连接优化可以释放服务器压力。比如服务器性能最怕的是TCP连接,在一个网络里同时有高带宽和低带宽用户,后者的TCP连接结束就会相对较慢,服务器就要有资源去维护这个连接,当连接很多数据流量不大的情况下,服务器不忙(CPU很低)但资源被耗尽了,支撑不了更多用户,甚至简单的Web服务器都存在这个问题。其实这些连接也是可以优化的,
16、首先,可以直接做TCP连接优化,例如外部用户发起的1万个连接,经过设备以后合并成100个甚至更少的长连接到服务器,因为在线连接数量的下降,服务器性能发挥就会大很多,免费的节省30%左右的服务器压力;第二个方法,当客户端很慢的时候,可以先将服务器的回应包缓存在设备内,尽快结束和服务器的连接,再由优化设备慢慢将服务器回应传输给客户端,这样也可以降低服务器的在线连接,更好的发挥服务器能力(一般在服务器端实现,与客户端无关,大型应用上比较多)。连接耗的资源更多的是内存,在线连接被优化后,内存消耗的情况会好很多。连接优化、服务器回应优化释放资源,等一系列技术采用后,因为TCP在线连接对服务器造成的压力会
17、很大缓解,更有利于服务器性能提升。4.3 TCP的安全问题在互联网上最常见的攻击就是DoS/DDoS,用的最多的就是Syn攻击,其实就是利用TCP的Syn来进行攻击,很多网络攻击都以TCP为依据。SynCookie和DelayBinding(延迟绑定)技术可以用来解决这个问题。在F5的TMOS中,采用的是双TCP堆栈技术,客户端和F5设备先建立TCP连接,在F5设备收到真正的请求包后,才会代理客户端发起访问,这样的处理方法保证攻击根本无法到达服务器,来保证应用的正常服务,很多的银行网银系统和互联网站都是采用这种处理方法。4.4 对复杂应用的支持复杂应用的用户会话一般由多个TCP(甚至是UDP)
18、连接组成,在多个连接间存在相互关联关系。在大的服务集群中,如果不能通过辅助处理将这些关联的连接标识,并交由一个集群节点服务,就会出现访问故障。例如用户的注册和访问必须在同一集群节点,如果将注册和访问的两个不同的TCP连接分配到不同的集群节点,访问失败是必然的。如何判断这些不同的TCP联机是否关联,或是否由一个用户发起是和应用相关的,比如HTTP协议可以用Cookie或会话ID,而移动用户可以用CallingID或手机号码,而这些处理方法都是TCP协议没有涵盖的,需要高层协议或其他设备的支持。5 、结论 TCP协议的优化是一个需要长期进行下去的工作,因此下一步需要我们从更多方面对其作进一步的优化,比如我们可以从以下方向对其作进一步的优化:首先,我们可以尝试对数据流中采集样本数据的时间间隔做进一步的规范化,因为样本数据的采集直接影响了本算法对切换预测的准确性;其次,我们还会对算法作进一步的优化,进一步降低算法的复杂度,做到为移动节点节约更多宝贵的系统资源;等等。