什么是计算机网络

相关概念

计算机网络=通信技术+计算机技术

  • 计算机网络是通信技术与计算机技术紧密结合的产物
  • 通信系统模型:

image.png

  • 计算机网络就是一种通信网络

    定义

  • 计算机网络就是互连的、自治的计算机集合。

  • 自治-无主从关系
  • 互连-互联互通

    距离远、数量大如何保证互连?

  • 通过交换网络互连主机

image.png

练习

image.png

  • 解析:选择B、D;多处理器系统和大型机系统没有网络

    什么是Internet?

    全球最大的互联网络

  • 因特网服务提供商ISP(Internet Service Provider)网络互连的“网络之网络”:

image.png

  • 为网络应用提供通信服务的通信基础设施:
    • Web, VoIP, email, 网络游戏, 电子商务, 社交网络, …
  • 为网络应用提供应用编程接口(API):

    • 支持应用程序“连接” Internet,发送/接收数据
    • 提供类似于邮政系统的数据传输服务

      网络之网络

      image.png

      练习

      image.png
  • 回答:ABCD

  • 仅有硬件(主机、 链路、路由器……)连 接,Internet能否顺畅运行?能保证应用数据 有序交付吗?……

回答:No!还需要有协议。

什么是网络协议?

相关概念

协议是计算机网络有序运行的重要保证

image.png

任何通信或信息交换过程都需要规则

image.png

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

  • 协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发生的事件所采取的“动作”(actions)

    协议的三要素

    语法(Syntax)

  • 数据与控制信息的结构或格式

  • 信号电平

    语义(Semantics)

  • 需要发出何种控制信息

  • 完成何种动作以及做出何种响应
  • 差错控制

    时序(Timing)

  • 事件顺序

  • 速度匹配

    练习 网络协议

    image.png

  • 解析:正确答案为A;规定了数据与控制信息的格式。

    协议是计算机网络的重要内容

    image.png

计算机网络的结构

网络边缘

image.png

主机(端系统)

  • 位于“网络边缘”
  • 运行网络应用程序 • 如:Web, email

    客户/服务器(client/server)应用模型

  • 客户发送请求,接收服务器响应

  • 如:Web应用,文件传输FTP应用

    对等(peer-peer, P2P)应用模型

  • 无(或不仅依赖)专用服务器

  • 通信在对等实体之间直接进行
  • 如:Gnutella, BT, Skype, QQ

    数据中心

  • 大部分提供搜索结果、电子邮件、Web页面和视频的服务器都属于大型数据中心。

    接入网络

    定义

  • 将网络边缘接入核心网(边缘路由器)

    • 住宅(家庭)接入网络
    • 机构接入网络 (学校,企业等)
    • 移动接入网络
  • 用户关心的是:

    • 带宽(bandwidth) (bps)?
    • 共享/独占?

      数字用户线路 (DSL)

      image.png
  • 利用已有的电话线连接中心局的DSLAM(数字用户线接入复用器)

    • 数据通信通过DSL电话线接入Internet
    • 语音(电话)通过DSL电话线接入电话网
  • < 2.5 Mbps上行传输速率 (典型速率 < 1 Mbps)
  • < 24 Mbps下行传输速率 (典型速率 < 10)
  • FDM:

    • 50 kHz - 1 MHz用于下行

    • 4 kHz - 50 kHz用于上行
    • 0 kHz - 4 kHz用于传统电话

      电缆网络

  • DSL利用电话公司现有的本地电话基础设施,而电缆因特网接入利用了有线电视公司现有的有线电视基础设施。

image.png

  • 频分多路复用: 在不同频带(载波)上传输不同频道

image.png

  • 因为在这个系统中应用了光纤和同轴电缆,所以它被称为混合光纤同轴(HFC)系统
    • 非对称: 下行高达30Mbps传输速率,上行为2 Mbps传 输速率
  • 各家庭(设备)通过电缆网络→光纤接入ISP路由器

    • 各家庭共享家庭至电缆头端的接入网络
    • 不同于DSL的独占至中心局的接入

      典型家庭网络的接入

      image.png

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

      image.png
  • 主要用于公司、高校、企业等组织机构

  • 典型传输速率:10 Mbps, 100Mbps, 1Gbps, 10Gbps
  • 目前,端系统通常直接连接以太网交换机(switch)

    无线接入网络

    image.png

    网络核心

    定义

  • 互联的路由器网络

  • 网络核心的关键功能:路由+转发

image.png

网络核心解决的基本问题

  • Q:如何实现数据从源主机通过网络核心送达目的主机?
  • A:数据交换


网络核心

相关概念

为什么需要数据交换?

image.png

交换?

image.png

数据交换的类型

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

    电路交换

    电路交换的特点

    image.png

  • 最典型电路交换网络:电话网络

  • 电路交换的三个阶段:
    • 建立连接(呼叫/电路建立)
    • 通信
    • 释放连接(拆除电路)
  • 独占资源

    电路交换网络的链路共享?

  • 电路交换网络如何共享中继线?

—多路复用(Multiplexing)
image.png

练习 电路交换

image.png

  • 答案:BC

    多路复用

    定义

  • 多路复用(multiplexing),简称复用,是通信技术中的基本概念

image.png

  • 链路/网络资源(如带 宽)划分为“资源片”
  • 将资源片分配给各路“呼叫”(calls)
  • 每路呼叫独占分配到的资源片进行通信
  • 资源片可能“闲置”(idle) (无共享)

    典型多路复用方法

  • 频分多路复用( frequency division multiplexing-FDM )

  • 时分多路复用( time division multiplexing-TDM )
  • 波分多路复用(Wavelength division multiplexing-WDM)
  • 码分多路复用( Code division multiplexing-CDM )

    频分多路复用FDM

    image.png

  • 频分多路复用的各用户占用不同的带宽资源(请注意,这里的“带宽 ”是频率带宽(单位:Hz)而不是数据的发送速率)

  • 用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带

image.png

时分多路复用TDM

  • 时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧),每个用户在每个TDM帧中占用固定序号的时隙
  • 每用户所占用的时隙是周期性出现(其周期就是 TDM 帧的长度)
  • 时分复用的所有用户是在不同的时间占用相同的频带宽度

image.png

报文交换(message switching)

报文:源(应用)发送信息整体

image.png

分组交换

image.png

存储-转发(store-and-forward)

image.png

  • 报文交换与分组交换均采用存储-转发交换方式
  • 区别:

    • 报文交换以完整报文进行“存储-转发”
    • 分组交换以较小的分组进行“存储-转发”

      传输延迟

  • 发送主机:

    • 接收应用报文(消息)
    • 拆分为较小长度为 L bits的分组(packets)
  • 在传输速率为R的链路上传输分组

image.png

报文交换 vs 分组交换?

image.png
image.png

  • 报文交换:3段链路(M/R)=3(7.5Mbits/1.5Mbps)=15s
  • 分组交换:

image.png

  • 路由器缓存只需1500bits<<7.5Mbits
    • 适用于突发数据传输网络
  • 资源充分共享
  • 简单、无需呼叫建立
    • 可能产生拥塞(congestion)
  • 分组延迟和丢失
  • 需要协议处理可靠数据传输和拥塞控制
    • Q: 如何提供电路级性能保障?
  • 例如,音/视频应用所需的带宽保障

    分组交换 vs 电路交换?

  • 分组交换提供了比电路交换更好的带宽共享,但可能产生拥塞:分组延迟和丢失
  • 分组交换更简单、更有效,实现成本更低
  • 电路交换更适合实时数据流传输。

    分组交换的报文交付时间

    image.png

    练习1

    image.png

  • 【解】980 000 B大小的文件需要分1000个分组,每 个分组1 000 B。H1发送整个文件需要的传输延迟 为(980 000+201000)8/100 000 000=80ms;根据路由选择基本原理,所有数据分组应该经过两个路由器的转发,所以再加上最后一个分组的两次转发的传输延迟,即210008/100 000 000=0.16ms。所以 ,H2收完整个文件至少需要80+0.16=80.16ms。

    练习2 简述分组交换和电路交换的区别。如果因特网采用电路交换的方式进行数据交换,会带来什么问题?

    解:区别:
    电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道。
    分组交换是以分组为单位进行传输和交换的,它是一种存储——转发交换方式,即将到达交换机的分组先送到存储器暂时存储和处理,等到相应的输出电路有空闲时再送出。
    所带来的问题:
    (1)电路交换平均连接建立时间对计算机通信来说较长。
    (2)电路交换家里连接后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低。
    (3)电路交换时,数据直达,不同类型,不同规格,不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
    image.png

    计算机网络性能

    速率

    速率即数据率(data rate)或称数据传输速率或比特率(bit rate)

  • 单位时间(秒)传输信息(比特)量

  • 计算机网络中最重要的一个性能指标
  • 单位:b/s(或bps)、kb/s、Mb/s、Gb/s
  • k=103、M=106、G=109
  • 速率往往是指额定速率或标称速率

    带宽

    “带宽”(bandwidth)原本指信号具有的频带宽度, 即最高频率与最低频率之差,单位是赫兹(Hz)

  • 网络的“带宽”通常是数字信道所能传送的“最高数据率”,单位:b/s (bps)

  • 常用的带宽单位:

    • kb/s (103 b/s)
    • Mb/s(106 b/s)
    • Gb/s(109 b/s)
    • Tb/s(1012 b/s)

      延迟/时延(delay或latency)

      Q:分组交换为什么会发生丢包和时延?

  • A:分组在路由器缓存中排队

    • 分组到达速率超出输出链路容量时
    • 分组排队,等待输出链路可用

image.png

丢包

image.png

四种分组延迟

image.png

dproc: 结点处理延迟 (nodal processing delay)

  • 差错检测
  • 确定输出链路
  • 通常< msec

    dqueue: 排队延迟 (queueing delay)

  • 等待输出链路可用

  • 取决于路由器拥塞程度

image.png

dtrans: 传输延迟 (transmission delay)

  • L: 分组长度(bits)
  • R: 链路带宽 (bps)
  • dtrans = L/R

    dprop: 传播延迟(propagation delay)

  • d: 物理链路长度

  • s: 信号传播速度 (~2×108 m/sec)
  • dprop = d/s

    时延带宽积

    image.png

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

    吞吐量/率(Throughput)

    吞吐量:表示在发送端与接收端之间传送数据速率 (b/s)

  • 即时吞吐量: 给定时刻的速率

  • 平均吞吐量: 一段时间的平均速率

image.png

练习

题1 时延

image.png

  • 答案:ABCE

    题2 网络性能

    image.png

  • 答案:AC

    题3 假设两个节点同时经一个速率为R的广播信道开始传输一个长度为L的分组。用dprop表示这两个节点之间的传播时延。如果 dprop < L/R,会出现碰撞嘛?为什么

    会出现碰撞,因为如果两个节点同时传输数据,当各自的节点没有传输完成的时候,就受到了来自于另一个节点的信息,导致接受数据受损,发生碰撞
    image.png
    拓展:假设 dprop > L/R,因为dprop > L/R 所以检测不到碰撞 但是其中可能会有碰撞(两个结点中有第三个节点,同时受到两个数据)也可能没有碰撞(中间节点没有同时受到两个数据或者在这两个节点同一侧)
    image.png

    题4 收发两端之间的传输距离为 100km,信号在媒体上的传播速率为 2×10^8m/s,数据长度为 10^6bit,数据发送速率为 100kb/s,试计算它的发送时延和传播时延。

    解:传输时延dtrans=L/R=10^6bit/100kb/s=10s;传播时延dprop=d/s=100km/2*10^8m/s=0.5ms

    题5 如图所示网络。A在t=0时刻开始向C发送一个2Mbits的文件;B在t=0.1+e秒(e为无限趋近于0的小正实数)向D发送一个1Mbits的文件。忽略传播延迟和结点处理延迟。

    image.png
    请回答下列问题:
    1)如果图中网络采用存储-转发方式的报文交换,则A将2Mbits的文件交付给C需要多长时间?B将1Mbits的文件交付给D需要多长时间?
    解:设左边的存储转发节点为E, 右边的节点为F。
    A-E传输整体报文所需时间(2Mbits / 10Mbits/s) = 0.2 s;传输完毕于 0.2 s。
    B-E传输整体报文所需时间(1Mbits / 10Mbits/s) = 0.1s;传输完毕于 (0.2 + e)s。
    E-F先传输A的报文,需要(2Mbits / 20Mbits/s) = 0.1s;传输完毕于 0.3s。
    E-F在结束A的报文后开始传输B的报文,需要(1Mbits / 20Mbits/s) = 0.05s;传输完毕于 (0.35 + e) s。
    F-C传输需 0.2 s,传输完毕于0.5s。
    F-D传输需 0.1 s,传输完毕于 (0.45 + e) s。
    综上,A到C交付2Mbits需要0.5s。B到D交付1Mbits需要0.35s。
    2)如果图中网络采用存储-转发方式的分组交换,分组长度为等长的1kbits,且忽略分组头开销以及报文的拆装开销,则A将2Mbits的文件交付给C需要大约多长时间?B将1Mbits的文件交付给D需要大约多长时间?
    解:A-C,B-D经过了两个路由器,共3跳到达,假设A,B连接的路由器为E,C,D连接的路由器为F
    存储-转发方式的报文交换是以较小的分组进行“存储-转发”,其报文交付时间计算公式为:
    ○ 报文:Mbits
    ○ 链路带宽(数据传输速率):R bps
    ○ 分组长度(大小):L bits
    ○ 跳步数:h
    ○ 路由器数:n
    T=M/R+(h-1)L/R
    =M/R+nL/R
    t从0到0.1秒时,A-C独占链路带宽,此时发送分组传输时延为L/R
    1000 bits/10000000 bits = 0.0001
    即一个分组从A到E仅需0.0001秒,那么0.1秒内A可以发送1000个分组,即1Mbits报文
    从t=0.1秒之后,E到F的链路由A,B共享,各占10Mbits的链路
    A->C:T=2(Mbits)/ 10(Mb/s)+21000 / 10000000=0.2002
    B->D:T=1(Mbits)/ 10(Mb/s)+2
    1000 / 10000000=0.1002
    B到D需要大约0.1002秒
    3)报文交换与分组交换相比,哪种交换方式更公平?(即传输数据量小用时少,传输数据量大用时长)
    分组交换用时少。且在报文交换情况下,当B-D慢了0.1+e秒开始传输时,在E-F链路上需要等待A的报文发送完毕。在分组交换情况中,可以按需共享来复用链路,使得B的报文分组不被阻塞。因此分组交换更为公平。

    题6 考虑两台主机A和主机B由一条带宽为R bps、长度为M米的链路互连,信号传播速率为V m/s。假设主机A从t=0时刻开始向主机B发送分组,分组长度为L比特。试求:

    1)传播延迟(时延)dp;
    M/V
    2)传输延迟dt;
    L/R
    3)若忽略结点处理延迟和排队延迟,则端到端延迟de是多少?
    M/V+L/R
    4)若dp>dt,则t=dt时刻,分组的第一个比特在哪里?
    R(L/R)=L,刚离开主机A
    5)若V=250000km/s,L=512比特,R=100 Mbps,则使带宽时延积刚好为一个分组长度(即512比特)的链路长度M是多少?
    时延带宽积=M/V
    R=512,M=512b*250000km/s/100Mbps=1280m
    (注:1k=10^3,1M=10^6)

    题7 假设主机A向主机B以存储-转发的分组交换方式发送一个大文件。主机A到达主机B的路径上有3段链路,其速率分别是R1=500kbps,R2=2Mbps,R3=1Mbps。试求:

    1)假设网络没有其他流量,则传送该文件的吞吐量是多少?
    答:瓶颈链路为R1,则此场景下传送文件的吞吐量为:500kbps。
    (端到端路径上,限制端到端吞吐量的链路:瓶颈链路)
    2)假设文件大小为4MB,则传输该文件到主机B大约需要多少时间?
    时间T=文件大小4MB*8bit/最小链路速率500kbps=64s

计算机网络结构

计算机网络的体系结构

为什么需要计算机网络体系结构?

image.png

网络体系结构是从功能上描述计算机网络结构

  • 计算机网络体系结构简称网络体系结构 (network architecture)是分层结构
  • 每层遵循某个/些网络协议完成本层功能
  • 计算机网络体系结构是计算机网络的各层及其协议的集合
  • 体系结构是一个计算机网络的功能层次及其关系的定义
  • 体系结构是抽象的

    为什么采用分层结构?

  • 结构清晰,有利于识别复杂系统的部件及其关系

    • 分层的参考模型(reference model )
  • 模块化的分层易于系统更新、维护
    • 任何一层服务实现的改变对于系统其它层都是透明的
    • 例如,登机过程的改变并不影响航空系统的其它部分(层)
  • 有利于标准化
  • 分层是否有不利之处?

    • 分层太多会导致效率低。

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

      image.png
  • 实体(entity) 表示任何可发送或接收信息的硬件或软件进程。

  • 协议是控制两个对等实体进行通信的规则的集合,协议是“水平的” 。
  • 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”。
  • 下层协议的实现对上层的服务用户是透明的。
  • 同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP (Service Access Point),交换原语,指定请求的特定服务。

    OSI参考模型

    image.png

    开放系统互连 (OSI)参考模型是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型

  • 目的是支持异构网络系统的互联互通

  • 异构网络系统互连的国际标准
  • 理解网络通信的最佳学习工具 (理论模型)
    • 理论成功,市场失败
  • 7层(功能),每层完成特定的网络功能

    OSI参考模型解释的通信过程

    image.png
    image.png

    为什么需要数据封装?

  • 增加控制信息

    • 构造协议数据单元 (PDU)
  • 控制信息主要包括:

    • 地址(Address): 标识发送端/接收端
    • 差错检测编码(Error-detecting code): 用于差错检测或纠正
    • 协议控制(Protocol control): 实现协议功能的附加信息,如: 优先级(priority)、服务质量(QoS)、 和安全控制等

      物理层

      image.png
      接口特性  机械特性、电气特性、功能特性、规程特性
  • 比特编码

    • 选用什么样的编码方式
  • 数据率
    • 定义一个数据率
  • 比特同步
    • 时钟同步
  • 传输模式

    • 单工(Simplex) :传统的电视
    • 半双工(half-duplex) :交替双方通信,如对讲机,说话的时候不能听,听的时候不不能说
    • 全双工(full-duplex):独立的两个信道

      数据链路层

      image.png
  • 负责结点-结点(node-to-node)数据传输

  • 组帧(Framing)
  • 物理寻址(Physical addressing)
    • 在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端
  • 数据链路层功能

image.png

  • 流量控制(Flow control) 避免淹没接收端
  • 差错控制(Error control) 检测并重传损坏或丢失帧,并避免重复帧
  • 访问(接入)控制(Access control) 在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权

    网络层

    image.png
  • 负责源主机到目的主机数据分组(packet)交付
    • 可能穿越多个网络
  • 逻辑寻址(Logical addressing)
    • 全局唯一逻辑地址,确保数据分组被送达目的主机,如 IP地址
  • 路由(Routing)
    • 路由器(或网关)互连网络,并路由分组至最终目的主机
    • 路径选择
  • 分组转发

image.png

传输层

image.png

  • 负责源-目的(端-端) (进程间) 完整报文传输
  • 分段与重组
  • SAP寻址
    • 确保将完整报文提交给正确进程,如端口号
  • 连接控制
  • 流量控制
  • 差错控制

    会话层

    image.png

  • 对话控制(dialog controlling)

    • 建立、维护
  • 同步(synchronization)
    • 在数据流中插入“同步点”
  • 最“薄”的一层

    表示层

    image.png

  • 处理两个系统间交换信息的语法与语义(syntax and semantics )问题

  • 数据表示转化
    • 转换为主机独立的编码
  • 加密/解密
  • 压缩/解压缩

    应用层

    image.png

  • 支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)

  • 典型应用层服务:

    • 文件传输(FTP)
    • 电子邮件(SMTP)
    • Web(HTTP)

      TCP/IP参考模型

      image.png

      5层参考模型

      image.png

      5层模型的数据封装

      image.png

      练习

      题1 OSI

      image.png
  • 答案为AD

    题2 网络结构

    image.png

  • 答案为BD;表示层在会话层的上一层,可以使用会话层的同步服务。

    题3 TCP/IP

    image.png

  • 答案为AB;进程到进程间的通信由传输层完成。

    题4 在OSI参考模型中,负责实现路由选择功能的是网络层