计算机网络概述2

计算机网络的类别

计算机网络定义

​ 关于计算机网络较好的定义是[PETE11]:计算机网络主要是由一些通用的,可编程的硬件(一定包含中央处理器)互连而成。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛和 日益增长的应用

几种不同类型的计算机网络

计算机网络有多种类别,下面进行简单的介绍。

按照网络的作用范围进行分类

按照网络的作用范围进行分类

  • 广域网WAN(Wide Area Network):作用范围通常为几十到几千公里。
  • 城域网MAN(Metropolitan Area Network):作用范围一般为一个城市。
  • 局域网LAN(Local Area Network):作用范围一般为1KM左右。例如校园网或者企业网。
  • 个人区域网(Personal area Network):作用范围通常为10m左右。

按照网络的使用者进行分类

按照网络的使用者进行分类

  • 公用网(public network):指的是电信公司出资建造的大型网络。公用的意思是所有愿意按电信公司的规定所缴纳费用的人都可以使用这种网络,因此公用网也称之为公众网

  • 专用网(private network):某个部门为满足自己的特殊要求而建造的网络,这种网络不向本单位以外的人提供服务。例如军队,铁路,银行,电力等系统。

公用网和专用网都可以提供多种服务。如果传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。

把用户接入到互联网的网络

用来把用户连接到互联网的网络

​ 这种网络是接入网AN(Access Network),又称之为本地接入网居民接入网。这是一类比较特殊的计算机网网络。由前面介绍,用户必须接入ISP才能接入到互联网。接入网一般指的是从某用户端系统到互联网的第一个路由器

计算机网络的性能

​ 计算机网络的性能一般指的是它的几个重要的性能指标,但除了这些重要的性能指标,还有一些非性能特征。

计算机网络的性能指标

  1. 速率:计算机发出的信号都是数字形式的,bit表示二进制数字,速率指的是数据的传输速率,也称之为数据率或者比特率。速率的单位是比特每秒(bit/s),当速率较高时,可以再bit/s前面加上K,M,G等,之间的关系依次是\(10^3\)。值得注意的是,当提及到网络的速率的时候,往往指定的是额定速率标准速率,而并非网络上的实际运行的速率。

  2. 带宽(bandwidth):带宽有以下两个不同的意义:

    1. 带宽本来指的是某个信号具有的频带宽度,信号的带宽指的是该信号所包含的各种不同频率成分所占的频率范围。带宽的单位是赫兹(HZ),当然还有千赫,兆赫等等。在过去的很长时间里,通信的主干线路传送的主要是模拟信号(连续变化的信号),因此表示某信道允许通过的信号频带范围称之为该信道的带宽
    2. 在计算机网络中,带宽用来表示网络中某通道中传送数据的能力,因此网络带宽表示单位时间内网络中的信道能够通过的最高速率,这种意义的的带宽的单位就是数据率的单位bit/s,一条通信链路的带宽越宽,其所能传输的最高数据率越高
  3. 吞吐量:吞吐量表示单位时间内通过某个网络的实际的数据量。吞吐量经常用于对现实世界网络的一种测量。以便直到实际上有多少数据量能通过网络。。显然,吞吐量受网络的带宽或者实际速率影响。

  4. 时延(delay or latency):指的是数据从网络的一端传送到另一端所需的时间,时延是一个很重要的性能指标,有时候也称之为延迟或者迟延。值得注意的是,时延是由以下及部分组成:

    1. 发送时延:发送时延(transmission delay)是主机或者路由器发送数据帧所需的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送时延也称之为传输时延。发送时延的计算公式是:

    \(发送时延=\frac{数据帧长度(bit)}{发送速度(bit/s)}\)

    1. 传播时延:传播时延(propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。传播时延的计算公式是:
      \(传播时延=\frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)}\)

      电磁波在自由空间传播速率是光速,即\(3.0x10^{8}m/s\)。电磁波在网络传输媒体中的传播速率比在自由空间内低一点:在铜线电缆中传播速率大约为\(2.3x10^{5}m/s\);在光纤中传播的速率约为\(2.0x10^{8}m/s\)。例如在1000m长的光纤线路上产生的传播时延为

      \(\frac{1000x100m}{2.0x10^{8}}=5ms\)

    2. 处理时延:主机获取路由器在收到分组时要花费一定的时间处理,例如分析分组的首部、从分组中提取数据部分、进行差错检测或查找适当的路由等,这就产生了处理时延。

      1. 排队时延:分组经过网络传输的时候,要经过许多路由器,但分组进入路由器后要先在输入列表中排队等待处理,在路由器确定了转发接口后,还要在输出队列中排队等待转发,这就产生了排队时延。排队时延的长短往往取决于网络当时的通信量,当网络的通信量很大的时候就会发生队列溢出,使分组丢失。这相当于排队时延为无穷大。

这样,数据在网络中经历的总时延就是以上4种时延之和:

\(总时延=发送时延+传播时延+处理时延+排队时延。\)
image

  1. 时延带宽积:\(传播时延x带宽\)
    例如:设某链路的传播时延为\(20ms\),带宽为\(10Mbit/s\),算出时延带宽积=\(2x10^{-2}x10x10^{6}=2x10^{5}bit\)链路的时延带宽积单位为比特。链路的时延带宽积又称之为以比特为单位的链路长度。

  2. 往返时间RTT(round-trip time):在许多情况下,互联网上的信息,不仅仅单方向传输而是双向交互的,因此我们需要知道双向交互一次所需的时间。例如,A向B发送数据,如果数据长度为100MB,发送速率为\(100Mbit/s\),那么,\(发送时间=\frac{数据长度}{发送速率}=\frac{100x2^{20}x8}{100x10^{6}}=8.39s\)

  3. 利用率:

    1. 信道利用率:信道利用率指的是某信道有百分之几的时间是被利用的。。完全空闲的信道利用率为0。

    2. 网络利用率:网络利用率则是全网络的信道利用率的加权平均值。信道利用率并非越高越好,这是因为,当某信道的利用率增加的时候,该信道引起的时延也迅速增加,类比于高速公路,当高速公路上的车流量很大的时候,就容易引起拥堵。如果令\(D_0\)表示网络空闲时的时延,\(D\)表示当前网络的时延,那么在适当的假定条件下,可以用下列公式表示\(D,D_0,和利用率U\)之间的关系:
      \(D=\frac{D_0}{1-U}\)

​ 这里U指的是网络的利用率,数值在\(0-1\)之间。当\(网络的利用率达到其容量的1/2\)的时候,时延就要加倍。特别注意的是,当网络的利用率接近最大值1时,网络的时延就会趋近于无穷大。因为我们要知道:信道或者网络的利用率过高就会产生非常大的时延。因此,一些比较大的ISP通常会控制信道利用率不超过\(50%\),如果超过了就要准备扩容,增加线路的带宽。
image

计算机网络的非性能特征

  • 费用:网络的价格(包括设计和实现的费用)必须是要考虑的,一般来说,网络的性能越高,其价格就越高。
  • 质量:网络的质量取决于网络中所有构件的质量。网络的质量影响到许多方面,例如网络的可靠性,网络管理的简单性等等。
  • 标准化:网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准,最好是采用国际标准。
  • 可靠性:可靠性与网络的质量与性能有着密切的关系。
  • 可扩展性和可升级性:在构造网络时就应该考虑到今后可能会需要到的扩展和升级。网络的性能越高,其扩展费用往往也越高。难度也会相应增加。
  • 易于管理和维护:网络如果没有良好的管理与维护,就很难达到和保持所设计的性能。

计算机网络体系结构

计算机网络体系结构

计算机网络体系结构的形成

​ 计算机网络是一个非常复杂的系统,我们先设想一个最简单的情况:连接在网络上的两台计算机要相互传送文件。这两台计算机之间必须要有一条传送数据的通路,但远远不够,至少还有以下事情要做:

  1. 发起通信的计算机必须将数据通信的通路进行激活( activate)。所谓“激活”就是要发出一些信令,保证要传送的计算机数据能在这条通路上正确发送和接收。
  2. 要告诉网络如何识别接收数据的计算机。
  3. 发起通信的计算机必须査明对方计算机是否已开机,并且与网络连接正常。
  4. 发起通信的计算机中的应用程序必须弄清楚,在对方计算机中的文件管理程序是否已做好接收文件和存储文件的准备工作。
  5. 若计算机的文件格式不兼容,则至少其中一台计算机应完成格式转换功能。
  6. 对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交换机岀现故障等,应当有可靠的措施保证对方计算杋最终能够收到正确的文件。

协议的层次与划分

​ 在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这上规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(例如,应当发送
个应答信息),因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议( network protocol)。网络协议也可简称为协议。更进一步讲,网络协议主更由以下三个要去组成:

  • 语法:数据与控制信息的结构或格式。

  • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应

  • 同步:即事件实现顺序的详细说明。

    由此可见,网络协议是计算机网络不可缺少的组成部分。实际上,只要我们想让连接在网络上的另一台计算机做点什么事情(例如,从网络上的某台主机下载文件),我们都需要有协议。但是当我们经常在自己的个人电脑上进行文件存盘操作时,就不需要任何网络协议,除非这个用来存储文件的磁盘是网络上的某个文件服务器的磁盘。

​ 我们假设现在有一个文件传输任务:主机1要向主机2通过网络传输文件,我们可以将任务分为三类:第一类工作工作与传送文件直接相关。例如发送端的文件传送应用程序应当确信接收端的文件管理程序已做好接收和存储文件的准备。若两台主机所用的文件格式不一样,则至少其中的一台主机应完成文件格式的转换。这两项工作可以用一个文件传送模块来完成,这样,两台主机可以将文件传送模块最为最高的一层(如下图)。
image

​ 但是,我们并不想让文件传送模块完成全部工作的细节,这样会使文件传送模块过于复杂。可以再设立一个通信服务模块,用来保证文件和文件传送命令可靠地在两个系统之间交换。也就是说,让位于上面的文件传送模块利用下面的通信服务模块所提供的服务。我们还可以看出,如果将位于上面的文件传送模块换成电子邮件模块,那么电子邮件模块同样可以利用在它下面的通信服务模块所提供的可靠通信的服务。同样道理,我们再构造一个网络接入模块,让这个模块负责做与网络接口细节有关的
工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。同样道理,我们再构造一个网络接入模块,让这个模块负责做与网络接口细节有关的工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。

具有五层协议的体系结构

​ OSI的七层协议体系结构(图1-18(a))的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP体系结构则不同,但它现在却得到了非常广泛的应用。TCP/IP是一个四层的体系结构(图1-18(b)),它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。因此在学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构(图1-18(c)),这样既简洁又能将概念阐述清楚°。有时为了方便,也可把最底下两层称为网络接口层。
image

  1. 应用层(application layer):应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。我们把应用层交互的数据单元称为报文(message).
  2. 运输层(transport layer):运输层的仼务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。运输层主要使用以下两种协议:
  • 传输控制协议TCP(Transmission Control protocol)—提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)
  • 用户数据报协议UDP(User Datagram Protocol)提供无连接的、尽最大努力( best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
  1. 网络层(network layer):网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。本书把“分组”和“数据报”作为同义词使用。请注意:不要将运输层的“用户数据报UDP”和网络层的“IP数据报”弄混。此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。这里要强调指出,网络层中的“网络”二字,已不是我们通常谈到的具体网络,而是在计算机网络体系结构模型中的第3层的名称。互联网是由大量的异构( heterogeneous)网络通过路由器( (router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP( Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP层。在本书中,网络层、网际层和IP层都是同义语。

  2. 数据链路层(data link layer):数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂些。

  3. 物理层(physical layer):在物理层上所传数据的单位是比特。发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。当然,解释比特代表的意思,就不是物理层的任务。请注意,传递信息所利用的些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理层下面的物理媒体当作第0层。

注意,OSI参考模型把对等层次之间传送的数据单位称之为该层的协议数据单元PDU(Protocol Data Unit)。

实体、协议、服务和访问点

​ 在研究开放系统中的信息交换时,往往采用实体(entity)这一抽象的名词表示任何可发送或接收信息的硬件或软件进程

协议是两个对等实体(或多个实体)进行通信的规则的集合。在协议的控制下,两个对等实体之间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的的服务。

​ 需要注意的是,协议是水平的,即协议是控制对等实体之间通信的规则;但服务是垂直的,即由下层向上层通过层间接口提供。

TCP/IP的体系结构

​ 前面己经说过,TCP/IP的体系结构比较简单,它只有四层。图1-22给出了用这种四层协议表示方法的例子。请注意,图中的路由器在转发分组时最高只用到网络层而没有使用运输层和应用层。

image

​ 应当指出,技术的发展并不是遵循严格的OSI分层概念。实际上现在的互联网使用的TCP/IP体系结构有时已经演变成为图1-23所示的那样,即某些应用程序可以直接使用IP层,或甚至直接使用最下面的网络接口层[PETE11],图1-23是这种表示方法。在图中,网络接口层有时也称为子网层。但本书不采用“子网层”这种容易弄混淆的表示方法,因为这里的“子网”是指一些局域网和某些广域网(如ATM网),但从P层来看,这些网络属于数据链路层,也就是属于网络接口层。我们在第4章讲到P地址时,将会讲到“子网划分”。但子网划分中的“子网”和图1-23中“子网层”中的“子网”是完全不同的概念。

image

​ 还有一种方法,就是分层次画出具体的协议来表示TCP/IP协议族(图1-24),它的特点
是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各
种协议都向下汇聚到一个P协议中。这种很像沙漏计时器形状的TCPP协议族表明:TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的P over everything)。正因为如此,互联网才会发展到今天的这种全球规模。从图1-24不难看出P协议在互联网中的核心作用。

image

posted @ 2021-10-20 17:06  LilyFlower  阅读(471)  评论(0编辑  收藏  举报