计算机网络——第一章:计算机网络和因特网

参考书目《计算机网络:自顶向下方法(第七版)》

什么是因特网

  • 通常把与因特网相连的计算机和其他设备称为端系统
  • 端系统通过通信链路分组交换机连接在一起
  • 分组交换机:路由器和链路层交换机
  • 链路层交换机通常用于接入网,而路由器通常用于网络核心中
  • 端系统通过因特网服务提供商(Internet Service Provider, ISP)接入因特网

  • 因特网标准(Internet Standard)由因特网工程任务组(Internet Engineering Task, Force, IETF)研发,IETF的标准文档称为请求评论(Request For Comment, RFC)


网络边缘

  • 接入网是指将端系统物理连接到其边缘路由器的网络

    1. 家庭接入:数字用户线(Digital Subscriber Line, DSL)、电缆、光纤到户(Fiber To The Home, FTTH)、拨号和卫星
    2. 企业(和家庭接入):以太网、WiFi
    3. 广域无线接入:4G和LTE
  • 因特网传输的物理媒介

    • 导引型媒介:双绞铜线、同轴电缆、光纤
    • 非导引型媒介:陆地无线电信道、卫星无线电信道

网络核心

通过网络链路和交换机移动数据有两种基本方法:电路交换分组交换

分组交换

  • 源将长报文划分为较小的数据块,称之为分组
  • 多数分组交换机在链路的输入端使用存储转发机制,存储转发传输是指在交换机能够开始向链路传输该分组的第一个比特之前,必须接收到整个分组
  • 分组交换网路采用统计复用(Statistical Multiplexing)原则,意味着在一个处理节点,数据包分组的到达的分布是符合统计学分布(泊松分布);基于统计复用的系统,就叫做排队系统
  • 对于每条相连的链路,该分组交换机具有一个输出缓存(也称为输出队列),它用于存储路由器准备发往那条链路的分组。
  • 分组可能需要承担存储转发时延排队时延甚至分组丢失
  • 每台路由器具有一个转发表,用于目的地址(或目的地址的一部分)映射成为输出链路。路由选择协议用于自动的设置这些转发表

电路交换

  • 在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率);在分组交换网络中是不预留的
  • 链路中的电路是通过频分复用(FDM)时分复用(TDM)来实现的,如下图所示
  • 对于FDM
    • 在连接期间链路为每条连接分配一个专用频段,该频段的宽度称为带宽
    • 个人理解:将总带宽根据用户人数划分给每个用户,每个用户只分得总带宽的一部分,但所有用户同一时间互不干扰
  • 对于TDM
    • 时间被划分为固定期间的,并且每个又被划分为固定数量的时隙,网络在每个帧中为每个连接指定一个时隙,该时隙专门由该连接单独使用
    • 个人理解:类似于操作系统中CPU轮转调度,每个连接轮着使用,并在使用期间内独享物理最大带宽
    • 从而对于TDM,一条电路的传输速率等于帧速率乘以一个时隙中的比特数量

分组交换与电路交换的对比

  1. 电路交换在静默期中电路资源被浪费了;创建端到端电路和预留端到端带宽是复杂的
  2. 分组交换不适合实时服务,因为它的端到端时延是可变的和不可预测的
  3. 分组交换提供了比电路交换更好的带宽共享,允许更多的用户使用网络;它比电路交换更简单、更有效、实现成本更低

分组交换网络中的时延、丢包和吞吐量

时延概述

  • 时延类型:

    • 处理时延($d_{proc}$):检查分组首部、确定分组去向、检查差错等
    • 排队时延($d_{queue}$):分组在队列中等待被传输的时间
    • 传输时延($d_{trans}$):接收到整个分组的时间
      用$L$比特表示分组的长度,用$R$bps表示从路由器A到路由器B的链路传输速率,则传输时延为$\frac{L}{R}$
    • 传播时延($d_{prop}$):一个比特从链路的起点到到终点在媒介中传播所需的时间
  • 节点总时延

排队时延和丢包

  • 排队时延对于不同的分组可能是不同的
  • 令$a$表示分组到达队列的平均速率(a的单位为分组/秒,即pkt/s),传输速率$R$bps,假定所有分组长度为$L$比特,则比特到达队列的平均速率是$La$bps;再假设队列容量为无穷,则流量强度定义为$\frac{La}{R}$
  • 平均排队时延与流量强度的关系如下
    • $\frac{La}{R} \rightarrow 0$平均排队时延很小
    • $\frac{La}{R} \rightarrow 1$排队时延趋进于无穷
  • 实际中队列容量是有限的,因而当队列容量满时,路由器将丢弃新到达的分组,也就是丢包

吞吐量

  • 瞬间吞吐量指主机在某一时刻接受文件的速率
  • 平均吞吐量$\frac{F}{T}$bps表示接收到所有$F$比特用了$T$秒
  • 吞吐量取决于数据流过的链路的传输速率。也就是说,其近似为沿着源和目的地之间路径的最小传输速率

协议层次及其服务模型

  • 分层的优点
    改变服务的实现而不影响该系统其他组件(利于维护更新)
    简化网络系统
  • 分层的缺点
    高层可能冗余较低层的功能(例如许多协议在基于每段链路和基于端到端两种情况下,都提供了差错恢复)
    某层的功能可能需要仅在其他某层才出现的信息(如时间戳值),这违反了层次分离的目标

  • TCP/IP的5层协议栈,在每一层,一个分组具有两种两种类型的字段:首部字段有效载荷字段有效载荷通常是来自上一层的分组

自上而下 载体 协议
应用层 message FTP,SMTP,HTTP
运输层 segment TCP,UDP
网络层 datagram/packet IP,路由协议
链路层 frame PPP,以太网
物理层 bit/Byte -

OSI将计算机网络体系结构(architecture)划分为以下七层:

  • 应用层: 提供应用程序间通信
  • 表示层: 处理数据格式、数据加密等(表示层的目的是表示出用户看得懂的数据格式,实现与数据表示有关的功能。
    主要完成数据字符集的转换,数据格式化和文本压缩,数据加密、解密等工作)
  • 会话层: 建立、维护和管理会话
  • 传输层: 建立主机端到端连接
  • 网络层: 寻址和路由选择
  • 数据链路层: 提供介质访问、链路管理等
  • 物理层: 比特流传输