第一章 计算机网络概述

第一章 计算机网络概述

 

1.1 计算机网络基本概念

 

一、什么是计算机网络

 1. 计算机网络的定义

  计算机网络 = 通信技术 + 计算机技术:计算机网络是通信技术与计算机技术紧密结合的产物。
  计算机网络就是一种特殊的通信网络。通信网络可以用如下通信系统模型表示:
  计算机网络的特殊之处在于,信源和信宿是计算机,而信号往往是数字信号的形式。
在这里插入图片描述
  定义:计算机网络就是互连的、自治的计算机集合。
  自治,即无主从关系。在计算机网络中,某一个计算机不能控制其他计算机。
  互连,即互联互通。通过通信链路互联(如下图),也即通信系统模型中的 “信道”,具体来说就是一些通信介质,例如光纤、电缆、无线网络等。
在这里插入图片描述

 2. 交换网络

  在上图中,计算机(计算机网络中的计算机统称为主机)之间的连接方式为直接相连,那么问题就来了:在计算机距离远、数量大的情况下如何保证互连?
  通过交换网络互连主机。
  每个主机只需要一条链路和交换网络连接即可。
在这里插入图片描述

 3. 什么是Internet

  什么是Internet?从组成细节角度来讲:
  Internet是全球最大的互联网络,是由ISP(Internet Service Provider)网络互连的 “网络之网络”(如下图)。
  Internet是数以百万计的互连的计算设备集合,计算机设备被称为主机(hosts)= 端系统(end systems),无论主机以什么形式存在,他们都拥有同一个特点:可以运行各种网络应用。
  这些计算设备通过通信链路连接在一起,通信链路可以是光纤、铜缆、无线电、卫星等等。
  全球性的计算机网络不可能每个主机之间都直接连接,因此需要交换网络。交换网络由一些路由器或交换机构成,实现数据的分组转发。
在这里插入图片描述  什么是Internet?从服务角度来讲:
  Internet是为网络应用提供通信服务的通信基础设施,网络应用例如:Web,VoIP,email,网络游戏电子商务,社交网络……
  Internet为网络应用提供应用编程接口(API),支持应用程序“连接”Internet,发送/接收数据;提供类似于邮政系统的数据传输服务。
 
  问题:仅有硬件(主机、链路、路由器……)连接,Internet能否顺畅运行?能保证应用数据有序交付吗?……
  回答:不能!还需要网络协议。
 

二、什么是网络协议

 1. 网络协议的定义

  网络协议是计算机网络有序运行的重要保证。
  硬件(主机、路由器、通信链路等)是计算机网络的基础,但是只有硬件还不足够,计算机网络中的数据交换必须遵守事先约定好的规则,就如同交通系统需要遵循交通规则,又好比人类之间交谈时也需要符合规则。
  人类交谈时,需要遵循一定的规则:…发送特定消息 → …采取特定“动作”…(如下左图)
在这里插入图片描述
  而网络通信十分类似人类的交谈(如上右图),只不过:通信主体是“机器”而不是人;交换的消息是 “电子化 ”或 “数字化” 的;计算机网络的所有通信过程都必须遵守某种/些规则(即网络协议)。
  定义:网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
  那么网络协议到底规定了什么东西呢?
  协议规定了通信实体之间所交换的消息的格式意义顺序以及针对收到信息或发生的事件所采取的 “动作”(actions)。

 2. 网络协议的三要素

  作为一种网络协议,一定要具备以下三个内容,也成为网络协议的三要素:
  ① 语法(Syntax):数据与控制信息的结构或格式,如果是底层信息,则语法代表信号电平。
  ② 语义(Semantics):需要发出何种控制信息;完成何种动作以及做出何种响应;差错控制。
  ③ 时序(Timing):双方要遵循的时间顺序;交换双方的速度匹配。

 3. 网络协议的意义

  协议规范了网络中所有信息发送和接收过程;
  网络协议是学习计算机网络的重要内容之一;
  网络协议是网络创新的表现形式之一;
  对于Internet来说,协议都是以RFC(Request for Comments)文档的形式存在的,这些文档通常是由IETF(Internet Engineering Task Force)互联网工程任务组来管理的。
 

1.2 计算机网络结构

 

一、计算机的网络结构

 1. 计算机网络可以分成哪些部分

  从结构上来说,计算机网络大致可以分为几个部分呢?如下图所示,计算机网络可以分为以下几个部分:
  网络边缘:
    ✦ 处于网络最边缘的一些主机
    ✦ 在这些网络边缘的主机上可以运行网络应用
  接入网络,物理介质:
    ✦ 包括有线和无线通信链路
    ✦ 网络边缘的主机通过接入网络连接网络的其他部分
  网络核心(核心网络):
    ✦ 由互联的路由器(或分组转发设备)构成,主要任务是完成分组的转发和路由
    ✦ 网络之网络

 2. 网络边缘

  网络边缘由主机(端系统)构成:
    ✦ 位于 “网络边缘”
    ✦ 可以运行网络应用程序
      如:Web,email

  这些在主机上运行的网络应用,它们之间是如何通信的呢?主要有以下两种方式:
  1. 客户/服务器(client/server)应用模型:
    ✦ 客户发送请求,接收服务器响应
    ✦ 如:Web应用,文件传输FTP应用
在这里插入图片描述

  2. 对等(peer-peer, P2P)应用模型:
    ✦ 无(或不仅依赖)专用服务器
    ✦ 通信在对等实体之间直接进行
    ✦ 如:Gnutella,BT,Skype,QQ
在这里插入图片描述

 3. 接入网络

  Q:如何将网络边缘接入核心网(即接入到网络核心的边缘路由器)?
  A:通过接入网络。接入网络的类型(或常用的场合)可以分为以下几类:
    ✦ 住宅(家庭)接入网络
    ✦ 机构接入网络 (学校,企业等)
    ✦ 移动接入网络
  用户关心是:
    ✦ 带宽(bandwidth,bps)(数据传输速度)是多少?
    ✦ 接入方式是共享(大家共享带宽)还是独占(自己独占带宽)?

  (1) 接入网络:数字用户线路(DSL)

  概括来讲,这种线路的特点是:通过电话线实现声音和数据的同时传输,采用了多路复用技术。
  具体来讲,有以下特点:
  1. 利用已有的电话线连接中心局的DSLAM(数字用户线路接入复用器),DSLAM会将声音和数据分离。
    ✦ 数据通信通过DSL电话线接入Internet
    ✦ 语音(电话)通过DSL电话线接入电话网
  2. 上下行传输速率不同。
    ✦ < 2.5 Mbps上行传输速率 (典型速率 < 1 Mbps)
    ✦ < 24 Mbps下行传输速率 (典型速率 < 10 Mbps)
  3. FDM(频分多路复用技术)
    ✦ > 50 kHz - 1 MHz用于下行,4 kHz - 50 kHz用于上行, 0 kHz - 4 kHz用于传统电话

在这里插入图片描述

  (2) 接入网络:电缆网络

  有线电视网络就是电缆网络。
  电缆网络采用 频分多路复用技术:在不同频带(载波)上传输不同频道。
在这里插入图片描述
  电缆网络的示意图如下:
在这里插入图片描述
  这种方式有时也称为:HFC:混合光纤同轴电缆(hybrid fiber coax)
    ✦ 非对称: 下行高达30Mbps传输速率,上行为2 Mbps传输速率
    ✦ 各家庭(设备)通过电缆网络→光纤接入ISP路由器
    ✦ 各家庭共享家庭至电缆头端的接入网络
    ✦ 不同于DSL的独占至中心局的接入(因此有时看起来HFC带宽更高,但是使用起来速度不如DSL)

  (3) 典型家庭网络的接入

在这里插入图片描述

  (4) 机构(企业)接入网络(Ethernet)

在这里插入图片描述
  主要用于公司、高校、企业等组织机构
  典型传输速率:10 Mbps,100Mbps,1Gbps,10Gbps
  目前,端系统通常直接连接以太网交换机(switch)

  (5) 无线接入网络

  通过共享的无线接入网络连接端系统与路由器
    ✦ 通过基站(base station)或称为“接入点”(access point)
在这里插入图片描述
  无线局域网(LANs):
    ✦ 同一建筑物内 (30m)
    ✦ 802.11b/g (WiFi): 11Mbps、54Mbps传输速率
  广域无线接入:
    ✦ 通过电信运营商 (蜂窝网) ,接入范围在几十公里~
    ✦ 带宽:1 Mbps、10 Mbps、100Mbps
    ✦ 3G、 4G: LTE
    ✦ 移动互联网

 4. 网络核心

  互联的路由器网络
    ✦ 网络核心的关键功能: 路由+转发

  (1) 路由(routing):

  确定分组从源到目的传输路径。

在这里插入图片描述

  (2) 转发(forwarding):

  将分组从路由器的输入端口交换至正确的输出端口。

  网络核心解决的基本问题:
    ✦ Q:如何实现数据从源主机通过网络核心送达目的主机?
    ✦ A:数据交换
 

二、Internet结构: 网络之网络

  Internet是网络的网络,也就是由许多个网络互联构成的全球性网络。
  最边缘的端系统主机通过接入ISP (access ISPs) 连接到Internet。
    ✦ 所谓接入ISP可能是家庭的网络、公司网络和或者大学的网络
  接入ISP必须进一步互连
    ✦ 只有这样才能保证任意两个主机都可以互相发送分组
  众多的接入ISP又连接着众多端系统,构成复杂的网络互连的网络
    ✦ 经济和国家政策是网络演进的主要驱动力
  当前Internet到底具有一个什么样的结构?
    ✦ 无人能给出精确描述,因为其动态性很强,随时有网络接入,随时有网络离开

  Q: 数以百万计的接入ISP是如何互连在一起的呢?
  可选方案: 每个接入ISP直接彼此互连?
    ✦ 直接互连不适用于大规模网络: O(N 2 ^2 2)连接问题
在这里插入图片描述
  可选方案: 将每个接入ISP连接到一个国家或全球ISP (Global ISP) ?
在这里插入图片描述
  但是从商业角度来说,全球不可能只有一个ISP,必定有竞争者
在这里插入图片描述
  为了保证互联网的互通,这些ISP之间必须互联
    ✦ 一种方式是在ISP之间架设对等链路,把路由器连接起来
    ✦ 另一种方式是利用第三方互联网交换节点IXP
在这里插入图片描述
  可能出现区域网络(regional networks)连接接入ISP和运营商ISP
在这里插入图片描述
  内容提供商网络(content provider networks,如: Google, Microsoft等) 可能运行其自己的网络,并就近为端用户提供服务、内容
在这里插入图片描述
  因此可以对现在的互联网给出这样一个描述:
  最上层是一些 “一级” (tier-1) 商业ISPs (如:网通、电信、Sprint、 AT&T),提供国家或国际范围的覆盖;最上层也有可能是内容提供商网络(content provider network, 如:Google):私有网络,连接其数据中心与Internet,通常绕过一级ISP和区域ISPs。最高层ISP之间需要互联。
  事实上,一级ISP之下可能还有二级、三级ISP,再往下是区域ISP,再往下是接入ISP,最终由接入ISP连接到我们的主机。
在这里插入图片描述
 

1.3 网络核心

 

一、数据交换概述

  网络结构包括网络边缘、接入网络和网络核心。其中网络核心要解决的问题是如何将数据从源主机成功地送达目的主机。如何解决这个问题呢?现代网络采用的主要技术就是数据交换。

1. 为什么需要数据交换?

  假设有如下场景,如果任意两台主机之间要进行通信的话,最简单的解决方案就是在这两台主机之间建立一条通信链路。但是当主机数量太多时,需要的链路数量就会急剧增加,每一台主机需要维护的链路数也急剧增加,也即N 2 ^2 2链路问题。那么这种方案在经济和技术方面都难以实现。
在这里插入图片描述
  因此我们需要新的方案。新的解决方案是,引入一台交换设备,让主机和交换设备连接,那么每台主机都只需要维护一根链路。但是这样的方案也有弊端,一是当主机数量非常多时,需要交换设备有庞大的端口,二是如果主机之间相距非常远,那也很难连接到同一台交换设备上。
在这里插入图片描述
  为了保证连通性,并且适应不同的网络规模,可以引入多台交换设备,并且将交换设备连接在一起,构成交换网络。让主机和交换网络进行连接,让交换网络完成信息的转发、接续。

2. 什么是交换?

  交换有两层含义,一是动态转接,二是动态分配传输资源。
  所谓动态转接是交换设备层面的概念。交换设备可以动态地建立端口之间的连接,将一个端口的数据转移到另一个端口,并且这种连接可以并行地进行。
在这里插入图片描述
  所谓动态分配传输资源是交换网络层面的概念。交换网络会动态分配资源,使信息从源主机穿越交换网络正确地送至目的主机。
在这里插入图片描述

3. 数据交换的类型

  数据交换主要有三类:电路交换、报文交换、分组交换。

二、电路交换

1. 电路交换的特点

  最典型电路交换网络:电话网络。
在这里插入图片描述
  电路交换的三个阶段:
    ✦ 建立连接(呼叫/电路建立)
    ✦ 通信
    ✦ 释放连接(拆除电路)
  电路交换最显著的特点就是独占资源。即两台电话在通信过程中建立起来的链路所占用的通信资源是不能被第三方共享的,只有在电路拆除之后,第三方再进行通话,才能使用刚才那些被占用的资源。

2. 电路交换网络的链路共享

  如果一个网络采用电路交换方式进行通信的话,那么任意两方需要通信就要建立一条电路,其他人需要通信又要建立链路,这就会导致很多链路实际上是被多方共享的。
  这些被共享的链路称为中继线。那么电路交换网络应该如何实现共享中继线呢?答案是 “多路复用” 技术。
在这里插入图片描述

三、多路复用

1. 多路复用简介

  多路复用 (multiplexing),简称复用,是通信技术中的基本概念。
  上一节介绍过,在电路交换网络中,并不能保证每一对通信之间都有单独的物理链路,事实上,这也并不是必须的,因为一条物理链路所具有的通信能力远远大于一路通信的需求。因此可以多路通信公用一路信道,这就是所谓的多路复用技术。
在这里插入图片描述
  多路复用的基本原理是:
    ✦ 将链路 / 网络资源 (如带宽) 划分为 “资源片”
    ✦ 将资源片分配给各路 “呼叫” (calls)
    ✦ 每路呼叫独占分配到的资源片进行通信
    ✦ 资源片可能 “闲置” (idle) (无共享),即资源片被分配给某路呼叫,但是这路呼叫并不使用这个资源片,此时其他呼叫也不能使用这一资源片
  典型多路复用方法:
    ✦ 频分多路复用 (frequency division multiplexing-FDM)
    ✦ 时分多路复用 (time division multiplexing-TDM)
    ✦ 波分多路复用 (Wavelength division multiplexing-WDM)
    ✦ 码分多路复用 (Code division multiplexing-CDM)

2. 频分多路复用FDM

  所谓频分多路复用就是将信道资源在频率上进行划分,分成一个个频带,每个频带是一个子信道,某一路信号只去使用一个频带 (子信道)。最典型的就是电视频道。
在这里插入图片描述
  频分多路复用的各用户占用不同的带宽资源 (请注意,这里的 “带宽” 是频率带宽 (单位:Hz) 而不是数据的发送速率)。
  用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
在这里插入图片描述

3. 时分多路复用TDM

  时分复用则是将时间划分为一段段等长的时分复用帧 (TDM 帧),每个用户在每个 TDM 帧中占用固定序号的时隙,每用户所占用的时隙是周期性出现 (其周期就是TDM 帧的长度)。
在这里插入图片描述
  图中1,2,…,n 分别代表 n 个用户。
在这里插入图片描述
  图中A,B,C,D 分别代表 4 个用户。
  与频分复用对比而言,时分复用的所有用户是在不同的时间占用相同的频带宽度。

4. 波分多路复用WDM

  波分复用就是光的频分复用。因为我们更常用波长来描述光,因此才称作波分复用。
在这里插入图片描述
  又比如下图。光调制器将不同用户的信息调制到不同的波长,再经过 WDM 复用器复用之后在共享的光纤链路上进行传输,到目的地之后再经过分用器分离出来。
在这里插入图片描述

5. 码分多路复用CDM

  广泛应用于无线链路共享 (如蜂窝网,卫星通信等)
  每个用户分配一个唯一的 m bit 码片序列 (chippingsequence),其中 “0” 用 “-1” 表示、“1” 用 “+1” 表示,例如:
    ✦ 例如某个站点的码片序列:(–1 –1 –1 +1 +1 –1 +1 +1)
  各用户使用相同频率载波,但是要用各自码片序列编码数据
  编码信号 = (原始数据) × (码片序列)
   如发送比特 1 (+1),则发送自己的 m bit 码片序列
  如发送比特 0 (-1),则发送该码片序列的 m bit 码片序列的反码
  各用户码片序列必须满足相互正交 (orthogonal),才能互不干扰。
在这里插入图片描述
  令 {d i _i i} 为原始数据序列,各用户的叠加向量为
在这里插入图片描述
  解码: 码片序列与编码信号的内积
在这里插入图片描述
  下图是单个用户的码分多路复用编 / 解码举例。
在这里插入图片描述
  下图是多个用户的码分多路复用编 / 解码举例。
在这里插入图片描述

四、报文交换

  报文:源 (应用) 发送信息的一个整体就是报文,例如一个文件。
在这里插入图片描述
  所谓报文交换就是,在整个数据交换过程中, 把报文作为一个整体进行传输,一次性把整个报文转发到下一个节点上去。例如上图,源主机先把报文整体一次性转发到路由器上去,等到路由器接收到完整的报文,再将报文整体转发到目的主机。典型应用是电报。

五、分组交换

  分组:报文分拆出来的一系列相对较小的数据包。一般情况下,对拆分出来的小数据报还会加上一个头部信息。头部可能包含地址信息等。
在这里插入图片描述
  分组交换需要对报文进行拆分与重组。分组交换会产生额外开销。一方面,拆分重组消耗时间,另一方面传输头部信息也是额外的开销。
  在分组交换中会将分组一个一个地转发出去,在路由器向目的主机转发第 1 个分组时,同时,源主机也在向路由器转发第 2 个分组,如下图所示。
在这里插入图片描述
  分组交换是如何实现复用的?例如下图,A,B都在发送数据,A,B的分组共同排队,然后每个分组都占用全部的带宽进行发送。也就是说,A,B分组的顺序是不固定的,是随机的。
在这里插入图片描述
  从统计学的角度来说,虽然每个分组都占用全部带宽发送,但是如果 A 发送的数据更多,那么总体来说 A 占用的带宽就更多。这种复用方式也成为统计多路复用。统计多路复用最大的特点就是按需分配。

六、存储 - 转发

  所谓存储转发即,节点会将受到的数据暂存一下,等到接收到一个完整数据之后,再进行转发。
  这个所谓的 “完整数据” 可以是一个报文,也可以是一个分组。因此报文交换与分组交换均采用存储-转发交换方式。
  区别在于报文交换以完整报文进行 “存储-转发”,分组交换以较小的分组进行 “存储-转发”。
在这里插入图片描述
  既然报文交换和分组交换都采用存储 - 转发的交换方式,那么到底谁更好呢?

七、报文交换 vs 分组交换

  在讨论 报文交换 vs 分组交换 之前,先介绍一个概念:分组交换的传输延迟。分组交换的传输延迟即一个分组从发送第一个 bits 开始计时,到发送完最后一个 bits 为止所用的时间。
在这里插入图片描述
  例如将数据拆分为较小长度为 Lbits的分组 (packets) ,在传输速率为 R 的链路上传输分组,那么:
在这里插入图片描述
  接下来讨论 报文交换 vs 分组交换 。
  在以下场景中讨论:两个主机通过两个路由器连接在一起。假设每一段链路的带宽都是 R ,现有报文 M 从源主机发往目的主机。
在这里插入图片描述
  对于报文交换来说:
    ✦ 报文长度为M bits
    ✦ 链路带宽为R bps
    ✦ 每次传输报文需要M/R秒
  对于分组交换来说:
    ✦ 报文被拆分为多个分组
    ✦ 分组长度为L bits
    ✦ 每个分组传输时延为L/R秒
  举个例子:
    ✦ M=7.5 Mbits
    ✦ L=1500bits,M=5000L
    ✦ R = 1.5 Mbps
  那么报文交换的报文交付时间 = ?sec,分组交换的报文交付时间 = ?sec。
  报文交换:用 M/R 的时间报文从源主机转发到第一路由器,再用 M/R 的时间转发到第二路由器,再用 M/R 的时间转发到目的主机,报文交付时间:3 × M/R = 3 × 7.5/1.5 = 15 sec。
  并且,报文转发要求路由器有 M 大小的缓存空间。也就是说报文多大,路由器的缓存空间就要有多大。
在这里插入图片描述
  分组交换:第一个分组从源主机发送到第一路由器只需要 L/R = 7.5/5000/1.5 = 0.001 sec = 1 ms。第 1-2 ms ,第二个分组从源主机发出,第一个分组从第一路由器发出。第 2-3 ms ,第三个分组从源主机发出第二个分组从源第一路由器发出,第一个分组从第二路由器发出。
在这里插入图片描述
  以此类推,第 4999-5000 ms,第 5000 个分组从源主机发出。
在这里插入图片描述
  再经过 2 ms,即第 5002 ms 时,所有分组被发送到目的主机。因此分组交换报文交付时间为 5.002 sec。
  并且,路由器只需要 L 大小的缓存,也就是说,分组有多大,路由器需要的缓存空间就多大。
在这里插入图片描述
  可见,分组交换几乎只用了报文交换的 1/3 的时间,其背后原理是分组交换对链路的使用是并行的,而报文交换对分组的使用是串行的。
  并且,分组交换对路由器的缓存要求也低于报文交换。
  因此,在现代网络中,更多使用的是分组交换。

  最后,对分组交换的报文交付时间进行总结。
    ✦ 报文: M bits
    ✦ 链路带宽(数据传输速率): R bps
    ✦ 分组长度(大小): Lbits
    ✦ 跳步数: h
    ✦ 路由器数:n
  报文交付时间:
在这里插入图片描述

例题1.1

在下图所示的采用 “存储-转发” 方式的分组交换网络中,所有链路的数据传输速率为 100 Mbps,分组大小为 1 000 B,其中分组头大小为 20 B。若主机 H1 向主机 H2 发送一个大小为 980 000 B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从 H1 发送开始到 H2 接收完为止,需要的时间至少是多少?
在这里插入图片描述
解:由于每个分组 1000 B ,而头部 20 B,那么数据包就是 980 B,980 000 B大小的文件需要分1000个分组。H1 发送整个文件需要的传输延迟为 (980 000 + 20 × 1000) × 8 / 100 000000 = 80ms (× 8 是因为 b 比特和 B 字节)。因为是求最短时间,所有数据分组应该经过两个路由器的转发,所以再加上最后一个分组的两次转发的传输延迟,即 2 × 1000 × 8 / 100 000000 = 0.16ms。所以,H2 收完整个文件至少需要 80 + 0.16 = 80.16ms。

八、分组交换 vs 电路交换

  假设有如下的场景,路由器左端有一个网络,网络中的所有用户共用一条链路来连接路由器右侧的互联网。
  假设每个用户需要占用的链路带宽为100 kb/s,并且每个用户只有10%的时间在活动。
在这里插入图片描述
  电路交换:由于电路交换中的电路是独占的,一个用户占用了一定的资源之后,其他用户就不能再使用这部分资源了,因此最多同时满足 10 个用户同时使用网络。
  分组交换:由于分组交换使用统计多路复用,用户并不独占资源,因此直观来看,效率应该高于电路交换。事实上,在共有 35 个用户的情况下, 大于 10 个用户同时活动的概率 <0.0004,所以产生冲突的概率极低。因此我们说,分组交换允许更多用户同时使用网络!——网络资源充分共享。

  但是,分组交换绝对优于电路交换吗? 不!
  分组交换适用于突发数据传输网络。(所谓突发就是说,某一段时间突然大量占用网络带宽,但是其余时间几乎不占用网络带宽的突发式的传输)
    ✦ 资源充分共享
    ✦ 简单、无需呼叫建立
  分组交换可能产生拥塞 (congestion) : 分组延迟和丢失
    ✦ 需要协议处理可靠数据传输和拥塞控制

1.4 计算机网络性能

一、速率、带宽、延迟

1. 速率

  速率即数据率 (data rate) 或称数据传输速率或比特率 (bit rate)。
    ✦ 单位时间 (秒) 传输信息 (比特) 量
    ✦ 是计算机网络中最重要的一个性能指标
    ✦ 单位:b/s(或bps)、kb/s、Mb/s、Gb/s
    ✦ k=10 3 ^3 3、M=10 6 ^6 6、G=10 9 ^9 9
  速率往往是指额定速率或标称速率,是理想情况下的最大速率,实际情况中并不一定能达到。

2. 带宽

  “带宽” (bandwidth) 原本指信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹 (Hz) 。
  计算机网络的 “带宽” 通常是数字信道所能传送的 “最高数据率”,单位:b/s (bps)
  常用的带宽单位:
    ✦ kb/s (10 3 ^3 3 b/s)
    ✦ Mb/s (10 6 ^6 6 b/s)
    ✦ Gb/s (10 9 ^9 9 b/s)
    ✦ Tb/s (10 1 2 ^12 12 b/s)

3. 延迟 / 时延 (delay或latency)

  Q:分组交换为什么会发生丢包和时延?
  A:分组在路由器缓存中排队
    ✦ 时延:分组到达速率超出输出链路容量时,就要排队,等待输出链路可用
    ✦ 丢包:如果路由器的缓存已经满了,后续到达的分组就会被丢弃
在这里插入图片描述
  在分组交换过程中,分组从到达一个节点开始,到这个分组被转发到下一个节点,所消耗的时间,主要有哪几种?主要有四种分组延迟:

(1) 结点处理延迟 d p r o c _{proc} proc (nodal processing delay)

  ✦ 差错检测
  ✦ 确定输出链路
  ✦ 通常 < 毫秒级

(2) 排队延迟 d q u e u e _{queue} queue (queueing delay)

  ✦ 等待输出链路可用
  ✦ 取决于路由器拥塞程度
在这里插入图片描述

(3) 传输延迟 d t r a n s _{trans} trans (transmission delay)

  ✦ L: 分组长度 (bits)
  ✦ R: 链路带宽 (bps)
  ✦ d t r a n s _{trans} trans = L/R
  ✦ 传输延迟是发送方把bit一个一个发射出去时产生的延迟

(4) 传播延迟 d p r o p _{prop} prop (propagation delay)

  ✦ d: 物理链路长度
  ✦ s: 信号传播速度 (~2×10 8 ^8 8 m/sec)
  ✦ d p r o p _{prop} prop = d/s
  ✦ 传播延迟是bit在链路上跑向接收方时产生的延迟
在这里插入图片描述
  四种分组延迟中最特殊的是排队延迟,因为排队延迟不确定。设R: 链路带宽 (bps),L: 分组长度 (bits),a: 平均分组到达速率。定义:流量强度 (traffic intensity) = La / R。
  ✦ La/R ~ 0: 平均排队延迟很小
  ✦ La/R -> 1: 平均排队延迟很大
  ✦ La/R > 1: 超出服务能力,平均排队延迟无限大!
在这里插入图片描述

二、时延带宽积、丢包率、吞吐量

1. 时延带宽积

  时延带宽积 = 传播时延 × 带宽 = d p r o p _{prop} prop × R (bits)
  链路的时延带宽积又称为以比特为单位的链路长度
在这里插入图片描述

2. 丢包率

  队列缓存容量有限
  分组到达已满队列将被丢弃 (即丢包)
  丢弃分组可能由前序结点或源重发 (也可能不重发)
在这里插入图片描述

3. 吞吐量

  吞吐量:表示在发送端与接收端之间传送数据速率 (b/s)
    ✦ 即时吞吐量:给定时刻的速率
    ✦ 平均吞吐量:一段时间的平均速率
  瓶颈链路 (bottleneck link):端到端路径上,限制端到端吞吐量的链路。
在这里插入图片描述
  上图端到端的吞吐量是 min{R S _S S, R C _C C}
在这里插入图片描述
  上图端到端的吞吐量是 min{R S _S S, R C _C C, R/10},实际网络中 R S _S S 或 R C _C C 通常是瓶颈。

1.5 计算机网络体系结构

一、计算机网络体系结构概述

1. 计算机网络体系结构的特点

  网络体系结构是从功能上描述计算机网络结构
  计算机网络体系结构简称 网络体系结构 (network architecture) 是分层结构
  每层遵循某个/些网络协议,完成本层功能
  计算机网络体系结构是计算机网络的各层及其协议的集合
  体系结构是一个计算机网络的功能层次及其关系的定义
  体系结构是抽象的,并不关心功能具体怎么实现

2. 为什么采用分层结构

  结构清晰,有利于识别复杂系统的部件及其关系
    ✦ 通常把分层的结构称作参考模型 (reference model)
  模块化的分层易于系统更新、维护
    ✦ 任何一层服务实现的改变对于系统其它层都是透明的
    ✦ 例如,登机过程的改变并不影响航空系统的其它部分 (层)
  有利于标准化
  但是层次越多,流程越繁琐,效率越低

3. 分层网络体系结构基本概念

在这里插入图片描述
  实体 (entity) 表示任何可发送或接收信息的硬件或软件进程。
  协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”。
  任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”。
  下层协议的实现对上层的服务用户是透明的。
  同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP (Service Access Point),交换原语,指定请求的特定服务。

二、OSI参考模型

1. OSI参考模型概述

  7层,每层完成特定的网络功能
在这里插入图片描述

2. OSI参考模型的通信过程

  主机完成全部七层的功能,路由器完成只需要完成三层的功能。
  对等层之间遵循相同的协议来构造和交换数据,逻辑上来说,数据要在对等层之间交换,但是从物理的上来说,数据肯定要通过物理介质来传输。
  举例:
  A 主机向 B 主机发送数据。最先处理数据的是应用层,然后传给表示层,再传给会话层……最终由物理层传到中间系统。
  中间系统接收数据之后要对数据进行还原,先还原到数据链路层,再还原到网络层,在网络层中可以明确数据应该由哪一段链路传输。然后再交给数据链路层,再交给物理层,传到目的主机。
  同理,目的主机会将数据由下到上一层一层还原到应用层。
在这里插入图片描述
  上图中实线箭头代表数据实际的流动方向,虚线的含义是每一层只能处理同一层传来的数据,而不能跨层处理其他层的数据。
  相邻层之间通过接口来传递数据。
  由于中间系统只实现下三层功能,因此上四层的数据会直接从源主机发往目的主机,中间过程中不做处理,因此称上四层为 端 - 端 层。

3. OSI参考模型的数据封装

在这里插入图片描述
  用户数据在应用层加上应用层头部 (AH) 之后就构成了数据包,数据包又称为协议数据单元 (PDU),以此类推向下传送。
  为什么需要数据封装:
  增加控制信息
    ✦ 构造协议数据单元 (PDU)
  控制信息主要包括:
    ✦ 地址 (Address):标识发送端/接收端
    ✦ 差错检测编码 (Error-detecting code):用于差错检测或纠正
    ✦ 协议控制 (Protocol control):实现协议功能的附加信息,如: 优先级 (priority) 、服务质量 (QoS) 、和安全控制等

4. 物理层的功能

  (1) 规范接口特性
    ✦ 机械特性、电气特性、功能特性、规程特性
  (2) 比特编码
    ✦ 如何表示0和1
  (3) 定义数据率 (传输速率)
  (4) 比特同步
    ✦ 一端发送比特,另一端就接收这一比特,而不会错过
    ✦ 时钟同步
  (5) 决定传输模式
    ✦ 单工 (Simplex)
    ✦ 半双工 (half-duplex)
    ✦ 全双工 (full-duplex)

5. 数据链路层的功能

  从网络层接受协议数据单元,加头加尾构造成帧,将整个帧传给物理层。
在这里插入图片描述
  (1) 负责物理链路直接相连的结点-结点 (node-to-node) 之间的数据传输
  (2) 组帧 (Framing)
    ✦ 加头加尾 (头里一般有地址,尾里一般有差错检测信息)
  (3) 物理寻址 (Physical addressing)
    ✦ 在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端
在这里插入图片描述
  (4) 流量控制 (Flow control)
    ✦ 匹配发送端和接收端的速率,避免淹没接收端
  (5) 差错控制 (Error control)
    ✦ 检测并重传损坏或丢失帧,并避免重复帧
  (6) 访问(接入)控制 (Access control)
    ✦ 在任一给定时刻决定哪个设备拥有链路 (物理介质) 控制使用权

6. 网络层功能

  (1) 负责源主机到目的主机数据分组 (packet) 交付
    ✦ 可能穿越多个网络,链路层的物理地址就不能用了,因此要逻辑寻址
在这里插入图片描述
  (2) 进行逻辑寻址 (Logical addressing)
    ✦ 全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址
  (3) 路由 (Routing)
    ✦ 路由器 (或网关) 互连网络,并路由分组至最终目的主机
    ✦ 路径选择
  (4) 分组转发
在这里插入图片描述
  上图绿色为物理地址,红色为全局唯一逻辑地址,可以看到,在传输过程中,网络层的逻辑源/目的地址是不变的,但是数据链路层的物理源/目的地址却一直在变。

7. 传输层功能

  (1) 负责源-目的 (端-端) (进程间) 完整报文传输。
在这里插入图片描述
  (2) 从会话层接收完整报文并分段交给网络层,从网络层接收分段的数据再重组。
  (3) SAP寻址
    ✦ 确保将完整报文提交给正确进程,如正确的端口号
在这里插入图片描述
  传输层接收主机 S 会话层的完整数据 S-PDU,并将其分为 Data-1 和 Data-2,而 x 和 y 就是SAP地址。到网络层之后又加上 S 和 D 逻辑地址。到数据链路层构造帧,帧中包含物理地址。
  通过网络传输到目的,再一层层剥离头部或头尾、相关地址信息,按照地址信息向上正确提交。最终在目的的传输层把数据交给会话层。
  (4) 连接控制
    ✦ 端到端的连接的建立、维护和拆除 (仅仅是逻辑连接而已)
  (5) 流量控制
  (6) 差错控制

8. 会话层功能

在这里插入图片描述
  (1) 对话控制 (dialog controlling)
    ✦ 两个进程之间会话的建立、维护、拆除
  (2) 同步 (synchronization)
    ✦ 在数据流中插入 “同步点”,一旦数据传输中断了,只需恢复到最近的同步点即可
  会话层功能很少,是最 “薄” 的一层,一般不单独存在。

9. 表示层功能

在这里插入图片描述
  (1) 处理两个系统间交换信息的语法与语义 (syntax and semantics ) 问题。
  (2) 数据表示转化
    ✦ 发送端转换为主机独立 (与主机无关) 的编码,接收端再转换为主机相关编码
  (3) 加密/解密
  (4) 压缩/解压缩
  表示层功能也很少,一般不单独存在。

10. 应用层功能

  (1) 用户将数据交给网络应用,网络应用根据不同的协议对数据进行处理交给表示层。
在这里插入图片描述
  (2) 支持用户通过用户代理 (如浏览器) 或网络接口使用网络 (服务)
  典型应用层服务:
    ✦ 文件传输 (FTP)
    ✦ 电子邮件 (SMTP)
    ✦ Web (HTTP)

三、TCP / IP参考模型

1. TCP / IP参考模型的特点

在这里插入图片描述
  一共有四层。
  所有的网络应用都基于 IP 协议。
  网络接口层没有明确的协议,只要能够封装并转发IP分组即可。
  把网络接口层打开就有了五层参考模型。

2. 五层参考模型

在这里插入图片描述
  综合 OSI (理论) 和 TCP/IP (实用) 的优点.
  应用层:支持各种网络应用
    ✦ FTP,SMTP,HTTP
  传输层:进程-进程的数据传输
    ✦ TCP,UDP
  网络层:源主机到目的主机的数据分组路由与转发
    ✦ IP协议、路由协议等
  链路层:相邻网络元 (主机、交换机、路由器等) 的数据传输
    ✦ 以太网 (Ethernet)、802.11 (WiFi)、PPP
  物理层:比特传输

3. 五层模型的数据封装

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值