一、电路交换与分组交换

电路交换

  1. 定义:
    电路交换是以电路连接为目的的交换方式。通信之前要在通信两方之间建立一条被两方独占的物理通道。
  2. 三个阶段:
    1. 建立连接
    2. 通信
    3. 释放连接
  3. 优点:
    1. 因为通信线路为通信两方用户专用,数据直达。所以数据传输的时延非常小;
    2. 通信两方之间的屋里通路一旦建立,两方能够随时通信,实时性强;
    3. 两方通信时按发送顺序传送数据,不存在失序问题;
    4. 电路交换既适用于传输模拟信号,也适用于传输数字信号;
    5. 电路交换的交换设备及控制均比较简单。
  4. 缺点:
    1. 电路交换平均连接建立时间对计算机通信来说较长;
    2. 电路交换家里连接后,物理通路被通信两方独占,即使通信线路空暇,也不能供其它用户使用,因而信道利用率低;
    3. 电路交换时,数据直达。不同类型、不同规格、不同速率的终端非常难相互进行通信,也难以在通信过程中进行差错控制。

分组交换

  1. 定义:
    分组交换是以分组为单位进行传输和交换的,它是一种存储——转发交换方式。即将到达交换机的分组先送到存储器临时存储和处理,等到对应的输出电路有空暇时再送出。
  2. 长处:
    1. 分组交换不须要为通信双反预先建立一条专用的通信线路。不存在连接建立时延,用户可随时发送分组;
    2. 因为采用存储转发方式,加之交换节点具有路径选择,当某条传输线路故障时可选择其它传输线路,提高了传输的可靠性;
    3. 通信双方不是固定地占用一条通信线路,而是在不同的时间一段一段地部分占用这条物理通路,因而大大提高了通信线路的利用率;
    4. 加速了数据在网络中的传输。因为分组是逐个传输,能够使后一个分组的存储操作与前一个分组的转发操作并行。这样的流水线式传输方式降低了传输时间,提升了效率;
    5. 分组长度固定,对应的缓冲区的大小也固定,所以简化了交换节点中存储器的管理;
    6. 分组较短,出错几率降低,每次重发的数据量也降低,不仅提高了可靠性,也降低了时延。
  3. 缺点:
    1. 因为数据进入交换节点后要经历存储转发这一过程,从而引起的转发时延(包含接受分组、检验正确性、排队、发送时间等),并且网络的通信量越大,造成的时延就越大。实时性较差;
    2. 分组交换仅仅适用于数字信号;
    3. 分组交换可能出现失序,丢失或反复分组。分组到达目的节点时,对分组按编号进行排序等工作添加了麻烦。

综上,若传输的数据量非常大,并且传送时间远大于呼叫时间。则采用电路交换较为合适;当端到端的通路有非常多段链路组成时,采用分组交换较为合适。从提高整个网络的信道利用率上看,分组交换优于电路交换

二、协议及其三要素

协议

  1. 定义:
    网络协议(Network protocol): 为进行网络中的数据交换而建立的规则、标准或约定。
  2. 作用:
    协议明确规定了所交换的数据的格式以及有关的同步问题

组成三要素

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

协议为什么分层?

协议各层次的功能

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

协议为什么分层

  1. 各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。
  2. 灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某 → 层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消。
  3. 结构上可分割开。各层都可以采用最合适的技术来实现。
  4. 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统己被分解为若干个相对独立的子系统。
  5. 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统己被分解为若干个相对独立的子系统。

分层的缺点

有些功能会在不同的层次中重复出现,因而产生了额外开销。

什么是计算机网络体系结构?

  1. 网络的体系结构(architecure):计算机网络的各层及其协议的集合,是这个计算机网络及其构件所应完成的功能的精确定义。
  2. 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

具有五层协议的体系结构

计算机网络体系结构

  1. 应用层
    1. 任务:是通过应用进程间的交互来完成特定网络应用。
    2. 协议:应用层协议定义的是应用进程间通信和交互的规则。
    3. 报文:应用层交互的数据单元
  2. 运输层
    1. 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务
    2. 协议:
      1. 传输控制协议 TCP (Transmission Control Protocol)一一提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
      2. 用户数据报协议 UDP (User Datagram Protocol)— 提供无连接的、尽最大努力(best-effort) 的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
  3. 网络层
    1. 任务:网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。
    2. 协议:使用 IP 协议
  4. 数据链路层
    任务:在两个相邻结点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成(framing) ,在两个相邻结点间的链路上传送(frame) 。每一包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。
  5. 物理层
    任务:
    1. 在物理层上所传数据的单位是比特
    2. 物理层要考虑用多大的电压代表 “1”或”0” ,以及接收方如何识别出发送方所发送的比特。
    3. 物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。

协议与服务的关系

  1. 实体(entity):任何可发送或接收信息的硬件或软件进程
  2. 协议:控制两个对等实体(或多个实体)进行通信的规则的集合
  3. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
  4. 协议是”水平的“,即协议是控制对等实体之间通信的规则。但服务是”垂直的“,即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称为服务。只有那些能够被高一层实体”看得见”的功能才能称之为”服务”。