1.计算机网络的定义

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

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

2.计算机网络的特点

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

      3.互联网定义

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

      internet 和 Internet 的区别

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

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

4.互联网的组成

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

  • 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
  • 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

    4.1 互联网的边缘部分

    处在互联网边缘上的部分就是连接在互联网上的所有的主机。这些主机又称为端系统。
    端系统在功能上可能有很大的差别:

  • 小的端系统可以是一台普通个人电脑,具有上网功能的智能手机,甚至是一个很小的摄像头

  • 大的端系统则可以是一台非常昂贵的大型计算机
  • 端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个ISP

image.png

4.1.1 端系统之间通信

4.1.2.1 含义

“主机 A 和主机 B 进行通信”实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。

  • 即“主机 A 的某个进程和主机 B 上的另一个进程进行通信”。简称为“计算机之间通信”。

    4.1.2.2 端系统之间的两种通信方式

  1. 客户-服务器方式(C/S方式)即 Client/Server 方式,简称为 C/S 方式。
  2. 对等方式P2P方式)即 PeertoPeer 方式 ,简称为 P2P 方式。

a. 客户-服务器方式

  • 客户服务端都是指通信中所涉及的两个应用进程
  • 客户-服务器方式所描述的是进程之间服务和被服务的关系
  • 客户是服务的请求方,服务器是服务的提供方

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

image.png
客户软件的特点

  • 被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
  • 不需要特殊的硬件和很复杂的操作系统。

服务器软件的特点

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

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

b.对等连接方式

  • 对等连接 (peer-to-peer,简写为 P2P ) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
  • 只要两个主机都运行了对等连接软件 ( P2P 软件) ,它们就可以进行平等的、对等连接通信
  • 双方都可以下载对方已经存储在硬盘中的共享文档。

image.png
对等连接方式的特点

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

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

4.2 互联网的核心部分

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

image.png

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

典型交换技术包括:

  • 电路交换
  • 分组交换
  • 报文交换
  • ……

4.2.1 电路交换

例如:

  • 2 部电话机只需要用 1 对电线直接连接就能够互相通话。
  • 4 部电话机两两直接相连,需 10 对电线。
  • N 部电话机两两直接相连,需 N(N –1)/2 对电线。这种直接连接方法所需要的电线对的数量与电话机数量的平方(N 2)成正比。
  • 当电话机的数量增多时,就要使用交换机来完成全网的交换任务。
    • 每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。 所采用的交换方式就是电路交换 (circuit switching)。

image.png

交换的含义:

  • 交换”(switching)的含义就是转接 —— 把一条电话线转接到另一条电话线,使它们连通起来。
  • 从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。

电路交换的主要特点:

  • 电路交换必定是面向连接的。
  • 电路交换独占资源,只有该设置释放了才能被其他设备使用。
  • 电路交换分为三个阶段:
    • 建立连接:建立一条专用的物理通路,以保证双方通话时所需的通信资源在通信时不会被其他用户占用
    • 通信:主叫和被叫双方就能互相通电话
    • 释放连接:释放刚才使用的这条专用的物理通路(释放刚才占用的所有通信资源)
    • 计算机数据具有突发性。这导致在传送计算机数据时,通信线路的利用率很低(用来传送数据的时间往往不到 10% 甚至不到 1% )。

举例:

  • A 和 B 通话经过四个交换机。
  • 通话在 A 到 B 的连接上进行。

4.2.2 分组交换

4.2.2.1 分组交换的主要特点

  • 分组交换则采用存储转发技术

步骤:

  1. 在发送端,先把较长的报文划分成较短的、固定长度的数据段

image.png

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

image.png

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

image.png

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

image.png

  1. 最后,在接收端把收到的数据恢复成为原来的报文
    假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。

image.png

4.2.2.2 分组交换的传输单元

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

4.2.2.3 路由器

  • 在路由器中的输入和输出端口之间没有直接连线。
  • 路由器处理分组的过程是:
    • 把收到的分组先放入缓存(暂时存储)
    • 查找转发表,找出到某个目的地址应从哪个端口转发
    • 把分组送到适当的端口转发出去

      主机和路由器的作用不同

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

4.2.2.4 分组交换的优点

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

4.2.2.5 分组交换带来的问题

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

4.2.3 报文交换

  • 在 20 世纪 40 年代,电报通信也采用了基于存储转发原理的报文交换 (message switching)。
  • 报文交换的时延较长,从几分钟到几小时不等。现在报文交换已经很少有人使用了。

4.2.4 三种交换的比较

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

5.计算机网络的性能

5.1 计算机网络的性能指标

计算机网络的性能一般是指它的几个重要的性能指标,主要包括:

  • 速率
  • 带宽
  • 吞吐率
  • 时延
  • 时延带宽积
  • 往返时间
  • RTT利用率

    5.2.1 速率

  • 比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。

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

    5.2.2 带宽

    两种不同意义:

  • “带宽”(bandwidth) 本来是指信号具有的频带宽度,其单位是赫(或千赫、兆赫、吉赫等)。

  • 在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的“最高数据率”。单位是 bit/s,即 “比特每秒”。

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

在时间轴上信号的宽度随带宽的增大而变窄:
image.png

5.2.3 吞吐量

  • 吞吐量 (throughput) 表示在单位时间内通过某个网络(或信道、接口)的数据量。
  • 吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络
  • 吞吐量受网络的带宽或网络的额定速率的限制

5.2.4 时延

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

    • 发送时延
    • 传播时延
    • 处理时延
    • 排队时延

      5.2.4.1 发送时延

  • 也称为传输时延。

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

  • 电磁波在信道中需要传播一定的距离而花费的时间。

  • 发送时延与传播时延有本质上的不同。
  • 信号发送速率和信号在信道上的传播速率是完全不同的概念。
  • 公式:

    5.2.4.3 处理时延

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

    5.2.4.4 排队时延

  • 分组在路由器输入输出队列中排队等待处理所经历的时延。

  • 排队时延的长短往往取决于网络中当时的通信量

    5.2.4.5 时延

  • 数据在网络中经历的总时延就是发送时延、传播时延、处理时延和排队时延之和

  • 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
  • 必须指出,在总时延中,究竟是哪一种时延占主导地位,必须具体分析。

    5.2.4.6 四种时延所产生的地方

    image.png

    容易产生的错误概念

    • 对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率
    • 提高链路带宽减小了数据的发送时延。

    以下说法是错误的:

    • “在高速链路(或高带宽链路)上,比特会传送得更快些”。

5.2.4.7 时延带宽积

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

image.png

5.2.4.7 往返时间

  • 互联网上的信息不仅仅单方向传输,而是双向交互的。因此,有时很需要知道双向交互一次所需的时间。
  • 往返时间 RTT (round-trip time) 表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
  • 在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
  • 当使用卫星通信时,往返时间 RTT 相对较长,是很重要的一个性能指标

    5.2.4.8 利用率

  • 分为信道利用率和网络利用率

  • 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。
  • 完全空闲的信道的利用率是零。
  • 网络利用率则是全网络的信道利用率的加权平均值。
  • 信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。

    5.2.4.9 时延与网络利用率的关系

  • 根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。

  • 若令 D0 表示网络空闲时的时延,D 表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示 D 和 D0 之间的关系:。(其中:U 是网络的利用率,数值在 0 到 1 之间。 )

image.png

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

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

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

    6.协议与划分层次

  • 计算机网络中的数据交换必须遵守事先约定好的规则

  • 这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
  • 网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。

网络协议的三个组成要素

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

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

层次式协议结构

  • ARPANET 的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的

7. 具有五层协议的体系结构

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

image.png

7.1 五层协议下两个主机间的发送数据

image.png

image.png

image.png

image.png

image.png

image.png

image.png

  1. image.png

image.png

image.png

image.png

image.png