第1章 概述


1.1 计算机网络在信息时代中的作用

  • 互联网具有两个重要基本特点,连通性共享
    1. 连通性:互联网使上网用户之间,不管相距多远,都可以非常便捷、非常经济地交换各种信息。
    2. 共享指资源共享。资源共享可以是信息共享、软件共享,也可以是硬件共享。

1.2 互联网概述

1.2.1 网络的网络

  • 计算机网络(简称为网络)由若干结点和连接这些结点的链路组成。网络中的结点可以是计算机、集线器、交换机或路由器等。图 1-1(a) 给出了一个具有四个结点和三条链路的网络。有三台计算机通过三条链路连接到一个集线器上,构成了一个简单的计算机网络。可以用一朵云表示一个网络。
  • 网络之间通过路由器互连起来,构成覆盖范围更大的计算机网络。这样的网络称为互连网,如图 1-1(b) 所示。因此互连网是“网络的网络”。
  • 网络把许多计算机连接在一起,而互连网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。

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

  • 第一阶段是从单个网络 ARPANET 向互连网发展的过程。
  • 第二阶段的特点是建成了三级结构的互联网
  • 第三阶段的特点是逐渐形成了多层次 ISP 结构的互联网

1.2.3 互联网的标准化工作

  • 国际性组织互联网协会 (简称 ISOC),对互联网进行全面管理以及在世界范围内促进其发展和使用。ISOC 下面有一个技术组织叫做互联网体系结构委员会 (简称 IAB),负责管理互联网有关协议的开发。IAB 下面又设有两个工程部:
    1. 互联网工程部(简称 IETF)
    2. 互联网研究部(简称 IRTF)
  • 制定互联网的正式标准要经过以下三个阶段:
    1. 互联网草案——互联网草案的有效期只有六个月。在这个阶段还不能算是 RFC 文档。
    2. 建议标准——从这个阶段开始就成为 RFC 文档。
    3. 互联网标准——达到正式标准后,每个标准就分配到一个编号 STD xx。一个标准可以和多个RFC 文档关联。截止到 2016 年 7 月,互联网标准的最大编号是 STD 83。

1.3 互联网的组成

  • 互联网的拓扑结构非常复杂,并且覆盖了全球,从工作方式上看,划分为以下两大块:
    1. 边缘部分:由所有连接在互联网上的主机组成。用户直接使用,用来进行通信和资源共享。
    2. 核心部分:由大量网络和连接这些网络的路由器组成。为边缘部分提供服务的

1.3.1 互联网的边缘部分

  1. 计算机之间通信主机 A 的某个进程和主机 B 上的另一个进程进行通信
  2. 客户——服务器方式
    • 客户服务器是指通信中所涉及的两个应用进程。客户——服务器方式所描述的是进程之间服务和被服务的关系。
    • 客户是服务请求方,服务器是服务提供方。
    • 客户程序:
      1. 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。客户程序必须知道服务器程序的地址。
      2. 不需要特殊的硬件和复杂的操作系统。
    • 服务器程序:
      1. 是一种用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
      2. 系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。服务器程序不需要知道客户程序的地址。
      3. 需要有强大的硬件和高级的操作系统支持。
  3. 对等连接方式
    • 对等连接 (简称 P2P) 指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机运行了对等连接软件 (P2P 软件),就可以进行平等的、对等连接通信。双方都可以下载对方已经存储在硬盘中的共享文档。因此这种工作方式也称为 P2P 方式 。

1.3.2 互联网的核心部分

  1. 在网络核心部分起特殊作用的是路由器,是一种专用计算机。路由器是实现分组交换的关键构件,任务是转发收到的分组,是网络核心部分最重要的功能。
  2. 电路交换的主要特点
    • 从通信资源的分配角度来看,交换是按照某种方式动态地分配传输线路的资源
    • 必须经过“建立连接 (占用通信资源) →通话 (一直占用通信资源) →释放连接 (归还通信资源) ”三个步骤的交换方式称为电路交换
    • 在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
    • 使用电路交换来传送计算机数据时,线路的传输效率很低。因为计算机数据是突发式地出现在传输线路上的,因此线路上真正用来传送数据的时间很短。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。
  3. 分组交换的主要特点
    • 分组交换采用存储转发技术。
    • 把要发送的整块数据称为一个报文。在发送报文前,把较长的报文划分成为一个个更小的等长数据段。在每一个数据段前,加上由必要的控制信息组成的首部 (包头) 后,构成一个分组 (包)。分组是在互联网中传送的数据单元。分组的首部包含目的地址和源地址等,使分组能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。
    • 位于网络边缘的主机和位于网络核心部分的路由器都是计算机,但作用不一样。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则是用来转发分组的,进行分组交换的。路由器收到一个分组,先暂时存储,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。
    • 分组交换的优点
      1. 高效:在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用
      2. 灵活:为每一个分组选择合适的转发路由
      3. 迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
      4. 可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性
    • 分组交换的缺点
      1. 分组在各路由器存储转发时需要排队,会造成时延。由于分组交换不像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽。
      2. 各分组必须携带的控制信息造成了开销。分组交换网需要专门的管理和控制机制。
  • 三种交换的比较
    1. 电路交换——整个报文的比特流连续地从源点直达终点
    2. 报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
    3. 分组交换——单个分组 (这只是整个报文的一部分) 传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

1.4 计算机网络在我国的发展

1.5 计算机网络的类别

1.5.1 计算机网络的定义

  • 计算机网络的定义
    1. 计算机网络:计算机网络主要是由一些通用的、可编程的硬件互连而成的,这些硬件并非专门用来实现某一特定目的,它们能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
      • 计算机网络所连接的硬件,并不限于一般的计算机,还包括了智能手机;计算机网络并非专门用来传送数据,还能支持很多种的应用。

1.5.2 几种不同类别的计算机网络

  • 几种不同类别的计算机网络
    1. 按照网络的作用范围进行分类
      • 广域网 (WAN) 作用范围通常为几十到几千公里,也称远程网。广域网是互联网的核心部分,任务是长距离运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量。
      • 城域网 (MAN) 作用范围一般是城市,跨越几个街区甚至整个城市,作用距离约为 5~50km。城域网可以为一个或几个单位所拥有,也可以是一种公用设施,用来将多个局域网进行互连。目前很多城域网采用的是以太网技术,因此有时也常并入局域网的范围进行讨论。
      • 局域网 (LAN) 一般用微型计算机或工作站通过高速通信线路相连 (速率通常在10Mbit/s 以上),但地理上则局限在较小的范围 (如 1km 左右)。在局域网发展的初期,一个学校或工厂往往只拥有一个局域网,但现在局域网已非常广泛地使用,学校或企业大都拥有许多个互连的局域网 (这样的网络常称为校园网企业网)。
      • 个人区域网 (PAN) 在个人工作的地方把属于个人使用的电子设备 (如便携式电脑) 用无线技术连接起来的网络,因此也常称为无线个人区域网 (WPAN),其范围很小,大约在10m左右。
    2. 按照网络的使用者进行分类
      • 公用网:电信公司 (国有或私有) 出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网
      • 专用网:某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如,军队、铁路、银行、电力等系统均有本系统的专用网。
    3. 用来把用户接入到互联网的网络
      • 接入网 (AN),又称为本地接入网居民接入网
      • 接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分。是从某个用户端系统到互联网中的第一个路由器之间的一种网络。

1.6 计算机网络的性能

1.6.1 计算机网络的性能

  • 计算机网络的性能指标
    1. 速率
      • 比特来源于 binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。
      • 比特也是信息论中使用的信息量的单位。网络技术中的速率指的是数据的传送速率,它也称为数据率比特率
    2. 带宽
      • 在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”。这种意义的带宽的单位就是数据率的单位 bit/s,是比特每秒
      • 在“带宽”的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。也就是说,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
    3. 吞吐量
      • 吞吐量表示在单位时间内通过某个网络的实际的数据量。
      • 吞吐量受网络的带宽或网络的额定速率的限制。
    4. 时延
      • 时延指数据从网络的一端传送到另一端所需的时间。
      • 时延是很重要的性能指标,有时也称为延迟或迟延。
      • 时延由以下组成:
        1. 发送时延 发送时延是主机或路由器发送数据帧所需要的时间,从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。因此发送时延也叫做传输时延。发送时延的计算公式是:
          • 发送时延并非固定不变,而是与发送的帧长成正比,与发送速率成反比。
        2. 传播时延 传播时延是电磁波在信道中传播一定的距离需要花费的时间。传播时延的计算公式是:
          • 发送时延发生在机器内部的发送器中,与传输信道的长度 (或信号传送的距离) 没有关系。传播时延发生在机器外部的传输信道媒体上,与信号的发送速率无关信号传送的距离越远,传播时延就越大
        3. 处理时延  主机或路由器在收到分组时要花费时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等,这就产生了处理时延。
        4. 排队时延  分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。排队时延的长短往往取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。
        5. 数据在网络中经历的总时延就是四种时延之和:
        6. 对于高速网络链路,提高的仅是数据的发送速率而不是比特在链路上的传播速率
        7. 提高数据的发送速率减小了数据的发送时延。数据的发送速率的单位是每秒发送多少个比特,指在某个点某个接口上的发送速率。而传播速率的单位是每秒传播多少公里,指在某一段传输线路上比特的传播速率。
    5. 时延带宽积
      • 把网络性能的两个度量——传播时延和带宽相乘,就得到另一个度量:传播时延带宽积
      • 若发送端连续发送数据,则在发送的第一个比特即将达到终点时,发送端就已经发送了20 万个比特,而这 20 万个比特都正在链路上向前移动。因此,链路的时延带宽积又称为以比特为单位的链路长度
    6. 往返时间 RTT
      • 互联网上的信息不是单向传输而是双向交互的。
      • A 向 B 发送数据。如果数据长度是 100MB,发送速率是 100Mbit/s,那么
        1. 如果 B 正确收完 100MB 的数据后,就立即向 A 发送确认。再假定 A 只有在收到 B 的确认信息后,才能继续向 B 发送数据。显然,这需要等待一个往返时间 RTT (这里假定确认信息很短,可忽略 B 发送确认的时间)。如果 RTT=2s,那么可以算出 A 向 B 发送数据的有效数据率。
    7. 利用率
      • 利用率有信道利用率和网络利用率两种。
        1. 信道利用率指出某信道有百分之几的时间是被利用的。完全空闲的信道利用率是零。
        2. 网络利用率是全网络信道利用率的加权平均值。
        3. 信道利用率并非越高越好。根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也迅速增加。和高速公路的情况有些相似。当高速公路上的车流量很大时,由于在公路上的某些地方会出现堵塞,因此行车所需的时间就会变长。同样,当网络的通信量很少时,网络产生的时延并不大。但在网络通信量不断增大的情况下,由于分组在网络结点、进行处理时需要排队等候,因此网络引起的时延就会增大。
      • 如果令 D0 表示网络空闲时的时延,D 表示网络当前的时延,用下面的公式来表示 DD0 和利用率 U 之间的关系:
        1. U 是网络的利用率,数值在 0 到 1 之间。当网络的利用率达到其容量的 1/2 时,时延就要加倍。
        2. 当网络的利用率接近最大值 1 时,网络的时延就趋于无穷大。
        3. 信道或网络的利用率过高会产生非常大的时延
        4. 一些拥有较大主干网的 ISP 通常控制信道利用率不超过 50%。如果超过了就要准备扩容,增大线路的带宽。

1.6.2 计算机网络的非性能特征

  • 计算机网络的非性能特征
    1. 费用
      • 网络的性能与其价格密切相关。网络的速率越高,价格也越高。
    2. 质量
      • 网络的质量取决于网络中所有构件的质量,以及这些构件是怎样组成网络的。网络的质量影响很多方面,如网络的可靠性、网络管理的简易性,以及网络的性能。但网络的性能与网络的质量并不一样。
    3. 标准化
      • 网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准。采用国际标准的设计,可以得到更好的互操作性,更易于升级换代和维修,也更容易得到技术上的支持。
    4. 可靠性
      • 可靠性与网络的质量和性能密切相关。高速网络的可靠性不一定很差。但高速网络要可靠地运行,则往往更加困难,同时所需的费用也会较高。
    5. 可扩展性和可升级性
      • 在构造网络时应当考虑到今后需要扩展和升级。网络的性能越高,其扩展费用往往也越高,难度也会相应增加。
    6. 易于管理和维护
      • 网络如果没有良好的管理和维护,很难达到和保持所设计的性能。

1.7 计算机网络体系结构

  • 在计算机网络的基本概念中,分层次的体系结构是最基本的。

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

  • 计算机网络体系结构的形成
    1. 计算机网络是个复杂的系统。、设想一种最简单的情况:连接在网络上的两台计算机要互相传送文件。在这两台计算机之间必须有一条传送数据的通路。但还有以下工作需要完成:
      • 发起通信的计算机必须将数据通信的通路进行激活,即发出一些信令,保证要传送的计算机数据能在这条通路上正确发送和接收。
      • 要告诉网络如何识别接收数据的计算机。
      • 发起通信的计算机必须查明对方计算机是否已开机,并且与网络连接正常。
      • 发起通信的计算机中的应用程序必须清楚,在对方计算机中的文件管理程序是否已做好接收文件和存储文件的准备工作。
      • 若计算机的文件格式不兼容,则至少其中一台计算机应完成格式转换功能。
      • 对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交换机出现故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。

1.7.2 协议与划分层次

  • 协议与划分层次
    1. 在计算机网络中要做到有条不紊地交换数据,必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题
    2. 为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。网络协议也可简称为协议,主要由以下三个要素组成:
      • 语法,即数据与控制信息的结构或格式;
      • 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
      • 同步,即事件实现顺序的详细说明。
    3. 协议通常有两种不同的形式。一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上的信息交换过程做出精确的解释。
    4. 分层可以带来很多好处。如:
      • 各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。整个问题的复杂程度就下降了。
      • 灵活性好。当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消。
      • 结构上可分割开。各层都可以采用最合适的技术来实现。
      • 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。
      • 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。
    5. 分层时应使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常各层所要完成的功能主要有以下一些:
      • 差错控制  使相应层次对等方的通信更加可靠。
      • 流量控制  发送端的发送速率必须使接收端来得及接收,不能太快。
      • 分段和重装  发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
      • 复用和分用  发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
      • 连接建立和释放  交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
      • 分层也有一些缺点,例如,有些功能会在不同的层次中重复出现,产生额外开销。
    6. 计算机网络的各层及其协议的集合就是网络的体系结构。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义
    7. 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件

1.7.3 具有五层协议的体系结构

  • 具有五层协议的体系结构
    1. 应用层
      • 应用层是体系结构中的最高层。
      • 应用层的任务是通过应用进程间的交互来完成特定网络应用
      • 应用层协议定义的是应用进程间通信和交互的规则进程指主机中正在运行的程序
      • 应用层交互的数据单元称为报文
    2. 运输层
      • 运输层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。
      • 运输层主要使用以下两种协议:
        1. 传输控制协议 (TCP)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段
        2. 用户数据报协议 (UDP)——提供无连接的、尽最大努力的数据传输服务,其数据传输的单位是用户数据报
    3. 网络层
      • 网络层负责为分组交换网上的不同主机提供通信服务。
      • 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组进行传送。
      • 在 TCP/IP 体系中,由于网络层使用 IP 协议,因此分组也叫做 IP 数据报,简称数据报
      • 无论在哪一层传送的数据单元,都可笼统地用“分组”来表示
      • 网络层的另一个任务是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
      • 网络层中的“网络”,不是我们谈到的具体网络,而是在计算机网络体系结构模型中的第 3 层的名称。
      • 互联网是由大量的异构网络通过路由器相互连接起来的,使用的网络层协议是无连接的网际协议 (IP) 和许多种路由选择协议,因此互联网的网络层也叫做网际层IP 层
    4. 数据链路层
      • 数据链路层简称链路层
      • 在两个相邻结点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻结点间的链路上传送。每一帧包括数据和控制信息
    5. 物理层
      • 在物理层上所传数据的单位是比特
    6. 图1-19 说明应用进程的数据在各层之间的传递过程中所经历的变化。假定两台主机通过一台路由器连接起来。
      • 假定主机1的应用进程AP 1 向主机2的应用进程AP 2 传送数据。AP 1 先将其数据交给本主机的第5层(应用层)。第5层加上必要的控制信息H 5 就变成了下一层的数据单元。第4层(运输层)收到这个数据单元后,加上本层的控制信息H 4 ,再交给第3层(网络层),成为第3层的数据单元。依此类推。不过到了第2层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部(H 2 )和尾部(T 2 );而第1层(物理层)由于是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送。
      • OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元(PDU)。这个名词现已被许多非OSI标准采用。
      • 当这一串的比特流离开主机1经网络的物理媒体传送到路由器时,就从路由器的第1层依次上升到第3层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。当分组上升到了第3层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理媒体上把每一个比特发送出去。
      • 当这一串的比特流离开路由器到达目的站主机2时,就从主机2的第1层按照上面讲过的方式,依次上升到第5层。最后,把应用进程AP 1 发送的数据交给目的站的应用进程AP 2 。
      • 可以用一个简单例子来比喻上述过程。有一封信从最高层向下传。每经过一层就包上一个新的信封,写上必要的地址信息。包有多个信封的信件传送到目的站后,从第1层起,每层拆开一个信封后就把信封中的信交给它的上一层。传到最高层后,取出发信人所发的信交给收信人。
      • 虽然应用进程数据要经过如图1-19所示的复杂过程才能送到终点的应用进程,但这些复杂过程对用户来说,却都被屏蔽掉了,以致应用进程AP 1 觉得好像是直接把数据交给了应用进程AP 2 。同理,任何两个同样的层次(例如在两个系统的第4层)之间,也好像如同图1-19中的水平虚线所示的那样,把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层 ”(peer layers)之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。
      • 在文献中也还可以见到术语“协议栈”。这是因为几个层次画在一起很像一个的结构。

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

  • 实体、协议、服务和服务访问点
    1. 当研究开放系统中的信息交换时,使用实体这一抽象的名词表示任何可发送或接收信息的硬件或软件进程
    2. 协议是控制两个对等实体 (或多个实体) 进行通信的规则的集合。协议的语法方面规则定义了所交换信息的格式,协议的语义方面规则定义了发送者或接收者所要完成的操作,例如,在何种条件下,数据必须重传或丢弃。
    3. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
    4. 协议和服务在概念上不一样:
      • 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。
      • 协议是“水平的”,协议是控制对等实体之间通信的规则;但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
      • 并非在一个层内完成的全部功能都称为服务。只有能够被高一层实体“看得见”的功能才能称之为“服务”。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在 OSI 中称为服务原语
      • 在同一系统中相邻两层的实体进行交互的地方,通常称为服务访问点 (SAP)。服务访问点 SAP 是一个抽象的概念,是一个逻辑接口,有点像邮政信箱 (可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口并不一样。
      • 在任何相邻两层之间的关系可概括为图 1-20 所示的那样。第 n 层的两个“实体 (n) ”之间通过“协议 (n) ”进行通信,而第 n+1 层的两个“实体 (n+1) ”之间则通过另外的“协议 (n+1) ”进行通信 (每一层都使用不同的协议) 。第 n 层向上面的第 n+1 层所提供的服务实际上已包括了在它以下各层所提供的服务。第 n 层的实体对第 n+1 层的实体就相当于一个服务提供者。在服务提供者的上一层的实体又称为“服务用户”,因为它使用下层服务提供者所提供的服务。

1.7.5 TCP/IP 的体系结构

  • TCP/IP 的体系结构
    1. TCP/IP 协议可以为应用提供服务,同时 TCP/IP 协议也允许 IP 协议在网络构成的互联网上运行

本章的重要概念

  • 计算机网络把计算机连接在一起,互连网把网络连接在一起,是网络的网络。

  • 以小写字母 i 开始的 internet (互连网) 是通用名词,泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。

  • 以大写字母 I 开始的 Internet (互联网) 是专用名词,指当前全球最大的、开放的、由网络相互连接而成的特定互连网,并采用 TCP/IP 协议族作为通信规则。

  • 互联网现在采用存储转发的分组交换技术,以及三层 ISP 结构。

  • 互联网按工作方式划分为边缘部分与核心部分。主机在网络的边缘部分,其作用是进行信息处理。路由器在网络的核心部分,其作用是按存储转发方式进行分组交换。

  • 计算机通信是计算机中进程之间的通信。计算机网络采用的通信方式是客户–服务器方式和对等连接方式 (P2P 方式)。

  • 客户和服务器指通信中所涉及的应用进程。客户是服务请求方,服务器是服务提供方。

  • 按作用范围的不同,计算机网络分为广域网 WAN、城域网 MAN、局域网 LAN 和个人区域网 PAN。

  • 计算机网络常用的性能指标是:速率、带宽、吞吐量、时延 (发送时延、传播时延、处理时延、排队时延)、时延带宽积、往返时间和信道 (或网络) 利用率。

  • 网络协议即协议,是为进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,称为网络的体系结构。

  • 五层协议的体系结构由应用层、运输层、网络层 (或网际层)、数据链路层和物理层组成。运输层最重要的协议是 TCP 和 UDP 协议,而网络层最重要的协议是 IP 协议。

  • 叙述具有五层协议的网络体系结构的要点,包括各层的主要功能。

    (1) 物理层——在物理层上所传数据的单位是比特 (bit)。物理层的任务是透明地传送比特流。物理层还要确定连接电缆的插头应当有多少根引脚以及各条引脚应如何连接。当然,哪几个比特代表什么意思,则不是物理层所要管的。请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理媒体当作第 0 层。
    (2) 数据链路层——常简称为链路层。在两个相邻结点之间 (主机和路由器之间或两个路由器之间) 传送数据是直接传送的 (即不需要经过转发的点对点通信)。这时就需要使用专门的链路层的协议。数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻结点间的链路上“透明”地传送帧中的数据。每一帧包括数据和必要的控制信息 (如同步信息、地址信息、差错控制等)。在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如果需要改正错误,就由运输层的 TCP 协议来完成。
    (3) 网络层——网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在 TCP/IP 体系中,由于网络层使用 IP 协议,因此分组也叫做 IP 数据报,或简称为数据报。网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组能够通过网络中的路由器找到目的主机。对于由广播信道构成的分组交换网,路由选择的问题很简单,因此这种网络的网络层非常简单,甚至可以没有。
    (4) 运输层——运输层的任务是负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付上面应用层中的相应的进程运输层主要使用以下两种协议: 一个是传输控制协议 TCP,是面向连接的,数据传输的单位是报文段,能够提供可靠的交付。另一个是用户数据报协议 UDP,是无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能“尽最大努力交付”。
    (5) 应用层——应用层是体系结构中的最高层。应用层直接为用户的应用进程提供服务这里的进程就是指正在运行的程序。在互联网中的应用层协议很多,如支持万维网应用的 HTTP 协议、支持电子邮件的 SMTP 协议、支持文件传送的 FTP 协议,等等。


文章作者: Chipfron
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Chipfron !
  目录