DARPA互联网协议簇的设计理念论文学习报告指导老师:王汉武专业:智能科学与技术年级:2012级班级:智能1201班小组成员:易全政、尹珂立、易雪媛、杨锦涛、王自琰内容摘要内容摘要互联网协议簇,TCP/IP,是在15年前被提出的。它被研发自美国国防部高级研究计划局(DARPA),目前已被广泛应用于军方与商业系统中。尽管已经存在很多描述此协议簇的论文与规范说明,我们有时仍感觉很难根据它们推想出,为何协议是它现在存在的这个样子。比如,互联网协议是基于一个无连接传输模式,或数据报文模式的服务。而这个动机如今已被大大地误解了。关键词:互联网协议簇无连接传输模式数据报文模式ABSTRACTTheInternetprotocolsuite,TCP/IP,wasfirstproposedfifteenyearsago.ItwasdevelopedbytheDefenseAdvancedResearchProjectsAgency(DARPA),andhasbeenusedwidelyinmilitaryandcommercialsystems.Whiletherehavebeenpapersandspecificationsthatdescribehowtheprotocolswork,itissometimesdifficulttodeducefromthesewhytheprotocolisasitis.Forexample,thenternetprotocolisbasedonaconnectionlessordatagrammodeofservice.Themotivationforthishasbeengreatlymisunderstood.ThispaperattemptstocapturesomeoftheearlyreasoningwhichshapedtheInternetprotocols.KEYWORDS:TheInternetprotocolsuiteconnectionlessdatagrammodeofserviceDARPA互联网协议簇本次学习中主要阅读研究论文为“TheDesignPhilosophyoftheDARPAInternetProtocols”,另外两篇论文在阅读报告中也会有提到。而在这个论文中,介绍了关于Internet体系结构的发展历程,在最近的15年中,美国国防部高级研究计划局一直在开发用于包交换网络的协议簇,其中包括互联网协议(IP),与传输控制协议(TCP),它们现在是美国国防部网络互连标准,并且被广泛应用于商业网络环境中。在这个成果中产生的想法,也已影响了其他的协议簇,特别是ISO无连接传输模式构型的协议一、互联网协议簇的设计思想DARPA互联网架构的首要目标是发展一个有效的技术,用来对现有的互相连通的网络进行多样而充分的利用。而对于是否是有效的标准就要归纳为:1.互联网通讯必须继续进行,即使在失去网络与网关的情况下。2.互联网必须支持多种类的通讯服务。3.互联网结构必须可包容多种网络。4.互联网结构必须允许分布式资源管理。5.互联网结构必须是划算的。6.互联网结构必须允许主机连接,而且代价要小。7.互联网结构中使用的资源必须是可解释,有说明的。而对于这七点之中,这些指标都是根据优先级排列的。(1)互联网应该继续提供通讯服务,即使在网络与网关出现故障时。这个目标的意义可以解释为,如果两个实体正在通过互联网进行通讯,这时某个故障导致互联网被临时中断,之后它重新配置,以重新建立服务,这时那两个实体之间的通讯应该有能够继续,而不会不得不重建连接或者重新设定他们会话的高层状态,更加具体的,在传输层的服务接口处,此种架构没有提供与传输服务客户端通讯的设备,这导致消息发送者与接受者之间的同步可能已经丢失。因此需要保存好良好的通信状态信息。同时提出了网关与数据报的定义,也是作为现在的发展的Internet架构的重要组成部分。(2)在传输服务层,支持多种类型的服务。这一目标直接造成了TCP/IP的产生。同时也诞生了用户数据报文协议(UDP)。(3)促进互联网结构的成功的一个重要因素是它能够包容和利用相当广泛的类型的网络技术,包括商业和军事设备。这就要求互联网运行于广泛类的网络,提供足够可靠的传输服务。而对于网络传输数据包或者数据报文的假设造成了互联网的足够的灵活性。(4)其他的四个标准就相对不显得那么重要,dams类似于分布式管理工具在于实际的路由选择,以及数据传输开销上面、可说明性上面都是评价一个网络架构的可行性的标准。这也是对于TCP产生而言的一个依据,也成为当今TCP/IP协议发展的一个检验依据。二、网络协议体系结构与服务模型TransmissionControlProtocol/InternetProtocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。(一)五层因特网协议栈五层结构(1)应用层支持网络应用,应用协议仅仅是网络应用的一个组成部分,运行在不同主机上的进程则使用应用层协议进行通信。主要的协议有:http、ftp、telnet、smtp、pop3等。(2)传输层负责为信源和信宿提供应用程序进程间的数据传输服务,这一层上主要定义了两个传输协议,传输控制协议即TCP和用户数据报协议UDP。(3)网络层负责将数据报独立地从信源发送到信宿,主要解决路由选择、拥塞控制和网络互联等问题。(4)数据链路层负责将IP数据报封装成合适在物理网络上传输的帧格式并传输,或将从物理网络接收到的帧解封,取出IP数据报交给网络层。(5)物理层负责将比特流在结点间传输,即负责物理传输。该层的协议既与链路有关也与传输介质有关。(二)七层因ISOOSI参考模型OSI是OpenSystemInterconnect的缩写,意为开放式系统互联。OSI七层参考模型的各个层次的划分遵循下列原则:1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。4、不同节点的同等层按照协议实现对等层之间的通信。七层结构(1)物理层物理层(Physicallayer)是参考模型的最低层。该层是网络通信的数据传输介质,由连接不同结点的电缆与设备共同构成。主要功能是:利用传输介质为数据链路层提供物理连接,负责处理数据传输并监控数据出错率,以便数据流的透明传输。(2)数据链路层数据链路层(Datalinklayer)是参考模型的第2层。主要功能是:在物理层提供的服务基础上,在通信的实体间建立数据链路连接,传输以“帧”为单位的数据包,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。(3)网络层网络层(Networklayer)是参考模型的第3层。主要功能是:为数据在结点之间传输创建逻辑链路,通过路由选择算法为分组通过通信子网选择最适当的路径,以及实现拥塞控制、网络互联等功能。(4)传输层传输层(Transportlayer)是参考模型的第4层。主要功能是向用户提供可靠的端到端(End-to-End)服务,处理数据包错误、数据包次序,以及其他一些关键传输问题。传输层向高层屏蔽了下层数据通信的细节,因此,它是计算机通信体系结构中关键的一层。(5)会话层会话层(Sessionlayer)是参考模型的第5层。主要功能是:负责维护两个结点之间的传输链接,以便确保点到点传输不中断,以及管理数据交换等功能。(6)表示层表示层(Presentationlayer)是参考模型的第6层。主要功能是:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据加密与解密、数据压缩与恢复等功能。(7)应用层应用层(Applicationlayer)是参考模型的最高层。主要功能是:为应用软件提供了很多服务,例如文件服务器、数据库服务、电子邮件与其他网络软件服务。(三)两者之间的主要联系与区别首先,两种模型层次的划分具有明显的区别:OSI模型有7层,而TCP/IP模型只有5层,它们都有(互联)网络层、传输层和应用层,但其他层并不相同。其次,OSI模型明确了“服务”、“接口”和“协议”等主要的网络概念之间的区别,该模型定义服务就是该层做些什么,而不管上面的层如何访问它或该层如何工作,并且每一层都为它的上层提供一些服务;某一层的接口则告诉上面的进程如何访问它,它定义所需要的参数以及预期的结果,同样,它也和该层如何工作无关;某一层中使用的对等协议是该层的内部事物,它可以使用任何协议,只要能完成工作,也可以改变使用的协议而不会影响到它上面的层。而TCP/IP参考模型最初没有明确区分这三个概念,虽然后来人们试图改进它以接近OSI,但最后的结果并不理想。因此,OSI模型中的协议比TCP/IP参考模型的协议具有更好的隐蔽性,在技术发生变化时能相对比较容易地替换掉。再次,OSI参考模型产生在协议发明之前,该模型没有偏向于任何特定的协议,因此通用性非常好,但模型的设计者在协议方面没有太多的经验,不知道该把哪些功能放到哪一层最好;而TCP/IP却正好相反,首先出现的是协议,模型实际上是对已有协议的描述,因此协议和模型非常匹配,但问题是该模型不适合任何其他协议栈,描述其他非TCP/IP网络并不特别有用。最后,需要说明的是,一个主要差别就是面向连接的和无连接的通信,OSI模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信,而TCP/IP模型在网络层仅有一种通信模式(无连接),但在传输层支持两种模式,给了用户选择的机会,这种选择对简单的请求-应答协议是十分重要的。三、端到端思想的理解端到端的理论说明有些功能(比如提供可靠/有序的服务)不应该在系统的较低层提供,除非能在低层完全正确的被实现,而且花费的代价不是太大。这条原则促使了TCP协议的诞生,解决了如何在一个不可靠的网络通信信道上进行了可靠的网络传输服务。从理解的角度来说,遵循端到端原则的网络设计思路应该是这样的:如果一种机制能在端系统实现,那么就不应该将其在网络核心中实现,网络核心应该尽可能提供通用的服务,而具体应用相关的功能应该避免在网络核心中出现。端到端原则旨在让客户机承担网络应用的开发和创新,而让网络本身保持相对简单。这种相对简单的核心网络模型也是网络能够在上层变换实现不同应用的技术基础,确保网络能够被位于边缘的用户扩展新的应用功能。端到端原则的显著好处是保持了因特网的伸缩性、通用性和开放性。具体说,其一,核心网的复杂性得以降低。其二,网络容易支持新应用程序。其三,增加了网络应用的可靠性。基于端到端原则的因特网创新模式使用户能够自由发布自己的新的网络应用功能,其他相关的用户可以选择使用这种应用功能,也可以选择不使用这种应用功能。端到端原则指导了因特网的体系结构设计,端到端原则突出了因特网的冒险精神。但从现实状态上面来看,在《TheEnd-TO-EndArgumentsinSystemDesign》中作者提出了一些想解决的一些问题,例如:降低网络核心复杂度,简化复杂功能;可靠的数据传输服务;地址的透明性与全球唯一地址。但就目前网络的迅速发展的状态而言,因为网络的规模的巨大,因此造成了每个主机的全球唯一地址的可能性形成一种压力,便出现了IPV6开发,产生了A\B\C类地址,因此当今的网络发展也不可能完全的局限于端对端思想的束缚,要以灵活性去面对网络的变化与发展。参考文献[1]杨悦.论“网络”概念的三个层次——兼谈网络