收藏 分享(赏)

TCP_IP协议论文.doc

上传人:lufeng10010 文档编号:1601390 上传时间:2018-08-10 格式:DOC 页数:18 大小:225.50KB
下载 相关 举报
TCP_IP协议论文.doc_第1页
第1页 / 共18页
TCP_IP协议论文.doc_第2页
第2页 / 共18页
TCP_IP协议论文.doc_第3页
第3页 / 共18页
TCP_IP协议论文.doc_第4页
第4页 / 共18页
TCP_IP协议论文.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、苏州科技学院期末论文1TCP/IP 协议简述及其应用班级 电子 1011姓名 张艺学号 1020106118苏州科技学院期末论文2TCP/IP 协议在网络中的应用摘 要:TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是 Internet 最基本的协议、Internet 国际互联网络的基础,简单地说,就是由网络层的 IP 协议和传输层的 TCP 协议组成的。TCP/IP 是供已连接因特网的计算机进行通信的通信协议,是传输控制协议/网际协议。它定义了电子设备(比

2、如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。是互联网中的基本通信语言或协议。它在计算机网络中发挥了重要的作用,本文即概述了 TCP/IP 协议在网络中的应用。 关键词:TCP/IP;计算机;因特网;应用;安全;The applications of TCP/IP protocol in networkAbstract :TCP protocol IP(Transmission Control Protocol/Internet Protocol) the simplified, chinese translated name is a transmission control

3、agreement with the agreement, and interconnected network of communication and internet protocols the agreement is the most basic agreement, internet international the internet. In short, with IP network layer of the agreement and the transport layer of the TCP protocol. TCP/IP is for the computers a

4、re connected via the internet communications, a transmission control agreement internet protocols. It defines the electronic devices ( such as computer ) how the Internet, and the transmission of data between them. Internet standards are the basic communications language or protocols. It is in a com

5、puter network played an important role, this provides an overview of the TCP protocol in a network IP applications.Key words:TCP/IP ;computer ;Internet;application ;security;苏州科技学院期末论文3目录1 TCP/IP 协议的概况 41.1 TCP/IP 协议的定义 .41.2TCP/IP 协议的主要特点 51.3 TCP/IP 协议的优势 .52、深入理解 TCP/IP 协议 62.1TCP/IP 协议的结构 61网络接口

6、 62.网络层 .73传输层 74应用层 72.2 主要协议 81 IP82. TCP 93.UDP.94.ICMP.95. TCP 和 UDP 的端口结构 .92.3IP 地 址 及 其 分 类 .102.3.1. A 类地址 112.3.2. B 类地址 112.3.3. C 类地址 112.3.4IP 地址类别 RFC 1918 内部地址范围 .123、拥塞 123.1 产生拥塞的原因 .124、TCP/IP 协议的安全设计 .174.1 链路加密 .174.2 节点加密 .174.3 端到端加密 .17结论 18苏州科技学院期末论文41 TCP/IP 协议的概况1.1 TCP/IP 协

7、议的定义TCP/IP 是供已连接因特网的计算机进行通信的通信协议。 TCP/IP 指传输控制协议/网际协议 (Transmission Control Protocol / Internet Protocol)。 TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP(传输控制协议/网际协议)是互联网中的基本通信语言或协议。在私网中,它也被用作通信协议。TCP/IP 是一个四层的分层体系结构。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的 TCP 层,接收端的 TCP 层把包还原为原始文件。低层是网际协议

8、,它处理每个包的地址部分,使这些包正确的到达目的地。网络上的网关计算机根据信息的地址来进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。 TCP/IP 使用客户端/服务器模式进行通信。TCP/IP 通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。TCP/IP 与上层应用程序之间可以说是“没有国籍的” ,因为每个客户请求都被看做是与上一个请求无关的。正是它们之间的“无国籍的”释放了网络路径,才是每个人都可以连续不断的使用网络。 许多用户熟悉使用 TCP/IP 协议的高层应用协议。包括万维网的超文本传输协议(HTTP) ,文件传输协议(FTP) ,远程网络

9、访问协议(Telnet)和简单邮件传输协议(SMTP) 。这些协议通常和 TCP/IP 协议打包在一起。 使用模拟电话调制解调器连接网络的个人电脑通常是使用串行线路接口协议(SLIP)和点对点协议(P2P) 。这些协议压缩 IP 包后通过拨号电话线发送到对方的调制解调器中。 与 TCP/IP 协议相关的协议还包括用户数据包协议(UDP) ,它代替 TCP/IP协议来达到特殊的目的。其他协议是网络主机用来交换路由信息的,包括Internet 控制信息协议(ICMP) ,内部网关协议(IGP) ,外部网关协议(EGP) ,边界网关协议(BGP) 。苏州科技学院期末论文51.2TCP/IP 协议的主

10、要特点 (1)开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作系统;(2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网中;(3)统一的网络地址分配方案,使得整个 TCP/IP 设备在网中都具有惟一的地址; (4)标准化的高层协议,可以提供多种可靠的用户服务。 TCP/IP 模型的主要缺点有: 首先,该模型没有清楚地区分哪些是规范、哪些是实现;其次,TCP/IP 模型的主机网络层定义了网络层与数据链路层的接口,并不是常规意义上的一层,接口和层的区别是非常重要的,TCP/IP 模型没有将它们区分开来。1.3 TCP/IP 协议的优势在长期的发展过程中,IP 逐渐取代

11、其他网络。这里是一个简单的解释。IP传输通用数据。数据能够用于任何目的,并且能够很轻易地取代以前由专有数据网络传输的数据。下面是一个普通的过程: 一个专有的网络开发出来用于特定目的。如果它工作很好,用户将接受它。为了便利提供 IP 服务,经常用于访问电子邮件或者聊天,通常以某种方式通过专有网络隧道实现。隧道方式最初可能非常没有效率,因为电子邮件和聊天只需要很低的带宽。 通过一点点的投资 IP 基础设施逐渐在专有数据网络周边出现。 用 IP 取代专有服务的需求出现,经常是一个用户要求。 IP 替代品过程遍布整个因特网,这使 IP 替代品比最初的专有网络更加有价值(由于网络效应)。 专有网络受到压

12、制。许多用户开始维护使用 IP 替代品的复制品。 IP 包的间接开销很小,少于 1%,这样在成本上非常有竞争性。人们开发了一种能够将 IP 带到专有网络上的大部分用户的不昂贵的传输媒介。 大多数用户为了削减开销,专有网络被取消。苏州科技学院期末论文62、深入理解 TCP/IP 协议2.1TCP/IP 协议的结构TCP/IP 协议并不完全符合 OSI 的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的 7 层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这 7 层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而 TCP/

13、IP 通讯协议采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。表 1-1 是 TCP/IP 四层模型和 OSI 七层模型对应表。我们把 OSI 七层网络模型和 Linux TCP/IP 四层概念模型对应,然后将各种网络协议归类。图一 TCP/IP 协议结构图1网络接口网络接口把数据链路层和物理层放在一起,对应 TCP/IP 概念模型的网络接口。对应的网络协议主要是:Ethernet、FDDI 和能传输 IP 数据包的任何协议。苏州科技学院期末论文72.网络层网络层对应 Linux TCP/IP 概念模型的网际层,网络层协议管理离散的计算机间的数据传输,如 IP 协

14、议为用户和远程计算机提供了信息包的传输方法,确保信息包能正确地到达 目的机器。这一过程中,IP 和其他网络层的协议共同用于数据传输,如果没有使用一些监视系统进程的工具,用户是看不到在系统里的 IP 的。网络嗅探器 Sniffers 是能看到这些过程的一个装置(它可以是软件,也可以是硬件) ,它能读取通过网络发送的每一个包,即能读取发生在网络层协议的任何活动,因 此网络嗅探器 Sniffers 会对安全造成威胁。重要的网络层协议包括 ARP(地址解析协议) 、ICMP (Internet 控制消息协议)和 IP 协议(网 际协议)等。3传输层传输层对应 Linux TCP/IP 概念模型的传输层

15、。传输层提供应用程序间的通信。其功能包括:格式化信息流;提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认信 息,如果分组丢失,必须重新发送。传输层包括TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议) ,它们是传输层中最主要的协议。TCP建立在 IP 之上,定义了网络上程序到程序的数据传输格式和规则,提供了 IP数据 包的传输确认、丢失数据包的重新请求、将收到的数据包按照它们的发送次序重新装配的机制。TCP 协议是面向连接的协议,类似于打电话,在开始传输数据之前,必须先建立明确的

16、连接。UDP 也建立在 IP 之上,但它是一种无连接协议,两台计算机之间的传输 类似于传递邮件:消息从一台计算机发送到另一台计算机,两者之间没有明确的连接。UDP 不保证数据的传输,也不提供重新排列次序或重新请求的功能,所以说 它是不可靠的。虽然 UDP 的不可靠性限制了它的应用场合,但它比 TCP 具有更好的传输效率。4应用层应用层、表示层和会话层对应 Linux TCP/IP 概念模型中的应用层。应用层位于协议栈的顶端,它的主要任务是应用。一般是可见的,如利用 FTP(文件传输协议)传输一个文件,请求一个和目 标计算机的连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。常见

17、的应用层协议有:HTTP,FTP,Telnet,SMTP 和 Gopher 等。应用层是 Linux 网络设定最关键的一层。Linux 服务器的配置文档主要针对应用层中的协议。TCP/IP 模型各个层次的功能和协议如 表1-2所示。苏州科技学院期末论文8表1-2 TCP/IP 模型各个层次的功能和协议层次名称 功 能 协 议网络接口(Host-to-Net Layer)负责实际数据的传输,对应OSI 参考模型的下两层HDLC(高级链路控制协议)PPP(点对点协议)SLIP(串行线路接口协议)网际层(Inter-network Layer)负责网络间的寻址数据传输,对应 OSI 参考模型的第三层

18、IP(网际协议)ICMP(网际控制消息协议)ARP(地址解析协议)RARP(反向地址解析协议)传输层(Transport Layer)负责提供可靠的传输服务,对应 OSI 参考模型的第四层TCP(控制传输协议)UDP(用户数据报协议)应用层(Application Layer)负责实现一切与应用程序相关的功能,对应 OSI 参考模型的上三层FTP(文件传输协议)HTTP(超文本传输协议)DNS(域名服务器协议)SMTP(简单邮件传输协议)NFS(网络文件系统协议)2.2 主要协议 以下简单介绍 TCP/IP 中的协议都具备什么样的功能,都是如何工作的: 1 IP 网际协议 IP 是 TCP/I

19、P 的心脏,也是网络层中最重要的协议。 IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP 或 UDP 层;相反,IP 层也把从 TCP 或 UDP 层接收来的数据包传送到更低层。IP 数据包是不可靠的,因为 IP 并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP 数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址) 。 高层的 TCP 和 UDP 服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说, IP 地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP 确认包含

20、一个选项,叫作 IP source routing,苏州科技学院期末论文9可以用来指定一条源地址和目的地址之间的直接路径。对于一些 TCP 和 UDP 的服务来说,使用了该选项的 IP 包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠 IP 源地址做确认的服务将产生问题并且会被非法入侵。 2. TCP 如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向上传送到 TCP 层。TCP 将包排序并进行错误检查,同时实现虚电路间的连接。TCP 数据包中包括序号和确认,

21、所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP 将它的信息送到更高层的应用程序,例如 Telnet 的服务程序和客户程序。应用程序轮流将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动程序和物理介质,最后到接收方。 面向连接的服务(例如 Telnet、FTP、rlogin、X Windows 和 SMTP)需要高度的可靠性,所以它们使用了 TCP。DNS 在某些情况下使用 TCP(发送和接收域名数据库) ,但使用 UDP 传送有关单个主机的信息。 3.UDP UDP 与 TCP 位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用

22、虚电路的面向连接的服务,UDP 主要用于那些面向查询-应答的服务,例如 NFS。相对于 FTP 或 Telnet,这些服务需要交换的信息量较小。使用 UDP 的服务包括 NTP(网络时间协议)和 DNS(DNS 也使用 TCP) 。 欺骗 UDP 包比欺骗 TCP 包更容易,因为 UDP 没有建立初始化连接(也可以称为握手) (因为在两个系统间没有虚电路) ,也就是说,与 UDP 相关的服务面临着更大的危险。 4.ICMP ICMP 与 IP 位于同一层,它被用来传送 IP 的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP 的Redirect信息通知主机通向其他系统的更准确的

23、路径,而Unreachable信息则指出路径有问题。另外,如果路径不可用了,ICMP 可以使 TCP 连接体面地终止。PING 是最常用的基于ICMP 的服务。 苏州科技学院期末论文105. TCP 和 UDP 的端口结构 TCP 和 UDP 服务通常有一个客户/服务器的关系,例如,一个 Telnet 服务进程开始在系统上处于空闲状态,等待着连接。用户使用 Telnet 客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。 两个系统间的多重 Telnet 连接是如何相互确认并协调一致呢?

24、TCP 或 UDP连接唯一地使用每个信息中的如下四项进行确认: 源 IP 地址 发送包的 IP 地址。 目的 IP 地址 接收包的 IP 地址。 源端口 源系统上的连接的端口。 目的端口 目的系统上的连接的端口。 端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个 16 比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用 25、Xwindows 使用 6000。这些端口号是广为人知的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。 2.3IP 地 址 及 其 分 类在 Internet 上连接的所有计算机,从大型机到微型计算机都是以独

25、立的身份出现,我们称它为主机。为了实现各主机间的通信,每台主机都必须有一个唯一的网络地址。就好像每一个住宅都有唯一的门牌一样,才不至于在传输资料时出现混乱。 Internet 的网络地址是指连入 Internet 网络的计算机的地址编号。所以,在 Internet 网络中,网络地址唯一地标识一台计算机。 我们都已经知道,Internet 是由几千万台计算机互相连接而成的。而我们要确认网络上的每一台计算机,靠的就是能唯一标识该计算机的网络地址,这个地址就叫做 IP(Internet Protocol 的简写)地址,即用 Internet 协议语言表示的地址。 目前,在 Internet 里,IP

26、 地址是一个 32 位的二进制地址,为了便于记忆,将它们分为 4 组,每组 8 位,由小数点分开,用四个字节来表示,而且,用点分开的每个字节的数值范围是 0255,如 202.116.0.1,这种书写方法叫做点数表示法。 IP 地址可确认网络中的任何一个网络和计算机,而要识别其它网络或其中的计算机,则是根据这些 IP 地址的分类来确定的。一般将 IP 地址按节点计算机所在网络规模的大小分为 A,B,C 三类,默认的网络屏蔽是根据 IP 地址中的第一个字段确定的。 苏州科技学院期末论文112.3.1. A 类地址 A 类地址的表示范围为:1.0.0.1126.255.255.255,默认网络屏蔽

27、为:255.0.0.0;A 类地址分配给规模特别大的网络使用。A 类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如 IBM 公司的网络。 127.0.0.0 到 127.255.255.255 是保留地址,用做循环测试用的。 0.0.0.0 到 0.255.255.255 也是保留地址,用做表示所有的 IP 地址。 一个 A 类 IP 地址由 1 字节(每个字节是 8 位)的网络地址和 3 个字节主机地址组成,网络地址的最高位必须是“0”,即第一段数字范围为 1127。每个A 类地址理论上可连接

28、 16777214台主机(-2 是因为主机中要用去一个网络号和一个广播号) ,Internet 有 126 个可用的 A 类地址。A 类地址适用于有大量主机的大型网络。 2.3.2. B 类地址 B 类地址的表示范围为:128.0.0.1191.255.255.255,默认网络屏蔽为:255.255.0.0;B 类地址分配给一般的中型网络。B 类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。 169.254.0.0 到 169.254.255.255 是保留地址。如果你的 IP 地址是自动获取 IP 地址,而你在网络上又没有找到可用的 DHCP 服务器,这时你将会从16

29、9.254.0.0 到 169.254.255.255 中临时获得一个 IP 地址。 一个 B 类 IP 地址由 2 个字节的网络地址和 2 个字节的主机地址组成,网络地址的最高位必须是“10” ,即第一段数字范围为 128191。每个 B 类地址可连接 65534(216-2, 因为主机号的各位不能同时为 0,1)台主机,Internet 有16383(214-1)个 B 类地址(因为 B 类网络地址 128.0.0.0 是不指派的,而可以指派的最小地址为 128.1.0.0COME06) 。 2.3.3. C 类地址 C 类地址的表示范围为:192.0.0.1223.255.255.255

30、,默认网络屏蔽为:255.255.255.0;C 类地址分配给小型网络,如一般的局域网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C 类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。 一个 C 类地址是由 3 个字节的网络地址和 1 个字节的主机地址组成,网络地址的最高位必须是“110” ,即第一段数字范围为 192223。每个 C 类地址可连接 254 台主机,Internet 有 2097152 个 C 类地址段(32*256*256) ,有苏州科技学院期末论文12532676608 个地址(32*256*256*254) 。 RFC 1918

31、 留出了 3 块 IP 地址空间(1 个 A 类地址段,16 个 B 类地址段,256 个 C 类地址段)作为私有的内部使用的地址。在这个范围内的 IP 地址不能被路由到 Internet 骨干网上;Internet 路由器将丢弃该私有地址。 2.3.4IP 地址类别 RFC 1918 内部地址范围 A 类 10.0.0.0 到 10.255.255.255 B 类 172.16.0.0 到 172.31.255.255 C 类 192.168.0.0 到 192.168.255.255 使用私有地址将网络连至 Internet,需要将私有地址转换为公有地址。这个转换过程称为网络地址转换(Ne

32、twork Address Translation,NAT) ,通常使用路由器来执行 NAT 转换。 实际上,还存在着 D 类地址和 E 类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下: D 类地址不分网络地址和主机地址,它的第 1 个字节的前四位固定为1110。 D 类地址范围:224.0.0.1 到 239.255.255.254 。 D 类地址用于多点播送。D 类地址称为广播地址,供特殊协议向选定的节点发送信息时用。 E 类地址保留给将来使用。 连接到 Internet 上的每台计算机,不论其 IP 地址属于哪类都与网络中的其它计算机处于平等地位,因为只有 IP 地址才是区别计

33、算机的唯一标识。所以,以上 IP 地址的分类只适用于网络分类。 在 Internet 中,一台计算机可以有一个或多个 IP 地址,就像一个人可以有多个通信地址一样,但两台或多台计算机却不能共享一个 IP 地址。如果有两台计算机的 IP 地址相同,则会引起异常现象,无论哪台计算机都将无法正常工作。 顺便提一下几类特殊的 IP 地址: 1. 广播地址 目的端为给定网络上的所有主机,一般主机段为全 1 2. 单播地址 目的端为指定网络上的单个主机地址 3. 组播地址 目的端为同一组内的所有主机地址 4. 环回地址 127.0.0.1 在环回测试和广播测试时会使用 3、拥塞3.1 产生拥塞的原因当一个

34、网络中出现太多报文分组的时候,网络的性能开始下降,这种情况苏州科技学院期末论文13称为拥塞。拥塞是一种持续过载的网络状态,此时用户对网络资源的需求超过了其固有的容量,这是产生拥塞的根本原因,而端到端之间却存在着直接的原因,主要有:1.存储空间相对不足。主要表现在理由器上,虽然增加存储空间有时可以缓解拥 塞的产生,但有时候不但不能缓解拥塞,反而会加剧拥塞。2.带宽容量不足。低速链路对高速数据流的输入也会产生拥塞。3.链路与 CPU 的处理速度不匹配, 造成处理能力弱,速度慢从而引起拥塞。3.2 TCP 的拥塞控制机制3.2.1 加法增加乘法减少(AIMD)算法TCP 作为 Internet 上使

35、用最广泛的端到端传输协议,它的拥塞控制机制主要基于加法增加乘法减少(AIMD)算法,该算法定义了 3 个窗口变量: (1) 拥塞窗口(cwnd):它限定了在拥塞控制中源端在一时间段里的最大数据传输量,是来自源端的流量控制。(2) 通告窗口(awnd):接受端与源端建立连接后,接收端通告源端它的最大可接受速率,它是来自接受端的流量控制。(3) 有效窗口(win):即源端发送数据的实际窗口大小,定义为win=min(cwnd,awnd)AIMD 的工作过程可分为两步:(1)源端每收到一个来自接受端的 ACK 确认,拥塞窗口按 cwnd=cwnd+MSS*(MSS/cwnd) (MSS 为分组大小)

36、增大,它所表示的实际意义是如果源端发送的分组都在最近的往返时间(RTT)内获得确认,源端就将 cwnd 加 1,即加法增加思想。(2)当数据传送发生超时,TCP 认为路线上出现拥塞,并开始减小源端的数据发送速率。每发生一次超时,源端就会重新计算拥塞窗口的值,公式如下:cwnd=cwnd/2它表示发生一次超时,拥塞窗口将在原来基础上减小一半,即乘法减少思想。3.2.2 TCP 拥塞控制的四个阶段这是 TCP 拥塞控制的核心,也体现了 TCP 拥塞控制的基本思想,它分为启动阶段,拥塞避免,快速重传和快速恢复阶段。(1) 启动阶段 当连接刚建立或在发生一次超时的情况下,进入慢启动阶段。一个新的 TC

37、P 连接建立后,cwnd 被初始化为 1,源端只被允许发送一个报文段。当发出的报文收到接受端的 ACK 确认后,cwnd 加 1,即增加一个报文段发送。在这个阶段中,cwnd 随 RTT 呈指数增长。苏州科技学院期末论文14采用慢启动方法,可以防止 TCP 在启动一个新的连接时发送过多的数据而造成数据丢失和网络拥塞,同时,由于 cwnd 实际上以指数规律增长也就避免了单纯的 AIMD 算法造成的吞吐量增加过慢的问题。cwnd 的无限增长必将引起网络拥塞,于是引入一个状态变量:慢启动阈值ssthresh。当 cwndssthresh 是,则采用拥塞避免算法,减缓 cwnd 的增长速度。 (2)

38、拥塞避免阶段在拥塞避免阶段,当 TCP 探测到网络将要发生拥塞,并没有直接采用复位cwnd1,重新开始慢启动的方法。因为一旦发生拥塞,需要很长的时间来恢 复,而慢启动算法中 cwnd 的指数增长就显得有些激进,它很可能会加重网络拥塞。因此,在这个阶段,采用相对更保守的调节机制改变 awnd 的增长方式,使 它由指数增长变成线性增长,具体过程如下:1. 将慢启动阈值 ssthresh 设置为当前 cwnd 的一半,即ssthresh=cwnd/2;2. 发生超时时,置 cwnd=1,在 cwnd=ssthresh 时,执行拥塞避免算法,cwnd 每收到一个 ACK 确认时,只增加 1/cwnd

39、个数据包这就使得 cwnd 随 RTT 呈线性增长。(3) 快速重传和快速恢复阶段由于在拥塞避免阶段,当发生超时时,cwnd 重新置 1,进入慢启动,这将导致过大减小发送窗口尺寸,很大程度上降低了 TCP 连接的吞吐量。为了完善TCP 的性能,又引入了快速重传和快速恢复机制。快速重传阶段,当源端收到 3 个或者 3 个以上的重复 ACK 确认,即认为发生了数据包丢失,此时将 ssthresh 设置为当前 cwnd 的一半,ssthresh=awnd/2,并重新传送丢失的数据包,进入快速恢复阶段。在快速恢复阶段,源端每收到一个重复的 ACK,则 cwnd 加 1;若收到非重复的 ACK,置 cw

40、ndssthresh,转入拥塞避免;当发生超时重传时,置ssthresh=cwnd/2,cwnd=1,进入慢启动阶段。快速重传和快速恢复机制避免了数据包一发生超时就直接进入慢启动,在很大程度上提高了 TCP 的性能和吞吐量。3.2.3 典型 TCP 拥塞控制算法分析比较TCP 发展到现在已经形成了 TCP Tahoe、TCP Reno、TCP NewReno、SACK、Vegas 等不同版本,算法各有利弊。Tahoe 算法是 TCP 的早期版本。它的核心思想是:让 cwnd 以指数增长方式迅速逼近可用信道容量,然后慢慢接近均衡。它包括了 3 个基本的拥塞控制 算法:慢启动、拥塞避免、快速重传。

41、Tahoe 的缺点体现在快速重传后转向慢启动算法,这样不能有效的利用网络带宽并且还引入较大的延时。针对 Tahoe 算法的不足,提出了改进算法 Reno。改进主要有两方面:一是对于收到连续 3 个重复的 ACK 确认,算法不经过慢启动,而直接进入拥塞避 免阶段;二是增加了快速重传和快速恢复机制。Reno 算法以其简单、有效和鲁棒苏州科技学院期末论文15性成为 TCP 源算法的主流,被广泛的采用。但它不能有效的处理多个分组从同 一数据窗口丢失的情况。NewReno 对 Reno 中快速恢复算法进行了补充,它考虑了一个发送窗口内多个分组同时丢失的情况。Reno 算法中,发送方收到一个不重复的应答后

42、 就退出快速恢复,而 NewReno 中,只有当所有的分组都被应答后才退出快速恢复状态。NewReno 的实现只要修改 TCP 发送端的实现代码,实现简单。SACK 算法也针对一个窗口内多个分组丢失的情况而对 Reno 算法进行改进:SACK 定义了一个变量 pipe 来表示出现在路由器上分组的估计数量,接 收方TCP 发送 SACK 分组来通知发送方接收数据的情况,这样源端就能准确的知道那些数据被正确的传到接收端,从而避免不必要的重传,减少延时,提高网络 吞吐量。但 SACK 算法的实现需要修改 TCP 发送端和接收端的实现代码,增加了TCP 的复杂性,因此不易大规模的应用。Vegas 与上

43、述的算法不同,它是以 RTT 的变化来作为拥塞信号,调节源端的发送速率。通过监测 RTT 的变化来改变 cwnd 的大小。由于 Vegas 采 用 RTT的改变来判断网络的可用带宽,能较好的预测网络带宽的使用情况,其公平性、效率都较好。但是,由于 Vegas 与其它算法在竞争带宽方面存在不公平 现象,因此未能在 Internet 上普遍采用,还需要不断改进。3.3 基于路由器技术的拥塞控制机制路由器作为 Internet 的核心部件,需要同时维护一个或多个队列,这是基于它分组交换的特性。而队列管理算法又将直接影响到路由器的各种性能以及 拥塞控制能力。通过在路由器中引入队列管理的拥塞控制算法,使

44、网络本身也参与资源控制从而能有效的实现对拥塞的监测和预防。3.3.1 随机早期丢弃算法(RED)RED 是主动队列管理算法中最早也是最著名的一个,以 RED 算法为例来描述基于路由器技术拥塞控制的基本原理。RED 算法通过平均队列长度预测可能到 来的网络拥塞,并采用随机选择的策略对分组进行标记,在拥塞尚未出现时提示源端降低其发送速率以达到拥塞避免的目的。由于 RED 算法采用随机标记策略,使 不同 TCP 流的拥塞异步化,因而解决了 TCP 流的全局同步问题。RED 算法采用指数加权平均算法来计算系统的平均队列长度,作为拥塞预测的依据,计算公式如下:苏州科技学院期末论文16RED 算法有效的避

45、免了 TCP 流全局同步现象,提高了网络资源的利用率,并能有效地控制平均队列长度,使得系统吞吐率和分组时延达到很好的平衡,并采 取一定的附加机制来保障系数的公平性。RED 算法基于简单的控制机制,易于实现,因此也得到了广泛的认可和支持。但 RED 算法也存在一些缺点:对控制参数 过于敏感,难以优化参数设定;不支持服务分区,没有考虑不同等级服务之间不同用户之间的差别,无法提供有效的公平性保障。基于路由器技术的队列管理算法现今已经有很多中,例如:加权随机早期检测算法(WRED),加权循环调度算法(WRR),公平排队算法(FQ),加权公平排队算法(WFQ)等,采用不同或者改进的算法来实现路由器的各种

46、功能以及拥塞控制能力和 QoS 能力。3.3.2 缓冲管理和分组调度相结合广义的队列管理,是指以队列为依托,对数据分组,数据流进行传输控制的多种机制,主要包括了缓冲管理和分组调度两方面的内容。图 1 给出了采用输入输出队列结构路由器中的分组处理流程。图 1 输入输出排队路由器的分组处理流程苏州科技学院期末论文17而目前,在绝大多数队列管理方案中,缓冲管理和分组调度都是分开进行的,缺乏一定的联系,使缓冲资源和带宽资源的分配相互独立,协作性差。而只有当缓 冲资源与带宽资源的分配相一致时,才能最大程度的利用缓冲队列的特性,使得系统吞吐量和分组丢失率综合性能最优。因此,把缓冲管理和分组调度结合起来考

47、虑,在缓冲管理算法中引入带宽分配是一个很有价值的研究方向。4、TCP/IP 协议的安全设计4.1 链路加密链路加密(又称在线加密)是传输数据仅在物理层前的数据链路层进行加密。它是把网络上传输的数据报文每一个比特进行加密。它不仅对数据报文正文加密,而且把路由信息、校验和等控制信息全部加密。当数据报文传输到某个中间节点时,必须被解密以获得路由信息和校验和,进行路由选择,随后再被加密,发送给下一个节点,直到数据报文到达目的节点为止。4.2 节点加密节点加密与链路加密类似,是在节点处采用一个与节点机相连的密码装置(被保护的外围设备) ,密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密

48、在节点处易受攻击的弱点。但这种加密方式同链路加密方式一样,需要目前公共网络提供者的配合,修改交换节点,增加安全单元或保护装置。4.3 端到端加密由发送方加密的数据在没有达到最终目的地节点之前是不被加密的。加、解密只在源、宿节点进行。因此,这种方式可以按各种通信对象的要求改变加密密钥以及按应用程序进行密钥管理等,而且采用这种方式可以解决文件加密问题。苏州科技学院期末论文18结论通过对 TCP/IP 协议的分析,使我们对 TCP/IP 协议有了大致的了解,并且熟悉它在网络中的应用的问题。正是有了 TCP/IP 协议,才有了今天“地球村”因特网的巨大发展。TCP/IP 协议作为网络层中最基本也是最重

49、要的协议,随着现代科技的进步与发展,该协议也会逐渐走向完善。参考文献1 陈永军.什么是 TCP/IP 协议 J.化工管理.2000年08期. 2 凌俊峰.TCP/IP 协议浅释 J.韶关学院学报.2001年09期.3 电脑虎.网络大厦的互联基础TCP/IP 协议 N.中国电脑教育报.2004:12-23.4 高传善.数据通信与计算机网络M.北京:高等教育出版社.2002.5 梁振军,梁波.计算机互联网技术与 TCP/IP 协议M.北京:海洋出版社.2006.6 胡道元.网络安全M.北京:清华大学出版社.2004.7 夏阳,陆余良,孙乐昌.基于网络攻击的安全防范策略 J.安徽大学学报(自然科学版).2002 年 02 期.8 葛志辉,李陶深.TCP/IP 协议的脆弱性与相应的对策 J.信息技术.2004年 08 期.9 沈建苗.排除 TCP/IP 的基本故障 N.计算机世界.2005 年.10陈中炜.从计算机和计算机网络的发展看 TCP/IP 协议的重要性 J.中州大学学报.2005 年 04 期.11谢希仁.计算机网络教程.第 3 版.人民邮电出版社.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报