第一章 网络基础知识
1.1 计算机网络及其体系结构
1.计算机网络的定义
关于计算机网络这一概念的描述,从不同的角度出发可以给出不同的定义。简单来说,计算机网络就是由通信线路互相连接的许多独立工作的计算机构成的集合体。这里强调构成网络的计算机是独立工作的,这是为了和多终端分时系统相区别。
从应用的角度来讲,只要将具有独立功能的多台计算机连接起来,能够实现各计算机之间信息的互相交换,并可以共享计算机资源的系统就是计算机网络。
从资源共享的角度来讲,计算机网络就是一组具有独立功能的计算机和其他设备,以允许用户相互通信和共享计算机资源的方式互联在一起的系统。
从技术角度来讲,计算机网络就是由特定类型的传输介质(如双绞线、同轴电缆和光纤等)和网络适配器互联在一起的计算机,并受网络操作系统监控的网络系统。
综上所述,可以将计算机网络这一概念系统地定义为:计算机网络就是将分布在不同地理位置上的具有独立工作能力的多台计算机、终端及其附属设备用通信设备和通信线路连接起来,并配置网络软件,以实现计算机资源共享的系统。为了能使得计算机资源共享,计算机网络必须实现数据通信功能。
计算机网络技术的应用对当今社会的经济、文化生活都产生着重要影响。当前,计算机网络的功能主要有以下几个方面。
(1)资源共享
计算机网络最具吸引力的功能是进入计算机网络的用户可以共享网络中各种硬件和软件资源,使网络中各部分的资源互通、分工协作,从而提高系统资源的利用率。
(2)数据传输
数据传输是计算机网络的基本功能之一,用以实现计算机与终端或计算机与计算机之间传送各种信息,从而提高了计算机系统的整体性能,也大大方便了人们的工作和生活。
(3)集中管理
计算机网络技术的发展和应用,已使得现代办公、经营管理等发生了很大的变化。目前,已经有了许多MIS系统、OA系统等,通过这些系统可以将地理位置分散的生产单位或业务部门连接起来进行集中控制和管理,提高工作效率,增加经济效益。
(4)分布处理
对于综合性的大型问题可以采用合适的算法,将任务分散到网络中不同的计算机上进行分布式处理,以达到均衡使用网络资源、实现分布处理的目的。
(5)负载平衡
负载平衡是指任务被均匀地分配给网络上的各台计算机。网络控制中心负责分配和检测,当某台计算机负载过重时,系统会自动转移部分工作到负载较轻的计算机中去处理。
(6)提高安全与可靠性
建立计算机网络后,还可减少计算机系统出现故障的概率,提高系统的可靠性。另外对于重要的资源可将它们分布在不同地方的计算机上。这样,即使某台计算机出现故障,用户在网络上可通过其他路径来访问这些资源,不影响用户对同类资源的访问。
2.计算机网络的分类
计算机网络的分类标准有很多,可以从覆盖范围、拓扑结构、交换方式、传输介质、通信方式等方面进行分类。根据网络的覆盖范围进行分类,计算机网络可以简单地分为:局域网(Local Area Network,LAN)和广域网(Wide Area Network,WAN)。这种分类方法也是目前网络工程实施过程中运用最多的一种方法。
(1)局域网
局域网也称为局部网,是指在有限的地理范围内构成的规模相对较小的计算机网络。它具有很高的传输速率(1~20Mb/s),其覆盖范围一般不超过几十千米,通常将一座大楼或一个校园内分散的计算机连接起来构成局域网。它的特点是:分布距离近(通常在1000~2000m范围内);传输速度高;连接费用低;数据传输可靠;误码率低。
(2)广域网
广域网也称为远程网,它的联网设备分布范围很广,一般从几十千米到几千千米。它所涉及的地理范围可以是市、地区、省、国家,乃至世界范围。广域网是通过卫星、微波、无线电、电话线、光纤等传输介质连接的国家网络和国际网络,它是全球计算机网络的主干网络。广域网一般具有以下几个特点:地理范围没有限制;传输介质复杂;由于长距离的传输,数据的传输速率较低,且容易出现错误,采用的技术比较复杂;是一个公共的网络,不属于任何一个机构或国家。如果从功能上对广域网加以描述,大家会对广域网这个概念有更深刻的理解,思科将广域网定义为连接各个局域网之间的网络。
现今的因特网(Internet)是世界上最大的计算机网络,它是由无数的局域网通过广域网联接而成的,是跨越了无数的局域网与广域网的综合型网络。
3.计算机网络的体系结构
计算机网络实现数据通信功能是一个复杂的过程。为了减少协议设计和调试过程的复杂性,国际标准化组织(ISO)制定了一个层次化的网络通信模型,称为开放系统互联(Open System Interconnection,OSI)参考模型。OSI参考模型是一个逻辑结构,并非一个具体的计算机设备或网络,但是任何两个遵守协议的标准的系统都可以互联通信,这正是“开放”的实际意义。
OSI参考模型采用了分层的方法。所谓分层是一种构造技术,允许开放系统网络用分层次的方式进行逻辑组合。整个通信子系统划分为若干层,每层执行一种明确定义的功能,并由较低层执行附加的功能,为较高层提供服务。
计算机网络执行数据通信的功能就如同我们在生活中寄信一样,寄信这个任务的执行可以看做是在实际生活中的一种典型的层次化结构执行的例子,如图1-1所示。
图1-1 邮局业务分层结构图
OSI参考模型的七层由下往上分别是:第一层物理层(Physical Layer),第二层数据链路层(Data Link Layer),第三层网络层(Network Layer),第四层传输层(Transport Layer),第五层会话层(Session Layer),第六层表示层(Presentation Layer)和第七层应用层(Application Layer)。
OSI参考模型的每一层都定义了所实现的功能,完成某特定的通信任务,并只与紧邻的上层和下层进行数据的交换。图1-2简单示意了两个实现了OSI七层功能的网络设备之间是如何进行通信的。任务从主机A的应用层开始,按规定的格式逐层封装数据,直至数据包到达物理层,然后通过网络传输线路以及中间结点(通常包括交换机,路由器,防火墙等网络互联设备)到达主机B。主机B的物理层获取数据,向上层发送数据,直到到达主机B的应用层。本书随后将通过校园网的实例着重介绍如何配置交换机、路由器等网络互联设备,以实现校园网的数据通信,下面简单描述OSI参考模型各层的功能。
图1-2 基于OSI层次化结构的通信
4.OSI每层功能
(1)应用层
应用层是OSI七层模型的第七层也是最高层,它是计算机网络与最终用户间的接口,包含了系统管理员管理网络服务所涉及的所有问题和基本功能。它在第六层提供的数据传输和数据表示等各种服务的基础上,为网络用户或应用程序提供完成特定网络服务功能所需的各种应用层协议。可以简单描述为:应用层应该是用户通过应用层的协议去完成用户想要完成的任务。
例子:如果你想上网,那么你会首先打开浏览器输入网址http://www.cisco.com,如果可以上网的话自动会出现网页画面,网页本身没有在本地,那怎么可以浏览网页呢?这是因为有了应用层的超文本传输协议(HTTP)来帮助用户与远端的Web服务器进行连接且请求传输文件,这样用户就可以通过应用层的协议来完成用户要浏览网页的任务了。
常用的网络服务包括文件服务、电子邮件服务、打印服务、集成通信服务、目录服务、域名解析服务、网络管理、安全和路由互联服务等,如果想要完成类似这样的网络服务都必须通过应用层的协议来完成。
常用的应用层协议有以下几种。
HTTP:超文本传输协议。
FTP:文件传输协议。
TELNET:远程登录。
SNMP:简单网络管理协议。
SMTP:简单邮件传输协议。
NNTP:网络新闻组传输协议
DNS:域名解析协议
(2)表示层
表示层如同应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化,这种格式化也因所使用网络的类型不同而不同。表示层管理数据的解密与加密,如系统口令的处理。如果在Internet上查询你的银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。
(3)会话层
会话层负责在网络中的两结点之间建立、维持、终止端与端之间的通信。术语“会话”,指在两个实体之间建立数据交换的连接,常用于表示终端与主机之间的通信。所谓终端是指几乎不具有(如果有的话)自己的处理能力或硬盘容量,而只依靠主机提供应用程序和数据处理服务的一种设备。会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个结点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。你可能常常听到有人把会话层称作网络通信的“交通警察”。
当通过拨号向你的ISP(因特网服务提供商)请求连接到因特网时,ISP服务器上的会话层向你的PC客户机上的会话层进行协商连接。若你的电话线偶然从墙上插孔脱落时,你终端机上的会话层将检测到连接中断并重新发起连接。会话层通过决定结点通信的优先级和通信时间的长短来设置通信期限。就此而论,会话层如同一场辩论竞赛中的评判员。例如,如果你是一个辩论队的成员,有2分钟的时间阐述你公开的观点,在1分3 0秒后,评判员将通知你还剩下30秒。假如你试图打断对方辩论成员的发言时,评判员将要求你等待,直到轮到你为止。最后,会话层监测会话参与者的身份以确保只有授权结点才可加入会话。
(4)传输层
传输层主要负责确保数据可靠、顺序、无差错地从A点到传输到B点(A、B点可能在也可能不在相同的网络段上)。因为如果没有传输层,数据将不能被接受方验证或解释,所以,传输层常被认为是OSI模型中最重要的一层。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于1500字节的数据包。发送方结点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方结点的传输层时,能以正确的顺序重组。该过程即被称为排序。
我们再以教室为例来理解排序的过程。假设你提问题,“Jones女士,低级的农业耕作技术是如何影响Dust Bowl的?”,但是,Jones女士接收到信息则是“低级农业耕作技术Jones女士?如何作用于Dust Bowl?影响”。在网络中,传输层发送一个(应答)信号以通知发送方数据已被正确接收。如果数据有错,传输层将请求发送方重新发送数据。同样,假如数据在一给定时间段未被应答,发送方的传输层也将认为发生了数据丢失从而重新发送它们。
(5)网络层
网络层,即OSI模型的第三层,其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。
网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中结点A到另一个网络中结点B的最佳路径。在网络中,“路由”是基于编址方案、使用模式以及可达性来指引数据的发送。后续章节将详细解释路由器及其功能。网络层协议还能补偿数据发送、传输以及接收的设备能力的不平衡性。为完成这一任务,网络层对数据包进行分段和重组。分段即是指当数据从一个能处理较大数据单元的网络段传送到仅能处理较小数据单元的网络段时,网络层减小数据单元的大小的过程。这个过程就如同将单词分割成若干可识别的音节,给正学习阅读的儿童使用一样。重组过程即是重构被分段的数据单元。类似地,当一个孩子理解了分开的音节时,他会将所有音节组成一个单词,也就是将部分重组成一个整体。
(6)数据链路层
数据链路层在物理层和网络层之间提供通信,建立相邻结点之间的数据链路,传送按一定格式组织起来的位组合,即数据帧。帧的格式如图1-3 所示(以以太网帧结构为例)。本层为网络层提供可靠的信息传送机制,将数据组成适合于正确传输的帧形式。加在帧中包含应答、流控制和差错控制等信息,以实现应答、差错控制、数据流控制和发送顺序控制,确保接收数据的顺序与原发送顺序相同。
图1-3 帧的格式
(7)物理层
物理层是OSI模型的底层或第一层,主要完成相邻结节之间的比特流的传输。同时本层还定义了一些有关网络的物理特性,包括物理连网媒介,如:电缆连线和连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。在你的桌面PC上插入网络接口卡,你就建立了计算机连网的基础。换言之,你提供了一个物理层。尽管物理层不提供纠错服务,但它能够设定数据传输速率并监测数据出错率。网络物理问题,如电线断开,将影响物理层。同样,如果你没有将网络接口卡在计算机的电路板中正确安装,计算机也将在物理层出现网络问题。IEEE已制定了物理层协议的标准,特别IEEE 802规定了以太网和令牌环网应如何处理数据。术语“第一层协议”和“物理层协议”,均是指描述电信号如何被放大及通过电线传输的标准。除了不同的传输介质自身的物理特性外,物理层还对通信设备和传输媒体之间使用的接口作了详细的规定,物理层涉及的内容还包括以下几个部分。
① 机械特性。机械特性规定了物理连接所需接插件的规格尺寸、针脚数量和排列情况等。如:EIA RS-232C标准规定的D型25针接口,ITU-T X.21标准规定的15针接口等,以太网接口用RJ-45水晶头等。
② 电气特性。电气特性规定了在物理信道上传输比特流时信号电平的大小、数据的编码方式、阻抗大小、传输速率和距离限制等,比如:双绞线长度不能大于100m,RS-232接口传输距离不大于15m,最大速率为19.2kbps。
③ 功能特性。功能特性定义了各个信号线的确切含义,即各个信号线的功能。比如:双绞线每根都有自己的作用。
④ 规程特性。规程特性定义利用信号线进行比特流传输的一组操作规程,是指在物理连接的建立、维护和交换信息时数据通过集线器交换数据顺序。
前面已讲述了七层协议OSI参考模型,但是在实际中完全遵从OSI参考模型的协议几乎没有。尽管如此,OSI模型为人们考查其他协议各部分间的工作方式提供了框架和评估基础。下面讲述TCP/IP网络协议体系也将以OSI参考模型为框架对其作进一步解释。TCP/IP出现于20世纪70年代,80年代被确定为因特网的通信协议。
TCP/IP体系结构是将多个网络进行无缝连接的体系结构,其结构如图1-4 所示,其中加入了与OSI模型的对照。
图1-4 TCP/IP网络体系结构与OSI网络参考模型的对比
TCP/IP是一组通信协议的代名词,是由一系列协议组成的协议簇。它本身指两个协议集:TCP(传输控制协议)和IP(互联网络协议)结合而成的。TCP/IP最早由美国国防高级研究计划局(DARPM)在其ARPANET上实现,已有二十几年的运行经验。由于TCP/IP一开始用来连接异种机环境,再加上工业界很多公司都支持它,特别是在UNIX环境,TCP/IP已成了其实现的一部分;由于UNIX用户的增长,推进了TCP/IP的普及。Internet的迅速发展,使TCP/IP已成了事实上的网络互联标准。协议隐藏了通信底层的细节,有利于提高效率。首先程序员与高级协议抽象打交道,不必把精力放在诸如硬件配置等细节问题上;使用高层抽象编制的程序独立于机器结构或网络硬件,可以使任意一对机器进行通信。