第3章网络通信技术 21世纪的一些重要特征就是数字化、网络化和信息化,它是一个以计算机网络为核心的信息时代。要实现信息化就必须依靠完善的计算机通信网络,因为它可以非常迅速地传递信息。因此计算机网络现在已经成为信息社会的命脉和发展知识经济的重要基础。计算机网络对社会生活的很多方面以及对社会经济的发展已经产生了不可估量的影响。 物联网的网络通信泛指将终端数据上传到服务平台并能通过服务平台获取数据的传输通道。它通过有线和无线的传输通道,将传感器和终端检测到的数据上传到管理平台,接收管理平台的数据并传送到各个扩展功能节点。这个网络就是我们常说的计算机网络。 3.1计算机网络概述 随着社会科技、文化和经济的发展,特别是计算机网络技术和通信技术的大发展,人类社会已从工业社会向信息社会进行转变,人们对信息资源的交流与共享的要求越来越强,这些都强烈促进计算机网络的发展。1957年,第一颗人造卫星上天,将人类传播信息的能力提高到前所未有的水平,开启了利用卫星进行通信的新时代。20世纪70年代,微型计算机的出现,预示着信息技术的普及成为可能;激光和光纤技术的利用,使信息的处理和传播由“点”扩展到“面”。计算机和通信技术的结合,尤其是网络技术的发展,促进了更大范围的网络互联和信息资源共享。 据文献记载,最早提出关于通过网络进行信息交流设想的人是美国麻省理工学院的J.C.R.利克利德。他于1962年8月在《联机人机通信》一文中提出了“巨型网络”的概念,设想每个人可以通过一个全球范围内相互连接的设施,在任何地点迅速获得数据和信息。这个网络概念就其精神实质来说,很像今天的因特网。因特网的发展是以早期的包交换(PacketSwitching)及相关技术的研究为起点的。美国麻省理工学院的L.克莱因罗克于1961年发表了第一篇关于包交换理论的论文,并于1964年出版了关于这个理论的第一本书。包交换主要指在通信网络中将较长的信息分割成若干信息包传送。每一个包就像一个信封,其中有要传送的信息和需要送达目的地的地址,此外还有一个代表这个包在整个信息流中的位置的号码。任何包如果丢失或被阻塞,可以重新发送。当所有的包都抵达目的地时,接收机就将这些数字数据块重新组合成完整的信息。这个称为“包交换”的网络可以使多台计算机使用相同的通信线路,也可以使一个数据流越过拥挤的线路,通过其他路径快速传递。这个利用信息包而不是线路进行通信的理论的提出,是向网络技术方向迈出的重要一步。另一个重要发展使计算机能够互相传递信息的是军用计算机网络ARPAnet。ARPAnet是计算机网络最早和最典型的例子,是一个由美国国防部的研究人员和一些大学于20世纪60年代末共同开发的实验性网络,建立的目的是需要建立一个可以不依靠单一“中央控制计算机”操纵的巨大网络,使整个通信系统不会因网络中的某一部分遭到破坏而停止运行,网络是自主的和自动调节的计算机互联网,允许使用不同存储技术、不同操作系统的计算机互联。现在的因特网就是在计算机网络ARPAnet的基础上逐渐发展起来的。 计算机网络有很多种类型,这里先给出关于网络、互联网、因特网、万维网和物联网等一些最基本的概念。 网络(network): 由若干节点(node)和连接这些节点的链路(link)组成。网络中的节点可以是计算机、集线器、交换机或路由器等。 互联网: 泛指由多个计算机网络通过路由器互连而成的网络,构成了一个覆盖范围更大的网络,是“网络的网络”(Network of Networks),在这些网络之间的通信协议(即通信规则)可以是任意的。为了简便起见,以后本书所有关于互联网的称为统一写作互联网。 因特网: 1995年10月24日,联邦网络委员会(FNC)通过了 一项决议,对因特网做出了这样的界定: “因特网”是全球性信息系统,在逻辑上由一个以网际互联协议(IP)及其延伸的协议为基础的全球唯一的地址空间连接起来;能够支持使用传输控制协议和国际互联协议(TCP/IP)及其延伸协议,或其他IP 兼容协议的通信;借助通信和相关基础设施公开或不公开地提供利用或获取高层次服务的机会。因特网是以大写字母I开始的单词Internet来表示。因此,可以说网络把许多计算机连接到一起,而因特网把许多网络连接到一起,因特网是一个最大的互联网。 万维网: 是一个由许多互相链接的超文本组成的系统,让Web客户端(常用浏览器)通过互联网访问浏览Web服务器上的页面。万维网并不等同互联网,万维网只是互联网所能提供的服务其中之一,是靠着互联网运行的一项服务,而大部分的服务和内容又是在这个最大的互联网——因特网上。万维网是中文名字,英文全称为World Wide Web,简写为WWW,亦作Web、W3。 物联网: 通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统、红外感应器、激光扫描器、气体感应器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。这有两层意思: 第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到任何物体与物体之间,进行信息交换和通信。 在很多情况下,可以用一朵云表示一个网络,当然也可以表示互联网和因特网。这样做的好处是可以不去关心网络中的细节问题,因而可以集中精力研究涉及与网络互联有关的一些问题。 1. 计算机网络分类 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 计算机网络系统由硬件系统和软件系统组成,硬件系统常由服务器、计算机、路由器、交换机、网卡、网线、网线接头(模块)等组成。软件系统包含网络操作系统、浏览器、网络通信协议及应用软件等。 计算机网络有多种类别,下面进行简单的介绍。 1) 按照通信方式 (1) 有线通信 有线通信是一种通信方式,狭义上现代的有线通信是指有线电信,即利用金属导线、光纤等有形媒质传送信息的方式。光或电信号可以代表声音、文字和图像等。 (2) 无线通信 无线通信(Wireless Communication)是利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式。在移动中实现的无线通信又通称为移动通信,人们把二者合称为无线移动通信。无线通信主要包括微波通信和卫星通信。无线通信特点是空间传播、投资小、见效快、经济实用、灵活快速;多种传播手段传播各类业务;受环境因素影响较大;容易受到截获和窃听。 2) 按照网络作用范围的不同 (1) 广域网 广域网(Wide Area Networks,WAN)的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul networks)。广域网是因特网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。连接广域网各节点交换机的链路一般都是高速链路,具有较大的通信容量。 (2) 城域网 城域网(Metropolitan Area Networks,MAN)的作用范围一般是一个城市,可跨越几个街区甚至整个的城市,其作用距离约为5~50km。城域网可以为一个或几个单位所拥有,但也可以是一种公用设施,用来将多个局域网进行互联。目前很多城域网采用的是以太网技术,因此有时也常并入局域网的范围进行讨论。 (3) 局域网 局域网(Local Area Networks,LAN)一般用微型计算机或工作站通过高速通信线路相连(速率通常在10Mb/s以上),但地理上则局限在较小的范围(如1km左右)。在局域网发展的初期,一个学校或工厂往往只拥有一个局域网,但现在局域网已非常广泛地使用,一个学校或企业大都拥有许多个互联的局域网(这样的网络常称为校园网或企业网)。 (4) 个人区域网 个人区域网(Personal Are Networks,PAN)就是在个人工作地方把属于个人使用的电子设备(如便携式计算机等)用无线技术连接起来的网络,因此也常称为无线个人区域网(Wireless PAN,WPAN),其范围大约在10m左右。 顺便指出,若中央处理机之间的距离非常近(如仅1m的数量级或甚至更小些),则一般就称之为多处理机系统而不称它为计算机网络。 3) 不同使用者的网络 (1) 公用网(public network) 这是指电信公司(国有或私有)出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网。 (2) 专用网(private network) 这是某个部门为本单位特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如,军队、铁路、电力等系统均有本系统的专用网。 公用网和专用网都可以传送多种业务,如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。 4) 按交换方式进行分类 (1) 线路交换网络 最早出现在电话系统中,早期的计算机网络就是采用此方式来传输数据的,数字信号经过变换成为模拟信号后才能在线路上传输。 (2) 报文交换网络 报文交换网络是一种数字化网络。当通信开始时,源机发出的一个报文被存储在交换器里,交换器根据报文的目的地址选择合适的路径发送报文,这种方式称作存储转发方式。 (3) 分组交换网络 采用报文传输,但它不是以不定长的报文作为传输的基本单位,而是将一个长的报文划分为许多定长的报文分组,以分组作为传输的基本单位。灵活性高且传输效率高。这不仅极大地简化了对计算机存储器的管理,而且也加速了信息在网络中的传播速度。由于分组交换优于线路交换和报文交换,具有许多优点,因此它已成为计算机网络的主流。 5) 按网络拓扑结构进行分类 计算机网络的物理连接形式称为网络的物理拓扑结构。连接在网络上的计算机、大容量的外存、高速打印机等设备均可看作是网络上的一个节点,也称为工作站。 (1) 星状拓扑结构 星状布局是以中央节点为中心与各节点连接而组成的,各个节点间不能直接通信,而是经过中央节点控制进行通信。这种结构适用于局域网,特别是近年来连接的局域网大都采用这种连接方式。这种连接方式以双绞线或同轴电缆作连接线路。 星状拓扑结构的优点是: 安装容易,结构简单,费用低,通常以集线器(Hub)作为中央节点,便于维护和管理。中央节点的正常运行对网络系统来说是至关重要的,便于管理、组网容易、网络延迟时间短、误码率低。 星状拓扑结构的缺点是: 共享能力较差、通信线路利用率不高、中央节点负担过重。 (2) 环状拓扑结构 环状网中各节点通过环路接口连在一条首尾相连的闭合环形通信线路中,环路上任何节点均可以请求发送信息。请求一旦被批准,便可以向环路发送信息。一个节点发出的信息必须穿越环中所有的环路接口,信息流中目的地址与环上某节点地址相符时,即被该节点的环路接口所接收,而后信息继续流向下一环路接口,一直流回到发送该信息的环路接口节点为止,这种结构特别适用于实时控制的局域网系统。 环状拓扑结构的优点是: 安装容易,费用较低,电缆故障容易查找和排除。有些网络系统为了提高通信效率和可靠性,采用了双环结构,即在原有的单环上再套一个环,使每个节点都具有两个接收通道,简化了路径选择的控制、可靠性较高、实时性强。 环状拓扑结构的缺点是: 节点过多时传输效率低、故扩充不方便。 (3) 总线状拓扑结构 用一条称为总线的中央主电缆,将相互之间以线性方式连接的工作站连接起来的布局方式称为总线状拓扑。总线拓扑结构是一种共享通路的物理结构。这种结构中总线具有信息的双向传输功能,普遍用于局域网的连接,总线一般采用同轴电缆或双绞线。 总线拓扑结构的优点是: 结构简单、安装容易、便于扩充、可靠性高、响应速度快、设备量少、价格低、安装使用方便、共享资源能力强、便于广播式工作。 总线结构也有其缺点: 由于信道共享,连接的节点不直过多,并且总线自身的故障可以导致系统的崩溃。总线长度有一定限制,一条总线也只能连接一定数量的节点。 (4) 树状拓扑结构 树状结构是总线状结构的扩展,它是在总线网上加上分支形成的,其传输介质可有多条分支,但不形成闭合回路。树状拓扑结构就像一棵“根”朝上的树,与总线拓扑结构相比,主要区别在于总线拓扑结构中没有“根”,这种拓扑结构的网络一般采用同轴电缆。 树状拓扑结构的优点: 优点是容易扩展、故障也容易分离处理。具有一定容错能力、可靠性强、便于广播式工作、容易扩充。 树状拓扑结构的缺点: 整个网络对“根”的依赖性很大,一旦网络的“根”发生故障,整个系统就不能正常工作。 (5) 网状拓扑结构 将多个子网或多个网络连接起来构成的网络拓扑结构。在一个子网中,集线器、中继器将多个设备连接起来,而桥接器、路由器及网关则将子网连接起来。 网状拓扑结构的优点: 可靠性高、资源共享方便、有好的通信软件支持下通信效率高。 网状拓扑结构的缺点: 造价贵、结构复杂、软件控制麻烦。 6) 按传输介质分类 传输介质就是指用于网络连接的通信线路。目前常用的传输介质有同轴电缆、双绞线、光纤、卫星、微波等有线或无线传输介质,相应地可将网络分为同轴电缆网、双绞线网、光纤网、卫星网和无线网。 7) 按带宽速率分类 带宽速率指的是“网络带宽”和“传输速率”两个概念。传输速率是指每秒钟传送的二进制位数,通常使用的计量单位为b/s、kb/s、Mb/s。按网络带宽可以分为基带网(窄带网)和宽带网;按传输速率可以分为低速网、中速网和高速网。一般来讲,高速网是宽带网,低速网是窄带网。 8) 按通信协议分类 通信协议是指网络中的计算机进行通信所共同遵守的规则或约定。在不同的计算机网络中采用不同的通信协议。在局域网中,以太网采用CSMA协议,令牌环网采用令牌环协议,广域网中的报文分组交换网采用X.25协议,Internet网采用TCP/IP协议。 2. OSI参考模型 计算机网络系统是非常复杂的系统,计算机之间相互通信涉及许多复杂的技术问题,为实现计算机网络通信,计算机网络采用的是分层解决网络技术问题的方法。但是,由于在不同的分层网络系统体系结构,它们的产品之间很难实现互联。为此,国际标准化组织ISO(International Organization for Standardization)于1977年成立了专门机构研究该问题,该机构提出一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型(Open Systems Interconnection Reference Model,OSI/RM),简称为OSI。只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。OSI/RM参考模型是把与互连无关的部分除外,而仅仅考虑与互连有关的那些部分。所以开放系统互连参考模型OSI/RM是个抽象的概念。在1983年形成了开放系统互连基本参考模型的正式文件,即著名的ISO 7498国际标准,也就是所谓的七层协议的体系结构。 到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于因特网已抢先在全世界覆盖了相当大的范围,而与此同时却几乎找不到有什么厂家生产出符合OSI标准的商用产品。因特网的TCP/IP就成为一个事实上的工业标准。 OSI包括体系结构、服务定义和协议规范三级抽象。OSI的体系结构定义了一个七层模型,用以进行进程间的通信,并作为一个框架来协调各层标准的制定;OSI的服务定义描述了各层所提供的服务,以及层与层之间的抽象接口和交互用的服务原语;OSI各层的协议规范,精确地定义了应当发送何种控制信息及何种过程来解释该控制信息。 OSI参考模型并非具体实现的描述,它只是一个为制定标准而提供的概念性框架。在OSI中,只有各种协议是可以实现的,网络中的设备只有与OSI和有关协议相一致时才能互联。 如图31所示,OSI七层模型从下到上分别为物理层(Physical Layer,PH)、数据链路层(Data Link Layer,DL)、网络层(Network Layer,N)、运输层(Transport Layer,T)、会话层(Session Layer,S)、表示层(Presentation Layer,P)和应用层(Application Layer,A)。 图31ISO的OSI参考模型 从图31中可见,整个开放系统环境由作为信源和信宿的端开放系统及若干中继开放系统通过物理媒体连接构成。这里的端开放系统和中继开放系统,都是国际标准OSI 7498中使用的术语。通俗地说,它们相当于资源子网中的主机和通信子网中的节点机(IMP)。只有在主机中才可能需要包含所有7层的功能,而在通信子网中的IMP一般只需要最低3层甚至只要最低两层的功能就可以了。 层次结构模型中数据的实际传送过程如图32所示。图中发送进程送给接收进程和数据,实际上是经过发送方各层从上到下传递到物理媒介;通过物理媒介传输到接收方后,再经过从下到上各层的传递,最后到达接收进程。 图32数据的实际传递过程 在发送方从上到下逐层传递的过程中,每层都要加上适当的控制信息,即图32中的H7、H6……H1,统称为报头。到最底层成为由0或1组成的数据比特流,然后再转换为电信号,在物理媒介上传输至接收方。接收方在向上传递时过程正好相反,要逐层剥去发送方相应层加上的控制信息。 因接收方的某一层不会收到底下各层的控制信息,而高层的控制信息对于它来说又是透明的数据,所以它只阅读和去除本层的控制信息,并进行相应的协议操作。发送方和接收方的对等实体看到的信息是相同的,就好像这些信息通过虚通信直接给了对方一样。 各层功能简要介绍如下。 ① 物理层: 定义了为建立、维护和拆除物理链路所需的机械的、电气的、功能的和规程的特性,其作用是使原始的数据比特流能在物理媒介上传输。具体涉及接插件的规格、0、1信号的电平表示,收发双方的协调等内容。 ② 数据链路层: 比特流被组织成数据链路协议数据单元(通常称为1帧),并以其为单 位进行传输,帧中包含地址、控制、数据及校验码等信息。数据链路层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路改造成对网络层来说无差错的数据链路。数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。 ③ 网络层: 数据以网络协议数据单元(分组)为单位进行传输。网络层关心的是通信子网的运行控制,主要解决如何使数据分组跨越通信子网从源传送到目的地的问题,这就需要在通信子网中进行路由选择。另外,为避免通信子网中出现过多的分组而造成网络阻塞,需要对流入的分组数量进行控制。当分组要跨越多个通信子网才能到达目的地时,还要解决网际互联的问题。 ④ 运输层: 第一个端到端,也即主机到主机的层次。运输层提供的端到端的透明数据运输服务,使高层用户不必关心通信子网的存在,由此用统一的运输原语书写的高层软件便可运行于任何通信子网上。运输层还要处理端到端的差错控制和流量控制问题。 ⑤ 会话层: 进程到进程的层次,其主要功能是组织和同步不同的主机上各种进程间的通信(也称为对话)。会话层负责在两个会话层实体之间进行对话连接的建立和拆除。在半双工情况下,会话层提供一种数据权标来控制某一方何时有权发送数据。会话层还提供在数据流中插入同步点的机制,使得数据传输因网络故障而中断后,可以不必从头开始而仅重传最近一个同步点以后的数据。 ⑥ 表示层: 为上层用户提供共同的数据或信息的语法表示变换。为了让采用不同编码方法的计算机在通信中能相互理解数据的内容,可以采用抽象的标准方法来定义数据结构,并采用标准的编码表示形式。表示层管理这些抽象的数据结构,并将计算机内部的表示形式转换成网络通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的表示变换功能。 ⑦ 应用层: 开放系统互连环境的最高层。不同的应用层为特定类型的网络应用提供访问OSI环境的手段。网络环境下不同主机间的文件传送访问和管理(FTAM)、传送标准电子邮件的文电处理系统(MHS)、使不同类型的终端和主机通过网络交互访问的虚拟终端(VT)协议等都属于应用层的范畴。 3.2有线网络通信 有线通信顾名思义就是借助于有形媒质(比如光纤金属线)来传递信息。有线通信尽管受到有线的限制,但正是如此,有线相对无线通信来讲更加稳定,基本不受外界的影响,如果依附在比较强的媒介上,数据传输会更高速的。在安全性能方面,因有线产生很小的辐射对人产生的伤害很小。除此之外,有线通信通过电缆传输数据能有效监控数据正确与否,还能由数据的分析预测故障发生的几率,进而提前做好准备,预防数据丢失的情况。尽管当前社会的主流是无线网络但是一些特定的环境中,有线通信还是不可或缺的。 按照传输内容可分为有线电话、有线电报、有线传真等。按照信号的调制方式可分为基带传输、调制传输。按照传输信号特征分为数字通信、模拟通信。按照传送信号的复用方式可分为频分复用、时分复用、码分复用。有线通信的特点是一般受干扰较小,可靠性高,保密性强,但建设费用大。常用的媒介有光纤、同轴电缆、电话线、网线等。目前我们现在的固定电话网、有线电视网和主干的计算机网络都是采用的有线通信网络。 3.2.1因特网概述 因特网(Internet)是一组全球信息资源的总汇。有一种粗略的说法,认为Internet是由于许多小的网络(子网)互联而成的一个逻辑网,每个子网中连接着若干台计算机(主机)。Internet以相互交流信息资源为目的,基于一些共同的协议,并通过许多路由器和公共互联网而成,它是一个信息资源和资源共享的集合。 1. 因特网的组成结构 人们组建因特网的目的是实现不同位置计算机间的相互通信和资源共享,如果从因特网各组成部件所完成的功能来划分的话,可以将因特网分为通信子网和资源子网两大部分,如图33所示。 图33通信子网与资源子网 1) 通信子网 多台计算机间的相互联通是组成因特网的前提,通信子网的目的在于实现网络内多台计算机之间的数据传输。通常情况下,通信子网由以下几部分组成。 (1) 传输介质 传输介质是数据在传输过程中的载体,计算机网络内常见的传输介质分为有线传输介质和无线传输介质两种类型。 有线传输介质是指能够使多个通信设备实现互联的物理连接部分。计算机网络发展至今,使用过同轴电缆、双绞线和光纤3种不同的有线传输介质。 无线传输是一种不使用任何物理连接,而是通过空间进行数据传输,以实现多个通信设备互连的技术,其传输介质主要有红外线、激光、微波等。 (2) 网络互联设备 数据在网络中是以“包”的形式传递的,但不同网络的“包”,其格式也是不一样的。如果在不同的网络间传送数据,由于包格式不用,导致数据无法传送,于是网络间连接设备就充当“翻译”的角色,将一种网络中的“信息包”转换成另一种网络的“信息包”。 信息包在网络间的转换,与OSI的七层模型关系密切。如果两个网络间的差别程度小,则需转换的层数也少。例如以太网与以太网互联,因为它们属于一种网络,数据包仅需转换到OSI的第二层(数据链路层),所需网间连接设备的功能也简单(如网桥);若以太网与令牌环网相联,数据信息需转换至OSI的第三层(网络层),所需中介设备也比较复杂(如路由器);如果连接两个完全不同结构的网络TCP/IP和SNA,其数据包需做七层的转换,需要的连接设备也最复杂(如网关)。 网络互联设备根据不同层实现的机理不一样,又具体分为网络传输介质互联设备、网络物理层互联设备、数据链路层互联设备、网络层互联设备和应用层互联设备5类。 ① 中继器: 中继器是局域网互联的最简单设备,它工作在OSI体系结构的物理层,它接收并识别网络信号,然后再生信号并将其发送到网络的其他分支上。要保证中继器能够正确工作,首先要保证每一个分支中的数据包和逻辑链路协议是相同的。例如,在802.3以太局域网和802.5令牌环局域网之间,中继器是无法使它们通信的。但是,中继器可以用来连接不同的物理介质,并在各种物理介质中传输数据包。某些多端口的中继器很像多端口的集线器,它可以连接不同类型的介质。中继器是扩展网络的最廉价的方法。当扩展网络的目的是要突破距离和节点的限制时,并且连接的网络分支都不会产生太多的数据流量,成本又不能太高时,就可以考虑选择中继器。采用中继器连接网络分支的数目要受具体的网络体系结构限制。中继器没有隔离和过滤功能,它不能阻挡含有异常的数据包从一个分支传到另一个分支。这意味着,一个分支出现故障可能影响到其他每一个网络分支。 ② 集线器: 集线器是有多个端口的中继器。简称hub。集线器是一种以星状拓扑结构将通信线路集中在一起的设备,相当于总线,工作在物理层,是局域网中应用最广的连接设备,按配置形式分为独立型hub,模块化hub和堆叠式hub 3种。智能型hub改进了一般hub的缺点,增加了桥接能力,可滤掉不属于自己网段的帧,增大网段的频宽,且具有网管能力和自动检测端口所连接的PC网卡速度的能力。 ③ 网桥: 网桥(bridge)是一个局域网与另一个局域网之间建立连接的桥梁。网桥是属于数据链路层的一种设备,它的作用是扩展网络和通信手段,在各种传输介质中转发数据信号,扩展网络的距离,同时又有选择地将有地址的信号从一个传输介质发送到另一个传输介质,并能有效地限制两个介质系统中无关紧要的通信。网桥可分为本地网桥和远程网桥。本地网桥是指在传输介质允许长度范围内互联网络的网桥;远程网桥是指连接的距离超过网络的常规范围时使用的远程桥,通过远程桥互联的局域网将成为城域网或广域网。如果使用远程网桥,则远程网桥必须成对出现。在网络的本地连接中,网桥可以使用内桥和外桥。内桥是文件服务的一部分,通过文件服务器中的不同网卡连接起来的局域网,由文件服务器上运行的网络操作系统来管理。外桥安装在工作站上,实现两个相似或不同的网络之间的连接。外桥不运行在网络文件服务器上,而是运行在一台独立的工作站上,外桥可以是专用的,也可以是非专用的。作为专用网桥的工作站不能当普通工作站使用,只能建立两个网络之间的桥接。而非专用网桥的工作站既可以作为网桥,也可以作为工作站。 ④ 网络交换机: 交换式以太网数据包的目的地址将以太包从原端口送至目的端,向不同的目的端口发送以太包时,就可以同时传送这些以太包,达到提高网络实际吞吐量的效果。网络交换机可以同时建立多个传输路径,所以在应用联结多台服务器的网段上可以收到明显的效果。主要用于连接hub、Server或分散式主干网。按采用技术对网络交换机进行分类: 一是直通交换(cutthrough),一旦收到信息包中的目标地址,在收到全帧之前便开始转发,适用于同速率端口和碰撞误码率低的环境;二是存储转发(storeandforward),确认收到的帧,过滤处理坏帧,适用于不同速率端口和碰撞,误码串高的环境。 ⑤ 桥由器: 桥由器Brouter是网桥和路由器的合并。 ⑥ 路由器: 路由器工作在OSI体系结构中的网络层,这意味着它可以在多个网络上交换和路由数据包。路由器通过在相对独立的网络中交换具体协议的信息来实现这个目标。比起网桥,路由器不但能过滤和分隔网络信息流、连接网络分支,还能访问数据包中的信息,可用来提高数据包的传输效率。路由器比网桥慢,主要用于广域网或广域网与局域网的互联。 路由器(router)是用于连接多个逻辑上分开的网络。逻辑网络是指一个单独的网络或一个子网。当数据从一个子网传输到另一个子网时,可通过路由器来完成。因此,路由器具有判断网络地址和选择路径的功能,它能在多网络互联环境中建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。路由器是属于网络应用层的一种互联设备,只接收源站或其他路由器的信息,它不关心各子网使用的硬件设备,但要求运行与网络层协议相一致的软件。路由器分本地路由器和远程路由器,本地路由器是用来连接网络传输介质的,如光纤、同轴电缆和双绞线;远程路由器是用来与远程传输介质连接并要求相应的设备,如电话线要配调制解调器,无线要通过无线接收机和发射机。 ⑦ 网关: 在一个计算机网络中,当连接不同类型而协议差别又较大的网络时,则要选用网关设备。网关的功能体现在OSI模型的最高层,它将协议进行转换,将数据重新分组,以便在两个不同类型的网络系统之间进行通信。由于协议转换是一件复杂的事,一般来说,网关只进行一对一转换,或是少数几种特定应用协议的转换,网关很难实现通用的协议转换。用于网关转换的应用协议有电子邮件、文件传输和远程工作站登录等。网关和多协议路由器(或特殊用途的通信服务器)组合在一起可以连接多种不同的系统。 和网桥一样网关可以是本地的,也可以是远程的。网关已成为网络上每个用户都能访问大型主机的通用工具,把信息重新包装的目的是适应目标环境的要求。网关能互联异类的网络,从一个环境中读取数据,剥去数据的老协议,然后用目标网络的协议进行重新包装。网关的一个较为常见的用途是在局域网的微机和小型机或大型机之间作翻译。 2) 资源子网 对于因特网用户而言,资源子网实现了面向用户提供和管理共享资源的目的,是因特网的重要组成部分,通常由以下几部分组成。 (1) 服务器 服务器是计算机网络中向其他计算机或网络设备提供服务的计算机,通常会按照所提供服务的类型被冠以不同的名称,如数据库服务器、邮件服务器等。 (2) 客户机 客户机是一种与服务器相对应的概念。在计算机网络中,享受其他计算机所提供服务的计算机就称为客户机。 (3) 打印机、传真机等共享设备 共享设备是计算机网络共享硬件资源的一种常见方式,而打印机、传真机等设备则是较为常见的共享设备。 (4) 网络软件 网络软件主要分为服务软件和网络操作系统两种类型。其中,网络操作系统管理着网络内的软硬件资源,并在服务软件的支持下为用户提供各种服务项目。 2. 因特网的协议及体系结构 通过通信信道和设备互连起来的多个不同地理位置的计算机系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。这种必须遵循某种互相都能接受的规则就是协议。网络协议(Protocol)为进行计算机网络中的数据交换而建立的规则、标准或约定的集A。协议总是指某一层协议,准确地说,它是对同等实体之间的通信制定的有关通信规则约定的集合。网络协议的3个要素如下。 (1) 语义(Semantics)。涉及用于协调与差错处理的控制信息。 (2) 语法(Syntax)。涉及数据及控制信息的格式、编码及信号电平等。 (3) 定时(Timing)。涉及速度匹配和排序等。 所谓网络的体系结构(Architecture) 就是计算机网络各层次及其协议的集合。层次结构一般以垂直分层模型来表示。 1) TCP/IP协议的分层结构 因特网上使用的通信协议是TCP/IP协议。TCP/IP协议是一个协议集合,其内含了许多协议。TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol,互联协议)是其中最重要的、确保数据完整传输的两个协议,IP协议用于在主机之间传送数据,TCP协议则确保数据在传输过程中不出现错误和丢失。除此之外,还有多个功能不同的其他协议。 TCP/IP协议与OSI相比,简化了会话层和表示层,将其融合到应用层,使得通信的层次减少,提高了通信的效率。TCP/IP模型分为不同的层次,每一层负责不同的通信功能,由下而上分别为网络接口层、网络层、传输层、应用层。图34示意了TCP/IP与ISO的OSI参考模型之间的对应关系。 图34TCP/IP的体系结构与ISO的OSI参考模型之间的对应关系 网络接口层是TCP/IP模型的最底层,负责接收从网络层交付的IP数据包,并将IP数据包通过底层物理网络发送出去,或者从底层物理网络上接收物理帧,抽出IP数据包,交给网络层。 网络层负责独立地将分组从源主机送往目的主机,为分组提供最佳路径选择和交换功能,并使这一过程与它们所经过的路径和网络无关。 传输层的作用是在源节点和目的节点的两个对等实体间提供可靠的端到端的数据通信。 应用层为用户提供网络应用,并为这些应用提供网络支撑服务,把用户的数据发送到低层,为应用程序提供网络接口。 2) TCP/IP协议集 因特网的协议集称为TCP/IP协议集,TCP/IP模型每一层都提供了一组协议,各层协议的集合构成了TCP/IP模型的协议集(见图35)。协议集的取名表示TCP和IP协议在整个协议集中的重要性。因特网协议集的主要功能集中在OSI的第3、4层,通过增加软件模块来保证和已有系统的最大兼容性,基于因特网的信息流如图36所示。 图35TCP/IP模型的协议集 图36基于因特网的信息流示意图 (1) 网络接口层协议 TCP/IP的网络接口层中包括各种物理网络协议,例如Ethernet、令牌环、帧中继、ISDN和分组交换网x.25等。当各种物理网络被用作传输IP数据包的通道时,这种传输过程就可以认为是属于这一层的内容。 TCP/IP的网络接口层中包括各种通信网和TCP/IP之间的接口,这些通信网包括多种广域网如ARPANFT、MILNET和X.25公用数据网,以及各种局域网,如Ethernet、IEEE的各种标准局域网等。IP层提供了专门的功能,解决与各种网络物理地址的转换。 一般情况下,各物理网络可以使用自己的数据链路层协议和物理层协议,不需要在数据链路层上设置专门的TCP/IP协议。但是,当使用串行线路连接主机与网络,或连接网络与网络时,例如用户使用电话线和modem接入或两个相距较远的网络通过数据专线互联时,则需要在数据链路层运行专门的PPP(Point to Point Protocol)协议。 ① SLIP协议。 SLIP提供在串行通信线路上封装IP分组的简单方法,用以使远程用户通过电话线和modem能方便地接入TCP/IP网络。 SLIP是一种简单的组帧方式,使用时还存在一些问题。首先,SLIP不支持在连接过程中的动态IP地址分配,通信双方必须事先告知对方IP地址,这给没有固定IP地址的个人用户接入Internet带来了很大的不便;其次,SLIP帧中无协议类型字段,因此它只能支持IP协议;再有SLIP帧中无校验字段,因此链路层上无法检测出传输差错,必须由上层实体或具有纠错能力的modem来解决传输差错问题。 ② PPP协议。 为了解决SLIP存在的问题,在串行通信应用中又开发了PPP协议。PPP协议是一种有效的点对点通信协议,它由串行通信线路上的组帧方式,用于建立、配制、测试和拆除数据链路的链路控制协议LCP及一组用以支持不同网络层协议的网络控制协议NCPs 3部分组成。 由于PPP在帧中设置了校验字段,因而PPP在链路层上具有差错检验的功能。PPP中的LCP协议提供了通信双方进行参数协商的手段,并且提供了一组NCPs协议,使得PPP可以支持多种网络层协议,如IP、IPX、OSI等。另外,支持IP的NCP提供了在建立连接时动态分配IP地址的功能,解决了个人用户接入Internet的问题。 (2) 网络层协议 网络层包括多个重要协议,主要协议有4个,即IP、ARP、RARP和ICMP。网间互连协议(Internet Protocol,IP)是其中的核心协议,规定了网络层数据分组的格式;Internet控制报文协议(Internet Control Message Protocol,ICMP)提供网络控制和消息传递功能;地址解析协议(Address Resolution Protocol,ARP)用来将逻辑地址解析成物理地址;反向地址转换协议(Revers Address Resolution Protocol,RARP)通过RARP广播,将物理地址解析成逻辑地址。 网络层的功能主要由IP来提供。除了提供端到端的分组分发功能外,IP还提供了很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的IP数据报能以较小的分组在网上传输。 网络层的另一个重要服务是在互相独立的局域网上建立互联网络,即网际网。网间的报文来往根据它的目的IP地址通过路由器传到另一个网络。 ① 网间互联协议IP。 网络层最重要的协议是IP,它将多个网络联成一个互联网,可以把高层的数据以多个数据报的形式通过互联网分发出去。 TP协议是TCP/IP协议使用的传输机制,它是一种不可靠的无连接数据报协议——尽最大努力服务。尽最大努力的意思是IP不提供差错检测或跟踪。IP假定了底层是不可靠的,因此尽最大努力传输到目的地,但没有保证。当可靠性很重要时,IP必须与一个可靠的协议(如TCP)配合起来使用。 IP协议用来封装TCP和UDP消息段。IP为网络硬件提供了一个逻辑地址。这一逻辑地址是一个32位的地址,即IP地址,可以用来将由路由器连接在一起的各个物理网络区分开。IP协议所提供的逻辑IP地址还表示了数据发往的目的网络及在那一网络上的主机地址。这样它就可以用于将数据单元(称为“数据报”)引向正确的目的地。IP协议是一个无连接的协议,它无须为发送数据报建文虚电路。 IP的基本任务是通过互联网传送数据报,各个IP数据报之间是相互独立的。主机上的IP层向运输层提供服务。IP从源运输实体取得数据,通过它的数据链路层服务传给目的主机的IP层。IP不保证服务的可靠性,在主机资源不足的情况下,它可能丢弃某些数据报,同时IP也不检查被数据链路层丢弃的报文。 在传送时,高层协议将数据传给IP,IP再将数据封装为互联网数据报,并交给数据链路层协议通过局域网传送。若目的主机直接连在本网中,IP可直接通过网络将数据报传给目的主机;若目的主机在远程网络中,则 IP路由器传送数据报,而路由器则依次通过下一网络将数据报传送到目的主机或下一个路由器。也即一个IP数据报是通过互联网络,从一个IP模块传到另一个IP模块,直到终点为止。 需要连接独立管理的网络的路由器,可以选择它所需的任何协议,这样的协议称为内部网间连接器协议(Interior Gateway Protocol,IGP)。在IP环境中,一个独立管理的系统称为自治系统。跨越不同的管理域的路由器(如从专用网到PDN)所使用的协议,称为外部网间连接器协议(Exterior Gateway Protocol,EGP),EGP是一组简单的定义完备的正式协议。 ② Internet控制报文协议ICMP。 从网间互连协议IP的功能可知,IP提供的是一种不可靠的无连接报文分组传送服务。若路由器或某种故障使网络阻塞,就需要通知发送主机采取相应措施。为了使互联网能报告差错,或提供有关意外情况的信息,在IP层加入了一类特殊用途的报文机制,即Internet控制报文协议ICMP。 分组接收方利用ICMP来通知IP模块发送方某些方面所需的修改。ICMP通常是由发现别的站发来的报文有问题的站而产生的,例如,可由目的主机或中继路由器来发现问题并产生有关的ICMP。如果一个分组不能传送,ICMP便可以被用来警告分组源,说明有网络、主机或端口不可达。ICMP也可以用来报告网络阻塞。ICMP是IP正式协议的一部分,ICMP数据报通过IP送出,因此它在功能上属于网络第三层,但实际上它是像第四层协议一样被编码的。 ③ 地址解析协议ARP。 在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在国际范围标识主机的一种逻辑地址。为了让报文在物理网上传送,必须知道彼此的物理地址。这样就存在把互联网地址变换为物理地址的地址转换问题。以以太网(Ethernet)环境为例,为了正确地向目的站传送报文,必须把目的站的32位IP地址转换成48位以太网目的地址DA。这就需要在网络层有一组服务将IP地址转换为相应物理网络地址,这组协议即是ARP。 在进行报文发送时,如果源网络层给的报文只有IP地址,而没有对应的以太网地址,则网络层广播ARP请求以获取目的站信息,而目的站必须回答该ARP请求。这样源站点可以收到以太网48位地址,并将地址放入相应的高速缓存(cache)。下一次源站点对同一目的站点的地址解析可直接引用高速缓存中的地址内容。地址解析协议ARP使主机可以找出同一物理网络中任一个物理主机的物理地址,只需给出目的主机的IP地址即可。这样,网络的物理编址可以对网络层服务透明。 在互联网环境下,为了将报文送到另一个网络的主机,数据报先定向发送方所在网络IP路由器。因此,发送主机首先必须确定路由器的物理地址,然后依次将数据发往接收端。除基本ARP机制外,有时还需在路由器上设置代理ARP,其目的是由IP路由器代替目的站对发送方ARP请求做出响应。 ④ 反向地址转换协议RARP。 反向地址转换协议用于一种特殊情况,如果站点初始化以后,只有自己的物理地址而没有IP地址,则它可以通过RARP协议,发出广播请求,征求自己的IP地址,而RARP服务器则负责回答。这样,无IP地址的站点可以通过RARP协议取得自己的IP地址,这个地址在下一次系统重新开始以前都有效,不需要连续广播请求。RARP广泛用于获取无盘工作站的IP地址。 (3) 传输层协议 传输层协议主要包含传输控制协议(Transport Control Protocol,TCP)和用户数据报协议UDP两个协议。 ① 传输控制协议(TCP)。 TCP是面向连接的协议,用三次握手和滑动窗口机制来保证传输的可靠性和进行流量控制,是一种可靠的数据流服务。当传输的数据受到差错干扰,或基础网络故障,或网络负荷太重而使网际基本传输系统(无连接报文递交系统)不能正常工作时,就需要通过其他协议来保证通信的可靠。TCP就是这样的协议,它对应于OSI模型的传输层,它在IP协议的基础上,提供端到端的面向连接的可靠传输。 TCP采用“带重传的肯定确认”技术来实现传输的可靠性。该技术是指与发送方通信的接收者,每接收一次数据,就送回一个确认报文,发送者对每个发出去的报文都留一份记录,等到收到确认之后再发出下一报文分组。发送者发出一个报文分组时,启动一个计时器,若计时器计数完毕,确认还未到达,则发送者重新发送该报文分组。 简单的确认重传严重浪费带宽,TCP还采用一种称之为“滑动窗口”的流量控制机制来提高网络的吞吐量,窗口的范围决定了发送方发送的但未被接收方确认的数据报的数量。每当接收方正确收到一则报文时,窗口便向前滑动,这种机制使网络中未被确认的数据报数量增加,提高了网络的吞吐量。 TCP通信建立在面向连接的基础上实现了一种“虚电路”的概念。双方通信之前,先建立一条连接,然后双方就可以在其上发送数据流。这种数据交换方式能提高效率,但事先建立连接和事后拆除连接需要开销。TCP连接的建立采用3次握手的过程。 图37画出了TCP的建立连接的过程。假定主机A运行的是TCP客户程序,而B运行TCP服务器程序。最初两端的TCP进程都处于CLOSED(关闭)状态。图37中在主机下面的方框分别是TCP进程所处的状态。请注意,A主动打开连接,而B被动打开连接。 图37用三次握手建立TCP连接 B的TCP服务器进程先创建传输控制块TCB,准备接收客户进程的连接请求。然后服务器进程就处于LISTEN(收听)状态,等待客户的连接请求。如有,即做出响应。 A的TCP客户进程也是首先创建传输控制模块TCB,然后向B发出连接请求报文段,这时首部中的同步位SYN=1,同时选择一个初始序号seq=x。TCP规定SYN报文段(即SYN=1的报文段)不能携带数据,但要消耗掉一个序号。这时,TCP客户进程进入SYNSENT(同步已发送)状态。 B收到连接请求报文段后,如同意建立连接,则向A发送确认。在确认报文段中应把 SYN位和ACK位都置1,确认号是ack=x+1,同时也为自己选择一个初始序号seq=y。请注意,这个报文段也不能携带数据,但同样要消耗一个序号。这时TCP服务器进程进入SYNRCVD(同步收到)状态。 TCP客户进程收到B的确认后,还要向B给出确认。确认报文段的ACK置1,确认号 ack=y+1,而自己的序号seq=x+1。TCP的标准规定,ACK报文段可以携带数据。但如果不携带数据则不消耗序号,在这种情况下,下一个数据报文段的序号仍是seq=x+1。这时,TCP连接已经建立,A进入ESTABLISHED(已建立连接)状态。 当B收到A的确认后,也进入ESTABLISHED状态。 上面给出的连接建立过程叫作3次握手(threeway handshake),或3次联络。 TCP允许一台机器上的多个应用程序同时进行通信,它能对接收到的数据针对多个应 用程序进行去复用操作。TCP是用了端口号来标识一台机器上的多个目的进程。每个端口都被赋予一个小的整数以便识别。 TCP端口与一个16位的整数值相对应,该整数值也被称为TCP端口号。需要服务的应用进程与某个端口号进行连接(Binding),这样TCP模块就可以通过该TCP端口与应用进程通信。由于IP地址只对应到因特网中的某台主机,而TCP端口号可对应到主机上的某个应用进程。TCP使用连接而不是协议端口作为基本的抽象概念,连接使用一对端点来标识。TCP把端点定义为一对整数,即(host,port),其中host是主机的地址,port则是该主机上的TCP端口号。例如,端点(202.206.208.111,80)表示的是IP地址为202.206.208.111的主机上的80号TCP端口。由于TCP使用两个端点来识别连接,所以一个机器上的某个TCP端口号可以被多个连接所共享。 ② 用户数据报协议(User Datagram Protocol,UDP)。 用户数据报协议(UDP)在网络中与TCP协议一样用于处理数据包,是一种无连接的协议。它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。在OSI模型中的第四层传输层,处于IP协议的上一层,基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。 UDP的主要特点是:  UDP是一个无连接协议,传输数据之前源端和终端不建立连接,因此减少了开销和发送数据之前的时延。当它想传送时就简单地抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。  由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。  UDP的首部开销小,只有8字节,比TCP的20字节的首部要短,额外开销很小。  UDP没有拥塞控制,吞吐量不受拥塞控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。  UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。  UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。UDP对应用层交下来的报文,既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。 ③ UDP是面向报文的。 发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。在接收方的UDP,对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付给上层的应用进程。UDP一次交付一个完整的报文。因此,应用程序必须选择合适大小的报文。若报文太长,UDP把它交给IP层后,IP层在传送时可能要进行分片,这会降低IP层的效率;反之,若报文太短,UDP把它交给IP层后,会使IP数据报的首部的相对长度太大,这也降低了IP层的效率。 虽然UDP是一个不可靠的协议,但它是分发信息的一个理想协议,在有些情况下UDP协议可能会变得非常有用。例如,在屏幕上报告股票市场、在屏幕上显示航空信息等。UDP也用在路由信息协议(Routing Information Protocol,RIP)中修改路由表。在这些应用场合下,UDP具有TCP所望尘莫及的速度优势,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。UDP还广泛用在多媒体应用和大多数因特网电话上。 (4) 应用层协议 应用层包括众多的应用与应用支撑协议。常见的应用层协议有文件传输协议(FTP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、远程登录(Telnet)。常见的应用支撑协议包括域名服务(DNS)和简单网络管理协议(SNMP)等。 ① 文件传输协议(FTP)。 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。在两个主机之间传送文件并非是很简单的事情,原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。经常遇到的问题是:  计算机存储数据的格式不同。  文件的目录结构和文件命名的规定不同。  对于相同的文件存取功能,操作系统使用的命令不同。  访问控制方法不同。 基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念: “下载”(Download)和“上传”(Upload)。“下载”文件就是从远程主机复制文件至自己的计算机上;“上传”文件就是将文件从自己的计算机中复制至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性,因而适合于在异构网络中任意计算机之间传送文件。 FTP采用客户/服务器模式,包含客户FTP和服务器FTP。客户FTP启动传送过程,而服务器对其做出应答。客户FTP大多有一个交互式界面,使客户可以灵活地向远地传文件或从远地取文件。在客户端有控制进程、数据传送进程和用户界面进程。一个FTP服务器进程可同时为多个客户进程提供服务。FI'P 的服务器进程由两大部分组成: 一个主进程,负责接收新的请求;另外有若干个从属进程,负责处理单个请求。 在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接: “控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。由于FIP使用了一个分离的控制连接,因此FTP的控制信息是带外(out of band)传送的。 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。由于FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。 ② 远程终端访问Telnet。 Telnet是一个简单的远程终端协议,提供了与终端设备或终端进程交互的标准方法,支持终端到终端的连接及进程到进程分布式计算的通信。用户用 Telnet在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)。Telnet能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。因此 Telnet又称为终端仿真协议。Telnet也使用客户/服务器方式。在本地系统运行Telnet客户进程,而在远地主机则运行Telnet服务器进程。和FIP的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。Telnet能够适应许多计算机和操作系统的差异。 ③ 域名系统DNS。 DNS(Domain Name System)是一个域名服务的协议,提供域名到IP地址的转换,允许对域名资源进行分散管理。DNS最初设计的目的是使邮件发送方知道邮件接收主机及邮件发送主机的IP地址,后来发展成为可服务于其他许多目标的协议。 在因特网的命名系统中使用了许多的“域”(domain),因此就出现了“域名”这个名词,他就很明确地指明这种系统是用在因特网中。许多应用层软件经常直接使用域名系统DNS,但计算机的用户只是间接而不是直接使用域名系统。 因特网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地进行解析(resolve),仅少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机出了故障,也不会妨碍整个DNS系统的正常运行。 域名到IP地址的解析是由分布在因特网上的许多域各服务器程序(可简称为域名服务器)共同完成的。域名服务器程序在专设的节点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器。 域名到IP地址的解析过程的要点如下: 当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序(resolver),并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,并向其他域名服务器发出查询请求。 ④ 简单邮件传送协议SMTP。 SMTP是一个相对简单的基于文件的协议,用于可靠、有效的数据传输。SMTP作为应用层的服务,并不关心它下面采用的是何种传输服务,它可通过网络在TCP连接上传送邮件,或者简单地在同一台机器的进程之间通过进程通信的通道来传送邮件。这样,邮件传输就独立于传输子系统,可在TCP/IP环境、OSI运输层或X.25协议环境中传输邮件。 邮件发送之前必须协商好发送者、接收者。SMTP服务进程同意为多个接收方发送邮件时,它将邮件直接交给接收方用户或将邮件逐个经过网络连接器,直到邮件交给接收方用户。在邮件传输过程中,所经过的路由被记录下来。这样,当邮件不能正常传输时可按原路由找到发送者。 TCP/IP网络模型处理数据的过程描述如下:  生成数据。当用户发送一个电子邮件信息时,它的字母或数字字符被转换成可以通过互联网传输的数据。  为端到端的传输将数据打包,通过使用端传输功能确保在两端的信息主机系统之间进行可靠的通信。  在首部上附加目的网络地址。数据被放置在一个分组或者数据报中,其中包含带有源和目的逻辑地址的网络首部,这些地址有助于网络设备在动态选定的路径上发送这些分组。  附加目的数据链路层MAC地址到数据链路首部。每一个网络设备必须将分组放在帧中,该帧的首部包括在路径中下一台直接相连设备的物理地址。  传输比特。帧必须转换成1和0的信息模式,才能在介质上进行传输。时钟功能(Clocking Function)使得设备可以区分这些在介质上传输的比特,物理互联网络上的介质可能随着使用的不同路径而有所不同。例如,电子邮件信息可以起源于一个局域网LAN,通过校园骨干网,然后到达广域网WAN链路,直到到达另一个远端局域网LAN上的目的主机为止。 3. 因特网发展的3个阶段 因特网的基础结构大体上经历了3个阶段的演进,但这3个阶段在时间划分上并非截然分开而是有部分重叠的,这是因为网络的演进是逐渐的而不是在某个日期突然发生了变化。 第一阶段是从单个网络ARPAnet向互联网发展的过程。20世纪50年代末,正处于冷战时期。当时美国军方为了自己的计算机网络在受到袭击时,即使部分网络被摧毁,其余部分仍能保持通信联系,便由美国国防部的高级研究计划局(ARPA)建设了一个军用网,称为