计算机网络——计算机网络概述

计算机网络

计算机网络(简称为网络)由若干结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或路由器等。

网络之间还可以通过路由器互连起来,这就构成了一个覆盖范围更大的计算机网络。这样的网络称为互连网(internetwork或internet)。因此互连网是“网络的网络”(network of networks)。

网络把许多计算机连接在一起,而互连网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。

internet与Internet

以小写字母i开始的internet(互连网)是一个通用名词,它泛指由多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议(即通信规则)可以任意选择,不一定非要使用TCP/IP协议。

以大写字母I开始的Internet(互联网,或因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。

互联网的标准化工作

制定互联网的正式标准要经过以下三个阶段:

  1. 互联网草案(Internet Draft)——互联网草案的有效期只有六个月。在这个阶段还不能算是RFC文档。
  2. 建议标准(Proposed Standard)——从这个阶段开始就成为RFC文档。
  3. 互联网标准(Internet Standard)——达到正式标准后,每个标准就分配到一个编号STD xx。一个标准可以和多个RFC文档关联。截止到2016年7月,互联网标准的最大编号是STD83。可见要成为互联网标准还是很不容易的。

要成为互联网标准,原先必须经过三个阶段,即建议标准→草案标准→互联网标准。由于“草案标准”容易和“互联网草案”混淆,从2011年10月起取消了“草案标准”这个阶段[RFC6410]。这样,现在制定互联网标准的过程变为两个阶段,即建议标准→互联网标准。在新的规定以前就已发布的草案标准,将按照以下原则进行处理:若已达到互联网标准,就升级为互联网标准;对目前尚不够互联网标准条件的,则仍称为发布时的名称“草案标准”。我们可以很方便地在网上查到有哪些RFC文档是互联网标准或建议标准[W-RFCS]。

互联网的组成

互联网的拓扑结构虽然非常复杂,并且在地理上覆盖了全球,但从其工作方式上看,可以划分为以下两大块:

边缘部分

由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。

在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)。下面分别对这两种方式进行介绍。

  1. 客户-服务器方式:客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。
  2. 对等连接方式:对等连接(peer-to-peer,简写为P2P。这里使用数字2是因为英文的2是two,其读音与to同,因此英文的to常缩写为数字2)是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为P2P方式。(迅雷的P2P下载)

核心部分

由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信。

在网络核心部分起特殊作用的是路由器(router),它是一种专用计算机(但不叫做主机)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

计算机网络的类别

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

  1. 广域网WAN(Wide Area Network)广域网的作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。
  2. 城域网MAN(Metropolitan Area Network)城域网的作用范围一般是一个城市,可跨越几个街区甚至整个城市,其作用距离约为5~50km。
  3. 局域网LAN(Local Area Network)局域网一般用微型计算机或工作站通过高速通信线路相连(速率通常在10Mbit/s以上),但地理上则局限在较小的范围(如1km左右)。
  4. 个人区域网PAN(Personal Area Network)个人区域网就是在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网WPAN(Wireless PAN),其范围很小,大约在10m左右。

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

  1. 公用网(public network) 这是指电信公司(国有或私有)出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网。
  2. 专用网(private network) 这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如,军队、铁路、银行、电力等系统均有本系统的专用网。

计算机网络的性能指标

1.速率

网络技术中的速率指的是数据的传送速率,它也称为数据率(data rate)或比特率(bit rate)。速率是计算机网络中最重要的一个性能指标。速率的单位是bit/s(比特每秒)(或b/s,有时也写为bps,即bit per second)。

当数据率较高时,就常常在bit/s的前面加上一个字母。例如,k(kilo)=10^3 =千,M(Mega)=10^6 =兆,G(Giga)=10^9 =吉,T(Tera)=10^12 =太,P(Peta)=10^15 =拍,E(Exa)=10^18 =艾,Z(Zetta)=10^21 =泽,Y(Yotta)=10^24 =尧 。这样,4×10 10 bit/s的数据率就记为40Gbit/s。

2.带宽

带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。例如,在传统的通信线路上传送的电话信号的标准带宽是3.1kHz(从300Hz到3.4kHz,即话音的主要成分的频率范围)。这种意义的带宽的单位是赫(或千赫、兆赫、吉赫等)。在过去很长的一段时间,通信的主干线路传送的是模拟信号(即连续变化的信号)。因此,表示某信道允许通过的信号频带范围就称为该信道的带宽(或通频带)。

在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”。在本书中提到“带宽”时,主要是指这个意思。这种意义的带宽的单位就是数据率的单
位bit/s,是“比特每秒”。

3.吞吐量

吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。

吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。显然,吞吐量受网络的带宽或网络的额定速率的限制。例如,对于一个1Gbit/s的以太网,就是说其额定速率是1Gbit/s,那么这个数值也是该以太网的吞吐量的绝对上限值。因此,对1Gbit/s的以太网,其实际的吞吐量可能也只有100Mbit/s,或甚至更低,并没有达到其额定速率。请注意,有时吞吐量还可用每秒传送的字节数或帧数来表示。

4.时延

时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。时延是个很重要的性能指标,它有时也称为延迟或迟延。

需要注意的是,网络中的时延是由以下几个不同的部分组成的:

  1. 发送时延 发送时延(transmission delay)是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

                发送时延 = 数据帧长度 / 发送速率 
    
  2. 传播时延 传播时延(propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。传播时延的计算公式是:

    	  传播时延 = 信道长度 / 电磁波在信道上传播的速度 
    
  3. 处理时延 主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等,这就产生了处理时延。

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

5.时延带宽积

把以上讨论的网络性能的两个度量——传播时延和带宽——相乘,就得到另一个很有用的度量:传播时延带宽积.

时延带宽积又称为以比特为单位的链路长度,即某段链路现在有多少比特。

6.往返时间RTT

在计算机网络中,往返时间RTT(Round-Trip Time)也是一个重要的性能指标。这是因为在许多情况下,互联网上的信息不仅仅单方向传输而是双向交互的。因此,我们有时很需要知道双向交互一次所需的时间。

在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。当使用卫星通信时,往返时间RTT相对较长,是很重要的一个性能指标。

7.利用率

利用率有信道利用率和网络利用率两种。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。

网络利用率则是全网络的信道利用率的加权平均值。

信道利用率并非越高越好。这是因为,根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。这和高速公路的情况有些相似。当高速公路上的车流量很大时,由于在公路上的某些地方会出现堵塞,因此行车所需的时间就会变长。网络也有类似的情况。当网络的通信量很少时,网络产生的时延并不大。但在网络通信量不断增大的情况下,由于分组在网络结点(路由器或结点交换机)进行处理时需要排队等候,因此网络引起的时延就会增大。

计算机体系结构

计算机网络是个非常复杂的系统。为了说明这一点,可以设想一种最简单的情况:连接在网络上的两台计算机要互相传送文件。显然,在这两台计算机之间必须有一条传送数据的通路。但这还远远不够。至少还有以下几项工作需要去完成:

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

还可以列举出一些要做的其他工作。由此可见,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时即提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

具有五层协议的体系结构

1.应用层(application layer)

应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。我们把应用层交互的数据单元称为报文(message)。

2.运输层(transport layer)

运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

运输层主要使用以下两种协议:

1.传输控制协议TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。

2.用户数据报协议UDP(User Datagram Protocol)——提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

3.网络层(network layer)

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。本书把“分组”和“数据报”作为同义词使用。

网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。

互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP层。在本书中,网络层、网际层和IP层都是同义语。

4.数据链路层(data link layer)

数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。

控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂些。

5.物理层(physical layer)

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

发布了8 篇原创文章 · 获赞 0 · 访问量 131

猜你喜欢

转载自blog.csdn.net/qq_38632594/article/details/104094066