世界经济正在从工业经济向知识经济转变,知识经济的重要特征是信息化和全球化。要实现信息化和全球化,就必须实现网络化。随着计算机应用的逐步深入、经济的快速发展、社会的不断进步,人们对信息的需求也日益增大。网络使人们不受时间和地区的限制,随时随地实现信息的传输和共享。计算机网络在近十年来得到了飞速的发展,它改变了人们的生产、生活,成为社会结构的一个基本组成部分。下面将详细讲解计算机网络的基本概念和基本知识,介绍Internet的基本概念和基本应用,以便为后续内容的学习及将来的实际应用打下基础。
用通信设备和传输媒体将若干具有独立功能的计算机连接起来,在相关通信软件的支持下,实现信息传递、资源共享、协同工作的计算机系统,称为计算机网络。计算机网络中通常包含有各种计算机、传真机和打印机等外部设备、连接电缆、各种通信控制设备,当然也包括所安装的各种软件。
计算机网络涉及到计算机和通信两个领域,是计算机技术和通信技术结合的产物。一方面,通信系统为计算机之间的数据传递提供了必要的手段;另一方面,计算机技术应用到通信系统中,为通信设备提供了强大的通信功能。而这两项技术的发展是以微电子技术的迅猛发展为基础的。
在网络系统中,硬件对网络的选择起着决定性作用,而软件则是挖掘网络潜力的工具。网络软件系统和网络硬件系统是网络系统赖以存在的基础。
(1)网络硬件。
网络硬件是计算机网络系统的物质基础。要构成一个计算机网络系统,首先要将计算机及其附属硬件设备与网络中的其他计算机系统连接起来。不同的计算机网络系统,在硬件方面是有差别的。随着计算机技术和网络技术的发展,网络硬件日趋多样化,功能更加强大,更加复杂。网络硬件包括:
① 线路控制器(Line Controller),是主计算机或终端设备与线路上调制解调器的接口设备。
② 通信控制器(Communication Controller),用以对数据通信各个阶段进行控制的设备。
③ 通信处理机(Communication Processor),作为数据交换的开关,负责通信信息的变换处理工作。
④ 前端处理机(Front End Processor),也是负责通信处理工作的设备。
⑤ 集中器(Concentrator)、多路选择器(Multiplexes),是通过通信线路分别和多个远程终端相连接的设备。
⑥ 主机(Host Computer,Host),网络中具有独立工作能力的计算机设备。
⑦ 终端(Terminal),网络中具有信息输入输出能力的设备。
⑧传输介质,用来进行信息传递的有线或无线介质。
随着计算机网络技术的发展和网络应用的普及,网络节点设备会越来越多,功能也更加强大,设计也更加复杂。
(2)网络软件。
在网络系统中,网络上的每个用户,都可共享系统中的各种资源,系统必须对用户进行控制,否则,就会造成系统混乱、信息数据的破坏和丢失。为了协调系统资源,系统需要通过软件工具对网络资源进行全面的管理、调度和分配,并采取一系列的安全保密措施,防止用户对数据和信息进行不合理的访问,并防止数据和信息的破坏与丢失。网络软件是实现网络功能不可缺少的软件环境。通常网络软件包括:
① 网络协议和协议软件,它通过协议程序实现网络协议功能。
② 网络通信软件,通过网络通信软件实现网络工作站之间的通信。
③ 网络操作系统,网络操作系统是用以实现系统资源共享、管理用户对不同资源访问的系统软件,它是最主要的网络软件。
④ 网络管理及网络应用软件,网络管理软件是用来对网络资源进行管理和对网络进行维护的软件。网络应用软件是为网络用户提供服务并为网络用户解决实际问题的软件。
网络软件最重要的特征是:网络管理软件所研究的重点不是在网络中互连的各个独立的计算机本身的功能,而是在如何实现网络本身的特有功能。
计算机网络是信息技术应用的高级形式,体现了信息传输、信息分配、信息处理等各种信息手段的有机联系,为信息的采集、分类、存储、处理、检索、利用提供了非常有效的手段。
从用户的角度来说,计算机网络只是一个透明的数据机构,使用数据时不必考虑网络的实际结构和资源的真实状态,只需要考虑从哪里找到信息和如何利用信息。
从网络的逻辑功能的角度,可以将计算机网络分为通信子网和资源子网两个部分。通信子网是网络系统的中心,处于网络内层,它由网络中的通信控制设备、通信设备、通信线路以及作为信息交换的计算机所组成,通信子网的功能是负责完成数据传输和转发等通信处理任务;资源子网处于网络系统的外围,由各种计算机、通信终端、输入/输出设备、各种软件资源和各种数据资源组成,资源子网的功能是完成各类信息处理和加工任务。
从网络实际组成的物理结构角度来看,计算机网络是由计算机、共享外部设备、通信介质、通信连接和控制设备以及网络操作系统等网络软件所组成的。
网络中的计算机是资源子网的主要设备,通常称之为主机(Host),分为工作站和服务器两类。工作站是用户操作的节点,用户在工作站上除了可以完成单机上的所有工作外,还可以共享网络上的各种公共资源、得到网络提供的各种服务。对于工作站来说,软硬件配置的要求不是很高,通常可由普通的PC机担任。服务器不作为用户直接使用的节点,它是为整个网络中的各个工作站提供服务的,这些服务包括文件存储服务、数据打印服务、通信联络服务、域名解析服务、数据库服务等。对于服务器来说,由于要为整个网络提供服务,对其软硬件配置的要求较高,并且能够长期可靠工作,通常使用专门的服务器产品。
共享外部设备常见的有网络打印机和网络传真机。共享外部设备通常具有独立的联网功能,在网络控制设备的控制下,可以为各个网络用户提供打印和传真等服务。此外,连接在网络工作站上的打印机、传真机等普通输入/输出设备,通过相应设置,在工作站开机时,也可以作为共享外部设备使用。
网络连接设备目前常用的有网卡(如图5-7所示)、交换机(如图5-8所示)和路由器(如图5-9所示)。网卡(Network Interface Card,NIC)也称为网络适配器。计算机与网络是通过网卡进行连接的,网卡上的逻辑电路实现通信信息格式的形成、数据打包和拆包、通信规程控制、拓扑结构形成和差错控制等。交换机(Switch)是最常用的网络连接设备,通常情况下,网络中的各个计算机都通过网卡连接到交换机上,它不仅能够建立计算机之间的通信连接,还能对通信的信号进行整形放大。路由器(Router)通常用来连接两个网络,它能对经过其中的通信数据进行格式转换并为其选择传输路径。
图5-7 网卡 图5-8 交换机 图5-9 路由器
网络操作系统是具有网络功能的操作系统。它除了具有普通操作系统的功能外,还具有网络操作的支持能力,能够管理整个网络的资源。相对于单机操作系统而言,网络操作系统必须能够管理各类资源、控制各种通信服务、处理并发任务、设置安全权限,所以复杂程度更高。
计算机网络的功能主要体现在信息交换、资源共享、远程传输、集中管理、分布处理、负载均衡等方面。
(1)信息交换。
信息交换功能是计算机网络的最基本的功能,主要指完成计算机网络中各个节点之间的通信任务。通过网络进行的电子邮件、新闻发布、网页浏览、信息共享等都要依靠信息交换来实现。
(2)资源共享。
网络资源包括硬件资源、软件资源、数据资源,网络中的工作站不仅可以使用自己计算机中的本地资源,还可以使用网络上的可共享的公共资源。信息时代的到来,资源的共享具有重大的意义。首先,从投资考虑,网络上的用户可以共享使用网上的打印机、扫描仪等,这样就节省了资金。其次,现代的信息量越来越大,单一的计算机已经不能将其存储,只有分布在不同的计算机上,网络用户才可以共享这些信息资源。再次,现在计算机软件层出不穷,在这些浩如烟海的软件中,不少是免费共享的,这是网络上的宝贵财富。任何联入网络的用户,都有权利使用它们。资源共享为用户使用网络提供了方便。
计算机网络的共享方式分为对等模式和客户机/服务器模式两类。在对等模式下,网络中所有的计算机处于同等地位,各工作站可以共享网络的共享资源,也可以提供资源给网络共享;客户机/服务器模式(Client/Server,C/S模式)是一种主从结构,网络中有专门提供各类服务的计算机(服务器),服务器为整个网络提供各种共享资源和服务,在C/S模式下,用户不仅可以具有对等模式的各种功能,而且可以将处理任务提交给服务器,由服务器代为完成各种数据处理任务。
(3)远程传输。
计算机应用的发展,已经从科学计算到数据处理,从单机到网络。分布在相距很远的用户也可以互相传输数据信息,互相交流,协同工作。
(4)集中管理。
计算机网络技术的发展和应用,已使得现代的办公手段、经营管理等发生了变化。目前,已经有了许多管理信息系统(MIS)、办公自动化系统(OA)等,通过这些系统可以实现日常工作的集中管理,提高工作效率,增加经济效益。
(5)分布处理。
所谓分布处理是指网络系统中的若干台计算机可以互相协作共同完成一个任务。或者说,一个程序可以在若干台计算机上并行运行,将一个比较复杂的任务分解成若干个部分,由网络内若干台计算机分别完成各个部分,既解决了小机器不能完成大任务的困难,又提高了任务的执行效率和系统的可靠性。
(6)负载均衡负荷。
负荷均衡是指信息处理任务被均匀地分配给网络上的各台计算机系统。网络控制中心负责分配和检测,当某台计算机负荷过重时,系统会自动转移负荷到较轻的计算机系统去处理。
计算机网络的分类可以有多种不同的方法。按照网络的使用性质,可以分为公用网络和专用网络;按照使用的传输介质,可以分为有线网络和无线网络;按照网络的通信速度,可以分为高速网络和低速网络;按交换方式可分为线路交换网络、报文交换网络和分组交换网络。不过最普遍的分类是按照网络通信所涉及的地理范围来分类,将网络分为局域网、城域网和广域网。
(1)局域网。
局域网(Local Area Network,LAN)的意思是局部区域内的网络,是最常见、应用最广的一种网络。现在局域网随着整个计算机网络技术的发展和提高得到充分的应用和普及,几乎每个单位都有自己的局域网,有的甚至家庭中都有自己的小型局域网。很明显,局域网所覆盖的地区范围较小。局域网在计算机数量配置上没有太多的限制,少的可以只有两台,多的可达几百台。一般来说在企业局域网中,工作站的数量在几十到两百台左右。在网络所涉及的地理距离上一般来说可以是几米至几公里以内。局域网一般位于一个建筑物或一个单位内,通常不存在寻径问题,也不包括网络层的应用。
这种网络的特点就是:连接范围窄、用户数少、配置容易、连接速率高。目前局域网最快的速率要算现今的10G以太网了。IEEE的802标准委员会定义了多种主要的LAN网:以太网(Ethernet)、令牌环网(Token Ring)、光纤分布式接口网络(FDDI)、异步传输模式网(ATM)以及最新的无线局域网(WLAN)。
(2)城域网。
城域网(Metropolitan Area Network,MAN)通常是指在一个城市,但不在同一地理小区范围内的计算机互连。这种网络的连接距离可以在10~100公里,它采用的是IEEE802.6标准。MAN与LAN相比扩展的距离更长,连接的计算机数量更多,在地理范围上可以说是LAN网络的延伸。在一个大型城市或都市地区,一个MAN网络通常联接着多个LAN网。如连接政府机构的LAN、医院的LAN、电信的LAN、公司企业的LAN等。由于光纤连接的引入,使MAN中高速的LAN互联成为可能。
城域网多采用ATM技术做骨干网。ATM是一个用于数据、语音、视频以及多媒体应用程序的高速网络传输方法。ATM包括一个接口和一个协议,该协议能够在一个常规的传输信道上,在比特率不变及变化的通信量之间进行切换。ATM也包括硬件、软件以及与ATM协议标准一致的介质。ATM提供一个可伸缩的主干基础设施,以便能够适应不同规模、速度以及寻址技术的网络。ATM的最大缺点就是成本太高,所以一般在政府城域网中应用,如邮政、银行、医院等。
(3)广域网。
广域网(Wide Area Network,WAN)也称为远程网,所覆盖的范围比城域网(MAN)更广,它一般是在不同城市之间的LAN或者MAN网络互联,地理范围可从几百公里到几千公里。因为距离较远,信息号衰减比较严重,所以这种网络一般要租用电信部门的专线,通过IMP(接口信息处理)协议和线路连接起来,构成网状结构,以解决循径问题。因为所连接的用户多,总出口带宽有限,所以用户终端的连网速率一般较低,通常为9.6Kbps~45Mbps。如邮电部的CHINANET、CHINAPAC和CHINADDN网就属于广域网。
广域网的通信子网主要使用分组交换技术,它可以使用公用分组交换网、卫星通信网和无线分组交换网。随着新的光纤标准和能够提供更宽带宽和更快传输速率的全球光纤通信网络的引入,广域网的数据传输速率将会大大提高,传输误码率也将大大降低。
计算机网络的拓扑结构,是指网络上计算机或设备与传输媒介形成的节点与线段的几何构成模式。网络的节点有两类:一类是转换和交换信息的转接节点,包括节点交换机、集线器和终端控制器等;另一类是访问节点,包括计算机主机和终端等。线段则代表各种传输介质,包括有形的和无形的。计算机网络的拓扑结构主要有:总线型结构、星型结构、环型结构、树形结构和混合型结构。
(1)总线型结构。
总线型结构(如图5-10所示)由一条公用主干电缆即总线连接若干个节点构成网络。网络中所有的节点通过总线进行信息的传输。这种结构的特点是结构简单灵活,建网容易,使用方便,性能好。其缺点是主干总线对网络起决定性作用,总线故障将影响整个网络。总线型结构网络通常采用广播方式进行通信控制。
图5-10 总线型结构网络
(2)星型结构。
星型结构(如图5-11所示)由中央节点集线器与各个节点连接组成。这种网络各节点必须通过中央节点才能实现通信。星型结构的特点是结构简单、建网容易,便于控制和管理。其缺点是中央节点负担较重,容易形成系统的“瓶颈”。星型结构网络采用广播方式或交换方式进行通信控制。
图5-11 星型结构网络
(3)环型结构。
环型结构(如图5-12所示)由各节点首尾相连形成一个闭合环型线路。环型网络中的信息传送是单向的,即沿一个方向从一个节点传到另一个节点;每个节点需安装中继器,以接收、放大、发送信号。这种结构的特点是结构简单,建网容易,便于管理。其缺点是当节点过多时,将影响传输效率,不利于扩充。环型结构网络通常采用令牌方式进行通信控制。
图5-12 环型结构网络
(4)树形结构。
树形结构(如图5-13所示)是一种分级结构。在树形结构的网络中,任意两个节点之间不产生回路,每条通路都支持双向传输。这种结构的特点是扩充方便、灵活,成本低,易推广,适合于分主次或分等级的层次型管理系统。树形结构网络通常采用交换方式进行通信控制。
图5-13 树形结构网络
(5)混合型结构。
混合型结构是各种不同拓扑结构组合形成的网络,常使用在构成比较复杂的网络中。不同拓扑结构的网络具有不同的性能,使用不同的通信控制方法,采用多种拓扑结构后,可以扬长避短,提高网络性能。混合型结构通常由星型结构和总线型结构结合而成,这样的拓扑结构更能满足较大网络的拓展,解决星型网络在传输距离上的局限,而同时又解决了总线型网络在连接用户数量的限制,同时兼顾了星型网与总线型网络的优点,在缺点方面得到了一定的弥补。
(1)网络协议。
通信是计算机网络的主要功能,为了使计算机与计算机之间能够正确可靠地传递信息,必须有一套关于信息传输顺序的规定、信息格式的标准、信息内容的约定。这些规定、标准和约定称为网络协议。
网络协议包含4个要素,即语法、语义、同步和时序。语法用来规定各种数据与控制信息的格式和结构,例如,用ASCII编码表示文字信息;语义用来规定通信信息的某个部分所表示的意义,例如,分组的第一部分表示信息的目的地址;同步用来规定通信的各个步骤的实现方式,例如,用异步方式实现传输;时序用来对事件实现顺序进行详细说明,例如,发送点发出一个数据报文,如果目标点接收到的信息是错误的,则要求发送点进行重发。
(2)网络体系结构。
由于计算机网络的结构复杂,所使用的网络协议也包含了相当多的内容,为了减少设计上的复杂性,近代计算机网络都采用“分层”结构。所谓分层,是从逻辑结构上把一个复杂的系统分解为若干比较简单的系统,将系统功能分类归并,以使问题的解决变得比较容易。
在分层结构中,每一层都建立在它前一层的基础之上,每一层都有相应的通信协议,相邻两层之间的通信约束称为接口。进行分层处理以后,相同或相似的功能被归纳到同一层中,每一个层都只与其上下层的接口通信,使用下层所提供的服务,并且向上层提供服务。处在高层次的系统仅是利用较低层次的系统提供的接口和功能,不需了解低层实现该功能所采用的算法和协议;较低层次也仅是使用从高层系统传送来的参数,这就是层次间的无关性。因为有了这种无关性,层次间的每个模块都可以用一个新的模块取代,只要新的模块与旧的模块具有相同的功能和接口,即使它们使用的算法和协议都不一样。上下层之间的关系是下层为上层服务,上层是下层的用户。
这种逻辑结构上的分层、各层之间的关系安排以及所有相关的协议的总和称为网络的体系结构。网络的体系结构是一个比较抽象的概念,体系结构采用的方式是多种多样的,实现体系结构所使用的软件硬件也各不相同,目前最常用的就是国际标准化组织(ISO)所提出的开放系统互联参考模型(OSI/RM)。
20世纪70年代以来,国外一些主要计算机生产厂家先后推出了各自的网络体系结构,但它们都属于专用的,产品的通用性较差,给网络互联的实现带来麻烦。为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。
国际标准化组织(ISO)于1981年正式推荐了一个网络系统结构——七层参考模型,叫做开放系统互联基本参考模型(Open System Interconnection Basic Reference Model,OSI/RM)。由于这个标准模型的建立,使得各种计算机网络向它靠拢,大大推动了网络通信技术的发展。OSI/RM是一个计算机互联的国际标准,所谓开放,就是指任何不同的计算机系统,只要遵循OSI标准,就可以与同样遵循该标准的任何计算机系统进行通信。OSI中的系统是指计算机、外部设备、终端、传输设备、通信控制设备、各种网络软件、操作人员等。OSI/RM模型的结构如图5-14所示。
图5-14 开放系统互联参考模型OSI/RM
OSI模型有7层结构,每层都可以由若干个子层组成。这7层从上到下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。其中,前三层对应于资源子网,后四层对应于通信子网。下面简单介绍这7层的功能。
(1)应用层:与其他计算机进行通信的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。如:Telnet,HTTP、FTP、WWW、NFS、SMTP等。
(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许用户选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容;如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。如:加密、ASCII等。
(3)会话层:这一层定义了如何开始、控制和结束一个会话,包括对多个双向时间片的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。如:RPC、SQL等。
(4)传输层:这一层的功能包括是选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。如:TCP、UDP、SPX。
(5)网络层:这一层对端到端的包传输进行定义,它定义了能够标识所有节点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,该层还定义了如何将一个包分解成更小的包的分段方法。如:IP、IPX等。
(6)数据链路层:它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。如:ATM、FDDI等。
(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。如:Rj-45、802.3等。
如果主机“系统A”中的某个进程P1要向主机“系统B”中的某个进程P2传递数据。P1先将数据交给应用层,应用层在数据上加上必要的控制信息,然后将其传递给表示层,表示层收到应用层提交的数据后,加上本层的控制信息,然后提交给会话层,依次类推。到达物理层后,由于是按照比特流来传输信息,所以不再加上控制信息。当这串比特流传递到主机“系统B”后,就从物理层开始逐步向上上升,每一层根据对应的协议进行必要的操作,在剥离本层的相关信息后,将其余部分提交给上层。最后,就由进程P2接收到发送过来的数据。
OSI分层的优点如下:
(1)人们可以很容易地讨论和学习协议的规范细节。
(2)层间的标准接口方便了工程模块化。
(3)创建了一个更好的互联环境。
(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。
(5)每层利用紧邻的下层服务,更容易记住每个层的功能。
需要说明的是,OSI七层模型是一个理论模型,其作用只是提供一个概念性和功能性的结构、确定研究和改进标准的规范,为保持相关标准的一致性提供参考。因此,OSI参考模型及其相关标准只是一个技术规范,而不是一个工程规范。实际应用是千变万化的,因此更多把它作为分析、评判各种网络技术的依据。对大多数应用来说,只将它的协议族(即协议堆栈)与七层模型作大致的对应,实际用到的特定协议是属于七层中某个层(子层),或者包括了上下若干个层的功能,而且可能有所变化。迄今为止,还没有一个与OSI模型完全一致的体系得以实现,这正说明了这个标准的开放性和优越性。
为了实现网络与网络的互相连接,不同结构的网络必须在保持各自特性的基础上遵守一个共同的协议,TCP/IP协议就是为此需要而开发的。TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网际互联协议,是一个工业标准的协议集,它是为广域网(WAN)设计的,是在ARPANET网的基础上研究发展起来的。是目前国际互联网(Internet,因特网)的通用协议,由100多种不同功能的协议组成。
TCP/IP协议并不完全符合OSI的七层参考模型。TCP/IP通信协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层、传输层、网络层和数码链路层,如图5-15所示各层的具体作用如下。
(1)应用层:是与应用程序进行沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
(2)传输层:在此层中,它提供了节点间的数据传送服务,TCP和UDP给数据包加入传输数据并把它传输到下一层中,该层负责传送数据,并且确定数据已被送达并接收,如传输控制协议(TCP)、用户数据报协议(UDP)等。
(3)网络层:负责提供基本的数据封包传送和路由功能,让每一块数据包都能够到达目的主机,但不检查是否被正确接收,如网际协议(IP)。
(4)数码链路层:该层与具体的网络有关,实现对实际的网络媒体的管理,定义如何使用实际网络,用来传送数据,如Ethernet、Serial Line、ATM等。
图5-15 TCP/IP协议的基本组成
以下简单介绍TCP/IP中的协议具备的功能及其工作原理。
· IP协议
网际互联协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高的TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫做IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包就像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。
IP协议提供了能适应各种各样网络硬件的灵活性,对底层网络硬件几乎没有任何要求,任何一个网络只要可以从一个地点向另一个地点传送二进制数据,就可以使用IP协议加入Internet了。如果希望在Internet上进行交流和通信,则每台连入Internet的计算机都必须遵守IP协议。为此,使用Internet的每台计算机都必须运行IP软件,以便时刻准备发送或接收信息。
IP协议对于网络通信有着重要的意义:网络中的计算机通过安装IP软件,使许多的局域网络构成了一个庞大而又严密的通信系统,从而使Internet看起来好像是真实存在的,但实际上它是一个并不存在的虚拟网络,只不过是利用IP协议把全世界上所有愿意接入Internet的计算机局域网络连接起来,使得它们彼此之间都能够通信。
· TCP协议
如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
TCP可以将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。同时,当应用程序轮流将信息送到TCP层后,TCP层便将它们进行封装并向下传送到IP层,经过设备驱动程序和物理介质,最后到接收方。
TCP协议被称做一种端对端协议。这是因为它为两台计算机之间的连接起了重要作用。当一台计算机需要与另一台远程计算机连接时,TCP协议会让它们建立一个连接、发送和接收资料以及终止连接。
传输控制协议TCP协议利用重发技术和拥塞控制机制,向应用程序提供可靠的通信连接,使它能够自动适应网上的各种变化。即使在Internet暂时出现堵塞的情况下,TCP也能够保证通信的可靠。众所周知,Internet是一个庞大的国际性网络,网络上的拥挤和空闲时间总是交替不定的,加上传送的距离也远近不同,所以传输资料所用时间也会变化不定。TCP协议具有自动调整“超时值”的功能,能很好地适应Internet上各种各样的变化,确保传输数值的正确。
面向连接的服务(例如Telnet、FTP、Rlogin、X Windows和SMTP等)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。
· UDP协议
UDP(User Datagram Protocol,用户数据报协议)与TCP位于同一层,是一种不可靠的无连接协议,具有简单高效的特点,但不能保证传输的正确性,也不能防止重复信息的产生。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询—应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)、DNS(域名系统)以及音频和视频数据传输。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手,因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。
· ICMP协议
ICMP(Internet Control Message Protocol,因特网控制报文协议)与IP位于同一层,它被用来传送IP的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的Redirect信息通知主机通向其他系统的更准确的路径,而Unreachable信息则指出路径有问题。另外,如果路径已经不可用了,ICMP可以使TCP连接体面地终止。PING是最常用的基于ICMP的服务。
· ARP协议和RARP协议
ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,反向地址解析协议)用来对IP地址进行解析和反解析。在TCP/IP协议的链路层中,并没有规定硬件接口的具体规格和要求,以使各种不同网络都可以采用TCP/IP协议。在具体应用中,局域网通常采用IEEE802.X协议,广域网通常采用帧中继或X.25等。
· 应用层协议
应用层是TCP/IP协议的最高层,对应ISO模型中应用层、表示层、会话层的各种功能和作用,它为各种应用程序提供网络应用服务。在TCP/IP协议中使用的应用层协议主要有:超文本传输协议HTTP(提供WWW服务)、简单邮件协议传输协议SMTP(传输电子邮件)、文件传输协议FTP(用于交互式文件传输)、远程登录协议Telnet(实现远程登录和电子公告牌BBS)、域名(服务)系统DNS(负责域名与IP地址的转换)、网络新闻传输协议NWTP(提供新闻订阅功能)、简单网络管理协议SNMP(负责网络管理)、开放最短路径优先协议OSFP(完成路由信息交换)等。
TCP/IP协议的主要特点是:
① 适用于多种异构网络互联。IP协议能够统一各种不同网络具体使用的地址格式和帧格式,使上层协议可以用统一的方式进行信息处理。
② 提供端到端的可靠通信。TCP协议具有解决数据丢失、损坏、重复等异常情况的能力,可以确保通信可靠地进行。
③ 与操作系统紧密结合。由于技术的成熟和Internet的大范围应用,大多数操作系统中都在其内核中集成了TCP/IP功能。
④ TCP/IP协议既支持面向连接的服务(如TCP),也支持无连接的服务(如UDP),两者并重,提供多种对样的网络服务功能。