本文共 7927 字,大约阅读时间需要 26 分钟。
网际互联(internetworking)把许多不同的物理网络互联起来,并使它们成为一个协调的整体。提供了异构网络互联的方法,并提供了使之互操作的一组通信约定,因此可容纳多种不同的硬件技术。internet技术隐藏了许多网络硬件的细节,允许计算机独立于它们的物理网络连接来进行通信。
intenet技术是开放系统互联( open system interconnection)的一个例子。它不像某个厂家专有的通信系统,它的规范( specification)可以公开得到的。任何人都能自己构建通过interet进行通信所需的软件。更重要的是,整个技术能够使不同硬件结构的机器进行通信、能够使用各种分组交换网络硬件,可适用于各种不同应用程序,并可适用于多种计算机操作系统。
远景规划局(Advanced Research Projects Agency,ARPA)投资研究,ARPA技术包括一组规定计算机通信细节的网络标准以及一组关于网络互联和通信量路由的约定。正式名称TCP/IP互联网协议族(TCP/IP Internet Protocol Suite),一般称为TCP/IP(取名于它的两个主要标准),使用它可在任何相互连接的一系列网络之间进行通信。
如果不理解TCP/P所提供的服务,就很难理解它的基础技术细节。对服务的讨论重点放在标准上,即协议 (protocol )。
隐藏通信的底层细节有助于提高生产效率。
Internet上所有可用的服务都是用单独协议给出的。
Internet是用它所基于的网络来执行有用的通信任务的应用程序集。“互操作性”(interoperability)表示不同计算系统协作解决计算问题的能力。
在网络层,互联网提供所有应用程序都要使用的两种类型的服务。
无连接分组交付服务(Connectionless Packet Delivery Service )。它形成了所有其他互联网服务的基础。无连接交付抽象地表示大多数分组交换网络都能提供的—种服务。指的是TCP/IP互联网按照报文上携带的地址信息把短报文从一台机器传递到另一台机器上。因为无连接服务单独传递每个分组,所以不能保证可靠、有序地传递。而且,由于无连接服务通常直接映射到底层的硬件上,所以非常有效。有了无连接分组交换作为所有互联网服务的基础,使得TCP/IP协议可以适应多种网络硬件。
可靠的数据流传输服务(Reliable Stream Transport Service)要求通信软件能从传输错误、分组丢失或发送者与接收者之间路径上的交换机的故障中自动恢复过来,可靠的传输服务处理了这些问题。它允许计算机上的应用程序与另一台计算机上的应用程序之间建立一个“连接",然后通过该连接发送大量数据,就好像这是一个永久的直接硬件连接。在底层,通信协议把数据流分成一个个小报文来发送它们,一次一个,同时等待接收者发送确认接收的信息。TCP/IP显著特征:(翻书)
lnternet结构委员会( Internet Architecture Board,IAB)的工作组
只要可以应用现有协议标准,就使用它们;只有当现有标准不够时才制定新的协议,而且,只要新标准可用并能提供等价的功能,就要准备使用新标准。
最显著的变化不是产生于增加的网络连接,而是产生于增加的网络通信量。Internet也面临着开发及操作的非集中式管理所带来的复杂性。
互联网由一组互相连接但又像一个协作整体的一系列网络组成。互联网的主要优势是提供了通用的相互连接,同时又允许每个组织使用最适合自己需求的任何网络硬件。我们所讲解的技术,按照它的两个主要协议而称为TCP/IP,它是由远景规划局ARPA开发的。TCP/IP为Internet提供了基础,
Internet不是一种新的物理网络。实际上,它是一种把物理网络互连的方法及一组使用网络的约定,这些约定允许联网的计算机进行交互。因为在整体的设计中网络硬件只起了微小的作用,所以要理解互联网技术就要求我们能够区分出硬件本身提供的低级机制和TCP/IP协议软件所提供的高级工具。理解分组交换技术所提供的工具如何影响我们对高级抽象方法的选择也非常重要。
根据通信网络提供的是一台计算机与另一台计算机之间的连接还是终端与计算机之间的连接,
通信网络分成两种基本类型:电路交换(有时称为面向连接的)和分组交换(有时称为无连接)电路交换网络在两点之间形成专用连接(或线路)。电路交换的好处在于它保证容量:一旦建立一条线路,没有其他网络活动会减少线路的容量。电路交换的缺点是耗费较大:线路的耗费是固定的,与通信量的大小无关。例如,一个人要为一个电话呼叫交付固定的费用,即使是两边并没有交谈。
分组交换类型的网络常用于连接计算机。在分组交换网络中,网络上传输的数据被分成一个个小的信息片,称为分组,分组被多路复用在大容量机器间的连接上。一个分组,通常含有几千比特的数据,载有标识信息,使得网络硬件知道怎样把数据发送到指定目的地。例如, 一个要在两台机器之间传输的大文件,必须被分成许多分组,在网络上一个一个地传输。网络硬件把分组传输到指定目的地,在那里,软件把它们重新组装成一个文件。分组交换的主要优点是计算机之间的多路通信可以并行进行,机器间的连接被正在通信的每一对机器所共享。当然,它的缺点是,随着活动的增加,一对通信的计算机所收到的通信量远小于网络容量。也就是说,一旦某个分组交换网络超载,那么,使用这个网络的计算机在能够继续发送分组之前,必须等待。
每种网络硬件技术都定义了一种编址机制,计算机使用这种机制指定每个分组的目的地。连到网络的计算机都被赋予一个惟一地址,通常是个整数。在网络上传送的分组包括一个目的地址字段( destination address field),其中有接收者的地址。在所有分组中,目的地址出现在同一位置上,使网络硬件能很容易地检测到目的地址。发送者必须知道接收者的地址,且必须在发送分组之前把接收者地址放到分组的目的地址字段中。
(翻书)
本章会有一个巨大的概念性跳跃,因为我们将描述一种模式, 允许把多种网络技术集成一个协调的
整体。其根本目标是隐藏所有底层网络硬件的细节,同时提供一般的通信服务。主要的结果是一个高级抽象,为所有的设计决策提供框架。后面的章节讨论如何用该抽象建立互联网通信软件所需的 各层,以及该软件如何隐藏底层的物理传输机制。后面的各章还要讲解应用程序如何使用形成的通 信系统。隐藏网络细节:使用应用程序来处理异构性,或者隐藏操作系统的细节。
早期的异构网络互连通过称为应用网关(application gateway)的应用层程序提供统一性。在这样的系统中,网络的每台计算机上执行的某个应用层程序了解了该计算机的网络连接的细节,并通过这些连接到其他计算机的应用程序进行互操作。例如,某些电子邮件系统由邮件程序组成,这些程序都设置为向下一台计算机上的邮件程序转发一个备忘录。从源站到目的站的路径可能经过许多不同网络,但是,只要所有计算机上的邮件系统能够通过转发每个邮件相互合作,一切都能顺利进行。
弊端:造成通信繁琐而且受到限制。
因此,使用中间应用程序的系统无法保证可靠的通信。
网络层互连提供一种机制,实时地把小型数据分组从它们的源站投递到最终目的站,中间不使用中介应用程序。交换的是小单位的数据而不是文件或很长的报文。
优势:
网际互联或互联网的概念是一个强有力的概念,它把通信这个观念从网络技术细节中分离出来, 并且对用户隐藏了底层的细节。更重要的是,它推动了所有软件的设计决策并解释了如何处理物理 地址和选择路由。在回顾基本的网际互联动机之后,我们将更多地考虑互联网的性质。
从设计通信系统的两个最基本观察点着手:
第一个观察是技术方面的。价格低廉的高速局域网受到地理跨度的限制;跨越长距离的广域网不能提供低费用的本地通信。没有哪种网络技术可以满足所有的需求,所以我们械迫考虑多底层硬件技术。
第二个,最终我们希望在任何两点之间进行通信,而且希望有一个不受任何物理网络界限限制的通信系统。
最终目标是建立一个支持通用的通信服务的统一、协调的互连网络。
在每个网络内部,计算机将使用第2章所描述的依赖于底层技术的通信工具;新软件插入到与技术相关的通信机制与应用程序之间,隐藏了底层细节并使多个网络的集合看起来是一个大的网络。这种互连方式称为网际互联 (internetwork)或互联网(internet)。
建立一个互联网的思想是随着一种系统设计的标准模式产生的:研究人员想像某个高层计算工具,并从现有的计算技术开始工作,不断加上软件层,直到产生一个高效地实现所想像的高层工 具系统。
通用服务的观念很重要,但仅它自己并不能概括我们对统一互联网的想法,因为通用服务可以有多种实现。在我们的设计中,要对用户隐藏底层互联网的结构。我们不要求用户或应用程序理解使用互联网的硬件连接细节,也不要求硬性规定一种网络拓扑。特别是当在互联网中添加新网络时,既不意味着要连到一个中心的交换节点上,也不意味着要在新网络和现有的所有网络 之间都建立直接的物理连接。我们要能够在中间网络上传输数据,即使它们没有直接连到源机器或目的机器上。我们要使互联网上所有机器共享一个机器标识符的通用集合(这个集合可以看作名字或地址)。
统一的互联网观念还包括:用户接口中的网络无关性。也就是说,我们需要一系列操作,用于建立通信或传输数据,以保持与底层网络技术和目的机器的无关性。当用户创建或使用通信应用程 序时,应该不需要了解网络互连的拓扑结构。
多个网络如何互连形成一个互联网?
从物理上讲,两个网络只能通过与它们都相连的一台计算机连在一起。但是,物理连接并不提供我们所想的互连,因为这种连接不保证这台计算机和其他要通信的计算机之间能够相互协作。为了有一个可行的互联网,我们需要一个能够把分组从一个网络传递到另一个网络的计算机。连接两个网络并在它们之间传递分组的计算机称为互联网网关(internet gateway)或互联网路由器(internet router )。
考虑图3.1所示的由两个物理网络组成的例子。在图中,路由器R既连到网络1又连到网络2。 要使R担当一个路由器,它必须捕获网络1中目的地是网络2中机器的分组,并传递它们。同样地, R必须捕获在网络2中目的地是网络I中机器的分组并传递它们。
在包含许多网络和路由器的实际互联网中,每个路由器都需要知道它们所连接的网络以外的互联网拓扑结构。
在互联网中使用的互连原理:
实际上,TCP/IP互联网所使用的路由器通常是小型的计算机。它们通常只有很小的磁盘存储器以及有限的主存。建立小型互联网路由器的技巧在于以下概念;
如果分组转发是基于网络的,那么路由器所要保存的信息数量与互联网中的网络的数目(而不是主机的数目)正成比。
TCP/IP的设计目的是独立于机器所在的某个网络,提供机器之间的通用互连。
因此, 我们要求用户把互联网看作单一的虚拟网络,所有计算机都与它相连而不考虑实际的物理连接。图 3.3(a)告诉我们,想像成一个互联网而不是多个网络,就能简化许多细节,并使用户更容易将通 信概念化。除了互连物理网络的路由器以外,每一个主机上还需要有软件,以允许应用程序把互联网作为一个单独的物理网络来使用。
现在,在网络层提供互连的优势就很明显了。因为在互联网上通信的应用程序并不知道底层连接的细节,所以不做任何改变就能运行在任何机器上。因为每台机器的物理网络连接隐藏于互联网软件中,所以当添加新的物理连接或去掉现有物理连接时,只需改动互联网软件。事实上,在应用程序运行的时候,也可能通过改变物理连接来优化互联网的内部结构。
在网络层进行通信的另一个优势更微妙:用户不需要理解、记忆或指定网络如何连接,或者网络承载什么通信量。可以编写出独立于底层物理连接进行通信的应用程序。事实上,网络管理员可以自由地改变底层的互联网结构的内在部分,而不必改变互联网上大多数计算机的应用软件(当然, 当一台计算机换到一个新的网络时,必须重新配置网络软件)。
如图3.3(b)所示,路由器并不在每对网络之间提供宜接的连接。通信量从一台计算机传输到另一台时可能要穿过几个路由器,就像穿过中间网络一样。因此,参与一个互联网的网络类似于美国州际系统的高速公路:每个网络同意处理传输通信量的交换条件是在整个互联网上发送通信量。一般用户不会受到影响,也不会注意到本地网上的额外通信量。
第2章回顾了用来建立TCP/IP互联网的网络硬件的例子,也表明了技术的多样性。我们已经把互联网描述成互相协作、互相连接的多个网络的集合。现在,理解一个基本的概念非常重要:从互联网的角度来看,独立于延迟和吞吐量特性、最大分组长度或地理范围,所有能够传输分组的通信系统都可视为一个单一的网络。图3.3(b)用同样的云状框表示所有物理网络,因为TCP/IP平等 地对待它们,不考虑其差异。这个观点是:
TCP/IP互联网协议平等对待所有的网络。类似以太网的局域同、用作主干网的广域网或者两台计算机之间的点到点链路,都可视为一个网络。
不熟悉互联网结构的读者可能会觉得难以接受这样一个过分简单化的网络观点。从本质上讲, TCP/IP定义了一个隐藏物理网络细节的抽象“网络”。我们将了解到,这种抽象使得TCP/IP的功能 极其强大。
互联网不仅仅是由许多计算机互连形成的网路集合。网际互联还意味着互连的系统都要遵循允许每台计算机与其他各台计算机通信的一些约定。需要特别指出的是,即使两台计算机之间的通信路径要穿过某个与它们中任何一个都不直接相连的网络,互联网仍允许这两台计算机进行通信。只有所有计算机都遵守一组通用标识符及一组把数据传输到最终目的地的规程时,才可能做到这种协作。
在互联网中,网络间互连是由称为IP路由器或IP网关的计算机形成的,IP路由器本身连接到两个或多个网络上。路由器通过从一个网络接收分组并将其发送到另一个网络上来进行网络间分组的转发。
转载地址:http://dqqen.baihongyu.com/