第1章计算机网络概述



学习目标:  
(1) 掌握计算机网络的基本概念。
(2) 了解计算机网络的发展历史、功能和分类。
(3) 掌握计算机网络的组成、体系结构、网络拓扑结构。
(4) 掌握直通线和交叉线的制作方法。
(5) 掌握双机互连对等网络的组建方法。
1.1计算机网络的发展与分类
计算机网络是现代高科技的重要组成部分,是计算机技术与通信技术相结合的产物。计算机网络出现的历史并不长,但发展很快,经历了一个从简单到复杂、从低级到高级的过程。
1.1.1计算机网络的发展
计算机网络的发展经历了4个阶段。


图11面向终端的计算机网络           

1. 面向终端的计算机网络——以数据通信为主
20世纪50年代末期,由一台中央主机通过通信线路连接在地理上分散的大量终端,构成面向终端的计算机网络,如图11所示。终端分时访问中心计算机的资源,中心计算机将处理结果返回给终端。
2. 面向通信的计算机网络——以资源共享为主
1969年由美国国防部高级研究计划署(advanced research projects agency,ARPA)研究组建的ARPAnet是世界上第一个真正意义上的计算机网络。ARPAnet当时只连接了4台主机,每台主机都具有自主处理能力,彼此之间不存在主从关系,相互共享资源。ARPAnet是计算机网络技术发展的一个里程碑,它对计算机网络技术的发展做出的突出贡献主要表现在以下3个方面。
(1) 采用资源子网与通信子网组成两级网络结构,如图12所示。通信子网负责全部网络的通信工作,资源子网由各类主机、终端、软件、数据库等组成。


图12由资源子网与通信子网组成的两级网络结构


(2) 采用报文分组交换方式。
(3) 采用层次结构的网络协议。
3. 面向应用的计算机网络——体系标准化
20世纪70年代中期,局域网得到了迅速发展。美国Xerox、DEC和Intel公司推出了以CSMA/CD介质访问技术为基础的以太网(ethernet)产品,其他大公司也纷纷推出自己的产品,如IBM公司的SNA(system network architecture,系统网络体系结构)。但各家网络产品在技术、结构等方面存在着很大差异,没有统一的标准,彼此之间不能互联,从而造成了不同网络之间信息传递的障碍。为了统一标准,1984年由国际标准化组织(ISO)制订了一种统一的分层方案——OSI(open system interconnection,开放系统互联)参考模型,将网络体系结构分为7层。
4. 面向未来的计算机网络——以Internet为核心的高速计算机网络
OSI参考模型为计算机网络提供了统一的分层方案,但事实是世界上没有任何一个网络是完全按照OSI参考模型组建的,这固然与OSI参考模型的7层分层设计过于复杂有关,更重要的原因是在OSI参考模型提出时,已经有很多网络使用TCP/IP的分层模式加入了ARPAnet中,并使它的规模不断扩大,从而最终形成了世界范围的互联网——Internet(因特网)。所以,Internet就是在ARPAnet的基础上发展起来的,并且一直沿用着TCP/IP的4层分层模式。Internet的大发展始于20世纪90年代,1993年美国宣布了国家信息基础设施建设计划(NII,信息高速公路计划),促成了Internet爆炸式的飞跃发展,也使计算机网络进入了高速化的互联阶段。
Internet是覆盖全球的信息基础设施之一,用户可以利用Internet实现全球范围的信息传输、信息查询、电子邮件、语音与图像通信服务等功能。ARPAnet与分组交换技术的发展,奠定了互联网的基础。
1991年6月,我国第一条与国际互联网连接的专线建成,从中国科学院高能物理研究所一直到斯坦福大学直线加速器中心。到1994年,我国才实现了采用TCP/IP的国际互联网的功能联接,可以通过四大主干网(中国科技网CSTNET、中国教育科研网CERNET、中国公用信息网CHINANET、中国金桥信息网CHINAGBN)接入因特网。
1.1.2计算机网络的功能
计算机网络是将地理上分散且具有独立功能的计算机通过通信设备及传输媒体连接起来,在通信软件的支持下,实现计算机间资源共享、信息交换或协同工作的系统。
计算机网络的主要功能有以下几个。
(1) 数据通信。利用计算机网络可实现各地各计算机之间快速可靠地互相传送数据,进行信息处理。数据通信是计算机网络最基本的功能。
(2) 资源共享。“资源”是指网络中所有的硬件、软件和数据资源,“共享”是指网络中的用户都能够部分或全部地享用这些资源。
(3) 分布式处理。计算机网络的组建,使原来单个计算机无法处理的大型任务,可以通过多台计算机共同完成。对于一些大型任务,可以把它分解成多个小型任务,由网络上的多台计算机协同工作、分布式处理。
(4) 综合信息服务。计算机网络的发展使应用日益多元化,即在一套系统上提供集成的信息服务,包括来自社会、政治、经济等各方面资源,甚至同时还提供多媒体信息,如图像、语音、动画等。在多元化发展的趋势下,许多网络应用形式不断涌现,如电子邮件、网上交易、视频点播、联机会议、微信、微博等。
1.1.3计算机网络的分类
计算机网络的分类方式有很多,如按网络的覆盖范围、拓扑结构、应用协议、传输介质、数据交换方式等分类。按网络的覆盖范围可以将计算机网络分为局域网、城域网、广域网等,按拓扑结构可分为星形网、总线型网、环形网、树形网、网状网等,按传播方式可分为点对点传输网络和广播式传输网络等。
(1) 局域网(local area network,LAN): 在小范围内将两台或多台计算机连接起来所构成的网络,如网吧、机房等。局域网一般位于一个建筑物或一个单位内,它的特点是: 连接范围窄、用户数少、配置容易、连接速率快、可靠性高。局域网的传输速率多为100~1000Mbps,目前局域网的最快传输速率可达到10Gbps。从介质访问控制方法角度分类,局域网可分为共享式局域网和交换式局域网。
(2) 城域网(metropolitan area network,MAN): 介于广域网与局域网之间的一种高速网络,传输距离通常为几千米到几十千米不等,覆盖范围通常是一座城市。城域网的设计目标是要满足多个局域网互联的需求,以实现大量用户之间的数据、语音、图形与视频等信息的传输。早期的MAN产品主要是光纤分布式数据接口(fiber distributed data interface,FDDI)。目前的城域网建设方案有以下几个共同点: 传输介质采用光纤; 交换节点采用基于IP交换的高速路由交换机或ATM交换机; 在体系结构上采用核心交换层、业务汇聚层与接入层的三层模式。
(3) 广域网(wide area network,WAN): 覆盖范围从几十千米到几千千米甚至全球,可以把众多的LAN连接起来,具有规模大、传输延迟时间长的特点。最广为人知的WAN就是Internet,虽然它的传输速率相对LAN要低得多,但它的优点也是非常明显的,即信息量大,传播范围广。因为广域网很复杂,其实现技术在所有网络中也是最复杂的。广域网从逻辑功能上可分为通信子网和资源子网。通信子网采用分组交换技术,利用公用分组交换网、卫星通信网和无线分组交换网实现网络互联。资源子网负责全网的数据处理,向网络用户提供各种网络资源与网络服务,主要包括主机和终端。
1.2计算机网络的组成
计算机网络的硬件系统通常由服务器、工作站、传输介质、网卡、路由器、集线器、中继器、调制解调器等组成,下面介绍几种类型。
1. 服务器
服务器(server)是网络运行、管理和提供服务的中枢,它影响网络的整体性能,一般在大型网络中采用大型机、中型机或小型机作为网络服务器; 对于网点不多、网络通信量不大、数据安全要求不高的网络,可以选用高档微型计算机作为网络服务器。
服务器按提供的服务被冠以不同的名称,如数据库服务器、邮件服务器、打印服务器、WWW服务器、文件服务器等。
2. 工作站
工作站(workstation)也称客户机(client)。由服务器进行管理和提供服务的、连入网络的任何计算机都属于工作站,其性能一般低于服务器。个人计算机接入Internet后,在获取Internet服务的同时,其本身就成为Internet网上的一台工作站。
服务器或工作站中一般都安装了网络操作系统,网络操作系统除具有通用操作系统的功能外,还应具有网络支持功能,能管理整个网络的资源。常见的网络操作系统主要有Windows、UNIX、Linux等。
3. 传输介质
传输介质是网络中信息传输的物理通道,通常分为有线网和无线网。
 有线网中的计算机通过光纤、双绞线、同轴电缆等传输介质连接。
 无线网中的设备则通过无线电、微波、红外线、激光和卫星信道等无线介质进行连接。
1) 光纤


图13光纤

光纤(图13)又称为光缆,具有很大的带宽,是目前常用的传输介质。光纤是由许多细如发丝的玻璃纤维外加绝缘护套组成的,光束在玻璃纤维内传输。光纤具有防电磁干扰、传输稳定可靠、传输带宽高等特点,适用于高速网络和骨干网。利用光纤连接网络,每端必须连接光/电转换器,另外还需要其他辅助设备。
光纤分为单模光纤和多模光纤两种(所谓“模”,就是指以一定的角度进入光纤的一束光线)。
 在单模光纤中,芯的直径一般为9μm或10μm,使用激光作为光源,并且只允许一束光线穿过光纤,定向性强,传递数据质量高,传输距离远,可达100km,通常用于长途干线传输及城域网建设等。
 在多模光纤中,芯的直径一般是50μm或62.5μm,使用发光二极管作为光源,允许多束光线同时穿过光纤,定向性差,最大传输距离为2km,一般用于距离相对较近的区域内的网络连接。
2) 双绞线
双绞线(俗称网络)是布线工程中最常用的一种传输介质,由不同颜色的4对8芯线(每根芯线加绝缘层)组成,每两根芯线按一定规则交织在一起(为降低信号之间的相互干扰),成为一个芯线对。双绞线可分为非屏蔽双绞线(unshielded twisted pair,UTP)和屏蔽双绞线(shielded twisted pair,STP),如图14(a)和(b)所示。平时人们接触的大多是非屏蔽双绞线,其最大传输距离为100m。
使用双绞线组网时,双绞线和其他设备连接必须使用RJ45接头(俗称水晶头),如图15所示。



图14非屏蔽双绞线(UTP)和屏蔽双绞线(STP)




图15RJ45接头



RJ45水晶头中的线序有两种标准: EIA/TIA 568A和EIA/TIA 568B,如图16所示。


图16两种双绞线线序标准



(1) EIA/TIA 568A标准: 绿白1、绿2、橙白3、蓝4、蓝白5、橙6、棕白7、棕8。
(2) EIA/TIA 568B标准: 橙白1、橙2、绿白3、蓝4、蓝白5、绿6、棕白7、棕8。
在双绞线中,直接参与通信的导线是线序为1、2、3、6的四根线,其中1和2负责发送数据; 3和6负责接收数据。
针对应用场合的不同,可将网线分为直通线和交叉线两种。
(1) 直通线: 也称直连线,如图17所示,是指双绞线两端线序都为568A或568B,用于连接不同种类的设备。
(2) 交叉线: 如图18所示,双绞线一端线序为568A,另一端线序为568B,用于连接相同种类的设备。



图17直通线导线分布




图18交叉线导线分布



直通线和交叉线的应用如表11所示。新型的交换机已不再需要区分Uplink口和普通口,交换机级联时直接使用直通线。


表11双绞线的应用




应 用 方 式直通线交叉线

网卡对网卡√
网卡对集线器√
网卡对交换机√
集线器对集线器(普通口)√
交换机对交换机(普通口)√
交换机对集线器(Uplink口)√

3) 同轴电缆
同轴电缆有粗缆和细缆之分,在实际中应用广泛,比如,有线电视网中使用的就是粗缆。不论是粗缆还是细缆,其中央都是一根铜线,外面包有绝缘层。同轴电缆(图19)由中心铜线、环绕绝缘层及绝缘层外的金属屏蔽网和最外层的塑料封套组成,这种结构的金属屏蔽网可防止中心铜线向外辐射电磁场,也可用来防止外界电磁场干扰中心铜线中的信号。
4. 网卡
网卡也称为网络适配器,如图110所示,是计算机网络中最重要的连接设备。计算机主要通过网卡连接网络,它负责在计算机和网络之间实现双向数据传输。每块网卡均有唯一的48位二进制网卡地址(MAC地址),如00235A697A3D(十六进制)。



图19同轴电缆




图110网卡



1.3计算机网络体系结构
1.3.1计算机网络协议

在计算机网络中为实现计算机之间的正确数据交换,必须要有一系列有关数据传输顺序、信息格式和信息内容等的约定,这些规则、标准或约定称为计算机网络协议(protocol)。计算机网络协议一般至少包括3个要素。
(1) 语法: 规定用户数据与控制信息的结构和格式。
(2) 语义: 规定需要发出何种控制信息及完成的动作与做出的响应。
(3) 时序: 规定对事件实现顺序控制的时间。
1.3.2计算机网络体系结构
在计算机网络诞生之初,每个计算机厂商都有一套自己的网络体系结构,它们之间互不相容。为此,国际标准化组织(ISO)在1979年建立了一个分委员会来专门研究一种用于开放系统互联的体系结构,即OSI。“开放”这个词表示: 只要遵循OSI标准,一个系统可以和位于世界上任何地方的,也遵循OSI标准的其他任何系统进行连接。这个分委员会提出了开放系统互联参考模型,即OSI参考模型(OSI/RM),它定义了异质系统互联的标准框架。OSI/RM模型分为7层,从下往上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如图111所示。


图111OSI/RM模型


计算机网络体系结构是计算机网络层次模型和各层次协议的集合。计算机网络体系结构是抽象的,多采用层次结构; 而计算机网络体系结构的实现是具体的,是指能够运行的一些硬件和软件。采用层次结构的好处如下。
 各层之间相互独立。
 灵活性好。
 各层都可采用最合适的技术来实现。
 易于实现维护。
 有利于促进标准化。
划分层次的原则如下。
 网中各节点都有相同的层次。
 不同节点的同等层具有相同的功能。
 同一节点内相邻层之间通过接口通信。
 每一层使用下层提供的服务,并向其上层提供服务。
 不同节点的同等层按照协议实现对等层之间的通信。
OSI参考模型各层次的主要功能如表12所示。


表12OSI参考模型各层次的功能



层次数据格式主 要 功 能典 型 设 备

应用层数据报文为应用程序提供网络服务
表示层数据报文数据表示、数据安全、数据压缩
会话层数据报文建立、管理和终止会话
传输层数据报文提供端到端连接
网络层数据包(分组)确定地址、路径选择(路由)路由器
数据链路层数据帧介质访问(接入)网桥、交换机、网卡
物理层比特流二进制数据流传输光纤、同轴电缆、双绞线、中继器和集线器

(1) 物理层。这是整个OSI参考模型的最低层,它的任务就是提供网络的物理连接,所以,物理层是建立在物理介质上的(而不是逻辑上的协议和会话),它提供的是机械和电气接口,其作用是使原始的数据比特(bit)流能在物理介质上传输。
(2) 数据链路层。数据链路层分为介质访问控制(media access control,MAC)子层和逻辑链路控制(logical link control,LLC)子层,在物理层提供比特流传输服务的基础上,传送以帧为单位的数据。数据链路层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路改造成对网络层来说无差错的数据链路。数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方传送来的高速数据而导致缓冲区溢出及线路阻塞等问题。
(3) 网络层。网络层负责由一个站到另一个站的路径选择,它解决的是网络与网络之间,即网际的通信问题,而不是同一网段内部的通信问题。网络层的主要功能是提供路由,即选择到达目的主机的最佳路径,并沿该路径传送数据包(分组)。此外,网络层还具有流量控制和拥挤控制的能力。
(4) 传输层。传输层负责完成两站之间数据的传送。当两个站已确定建立了联系后,传输层即负责监督,以确保数据能正确无误地传送,提供可靠的端到端数据传输功能。
(5) 会话层。会话层主要负责控制每一站究竟什么时间可以传送与接收数据。例如,如果有许多使用者同时进行传送与接收消息,此时会话层的任务就是确定在接收消息还是发送消息时不会有“碰撞”的情况发生。
(6) 表示层。表示层负责将数据转换成使用者可以看得懂的有意义的内容,包括格式转换、数据加密与解密、数据压缩与恢复等功能。
(7) 应用层。应用层负责为软件提供接口以使程序能够使用网络服务。应用层协议的代表包括Telnet、FTP、HTTP、SNMP、DNS等。
1.3.3OSI的通信模型
OSI的通信模型结构如图112所示,它描述了OSI通信环境,OSI参考模型描述的范围包括联网计算机系统中的应用层到物理层的7层与通信子网,即图中虚线所连接的范围。


图112OSI的通信模型结构


在图112中,系统A和系统B在连入计算机网络之前,不需要有实现从应用层到物理层的7层功能的硬件与软件。如果它们希望接入计算机网络,就必须增加相应的硬件和软件。通常物理层、数据链路层和网络层大部分可以由硬件方式来实现,而高层(传输层、会话层、表示层和应用层)基本通过软件方式来实现。
例如,系统A要与系统B交换数据,系统A首先调用实现应用层功能的软件模块,将系统A的交换数据请求传送到表示层,再向会话层传送,直至物理层。物理层通过传输介质连接系统A与中间节点的通信控制处理机(路由器、交换机等),将数据传送到通信控制处理机。通信控制处理机的物理层接收到系统A的数据后,通过数据链路层检查是否存在传输错误,若无错误,通信控制处理机通过网络层确定下面应该把数据传送到哪一个中间节点。若通过路径选择,确定下一个中间节点的通信控制处理机,则将数据从上一个中间节点传送到下一个中间节点。下一个中间节点的通信控制处理机采用相同的方法将数据传送到系统B,系统B将接收到的数据从物理层逐层向高一层传送,直至系统B的应用层。
1.3.4OSI中的数据传输过程
数据在网络中传送时,在发送方和接收方有一个封装和解封装的过程,如图113所示。


图113数据的封装和解封装


(1) 当计算机A的应用进程A的数据传送到应用层时,应用层为数据加上本层控制报头后,组成应用层的服务数据单元,然后再传输给表示层。
(2) 表示层接收到这个数据单元后,加上本层的控制报头,组成表示层的服务数据单元,再传送给会话层。以此类推,数据被传送到传输层。
(3) 传输层接收到这个数据单元后,加上本层的控制报头,就构成了传输层的服务数据单元,它被称为报文(message)。
(4) 传输层的报文传送到网络层时,由于网络层数据单元的长度限制,传输层长报文将被分成多个较短的数据段,加上网络层的控制报头,就构成了网络层的服务数据单元,它被称为分组(packet)。
(5) 网络层的分组传送到数据链路层时,加上数据链路层的控制信息(帧头和帧尾),就构成了数据链路层的服务数据单元,它被称为帧(frame)。
(6) 数据链路层的帧传送到物理层后,物理层将以比特流的方式通过传输介质传输出去。
当比特流到达目的节点计算机B时,再从物理层依层上传,每层对各层的控制报头进行处理后,将用户数据上交给上一层,最后将计算机A的应用进程A的数据传送给计算机B的应用进程B。