计算机网络概述
1计算机网络的概念
简而言之,计算机网络就是一些互联的、自治的计算机系统的集合。
计算机网络的正式定义是这样的:
计算机网络是利用通信线路和通信设备,将地理位置不同的、功能独立的多台计算机互连起来,以功能完善的网络软件来实现资源共享和信息传递,这就构成了计算机网络系统。
2计算机网络的组成
从不同的角度,可以将计算机网络的组成分为如下几类。
- 从组成部分上看
一个完整的计算机网络主要由硬件、软件、协议三大部分组成。
硬件:主机(或称端系统)、通信链路(如双绞线、同轴电缆、光纤)、交换设备(如路由器、交换机)等。
软件:安装在端系统的应用软件。
协议:明确规定了所交换的数据的格式以及有关的同步问题。
网络协议三要素:语法(即数据与控制信息的结构或格式)、
语义(即需要发出何种控制信息,完成何种动作以及做出何种响应;即事件实现顺序的详细说明)、
同步(即事件实现顺序的详细说明)。 - 从功能组成上看
计算机网络由通信子网和资源子网组成。如图1为在ISO/OSI模型中的划分。
通信子网:作用 :负责全网的数据处理和数据管理,以最大限度实现全网资源共享 。
组成:计算机和计算机的外部设备 、软件和数据 。
资源子网:作用 :负责全网的数据传输,为用户提供入网接口 。
组成:由传输线路和转接部件组成,即通 信线路和连接设备
- 从工作方式上看
计算机网络可分为边缘部分和核心部分。
边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
图2给出了这两部分的示意图。
3计算机网络的功能
- 数据通信(计算机网络最基本和最重要的功能)
用来实现联网计算机之间各种信息的传输,并将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理。例如,文件传输、电子邮等应用。 - 资源共享
资源共享可以是软件共享、数据共享,也可以是硬件共享。 - 分布式处理
当计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。 - 提高可靠性
计算机网络中的各台计算机可以通过网络互为替代机。
即当网络中某一台计算机的处理负担过重时,可以将其作业转移到其他空闲的机器上去执行,从而提高系统的利用率,增加整个系统的利用率。 - 负载平衡(提高系统处理能力)
将工作任务均衡地分配给计算机网络中的各台计算机。
如当网络中某一台计算机的处理负担过重时,可以将其作业转移到其他空闲的机器上去执行,从而提高系统的利用率,增加整个系统的利用率。
提高可靠性和负载平衡其实可以看做分布式处理的延申。
4计算机网络的分类
- 按分布范围分类:广域网(WAN)、城域网(MAN)、局域网(LAN)、个人区域网(PAN)。
广域网(交换技木):通常是直径为几十千米到几千千米的区域,因而有时也称远程网。广域网是因特网的核心部分。连接广域网的各结点交换机的链路一般都是高速链路,具有较大的通信容量。
城域网(大多采用以太网技术):城域网的覆盖范围可以跨越几个街区甚至整个城市,覆盖区域的直径范围是5~50km。城域网大多采用以太网技术,因此有时也常并入局域网的范围讨论。
局域网(广播技术):局域网一般用微机或工作站通过高速线路相连,覆盖范围较小,通常是直径为几十米到几千米的区域。局域网在计算机配置的数量上没有太多的限制,少的可以只有两台,多的可达几百台。
个人区域网(无线技术):个人区域网是指在个人工作的地方将消费电子设备(如平板电脑、
智能手机等)用无线技术连接起来的网络,也常称为无线个人区域网(WPAN),覆盖区域的直径约为10m。 - 按传输技术分类:广播式网络、点对点网络。
广播式网络所有联网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他的计算机都会“收听”到这个分组。接收到该分组的计算机将通过检查目的地址来决定是否接收该分组。
点对点网络每条物理线路连接一对计算机。若通信的两台主机之间没有直接连接的线路,则它们之间的分组传输就要通过中间结点进行接收、存储和转发,直至目的结点。
是否采用分组存储转发与路由选择机制是点对点式网络与广播式网络的重要区别。 - 按拓扑结构分类:总线型、星形、环形、网状形网络。如图3所示。
(1)总线形网络用单根传输线把计算机连接起来。总线形网络的优点是建网容易、增/减结点方便、节省线路。缺点是重负载时通信效率不高、总线任意一处对故障敏感。
(2)星形网络每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机,现在一般是交换机或路由器。星形网络便于集中控制和管理,因为端用户之间的通信必须经过中央设备。缺点是成本高、中心设备对故障敏感。
(3)环形网络所有计算机接口设备连接成一个环。环形网络最典型的例子是令牌环局域网。环可以是单环,也可以是双环,环中信号是单向传输的。
(4)网状网络一般情况下,每个结点至少有两条路径与其他结点相连,多用在广域网中。其有规则型和非规则型两种。其优点是可靠性高,缺点是控制复杂、线路成本高。
以上4种基本的网络拓扑结构可以互联为更复杂的网络。 - 按使用者分类:公用网、专用网。
公用网(public network)这是指电信公司出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。
专用网(private network) 这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如,军队、铁路、银行、电力等系统均有本系统的专用网。 - 按交换技术分类:电路交换网络、报文交换网络、分组交换网络。
电路交换网络在源结点和目的结点之间建立一条专用的通路用于传送数据,包括建立连接、传输数据和断开连接三个阶段。最典型的电路交换网是传统电话网络。如图:
报文交换网络用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文。整个报文传送到相邻结点,全部存储后,再转发给下一个结点,重复这一过程直到到达目的结点。每个报文可以单独选择到达目的结点的路径。如图:
分组交换网络(也称包交换网络)将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组(包),以存储-转发方式传输。如图:
6. 按介质分类:有线网络、无线网络。
有线网络:双绞线网络、同轴电缆网络等类型。
无线网络:蓝牙、微波、无线电等类型
5计算机网络的标准化工作
因特网的所有标准都以RFC (Request For Comments)的形式在因特网上发布,但并非每个RFC都是因特网标准,RFC要上升为因特网的正式标准需经过以下4个阶段。
(1)因特网草案( Internet Draft)。这个阶段还不是RFC文档。
(2)建议标准(Proposed Standard)。从这个阶段开始就成为RFC文档。
(3)草案标准(Draft Standard)。
(4)因特网标准( Internet Standard)。
6计算机网络的性能指标
- 速率
网络中的速率是指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据传输速率、数据率或比特率,单位为b/s (比特/秒)(或bit/s,有时也写为bps)。数据率较高时,可用kb/s (k = 103)、Mb/s (M = 103k)或Gb/s(G= 103M)表示。在计算机网络中,通常把最高数据传输速率称为带宽。
- 带宽
(1)带宽本来是指某个信号具有的频带宽度。即表示某信道允许通过的信号频带范围就称为该信道的带宽,单位是赫兹(Hz)。
(2)而在计算机网络中,带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据传输速率”的同义语,单位是比特/秒(b/s)。
当提到网络的速率时,往往指的是额定速率或标称速率,而并非网络实际上运行的速率。
- 吞吐量
指单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络带宽或网络额定速率的限制。
- 时延
指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需要的时间,它由4部分构成:发送时延、传播时延、处理时延和排队时延。
●发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送时延也叫作传输时延(不常用)。
计算公式为
发送时延=分组长度(数据帧长度)bit/信道宽度(发送速率)bit/s
●传播时延是电磁波在信道中传播一定的距离需要花费的时间,即一个比特从链路的一端传播到另一端所需的时间。
计算公式为
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
电磁波在自由空间的传播速度:3.0105km/s
电磁波在铜线电缆的传播速度:2.3105km/s
电磁波在光纤的传播速度:2.0*105km/s
●处理时延数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如,分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。
●排队时延分组在进入路由器后要先在输入队列中排队等待处理。路由器确定转发端口后,还要在输出队列中排队等待转发,这就产生了排队时延。
总时延=发送时延+传播时延+处理时延+排队时延
- 时延带宽积
指发送端发送的第一个比特即将到达终点时,发送端已经发出了多少个比特,因此又称以比特为单位的链路长度,
即时延带宽积=传播时延×信道带宽
- 往返时延(Round-Trip Time,RTT)
指从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延。在互联网中,往返时延还包括各中间结点的处理时延、排队时延及转发数据时的发送时延。
- 利用率
信道利用率指出某一信道有百分之多少的时间是有数据通过的
即信道利用率=有数据通过时间/(有+无)数据通过时间
网络利用率则是全网络的信道利用率的加权平均值。
而信道利用率并非越高越好利用率增大时,当某信道的利用率增大时,该信道引起的时延也就迅速增加。这和高速公路的情况有些相似。
如果令D1 表示网络空闲时的时延,D表示网络当前的时延(设现在的网络利用率为U),那么在适当的假定条件下,可以用下面的简单公式来表示D与D以及利用率U之间的关系:
D = D1 /1-U
如图6所示信道利用率或网络利用率过高就会产生非常大的时延。
计算机网络的非性能特征:费用、质量、标准化、可靠性、可扩展性和可升级性、易于管理和维护。
计算机网络体系结构与参考模型.
- 计算机网络分层结构
分层的基本原则
1.各层之间相互独立,每层只实现一种相对独立的功能
2.每层之间界面自然清晰,易于理解,相互交流尽可能的少(高内聚,低耦合)
3.结构上可分割开,每层都采用合适的技术实现
4.保证下层对上层的独立性,上层单向使用下层提供的服务
5.整个分层结构尽可能地促进标准化工作
分层结构
1.实体:第n层中的活动元素称为n层实体,同一层的实体称为对等实体
2.协议:为网络中对等实体实现数据交换而建立的(level水平)规则,标准或约定称为网络协议
3.接口(访问服务点SAP):上层使用下层服务的入口
4.服务(service):下层为相邻上层提供的功能调用(单向,vertical垂直)
5.SDU服务数据单元:为完成用户所要求的功能而应传送的数据
6.PCI协议控制信息:控制协议操作的信息
7.PDU协议数据单元(即PCI+SDU):对等层次之间传送的数据单元 - 计算机网络协议、接口、服务的概念
协议
协议就是规则的集合。在网络中要做到有条不紊地交换数据,就必须遵循一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及相关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,它是控制两个(或多个)对等实体进行通信的规则的集合,也就是水平的。网络协议也简称为协议。
协议由语法、语义和同步三部分组成。
语法规定了传输数据的格式;
语义规定了所要完成的功能,即需要发出何种控制信息、完成何种动作及做出何种应答;
同步规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。
接口
接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义接口。在典型的接口上,同一结点相邻两层的实体通过服务访问点(Service Access Point,SAP)进行交互。服务是通过SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。每个SAP都有一个能够标识它的地址。SAP是一个抽象的概念,它实际上是一个逻辑接口(类似于邮政信箱),但和通常所说的两个设备之间的硬件接口是很不一样的。
服务
服务是指下层为紧邻的上层提供的功能调用,它是垂直的。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务。
上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语。OSI参考模型将原语划分为4类:
(1)请求(Request)。由服务用户发往服务提供者,请求完成某项工作。
(2)指示(Indication)。由服务提供者发往服务用户,指示用户做某件事情。
(3)响应(Response)。由服务用户发往服务提供者,作为对指示的响应。
(4)证实(Confirmation)。由服务提供者发往服务用户,作为对请求的证实。
这4类原语用于不同的功能,如建立连接、传输数据和断开连接等。有应答服务包括全部4类原语,而无应答服务则只有请求和指示两类原语。
一定要注意,协议和服务在概念上是不一样的。首先,本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看到服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。其次,协议是"水平的”,即协议是控制对等实体之间通信的规则。但服务是"垂直的”,即服务是由下层通过层间接口向上层提供的。另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体"看得见"的功能才称为服务。
计算机网络提供的服务可按以下三种方式分类:
(1)面向连接服务与无连接服务(如TCP)
在面向连接服务中,通信前双方必须建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放这三个阶段。
在*无连接服务(如IP、UDP)*中,通信前双方不需要先建立连接,需要发送数据时可直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这是一种不可靠的服务。这种服务常被描述为“尽最大努力交付”(Best-Effort-Delivery),它并不保证通信的可靠性。
(2)可靠服务和不可靠服务
可靠服务是指网络具有纠错,检错、应答机制,能保证数据正确、可靠地传送到目的地。
不可靠服务是指网络只是尽量正确、可靠地传送,但不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务。
对于提供不可靠服务的网络,其网络的正确性、可靠性就要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,如果不正确,用户把出错信息报告给信息的发送者,以便发送者采取纠错措施。通过用户的这些措施,可以把不可靠的服务变成可靠的服务。
(3)有应答服务和无应答服务
*有应答服务(文件传输服务)*是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不是由用户实现。所发送的应答可以是肯定应答,也可以是否定应答,通常在接受到的数据有错时发送否定应答。
*无应答服务(WWW服务)*是指接受方收到数据后不自动给出应答。若需要应答,由高层实现。 - ISO/OSI参考模型和TCP/IP模型
OSI参考模型
OSI参考模型有7层,自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。参考图7:
应用层:为应用程序或用户请求提供各种请求服务。OSI参考模型最高层,也是最靠近用户的一层,为计算机用户、各种应用程序以及网络提供接口,也为用户直接提供各种网络服务。
表示层:数据编码、格式转换、数据加密。提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
会话层:创建、管理和维护会话。接收来自传输层的数据,负责建立、管理和终止表示层实体之间的通信会话,支持它们之间的数据交换。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
传输层:数据通信。建立主机端到端的链接,为会话层和网络层提供端到端可靠的和透明的数据传输服务,确保数据能完整的传输到网络层。
网络层:IP选址及路由选择。通过路由选择算法,为报文或通信子网选择最适当的路径。控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。
数据链路层:提供介质访问和链路管理。接收来自物理层的位流形式的数据,封装成帧,传送到网络层;将网络层的数据帧,拆装为位流形式的数据转发到物理层;负责建立和管理节点间的链路,通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
物理层:管理通信设备和网络媒体之间的互联互通。传输介质为数据链路层提供物理连接,实现比特流的透明传输。实现相邻计算机节点之间比特流的透明传送,屏蔽具体传输介质和物理设备的差
TCP/IP模型
ARPA在研究ARPAnet时提出了TCP/IP模型,模型从低到高依次为网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型中的会话层、表示层和应用层)。TCP/IP模型的层次结构及各层的主要协议如图8所示。
OSI参考模型与TCP/IP模型的异同
1 相同点:基于独立的协议栈概念,强调网络技术独立性和端对端确认;都采用分层的方法,并为上层协议提供服务,每层功能大体相同,两个模型都能够在对应的层找到相应的功能。
2 不同点:分层不同,TCP/IP七层分为四层,并且TCP/IP参考模型的应用层对应OSI参考模型的上三层。数据链路层相对于OSI与物理层合二为一;OSl模型有三个主要明确概念,服务、接口、协议。而TCP/IP参考模型在三者的区别上不是很清楚。