计算机网络-计算机网络概述

网络、互联网和因特网

图0
图a,具有四个节点和三条链路的简单网络(三台计算机通过三条链路连接到一个集线器上)。图b,有多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络,这样的网络称为:互连网,从图中可以看出互连网也可以被理解为“网络中的网络”。因此全球最大的互连网又叫互联网(因特网 Internet)。网络把许多计算机连接在一起,而互联网则把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机(一般智能手机和智能电视机也行)。

互联网基础结构发展的三个阶段

  • 第一阶段(1969~1990):
    • 1969年美国国防部创建的 ARPANET最初只是一个单个的分组交换网,不是一个互连网。
    • 1983年,TCP/IP协议成为 ARPANET上的标准协议,使得所有使用TCP/IP 协议的计算机都能利用互连网相互通信。
    • 人们把1983 年作为互联网的诞生时间。
    • 1990年,ARPANET正式宣布关闭。
  • 第二阶段(1985~1993):
    • 美国国家科学基金会围绕六个大型计算机中心建设了国家科学基金网NSFNET。它是一个三级结构的计算机网络,由主干网、地区网和校园网(企业网)组成。
    • NSFNET覆盖了全美主要的大学和研究所,并且成为互联网中的重要组成部分。
  • 第三阶段(1993~现在):
    图1
    • 从1993 年开始,由美国政府资助的NSFNET 逐渐被若干个商用的互联网主干网替代, 政府机构不再负责互联网的运营。互联网服务提供者ISP (InternetService Provider) 成为互联网的运营主体。
    • 多层次ISP结构:
      • 主干 ISP、地区ISP 和本地ISP;
      • 本地 ISP提供接入到互联网的服务,并收取一定的费用;
      • 不同层次的 ISP覆盖面积大小和拥有的IP 地址数目不同(互联网上的主机都必须有IP 地址才能上网)。

互联网的标准化工作

互联网的标准化工作对因特网的发展起到了非常重要的作用,其在制订标准上一个很大特点是面向公众。互联网所有的RFC技术文档都可以从互联网上免费下载,且任何人都可以随时用电子邮件发表对某个文档的意见或建议。互联网协会(ISOC)是一个国际性组织,它负责对互联网进行全面管理,以及在世界范围内促进其 发展和使用。制订互联网的正式标准需要经过三个阶段。互联网草案阶段,此时在这个阶段还不是RFC文档。建议标准阶段,从这个阶段开始就成为RFC文档。互联网标准阶段,此阶段下一个互联网标准可以和多个RFC文档关联。

互联网的组成

图2
互联网的组成如图所示。从其工作方式上看,可以划分为以下两大块:边缘部分、核心部分。边缘部分由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传输数据、音频或视频)和资源共享。
核心部分由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

边缘部分

边缘部分中,主机之间有两种通信方式:C/S方式和P2P方式。其通讯示意图如图所示。
图3

  • 客户/服务器方式(C/S方式)
    客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户/服务器方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。
  • 对等连接方式(P2P 方式)
    主机之间通信时不区分服务请求方和服务提供方,只要都运行了P2P 软件,就可以进行对 等连接通信。对等连接方式从本质上看仍然使用客户/服务器方式,只是对等连接中的每一台主机既是 客户又是服务器。

核心部分

核心部分向边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其他主机通信。核心部分的关键设备是路由器 (router),其任务是进行分组交换 (packet switching) ,这是核心部分最重要的功能。数据交换方式主要有三种:电路交换、分组交换、报文交换。

  • 电路交换
    图4
    整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。当电话机的数量增多时,就要使用很多彼此连接起来的交换机来完成全网的交换任务。用这样的方法,就构成了覆盖全世界的电信网。电路交换的过程分为三个阶段:

    • 建立连接:建立一条专用的物理通路(占用通信资源)。
    • 通话:主叫和被叫双方互相通电话(一直占用通信资源)。
    • 释放连接:释放刚才使用的专用的物理通路(归还通信资源)。

    电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。其缺点是计算机数据具有突发性,这导致使用电路交换传送数据时,通信线路的利用率很低,真正用来传送数据的时间往往不到10%,甚至不到1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。所以计算机网络不采用电路交换,而是采用分组交换

  • 分组交换
    图5
    分组交换采用存储转发技术。把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。分组是在互联网中传送的数据单元。

    • 发送端将所有分组连续地发送出去,直至发送完毕。
    • 假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。接收端收到分组后剥去首部,还原成原来的报文。

    其主要优点有:

    • 高效:在分组传输的过程中动态分配传输带宽,对通信链路逐段占用。
    • 灵活:为每一个分组独立地选择最合适的转发路由。
    • 迅速:以分组作为传送单位,不先建立连接就能向其他主机发送分组。
    • 可靠:分布式多路由网状拓扑结构,使网络有很好的生存性;且其具有保证可靠性的网络协议。

    其主要的缺点有:

    • 时延:分组在各路由器存储转发时需要排队。
    • 不保证带宽:通讯资源动态分配。
    • 增加开销:各分组必须携带控制信息;路由器需要暂存分组,维护转发表等。
  • 报文交换
    将整块数据作为一个报文,采用存储转发模式的数据交换方式叫做报文交换。由于该方式时延较长,因此现在很少使用该交换方式。

  • 总结对比
    图6

    • 若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
    • 报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
    • 由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

计算机网络类别

图7

  • 总线型
    用单根传输线把计算机连接起来。
    • 优点:建网容易,增减节点方便,节省线路。
    • 缺点:重负载时通信效率不高,任意一处出现故障后全网瘫痪。
  • 环型
    将所有计算机网络结构连接成一个环,环可以是单环或者双环,环中信号是单向传输的。
    • 优点,缺点和总线型差不太多。
  • 星形
    将每个计算机都以单独的线路与中央设备相连。中央设备现在一般是交换机。
    • 优点:便于网络的集中控制和管理。
    • 缺点:成本高,中央设备对故障敏感。
  • 树形
    树形网络也叫多星级型网络。树形网络是由多个层次的星型结构纵向连接而成,树的每个节点都是都是计算机或转接设备。一般来说,越靠近树的根部,节点设备的性能就越好。与星型网络相比,树形网络总长度短,成本较低,节点易于扩充,但是树形网络复杂,与节点相连的链路由故障时,对整个网络的影响较大
    • 优点:易于扩展,故障隔离较容易。
    • 缺点:各个节点对根的依赖性太大。
  • 网状
    每个节点至少由两条路径与其它节点相连接,多用在广域网中。

计算机网络性能

图8

  • 带宽
    在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据库”。数据率的单位bit/s
  • 吞吐量
    吞吐量表示在单位时间内通过某个网络(或信道、接口)的实际数据量。其受网络的带宽或网络的额定速率的限制。
  • 时延
    指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。其包含发送时延,传播时延,处理时延,排队时延
  • 时延带宽积
    把以上讨论的网络性能的两个度量,即传播时延和带宽相乘,就得到了另一个很有用的度量:传播时延带宽积。
  • 往返时间RTT
    往返时间RTT(Round-TripTime)表示从发送方发送完数据到发送方收到接收方的确认所经过的时间。
  • 利用率
    利用率有信道利用率和网络利用率两种。信道利用率是指某信道有百分之几的时间是被利用的(即有数据通过)。网络利用率是指全网络的信道利用率的加权平均值。信道利用率并非越高越好。根据排队论,当某信道的利用率增大时,该信道的时延会迅速增加。

计算机网络体系结构

图9
在网络中交换数据,必须遵守相关的网络协议。网络协议 (network protocol),是为进行网络中的数据交换而建立的规则、标准或约定。网络协议主要由以下三个要素组成:语法(数据与控制信息的结构或格式)、语义(需要发出何种控制信息,完成何种动作,做出何种响应)、同步(事件实现顺序的详细说明)。理论上网络协议为OSI七层体系结构,而实际国际标准使用的是TCP/IP的四层协议体系结构。综合OSI和TCP/IP的优点后,形成了网络的五层协议结构。

五层协议

  • 应用层
    • 任务:通过应用进程(主机中正在运行的程序)的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则,对于不同的网络应用需要有不同的应用层协议。
    • 交互的数据单元:报文。
    • 常用协议:域名系统DNS , 支持万维网应用的HTTP协议 、 支持电子邮件的SMTP协议。
  • 运输层
    • 任务:为两台主机中进程之间的通信提供通用(并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务)的数据传输服务。
    • 功能:复用(多个应用层可同时使用下面运输层的服务)、分用(运输层把收到的信息分别交付上面的应用层中的相应过程)
    • 主要协议:传输控制协议TCP(提供面向连接的、可靠的数据传输服务,其数据传输的单元是报文段)。用户数据报协议UDP(提供无连接的尽最大努力的数据传输服务,但不保证数据传输的可靠性,其数据传输的单元是用户数据报)
  • 网络层
    • 任务:负责为分组交换网上的不同主机提供通信服务。
    • 数据单元:分组或数据报。
    • 常用协议:网际协议IP和许多种路由选择协议。
  • 数据链路层
    • 任务:在两个相邻节点之间传送数据帧(将网络层下来的IP数据报组装成帧,每一帧包括数据和必要的控制信息)。如发现有差错,就简单地丢弃出错的帧。如果要纠错就要采用可靠的传输协议,这样会使数据链路层的协议更复杂。
    • 常用协议:PPP、CSMA/CD等。
  • 物理层
    • 任务:实现比特(0或 1)的传输,确定表示数据的电压(代表1和0)以及连接电缆的插头应当有多少根引脚,各引脚应如何连接等。需要注意的是传递信息的物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
    • 数据单元:比特。

TCP/IP 体系结构

TCP/IP最下面的网络接口层并没有属于TCP/IP体系的具体协议,目的是为了允许任何形式的网络接口使用TCP/IP协议。TCP/IP四层协议的主机间的信息交换和五层协议异曲同工。值得注意的是随着技术的发展,TCP/IP 体系结构并不严格遵循分层的概念,某些应用程序可以直接使用IP层,甚至直接使用最下面的网络接口层。当然还有另外一种方法用来表示TCP/IP协议族,他的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇集到IP协议中。其结构如图所示。
图9

结语

该文章简单讲述了计算机网络的概述,由于本人并非计算机专业出身,也未学过计算机网络这一门课程,文章的主要作用也只是大致了解计算机网络。因此该文章可能有出错或者不全的地方,希望读者发现后可以指正。后续文章会对网络的五层协议结构的每一层的具体细节进行描述。