1.1.1 什么是计算机网络
计算机网络可以定义为:将地理位置不同的具有独立功能的多台计算机,连同其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
最简单的计算机网络就是两台计算机和连接它们的线路,即两个结点和一条链路。当今世界上最庞大的计算机网络是Internet,或称为因特网。Internet由非常多的计算机网络通过许多“网络互连设备”互相连接而成,因此也称为“网络的网络”。
计算机网络的功能可以概括为:
1.资源共享
实现资源共享是计算机网络的主要目的。资源共享是指网络中的所有用户都可以有条件地利用网络中的全部或部分资源,包括硬件资源、软件资源和数据资源。
(1)硬件资源共享:计算机网络可以在全网范围内提供对计算处理资源、存储资源、输入/输出资源等昂贵设备的共享,如共享超大型存储器、特殊的外围设备、高性能计算机的CPU处理能力等,使用户节省投资,也便于集中管理和均衡分担负荷。
(2)软件和数据资源共享:计算机网络允许用户远程访问各类大型计算机和数据库,给使用者们提供网络文件传送服务、远地计算机管理服务和远程信息访问服务,从而避免了软件研制、硬件投资等活动上的重复与浪费,避免数据资源的重复存储,也便于进行资源的集中管理。对于普通的网络用户,上网下载免费软件和音乐、视频等都是利用了计算机网络的此类功能。
2.信息传输与集中处理
信息传输是网络的基本功能之一,分布在不同地区的计算机之间可以传递信息。地理位置分散的生产单位或业务部门可以通过网络将各地收集来的数据进行综合和集中处理。计算机网络为分布在各地的用户提供了强有力的通信手段,如用户可以通过计算机网络发布或浏览新闻消息,进行电子商务等活动。流行的QQ等网络即时通信工具和E-mail电子邮件等都体现了计算机网络信息传输的强大功能。
3.均衡负荷与分布处理
网络中的多台计算机还可互为备用,一旦某设备出现故障或负荷过重时,它的任务可转移到其他设备中去处理,极大提高了系统的可靠性。另外,可对一些复杂的问题进行分解,通过网络中的多台计算机进行分布式处理,充分利用各地计算机资源,达到协同工作的目的。
4.综合信息服务
计算机网络可向全社会提供各种经济信息、科技情报和咨询服务,如提供文字、数字、图形、图像、语音等,实现电子邮件、电子数据交换、电子公告、电子会议、IP电话和传真等业务。随着信息科学技术的不断发展,新型业务不断出现,计算机网络将为社会各个领域提供全方位的服务,功能将向着高速化、多元化、可视化和智能化的方向发展。百度、Google等网络搜索引擎,新浪、搜狐等门户网站,是这一类服务的集中体现。
计算机网络要完成数据处理与数据通信两项基本功能,那么必须需要硬件系统和软件系统来支撑。所以计算机网络可以认为是由网络硬件和网络软件两部分组成。单个计算机的硬件,是指构成计算机的物理设备,即由机械、光、电和磁器件构成的具有计算、控制、存储、输入和输出功能的实体部件。而作为连接多个计算机的网络系统,这里所指的硬件有所不同,它是指主机、通信处理机、终端、网络连接设备和传输介质。
1.网络硬件
(1)主机。
主机是计算机资源子网中的主要设备。它可以是巨型计算机(简称巨型机)、大型机、工程工作站(Workstation)、小型机、微型机或多媒体计算机系统。局域网中的主机还可以是服务器(Server)、网络打印机、绘图仪等资源主设备。计算机网络硬件组织示意图如图1-1所示。
从广义上讲服务器是指网络中能对其他计算机提供某些服务的计算机系统,如果一台PC对外提供某种服务,如文件传输服务,也可以叫服务器。从狭义上来讲,服务器是专指某些高性能计算机,能够通过网络,对外提供服务。相对于普通PC来说,服务器在稳定性、安全性和工作性能等方面都要求更高,因此,服务器的CPU、芯片组、内存、磁盘系统、网络接口等硬件和普通PC有所不同。
而工程工作站是一种应用于分布式网络计算的高性能计算机,主要应用于专业领域,具备强大的数据运算与图形、图像处理能力,满足工程设计、动画制作、科学研究、软件开发、金融管理、信息服务、模拟仿真等专业领域的需求。工作站这个名词有时也指与服务器联网、使用服务器提供的服务的普通计算机。
(2)终端。
终端有时也称为客户端,它是与主机相对的概念。最初,终端就是计算机显示终端,是计算机系统的输入/输出设备。计算机显示终端伴随主机时代的集中处理模式而产生,并随着计算技术的发展而不断发展。在传统意义上,终端通常是指那些与集中式主机系统相连的“哑”用户设备,从用户键盘输入,并且将这些输入发送给主机系统。这里的“哑”指相对于其他种类比较“聪明”的计算机终端来说,功能较为有限。主机系统处理这些键盘输入和命令,然后将输出结果传送并显示在相应终端的屏幕上。PC可以运行称为终端仿真器的一些程序来模仿一个“哑”终端的工作。
图1-1 计算机网络硬件组织示意图
迄今为止,计算技术经历了主机时代、PC时代和网络计算时代这3个发展时期,终端与计算技术发展的3个阶段相适应,也经历了字符“哑”终端、图形终端和网络终端这3个形态。目前,可以把常见的终端设备分为两类:一类是胖客户端,另一类是瘦客户端。以PC为代表的基于开放性工业标准、功能比较强大的设备叫作“胖客户端”,其他归入“瘦客户端”。现今的瘦客户端产业的规模和发展空间很大。
(3)网络连接设备。
网络中的各种连接设备很多,主要负责控制数据的接收、发送和转发。常用的网络连接设备,按它们在网络模型中所在的层从低到高排序,有中继器、集线器、调制解调器、网卡、网桥、交换机、路由器和网关等。其中,中继器、集线器和调制解调器这3种设备工作在物理层,网卡、网桥和普通的交换机工作在数据链路层,路由器是网络层设备,而网关可以工作在更高的应用层。后面的章节中会详细介绍网络连接设备,在这就不做详细说明。
2.网络软件
计算机网络的软件构成包括网络操作系统、网络通信协议和网络应用软件。
(1)网络操作系统。
网络操作系统(NOS)是网络的心脏和灵魂,是向网络计算机提供服务的特殊操作系统。网络操作系统运行在称为服务器的计算机上,并由连网的计算机用户共享,这类用户称为客户,用户所用的计算机也称为工作站。
目前,局域网中主要存在以下几类网络操作系统。
① Windows。
微软公司的Windows系统不仅在个人操作系统中占有绝对优势,它在网络操作系统中也具有非常强劲的势头。这类操作系统在局域网中是最常见的,但由于它对服务器的硬件要求较高,且稳定性不是很高,所以微软公司的网络操作系统一般只是用在中低档服务器中,高端服务器通常采用UNIX、Linux等非Windows操作系统。在局域网中,微软公司的网络操作系统主要有Windows NT 4.0 Server、Windows 2000 Server/Advance Server,以及Windows Server 2003等。与服务器联网的工作站系统可以采用任意Windows或非Windows操作系统,如Windows XP、Linux等。
② Net Ware。
Net Ware是Novell公司推出的网络操作系统,20世纪80年代至90年代曾经一度在局域网操作系统中占主导地位。Net Ware最重要的特征是基于基本模块的设计思想和开放式系统结构,它是一个开放的网络服务器平台,可以方便地对其进行扩充。Net Ware系统向DOS、OS/2和Macintosh等不同的工作平台、不同的网络协议环境,如TCP/IP,以及各种工作站操作系统提供一致的服务。该系统内可以增加自选服务,如替补备份、数据库、电子邮件、记账等,这些服务可以取自Net Ware本身,也可取自第三方开发者。
Net Ware操作系统虽然远不如早几年那么风光,在局域网中也失去了优势,但是Net Ware操作系统对网络硬件的要求较低,受到一些设备比较落后的中、小型企业,特别是学校的青睐。Net Ware在无盘工作站组建方面具有优势,且因为它兼容DOS命令,其应用环境与DOS相似,经过长时间的发展,具有相当丰富的应用软件支持,技术完善、可靠,常用于教学网和游戏厅。
目前这种操作系统市场占有率呈严重下降趋势,其市场大部分被Windows类和Linux系统占据。
③ UNIX。
UNIX是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由Ken Thompson、Dennis M. Ritchie和Douglas Mcllroy于1969年在AT&T (美国电报电话公司)的贝尔实验室开发。经过长期的发展和完善,目前已衍生出一种主流的操作系统和基于这种系统的产品大家族。由于UNIX具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出、开放性好等特点,可满足各行各业的实际需要——尤其是企业的重要业务,已经成为主要的工作站平台和重要的企业操作平台。
在其出现后的10年,UNIX在学术机构和大型企业中得到了广泛的应用,当时的UNIX拥有者AT&T公司以低廉甚至免费的许可将UNIX源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩充和改进,形成了所谓的UNIX“变种”(Variations),这些变种反过来也促进了UNIX的发展,其中最著名的一种是由加州大学伯克利分校(UC Berkeley)开发的BSD产品。BSD UNIX在UNIX的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用UNIX的基础。尽管后来非商业版的UNIX系统又经过了很多演变,但其最终都是建立在BSD版本上。
BSD在发展中也逐渐衍生出3个主要的分支:Free BSD、Open BSD和Net BSD。Free BSD桌面如图1-2所示。
UNIX用作网络操作系统,其稳定性和安全性能非常好,但由于它很多时候是以命令方式来进行操作的,不容易掌握,特别是初级用户。正因为如此,小型局域网基本不使用UNIX作为网络操作系统,UNIX一般用于大型的企、事业局域网中。UNIX网络操作系统历史悠久,其良好的网络管理功能已为广大网络用户所接受,拥有丰富的应用软件的支持。
图1-2 Free BSD桌面
④ Linux。
1979年,UNIX的母公司AT&T意识到这个操作系统的巨大商业价值,决定将UNIX的版权收回。这样诸多大学就不能再免费使用UNIX操作系统进行教学。于是,荷兰阿姆斯特丹Vrije大学的Andrew S. Tanenbaum教授开发了一个微型的类UNIX操作系统,名字叫Minix。Minix设计得很好,在教学中起到了很大的作用,但还不是一个完整实用的操作系统。Minix系统的爱好者、芬兰赫尔辛基大学学生Linus Torvalds开发出Linux操作系统。Linus根据Minix设计了一个系统核心Linux 0.01,通过USENET(新闻组)宣布这是一个免费的系统,主要在x86计算机上使用,希望大家一起来将它完善,并将源代码放到了芬兰的FTP站点上让人免费下载。以后,由于许多专业用户(主要是程序员)自愿地开发Linux的应用程序,并借助Internet让大家一起修改,所以Linux周边的程序越来越多,它本身也逐渐发展壮大起来。
Linux是一种新型的网络操作系统,它最大的特点是免费、源代码开放和大量的应用程序支持。目前也有中文版本的Linux,如Red Hat Linux(见图1-3)和红旗Linux等。Linux在国内也得到了用户充分的肯定,原因是它的安全性和稳定性。Linux操作系统目前仍主要应用于中、高档服务器中。总而言之,Linux是一套免费使用和自由传播的类UNIX操作系统,这个系统是由世界各地的成千上万的程序员设计和实现的。Linux完全遵守POSIX标准,这意味着Linux的操作方法和UNIX几乎一模一样,但实际上,二者的内核代码完全不同。
Linux是最受欢迎的服务器操作系统之一。随着Linux越来越流行,越来越多的原厂委托制造商(OEM)开始在其销售的计算机上预装上Linux,Linux的用户中也有了普通计算机用户, Linux开始慢慢抢占桌面计算机操作系统市场。它也在嵌入式计算机市场上拥有优势,低成本的特性使Linux深受用户欢迎。使用Linux主要的成本为移植、培训和学习的费用,早期由于会使用Linux的人较少,这方面费用较高,但随着Linux的日益普及,支持它的软件越来越多、使用越来越方便,费用大大降低。
总的来说,对特定计算环境的支持使得每一个操作系统都有适合于自己的工作场合。例如, Windows 2000 Professional适用于桌面计算机,Linux目前较适用于小型的网络,而Windows Server 2003和UNIX则适用于大型服务器。因此,针对不同的网络应用,需要有目的地选择合适的网络操作系统。
图1-3 Red Hat Linux桌面
总之,网络操作系统是网络用户与计算机网络之间的接口,它使网络上的各计算机能方便有效地共享网络资源,为网络用户提供了所需的各种服务。网络操作系统的主要功能是网络运行管理、资源管理、文件管理、通信管理、用户管理、系统管理等。
(2)网络通信协议。
计算机网络是非常复杂的系统,涉及许多复杂的技术,相互通信的计算机必须高度协调地工作。也就是说,在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,这种规则称为网络协议。网络协议主要对计算机通信时采用的数据格式、使用什么控制信息和事件实现的顺序做出规定。
比较典型的网络协议有TCP/IP、IPX/SPX、Net BEUI等。
Internet成功的原因之一是它使用了TCP/IP标准网络协议。随着Internet的发展,TCP/IP也得到进一步的研究开发和推广应用,成为Internet上的“通用语言”。需要注意的是,TCP/IP既可以指计算机网络体系结构,也可以指计算机网络协议。TCP/IP参考模型和TCP/IP是不同的概念,但又密切相关。TCP/IP并不是一个协议,而是包含了TCP和IP的一套协议族。
尽管TCP/IP是目前最流行的网络协议,但它在局域网中的通信效率并不高。使用默认的TCP/IP浏览“网上邻居”中的计算机时,经常会出现不能正常访问的现象。此时安装Net BEUI协议就会解决这个问题。
Net BEUI即Net Bios Enhanced User Interface(Net Bios增强用户接口)。它是Net BIOS协议的增强版本,曾被许多操作系统采用,如Windows for Workgroup、Windows 9x系列、Windows NT等。Net BEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”中传送数据。所以建议除了TCP/IP之外,小型局域网的计算机也可以安装Net BEUI协议。
IPX/SPX协议本来是Novell开发的专用于Net Ware网络中的协议,但是现在并不常常使用。大部分可以联机的游戏都支持这种协议,如星际争霸、反恐精英等。虽然这些游戏通过TCP/IP也能联机,但显然还是通过IPX/SPX协议更省事,因为根本不需要进行任何设置。除此之外, IPX/SPX协议在局域网络中的用途似乎并不是很大,如果确定不在局域网中联机玩游戏,那么这个协议可有可无。
具体的计算机网络协议还有很多种,如果按网络层次划分,最为常用的协议如下。
网络层协议:包括IP、ICMP、ARP和RARP。
传输层协议:包括TCP和UDP。
应用层协议:包括FTP、Telnet、SMTP、HTTP、RIP、NFS和DNS。
(3)网络应用软件。
网络应用软件是根据用户的需要开发的,能够为用户提供各种服务,如传输软件、联机游戏、聊天等。下面对一些常用的网络应用软件进行介绍,并简要说明它们的工作原理。
① e Mule。
e Mule中文译作“电骡”,其界面如图1-4所示。它是一种基于P2P(Peer to Peer)方式的客户端软件,用来在Internet上交换软件、音乐、视频等数据。P2P模式是指一个用户可以从其他很多用户那里得到文件,也可以把文件散发给其他的用户。e Mule是基于开源协议的通用公共许可(General Public License,GPL)发布的(前面提到的Linux也遵守这个协议),任何组织和个人都可以免费下载使用e Mule的源代码,对e Mule进行修改并发布。
图1-4 e Mule界面
e Mule是第三代P2P工具。第一代和第二代P2P客户端软件的代表分别是Napster和e Donkey (电驴)。Napster是所有这类工具的“祖先”,用来进行MP3音乐文件的下载。但Napster本身并不直接提供具体的文件,它实际是整个Napster网络MP3文件的“目录”,具体MP3文件分布在网络中的每一台计算机中,随时供用户选择取用。某个用户下载时,文件可能来自其他一台或多台计算机,传输速度相当惊人。Napster具有强大的搜索功能,可以将在线用户的MP3音乐信息进行自动搜寻并分类整理,以备其他用户查询,也可以选择自己要与其他人在网上共享的音乐文件的目录,并且可以与喜欢同样音乐风格的人聊天、交流、讨论。电驴的出现晚了几年,但是在技术上则超过了Napster。电驴有成百上千个这样的服务器,由单个的用户来维持。这样充当服务器的用户仅需要运行一个小小的程序并共享出几千字节的Internet连接,就可以为成百上千甚至更多的其他用户服务。Napster和e Donkey最终因版权问题被永久性关闭。
2002年5月13日,德国人Merkur不满意e Donkey 2000客户端并且坚信自己能做出更出色的P2P软件,于是便着手开发。他聚集了一批原本在其他领域有出色发挥的程序员后,e Mule工程就此诞生,目标是将e Donkey的优点及精华保留下来,并加入新的功能以及使图形界面变得更好。
e Mule并不是e Donkey的升级版,因为e Mule和电驴制作商没有一点关系,只是破解并使用了e Donkey的ed2k协议,并加以扩展,它的独到之处在于开放源代码。e Mule的基本原理和运作方式也是基于e Donkey,能够直接登录e Donkey的各类服务器。e Mule同时也提供了很多e Donkey所没有的功能,如可以自动搜索网络中的服务器,保留搜索结果,与连接用户交换服务器地址和文件,优先下载便于预览的文件头尾部分等,这些都使得e Mule使用起来更加便利。
总之,e Mule继承了第二代P2P无中心、纯分布式系统的特点,但它不再是简单的点到点通信,而是更高效、更复杂的网络通信;再加上e Mule引入的强制共享机制和上传积分奖励机制,在一定程度上避免了第二代P2P纯个人服务器管理带来的随意性和低效率。
② 迅雷。
相对于e Mule,国内的用户,特别是年轻一代用户,更熟悉的网络下载工具是迅雷。
“迅雷”于2002年底由邹胜龙和程浩创建于美国。2003年1月底,创办者回国发展并正式成立深圳市迅雷网络技术有限公司。目前,迅雷已经成为中国Internet最流行的应用服务软件之一。作为中国最大的下载服务提供商,迅雷每天提供超过数千万次的下载服务。伴随着中国Internet宽带的普及,迅雷凭借“简单、高速”的下载体验,正在成为高速下载的代名词。
迅雷使用的多资源超线程技术基于“网格”原理,能够将网络上存在的服务器和计算机资源进行有效的整合,构成独特的迅雷网络,通过迅雷网络各种数据文件能够以最快的速度进行传递。迅雷的多资源超线程技术还具有Internet下载负载均衡功能,在不降低用户体验的前提下,迅雷网络可以对服务器资源进行均衡,有效降低了服务器负载。迅雷的运行界面如图1-5所示。
2007年9月,迅雷完全支持电骡下载,同时还加入了更多的智能功能。
图1-5 迅雷的运行界面
③ QQ。
QQ原名OICQ,意思是开放的ICQ(Open ICQ),后来改名为QQ。ICQ是是面向国际的一个聊天工具,是I seek you(我找你)的意思,最初是由以色列的几位年轻人开发的。
腾讯QQ是由深圳市腾讯计算机系统有限公司开发的一款基于Internet的即时通信软件,用户可以使用QQ和好友进行文字交流,即时发送和接收消息和图片,进行语音视频面对面聊天,其功能非常全面。此外,QQ还具有与手机聊天、聊天室、点对点断点续传传输文件,共享文件、电子邮箱、网络收藏夹、发送贺卡等功能。QQ不仅仅是简单的即时通信软件,它与移动通信公司合作,实现与传统的GSM移动电话的短消息互连,是国内很流行、功能很强的即时通信软件。除了移动通信终端,QQ还可以与IP电话网、无线寻呼等多种通信方式相连,使QQ不仅仅是单纯意义的网络虚拟呼机,而是一种方便、实用和高效的即时通信工具。
通过以上的介绍,相信读者会对计算机网络有一个初步的认识。可以看到,计算机网络是一门综合性很强的学科,涵盖了计算机硬件、软件和电子通信诸多方面的内容。对于初学者,本门课程有一定的难度。但计算机网络作为一个已经大量应用、广泛普及的学科,要求人们必须对其有一定程度的掌握,否则不可避免地要落后于时代。本门课程的目的不仅仅是学习一些网络应用,还要求在这些应用的基础上,了解其背后的原理知识,为进一步认识网络、用好网络打下基础,同时拓宽个人知识,提高科学素养。