计算机网络原理第一章

计算机网络原理第一章

1.1 计算机网络发展简史

计算机网络发展的四个阶段

计算机网络是计算机技术与通信技术相结合的产物。随着计算机技术和通信技术的不断发展,计算机网络也经历了从简单到复杂,从单机到多机的发展过程,其发展过程大致可以细分为以下4个阶段。

  1. 面向终端的计算机网络:20世纪50~60年代,计算机网络进入到面向终端的阶段,以主机为中心,通过计算机实现与远程终端的数据通信。

  2. 多台计算机互连的计算机网络

    这一阶段主要有两个标志性成果:

    1. 提出分组交换技术
    2. 形成了TCP/IP协议雏形

    在这阶段最引人注目的是ARPAnet的建立,高等研究计划署网络(英语:Advanced Research Projects Agency Network,缩写ARPAnet)是美国国防高等研究计划署开发的世界上第一个运营的数据包交换网络,是全球互联网的鼻祖。由于ARPAnet规模增大,人们需要一种统一的体系结构,1973年12月25日,Vinton Cerf(温顿·瑟夫)和 Robert Kahn(罗伯特卡恩)完成了TCP描述。1978年分离出IP和TCP,后又增加UDP。

  3. 面向标准化的计算机网络

    • IBM公司(1974)SNA(系统网络体系结构)
    • DEC公司DNA(数字网络系统结构)
    • Univac公司DCA(数字通信体系结构)
    • Burroughs公司BNA(宝来网络体系结构)

    这一阶段标准性成果有

    • 制定网络体系结构
    • OSI-RM模型形成TCP/IP系统结构形成的以太网
    • 公用数据网

    在ARPANET的基础上,形成了以TCP/IP为核心的因特网。任何一台计算机只要遵循TCP/IP协议族标准,并有一个合法的IP地址,就可以接入到Internet。TCP和IP是Internet所采用的协议族中最核心的两个, 分别称为传输控制协议(Transmission Control Protocol, TCP)和互连网协议(Internet Protocol, IP)。

  4. 面向全球互联的计算机网络

因特网发展回顾

因特网起源于阿帕网ARPAnet

1986年,美国NSF建立了国家科学基金网 NSFNET, 因特网逐步形成三级层次架构:

1993年开始,由美国政府资助的 **NSFNET*逐渐被若干个商用的ISP **网络所代替。

1994 年开始创建了 4 个网络接入点 **NAP (NetworkAccess Point),分别由 **4 个电信公司经营。

1994 年到现在,因特网逐渐演变成多级结构、覆盖全球的大规模网络。

因特网在我国的发展

第一阶段:1986年–1994年

第二阶段:1995年–2007年

第三阶段:从2008年–以规模发展为标志

1.2计算机网络的定义及其特点

计算机网络的定义

计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

重要的两点:

  1. 多种硬件:包括计算机、只能手机、智能传感器等
  2. 多种应用:包括数据、语音、视频、以及今后可能出现的各种应用

“网络”是一个统称,泛指把人或物互连在一起而形成的系统

大众熟悉的三大类网络:

  • 电信网络:提供电话、电报及传真等服务
  • 有限电视网络:向用户传送各种电视节目
  • 计算机网络:使用户在计算机之间传送数据文件

其中发展最快的并起到核心作用的是计算机网络

计算机网络的特点

  • 连通性:使上网用户之间都可以交换信息(数据,以及各种音频视频) ,好像这些用户的计算机都可以彼此直接连通一样(注意,互联网具有虚拟的特点,无法准确知道对方是谁,也无法知道对方的位置)
  • 共享性:指资源共享,资源共享的含义是多方面的。可以是信息共享,软件共享,也可以是硬件共享

1.3互联网概述

互联网的定义

互联网,特指 Internet,它起源于美国,是由数量极大的各种计算机网络互连起来而形成的一个互连网络。它采用 TCP/IP 协议族作为通信规则,是一个覆盖全球、实现全球范围内连通性和资源共享的计算机网络。

internet Internet 的区别

  • 以小写字母 “i” 开始的 internet(互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。

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

所以任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网 (internet),而不是互联网(Internet)。

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

  • **第一阶段:**从单个网络 ARPANET 向互联网发展的过程。1983 **年,TCP/IP **协议成为 ARPANET 上的标准协议,使得所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。人们把 1983 作为互联网的诞生时间。1990年,ARPANET 正式宣布关闭。

  • 第二阶段:建成了三级结构的互联网。它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。

  • 第三阶段:逐渐形成了多层次 ISP 结构的互联网。出现了**互联网服务提供者 **ISP (Internet Service Provider)。任何机构和个人只要向某个 ISP **交纳规定的费用,就可从该 **ISP 获取所需 IP 地址使用权,并可通过该ISP 接入到互联网。根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分成为不同层次的ISP:主干ISP、地区ISP和本地ISP。

1.4计算机网络的类别

计算机网络的定义

计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

几种不同类别的网络

计算机网络有多种类别。典型包括:

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

    • 广域网WAN (Wide Area Network):作用范围通常为几十到几千公里。

    • 城域网MAN (Metropolitan Area Network):作用距离约为5~50 公里。

    • 局域网 LAN (Local Area Network) **:**局限在较小的范围(如 1 公里左右)。

    • 个人区域网 PAN (Personal Area Network) **:**范围很小,大约在 10 左右。

    • 若中央处理机之间的距离非常近(如仅1 米的数量级甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络

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

    • 公用网 (public network) 按规定交纳费用的人都可以使用的网络。因此也可称为公众网
    • 专用网 (private network) 为特殊业务工作的需要而建造的网络。
  • 用来把用户接到互联网的网络

    接入网 AN (Access Network),它又称为本地接入网或居民接入网。

    接入网是一类比较特殊的计算机网络,用于将用户接入互联网。接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分。接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络。从覆盖的范围看,很多接入网还是属于局域网。从作用上看,接入网只是起到让用户能够与互联网连接的“桥梁”作用。

1.5互联网的组成

从互联网的工作方式上看可以分为两大块

  • 边缘部分:有所有连接在互联网的主机组成。这部分由用户直接使用的,用来进行通信和资源共享
  • 核心部分:由大量网络和连接这些网络的路由器组成。这部分时为边缘部分提供服务的

计算机的边缘部分

主机A和主机B进行通信实质是指“运行在主机A上的某一个程序和运行在主机B上的另一个现场进行通信,即主机A的某一个进程和主机B上另一个进程进行通信

端系统之间的通信可以划分为两大类

  • 用户-服务器方式(C/S方式)即Client/Server方式,简称C/S方式。

    • 客户和服务器都是通信中涉及的两个应用进程

    • 客户-服务器方式所描述的是进程之间服务和被服务的关系

    • 客户是服务的请求方,服务器是服务的提供方

    • 服务请求方和服务提供方都要使用网络核心部分所提供的服务

  • 对等方式(P2P方式)即Peer-to-Peer方式,简称P2P方式

    • 对等连接指两个主机在通信时并不区分哪个时服务请求方还是服务提供方

    • 只要两个主机运行了对等连接软件(P2P软件)它们就可以进行平等的、对等连接通信

    • 双方都可以下载对方已经存储在影片中的共享文档

客户软件的特点

被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。

服务器软件的特点

  • 一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求
  • ==系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。==因此,服务器程序不需要知道客户程序的地址。
  • 一般需要强大的硬件和高级的操作系统支持。

客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。

对等连接方式的特点

对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。
例如主机 C 请求 D 的服务时,C 是客户,D 是服务器。但如果 C 又同时向 F提供服务,那么 C 又同时起着服务器的作用。

对等连接工作方式可支持大量对等用户(如上百万个)同时工作。

互联网的核心部分

  • 网络核心部分是互联网中最复杂的部分。
  • 网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
  • 在网络核心部分起特殊作用的是路由器 (router)。
  • 路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

分组转发是网络核心部分的最重要的功能

典型的交换技术:电路交换、分组交换、电报交换等

互联网等核心部分采用了分组交换技术

电路交换

电路交换的特点:

  • 2 部电话机只需要用 1 对电线直接连接就能够互相通话。

    5 部电话机两两直接相连,需 10 对电线。

    N 部电话机两两直接相连,需 N(N –1)/2 对电线。这种直接连接方法所需要的电线对的数量与电话机数量的平方( N 2 N^2 )成正比。

    当电话机的数量增多时,就要使用交换机来完成全网的交换任务。

    每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。 所采用的交换方式就是电路交换 (circuit switching)。

    电路交换必定是面向连接的。
    电路交换分为三个阶段:

    1. 建立连接:建立一条专用的物理通路,以保证双方通话时所需的通信资源在通信时不会被其他用户占用;
    2. 通信:主叫和被叫双方就能互相通电话;
    3. 释放连接:释放刚才使用的这条专用的物理通路(释放刚才占用的所有通信资源)。

    电路交换的用户始终占用端到端的通信资源

    电路交换的特点:计算机数据有突发性,这导致传送计算机数据时,线路的利用率很低。

分组交换

分组交换的特点:

  • 分组交换则采用存储转发技术。在发送端,先把较长的报文划分成较短的、固定长度的数据段。

    每一个数据段前面添加上首部构成分组 (packet)。

    分组交换网以“分组”作为数据传输单元。依次把各分组发送到接收端(假定接收端在左边)。

    接收端收到分组后剥去首部还原成报文。

    分组交换的传输单元:

    每一个分组的首部都含有地址(诸如目的地址和源地址)等控制信息。分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。每个分组在互联网中独立地选择传输路径。用这样的存储转发方式,最后分组就能到达最终目的地。

    在路由器 A 暂存查找转发表找到转发的端口转发,在路由器 C 暂存查找转发表找到转发的端口转发,在路由器 E 暂存查找转发表找到转发的端口转发,最后到达目的主机 H5

    在路由器中的输入和输出端口之间没有直接连线。
    路由器处理分组的过程是:

    1. 把收到的分组先放入缓存(暂时存储);
    2. 查找转发表,找出到某个目的地址应从哪个端口转发;
    3. 把分组送到适当的端口转发出去。

    主机与路由器的不同:

    • 主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。
    • 路由器对分组进行存储转发,最后把分组交付目的主机。

    分组交互的问题:分组在各结点存储转发时需要排队,这就会造成一定的时延。 分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。

    三种交换的比较:

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

1.6计算机网络的性能

计算机网络的性能指标

计算机网络的性能一般是指它的几个重要的性能指标,主要包括:速率、带宽、吞吐率、时延、时延带宽积、往返时间 RTT、利用率

速率

比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。
比特(bit)来源于 binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。
速率是计算机网络中最重要的一个性能指标,指的是数据的传送速率,它也称为数据率 (data rate) 或比特率 (bit rate)。速率的单位是 bit/s,或 kbit/s、Mbit/s、 Gbit/s等。例如 4 × 1 0 10 4 \times10^{10} bit/s 的数据率就记为 40 Gbit/s。速率往往是指额定速率或标称速率,非实际运行速率

带宽

两种不同意义:

  • “带宽”(bandwidth) 本来是指信号具有的频带宽度,其单位是赫(或千赫、兆赫、吉赫等)。
  • 在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的“最高数据率”。单位是 bit/s,即 “比特每秒”。

在“带宽”的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。也就是说,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。

吞吐率

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

吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。

吞吐量受网络的带宽或网络的额定速率的限制。

时延

时延 (delay 或 latency) 是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟或迟延。
网络中的时延由以下几个不同的部分组成:发送时延、传播时延、处理时延、排队时延。

发送时延

也称为传输时延。
发送数据时,数据帧从结点进入到传输媒体所需要的时间。
也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

传播时延

电磁波在信道中需要传播一定的距离而花费的时间。
发送时延与传播时延有本质上的不同。
信号发送速率和信号在信道上的传播速率是完全不同的概念。

处理时延

主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或查找路由)所花费的时间。

排队时延

分组在路由器输入输出队列中排队等待处理所经历的时延。
排队时延的长短往往取决于网络中当时的通信量。

时延带宽积

链路的时延带宽积又称为以比特为单位的链路长度。

往返时间RTT

互联网上的信息不仅仅单方向传输,而是双向交互的。因此,有时很需要知道双向交互一次所需的时间。

往返时间 RTT (round-trip time) 表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
当使用卫星通信时,往返时间 RTT 相对较长,是很重要的一个性能指标。

利用率

分为信道利用率和网络利用率。
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。

完全空闲的信道的利用率是零。

网络利用率则是全网络的信道利用率的加权平均值。
信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。

时延与网络利用率的关系

根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。
若令 D0 表示网络空闲时的时延,D 表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示 D 和 D0 之间的关系:

其中:U 是网络的利用率,数值在 0 到 1 之间。

计算机网络的非性能指标

一些非性能特征也很重要。它们与前面介绍的性能指标有很大的关系。主要包括:

  • 费用
  • 质量
  • 标准化
  • 可靠性
  • 可扩展性和可升级性
  • 易于管理和维护

1.7计算机网络的体系结构

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

计算机网络是个非常复杂的系统。
相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。
分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。

OSI 只获得了一些理论研究的成果,在市场化方面却失败了。原因包括:

  • OSI 的专家们在完成 OSI 标准时没有商业驱动力;
  • OSI 的协议实现起来过分复杂,且运行效率很低;
  • OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
  • OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。

法律上的 (de jure) 国际标准 OSI 并没有得到市场的认可。
非国际标准 TCP/IP 却获得了最广泛的应用。TCP/IP 常被称为事实上的 (de facto) 国际标准。

协议与划分层次

协议

网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。

网络协议的三个组成要素:

  • 语法:数据与控制信息的结构或格式 。
  • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 同步:事件实现顺序的详细说明。

由此可见,网络协议是计算机网络的不可缺少的组成部分。

协议的形式:

  • 一种是使用便于人来阅读和理解的文字描述。
  • 另一种是使用让计算机能够理解的程序代码。

这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。

对于非常复杂的计算机网络协议,其结构应该是层次式的。

划分层次

举例:

可以将要做的工作进行如下的划分:
第一类工作与传送文件直接有关。
确信对方已做好接收和存储文件的准备。
双方已协调好一致的文件格式。
两个主机将文件传送模块作为最高的一层 ,剩下的工作由下面的模块负责。

好处:

  • 各层之间是独立的
  • 灵活性好
  • 结构上可分割开
  • 易于实现和维护
  • 能促进标准化工作

缺点:

  • 降低效率
  • 有些功能会在不同的层次重复出现,
  • 因而产生了额外的开销

层数太少,就会使每一层的协议太复杂。层数太多,又会在描述和综合各层功能的系统工程任务时遇到较多的困难。

各层完成的主要功能:

  • 差错控制:使相应层次对方的通信更加可靠。
  • 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
  • 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
  • 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
  • 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合。 体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。

实现 (implementation) 是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

具有五层协议的体系结构

OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
TCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。
但最下面的网络接口层并没有具体内容。
因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。

主机 1 向主机 2 发送数据

OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。这个名词现已被许多非 OSI 标准采用。
任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”(peer layers)之间的通信。
各层协议实际上就是在各个对等层之间传递数据时的各项规定。

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

实体 (entity) 表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下层所提供的服务。 协议的实现保证了能够向上一层提供服务。
本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
上层使用服务原语获得下层所提供的服务。

同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP(Service Access Point) 。

服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。
OSI把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)
SDU 可以与 PDU 不一样,例如,可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。

协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。

TCP/IP的体系结构

实际上,现在的互联网使用的 TCP/IP 体系结构有时已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。

发布了81 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43309286/article/details/104362985
今日推荐