每天一遍, 预防失眠.

名词索引表

应用层

  • HTTP
    HyperText Transfer Protocol 超文本传输协议
  • SSL
    Secure Sockets Layer 安全套接层
  • RTT
    Round-Trip Time 往返时延
  • SMTP
    The Simple Mail Transfer Protocol 简单邮件传输协议
  • POP
    Post Office Protocol 邮局协议
  • IMAP
    Internet Mail Access Protocol 交互邮件访问协议
  • DNS
    domain name system 域名系统
  • TLD
    top-level domain 顶级域名服务器
  • ISP
    internet Service Provider 互联网服务提供商
  • P2P
    peer to peer 对等网络
  • CBR
    constant bit rate 静态码率
  • VBR
    variable bit rate 动态码率
  • DASH
    Dynamic Adaptive Streaming over HTTP 基于HTTP的自适应传输流技术
  • CDN
    Content Distribution Networks 内容分发网络
  • DHCP
    Dynamic host configuration protocol 动态主机配置协议

传输层

  • TCP
    Transmission Control Protocol 传输控制协议
  • UDP
    User Datagram Protocol 用户数据报协议
  • rdt
    reliable data transfer Protocol 可靠数据传输协议
  • FSM
    finite state machines 有限状态机
  • ACKs
    acknowledgements 承认
  • NAKs
    negative acknowledgements 不承认
  • GBN
    Go-Back-N 回退N步
  • URG
    urgent data 紧急数据
  • PSH
    push data now 立即推送数据
  • SYN
    Synchronize Sequence Numbers 同步序列编号
  • ssthresh
    slow start threshold 慢启动阈值

网络层 The Data Plane

  • IP
    Internet Protocol
  • ARP
    Address Resolution Protocol 地址解析协议
  • ICMP
    Internet Control Message Protocol 网际控制报文协议
  • IGMP
    Internet Group Management Protocol 国际组管理协议
  • ICANN
    Internet Corporation for Assigned Names and Numbers 互联网名字和数字分配机构
  • VLSM
    Variable Length Subnet Mask 变长子网掩码
  • CIDR
    Classless Inter-Domain Routing 无分类域间路由选择
  • PING
    Packet InterNet Groper 分组网间探测
  • AS
    autonomous system 自治系统
  • IGP
    Interior Gateway Protocol 内部网关协议
  • RIP
    Routing Information Protocol 路由信息协议
  • DV
    distance-vector 距离向量
  • OSPF
    Open Shortest Path First 开放最短路径优先
  • LS
    link state 链路状态
  • EGP
    External Gateway Protocol 外部网关协议
  • BGP
    Border gateway Protocol 边界网关协议
  • SDN
    Software Defined Network 软件定义网络

网络层 The Control Plane

// TODO

链路层

  • CRC
    Cyclic redundancy check 循环冗余校验
  • ppp
    point-to-point 点对点协议
  • MAC
    Media Access Control 媒体介入控制
  • TDMA
    time division multiple access 时分多路访问
  • FDMA
    frequency division multiple access 频分多路访问
  • CSMA
    carrier sense multiple access 载波侦听多路访问
  • CSMA/CD
    carrier sense multiple access/collision detection 载波侦听多路访问/碰撞检测
  • CSMA/CA
    Carrier Sense Multiple Access with Collision Avoid 载波侦听多路访问/碰撞避免

    物理层

Other Name

  • NAT
    Network address Translation 网络地址转换
  • VLAN
    Virtual Local Area Network 虚拟局域网

考纲

第一章 计算机网络和Internet

理解 Internet 层次型网络架构。 (1.1)

// TODO

深入理解数据交换技术:分组交换(packet switching)和电路交换(circuit switching),基本原理和优缺点。(1.3)

  • 分组交换
    • 基本原理:
      分组交换是以分组为单位进行传输和交换的,它是一种存储转发交换方式,即将到达交换机的分组先送到存储器暂时存储和处理,等到相应的输出电路有空闲时再送出
    • 优点:
      • 分组交换不需要为通信双反预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送分组。
      • 由于采用存储转发方式,加之交换节点具有路径选择,当某条传输线路故障时可选择其他传输线路,提高了传输的可靠性。
      • 通信双反不是固定的占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。
      • 加速了数据在网络中的传输。因而分组是逐个传输,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线式传输方式减少了传输时间。
      • 分组长度固定,相应的缓冲区的大小也固定,所以简化了交换节点中存储器的管理。
      • 分组较短,出错几率减少,每次重发的数据量也减少,不仅提高了可靠性,也减少了时延。
    • 缺点:
      • 由于数据进入交换节点后要经历存储转发这一过程,从而引起的转发时延(包括接受分组、检验正确性、排队、发送时间等),而且网络的通信量越大,造成的时延就越大,实时性较差。
      • 分组交换只适用于数字信号。
      • 分组交换可能出现失序,丢失或重复分组,分组到达目的节点时,对分组按编号进行排序等工作,增加了麻烦。
      • 分组都要加上源、目的地址和分组编号等信息,使传送的信息量大约增大5%~10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加。
  • 电路交换
    • 基本原理
      电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道
    • 优点:
      • 由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。
      • 通信双方之间的屋里通路一旦建立,双方可以随时通信,实时性强。
      • 双方通信时按发送顺序传送数据,不存在失序问题。
      • 电路交换既适用于传输模拟信号,也适用于传输数字信号。
      • 电路交换的交换设备及控制均比较简单。
    • 缺点:
      • 电路交换平均连接建立时间对计算机通信来说较长。
      • 电路交换家里连接后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低。
      • 电路交换时,数据直达,不同类型,不同规格,不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。

掌握计算机网络主要性能评价参数的物理含义及计算方法

  • 吞吐率(throughput)
    瞬时吞吐量: 主机接收到文件的速率(以bps计)
    平均吞吐量: 假设文件由F比特组成, 主机接受整个文件用去T秒, 平均吞吐量是F/S bps

  • 延迟(delay)
    $$总时延 = 传输时延(transmission) + 传播时延(propagation)+ 排队时延(queuing) + 处理时延(processing)$$

  • 丢包率(loss rate)
    $$\cfrac{输入报文-输出报文}{输入报文}*100%$$

能够理解计算机网络协议栈分层设计的方法,每层的名称、主要功能、Internet 对应层的主要协议。(1.5)

  1. OSI七层架构
a b c
第一层 物理层(physical)(单位类型:比特) 实现比特流的透明传输,物理接口,具有电气特性
第二层 数据链路层(date link)(单位类型:帧) 访问介质;数据在该层封装成帧;用MAC地址作为访问媒介;具有错误检测与修正功能。MAC描述在共享介质环境中如何进行站的调度、发生和接收数据。MAC确保信息跨链路的可靠传输,对数据传输进行同步,识别错误和控制数据的流向。一般地讲,MAC只在共享介质环境中才是重要的,只有在共享介质环境中多个节点才能连接到同一传输介质上
第三层 网络层(network)(单位类型:报文) 数据传输;提供逻辑地址,选择路由数据包,负责在源和终点之间建立连接
第四层 传输层(transport) 实现端到端传输;分可靠与不可靠传输;在传输前实现错误检测与流量控制,定义端口号(标记相应的服务)
第五层 会话层(session) 主机间通信;对应用会话管理,同步
第六层 表示层(presention) 数据表现形式;特定功能的实现-比如加密模式确保原始设备上加密的数据可以在目标设备上正确地解密
第七层 应用层(application) 最接近终端用户的OSI层,这就意味着OSI应用层与用户之间是通过应用软件直接相互作用的。网络进程访问应用层;提供接口服务
  1. TCP/IP四层架构
a b c
第四层 应用层 TCP/IP协议的应用层相当于OSI模型的会话层、表示层和应用层,FTP(文件传输协议),DNS(域名系统),HTTP协议,Telnet(网络远程访问协议)
第三层 传输层 提供TCP(传输控制协议),UDP(用户数据报协议)两个协议,主要功能是数据格式化、数据确认和丢失重传等。
第二层 网络层 该层负责相同或不同网络中计算机之间的通信主要处理数据包和路由。数据包是网络传输的最小数据单位。通过某条传输路线将数据包传给对方。IP协议,ICMP协议,IGMP协议。在IP层中,ARP协议用于将IP地址转换成物理地址,ICMP协议用于报告差错和传送控制信息。IP协议在TCP/IP协议组中处于核心地位。
第一层 网络接口层 TCP/IP协议的最低一层,对实际的网络媒体的管理,包括操作系统中的设备驱动程序和计算机对应的网络接口卡
  1. TCP/IP五层架构
a b c
第五层 应用层 单位:报文(message) 应用层是网络应用程序及它们的应用层协议存留的地方
第四层 运输层 单位:报文段(segment) 因特网的运输层在应用程序端点之间传送应用层报文. 有两种运输层协议TCP和UDP
第三层 网络层 单位:数据报(datagram) 负责将名为数据报的网络层分组从一台主机移动到另一台主机
第二层 链路层 单位:帧(frame) 将整个帧从一个网络元素移动到邻近的网络元素
第一层 物理层 单位:比特(bit) 将帧中的一个个比特从一个节点移动到下一个节点

第二章 应用层

掌握应用层在网络协议栈中的位置及主要功能

理解应用层协议的两种架构

  • C/S架构
    在客户-服务器体系结构中, 有一个总是打开的主机称为服务器, 它服务于来自许多其他称为客户的主机的请求.
  • P2P
    在一个P2P体系结构中, 对位于数据中心的专用服务器有最小(或者没有)依赖, 相反, 应用程序在间断连接的主机对之间使用直接通信, 这些主机对被称为对等方. 因为这种对等方通信不必通过专门的服务器, 该体系结构被称为对等方到对等方的.

熟练掌握 HTTP 协议设计基本原理,两种工作机制:持续性(persistent)和非持续性(non-persistent)的传输延迟的性能分析

  • 非持续连接的缺点:
    • 必须为每一个请求的对象建立和维护一个全新的连接, 给Web服务器带来了严重的负担
    • 每一个对象经受两倍的RTT的交付时延, 一个用于创建TCP, 另一个用于请求和接收一个对象

DNS

  • 为何采用分布式数据库
    集中式设计的问题包括:
    • 单点故障: 如果该DNS服务器崩溃, 整个因特网随之瘫痪
    • 通信容量: 单个DNS服务器将处理所有的DNS查询
    • 远距离的集中式数据库: 距离较远的主机查询会导致严重的时延
    • 维护: 此中央数据库庞大, 且需要频繁更新
  • 递归查询和迭代查询
    通常从主机到本地DNS服务器的查询是递归的, 其余的查询是迭代的.

第三章 传输层

理解传输层在网络协议栈中的位置及主要功能

熟练掌握经典的可靠数据传输协议的工作原理

  • 停等ARQ(stop and wait)
    每发送完一个分组就停止发送 ,等待对方的确认,在收到确认后再发送下一个分组。出现差错时需进行超时重传,这时就要附加一个超时计时器,超出一定时间判定数据丢失进行重传;出现确认丢失时,重传数据,B收到数据后丢弃并重传确认信号;出现确认迟到时,重传数据,A收到第二个确认信号时将其丢弃。
    缺点是较长的等待时间导致低的数据传输速度。在低速传输时,对连接频道的利用率比较好,但是在高速传输时,频道的利用率会显著下降。
  • 连续ARQ(Automatic Repeat-reQuest)
    • 回退N步(Go Back N, GBN)
      也常被称为滑动窗口协议接收点丢弃从第一个没有收到的数据包开始的所有数据包, 发送点收到NACK后,从NACK中指明的数据包开始重新发送。
      注: Nack中的N应该是指exceptedseqnum
    • 选择重传(Selective Repeat, SR)
      发送点连续发送数据包但对每个数据包都设有个一个计时器。当在一定时间内没有收到某个数据包的ACK时,发送点只重新发送那个没有ACK的数据包。
    • RTT(Round Trip Time)的估计方法和超时时长(Timeout)的设置

  • RTT估计方法:
    $$EstimatedRTT = (1-\alpha)\cdot EstimatedRTT + \alpha \cdot SampleRTT$$
    其中$\alpha$的推荐值是$\alpha = \frac{1}{8}$
  • 超时时长设置
    首先定义RTT的变化:
    $$DevRTT = (1-\beta)\cdot DevRTT+\beta \cdot |SampleRTT - EstimatedRTT| $$
    其中$\beta$的推荐值是$\beta = \frac{1}{4}$
    其次是确定重传超时间隔:
    $$TimeoutInterval = EstimatedRTT + 4\cdot DevRTT$$
    当出现超时后, TimeoutInterval的值将加倍

    熟练掌握 TCP RENO 拥塞控制的过程能够判断在不同事件(超时、收到三次重复 ACK 包)发生时 TCP 如何做拥塞窗口调整

[1, 4] : 慢启动
[4, 8] : 拥塞避免
在 t=9 时刻, 发生了乱序(产生了三个重复的ACK包), 因为Reno在t=9时刻, ssthresh = ssthresh/2 + 3
如果发生超时丢包, 即使是Reno算法, 拥塞窗口被置为1, ssthresh=ssthresh/2

能够理解 TCP 连接建立和拆除的工作流程及原因

第四章 网络层-数据平面

掌握网络层协议在协议栈中的位置、提供的服务及主要功能。(4.1)

理解 IPv4 地址 CIDR 表示方式、子网、子网掩码概念。

子网: 互联若干个主机接口与1个路由器接口的网络形成一个子网(子网也称为IP网络或直接称为网络)
子网掩码: 假如IP编址为这个子网分配一个地址223.1.1.0/24, 其中的/24记法, 有时被称为子网掩码, 指示32比特中最左侧24比特定义了子网地址.

能够根据用户对IP地址数量的需求进行网络规划、分配IP地址块

理解网络地址转换 NAT 的动机和工作机制

  • 动机
    • 只能从ISP申请一个IP地址
    • IPv4地址耗尽
    • 本地网络设备IP地址的变更,无需通告外界网络
    • 变更ISP时,无需修改内部网络设备IP地址
    • 内部网络设备对外界网络不可见,即不可直接寻址(安全)
  • 工作机制
    NAT实现通过利用端口号对内部地址和端口号进行转换,并维护一个转换表。
    • 替换
      利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)
    • 记录
      将每对(NAT IP地址, 新端口号) 与(源IP地址, 源端口号)的替换信息存储到NAT转换表中
    • 替换
      根据NAT转换表,利用(源IP地址, 源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号),即(NAT IP地址, 新端口号)

第五章 网络层-控制平面

路由算法和路由表

OSPF -> Link State -> Dijkstra
RIP -> Distance vector -> Bellman-Ford

第六章 数据链路层

理解链路层的功能

链路层负责物理相邻节点之间的数据传输

理解多址接入协议(MAC)的功能

针对共享传输介质来协调节点对信道的使用

了解MAC协议按工作方式进行分类

  • 信道划分(channel partitioning)协议
    在所有共享信道节点之间划分广播信道带宽的技术.

    • 时分多路复用(TDM)
      TDM将时间划分为时间帧(time frame), 并进一步划分每个时间帧为N个时隙(slot), 然后把每个时隙分配给N个节点中的一隔. 无论何时某个及节点在有分组要发送的时候, 它在循环的TDM帧中指派给它的时隙内传送分组比特.
    • 频分多路复用(FDM)
      FDM将R bps信道划分为不同的频段(每个频段具有R/N带宽), 并把每个频率分配给N个节点中的一个. 因此FDM在单个较大的R bps信道中创建了N个较小的R/N bps信道.
    • 码分多址(CDMA)
      CDMA对每个节点分配一种不同的编码, 然后每个节点用它唯一的编码来对它发送的数据进行编码.
  • 随机接入(random access)
    在随机介入协议中, 一个传输节点总是以信道的全部速率(即R bps)进行发送, 当有碰撞时, 涉及碰撞的每个节点反复重发它的帧, 到该帧无碰撞地通过为止, 但是当一个节点经历一次碰撞时, 它在重发该帧之前等待一个随机时延.

    • ALOHA
      当一帧首次到达, 节点立刻将该帧完整的传输进广播信道, 如果一个传输的帧与一个或多个传输经历了碰撞, 这个节点将立刻以概率p重传该帧, 否则, 该节点等待一个帧传输时间, 在此等待之后, 它则以概率p传输该帧, 或者以概率1-p在另一个帧时间等待.
    • 时隙 ALOHA
      1. 当节点有一个新帧要发送时, 它等到下一个时隙开始并在该时隙传输整个帧.
      2. 如果没有碰撞, 该节点成功的传输它的帧, 从而不需要考虑重传该帧.
      3. 如果有碰撞, 该节点在时隙结束之前检测到这次碰撞, 该节点以概率p在后续的每个时隙中重传它的帧, 知道该帧被无碰撞地传输出去.
    • CSMA/CD(Carrier Sense Multiple Access with collision detection)
      1. 准备好链路层帧后, 将其放入发送缓存中.
      2. 如果侦听到信道空闲, 开始传播帧, 如果侦听到信道正在忙, 就等待到信道空闲时才开始传播帧.
      3. 在传播过程中, 保持检测是否存在来自其他设备的使用该广播信道的信号.
      4. 如果未检测到其他设备的信号, 那么传输完成; 如果在传播时检测到了其他设备的信号就中止传输.
      5. 中止传播后, 等待一个随机时间量, 然后返回步骤2. 假设随机时间量为 t, 如果采用二进制指数后退算法, 那么从区间 $ [0, 1, … , 2^n - 1] $中选择一个 K 值, n 为该帧经历的碰撞次数, $t = K\times t_0, \ \ t_0$是发送512比特进入以太网所需要的时间.
      载波侦听后要冲突探测的原因: 在多路访问协议中加入碰撞检测, 通过不传输一个无用的损坏的帧, 将有助于改善协议的性能.
  • 轮流协议(taking turns)

    • 轮询协议
      轮询协议要求多路访问的节点之一要被指定为主节点, 主节点以循环的方式轮询每个节点
    • 令牌传递协议
      在这种协议中没有主节点, 一个称为令牌的小的特殊帧在节点之间以某种固定的次序进行交换.

掌握 ARP 的工作机制,理解教材图 6.19 Two subnets interconnected by a router 的例子,要能独自分析数据包的传输过程。

交换机自学习

  • 交换机表初始为空
  • 对于在每个接口接收到的每个入帧, 交换机在表中存储:
    1. 在该帧源地址字段中的MAC地址
    2. 该帧到达的接口
    3. 当前时间
  • 如果在一段时间(老化期 aging time)后, 交换机没有接收到以该地址作为源地址的帧, 就在表中删除这个地址.

深刻理解教材 6.7 节

Web 页面请求的历程(简略过程总结): (以www.google.com为例)

  • 准备: DHCP, UDP, IP和以太网
  1. 主机准备使用DHCP协议获取IP地址和其它相关信息. 依次封装DHCP报文, UDP报文段和IP数据报中.
  2. 将IP数据报放置于以太网帧中并广播给所有与交换机相连的设备中.
  3. 以太网帧到达交换机, (假设此帧是交换机接收到的第一个以太网帧)交换机在所有的出端口广播该入帧.
  4. 路由器(运行着DHCP服务器)接收到了该以太网帧, 分解帧递交至DHCP服务器.
  5. DHCP服务器做出响应, 将DHCP ACK报文依次封装到UDP报文, IP数据报, 以太网帧中并发送
  6. 帧到达交换机并被转发
  7. 主机接收到帧, 更新自身IP地址, 子网掩码, DNS服务器IP和默认网关地址.
  • 仍在准备: DNS和ARP
  1. (由于还不知道google的ip地址) 主机的操作系统生成一个DNS查询报文并被封装到UDP报文段中, 目的端口为 53.
  2. (由于还不知道默认网关的MAC地址) 主机将使用ARP协议.
  3. 将ARP查询报文封装到以太网帧中, 发送给所有与交换机相连的设备中.
  4. 默认网关路由器接收到该帧, 准备好ARP回答并置于以太网帧(目的地址设置为主机的MAC地址而不是广播)中, 经过交换机的转发递交给主机
  5. 主机从ARP回答中抽取网关的MAC地址
  6. 主机的含有DNS查询报文的以太网帧能够寻址到网关路由器
  • 仍在准备: 域内路由选择到DNS服务器
  1. 路由器根据OSPF, rip, BGP等协议生成转发表, 通过转发表确定路由将DNS查询报文发送到DNS服务器.
  2. DNS服务器在DNS数据库中找到www.google.com的DNS源记录(来源于权威DNS服务器), DNS服务器生成对应的DNS回答报文并封装到UDP报文段中, 最后数据报被发送到主机中.
  3. 主机获取www.google.com的IP地址.
  • Web 客户-服务器交互: TCP 和 HTTP
  1. 主机建立TCP套接字, 尝试和服务器进行连接, 所以首先进行三次握手(过程略, 见上面图)
  2. 完成三次握手后, 借助套接字发送GET请求报文, 依次封装HTTP报文, TCP报文段, IP数据报. 发送至google服务器.
  3. google服务器收到GET请求报文, 生成含有Web页面内容的响应报文, 发送至主机
  4. 主机收到响应报文, 从中抽取Web网页的html, 浏览器显示了Web页面.

第七章 无线和移动网络

能够掌握 CSMA/CA 协议的基本工作原理。(7.3.1,7.3.2)

CSMA/CA, CSMA with collision avoidance, 带碰撞避免的CSMA.

  • 链路层确认:
    目的站点收到一个通过CRC校验的帧后, 它等待一个短帧间间隔的一小段时间, 然后发挥一个确认帧. 如果发送站点在给定的时间内未收到确认帧, 它假定出现了错误并重传该帧, 使用CSMA/CA协议访问该信道. 如果在若干固定次重传后仍未收到确认, 发送站点将放弃发送并丢弃该帧.
  • CSMA/CA:
    假设一个站点有一个帧要发送.
    1. 如果监听到信道空闲, 它将在一个分布式帧间间隔的短时间段后发送该帧.
    2. 否则, 选取一个随机回退值, 并且在侦听信道空闲时递减该值. 当侦听到信道忙时, 计数值保持不变.
    3. 当计数值减为 0 时, 该站点发送整个数据帧并等待确认.
    4. 如果收到确认(说明帧被正确接收了). 如果还要发送另一帧, 将从第二步开始CSMA/CA, 如果未收到确认, 就重新进入第二步中的回退阶段, 并从一个更大的范围内选取随机值.

能够深入理解隐藏终端(hidden terminal)问题和其解决方法。(7.3.2)

解决方法: RTS(Request to Send, RTS)和CTS(Clear to Send, CTS)
当发送方要发送一个DATA时, 首先向AP(access point)发送一个RTS帧, 指示传输DATA帧和确认(ACK)帧需要的总时间. 当AP收到RTS帧后, 它广播一个CTS帧作为响应. 该CTS帧有两个目的: 给发送方明确的发送许可, 也指示其它站点在预约期内不要发送.

第八章 网络安全

了解网络安全和数据加密的基本概念,对称密钥和公开密钥的基本原理和性质

  • 安全通信具有的特征

    • 机密性: 仅有发送方和希望的接收方能够理解传输报文的内容. – 数据加密和解密的密码学技术.
    • 报文完整性: 确保其通信的内容在传输过程中未被改变, 包括恶意篡改或者意外改动. – 检验和技术在扩展后可用于提供这种报文完整性
    • 端点鉴别: 发送方和接受方都应该能证实通信过程所涉及的另一方, 以确信通信的另一方确实具有其所声称的身份. – 端点鉴别技术
    • 运行安全性: 反制对机构网络的攻击 – 防火墙和入侵检测系统等运行设备.
  • 对称密钥系统

    • 通信双方的密钥是相同且秘密的.
    • 这种方法的一个困难是双方必须就共享密钥达成一致, 但是这样做的前提是需要安全通信.
  • 公开密钥系统:

    • 使用一对密钥: 一个密钥为通信双方(实际上为全世界)所知, 另一个密钥只有通信双方中的一个所知(而不是双方都知道)
    • 双方能够在没有预先商定的共享密钥的条件下进行加密通信
  • hash函数: 找到任意两个不同的报文 x 和 y 使得H(x) = H(y), 在计算上是不可能的.

  • 报文鉴别码(Message Authentication Code, MAC):

    • 通信双方需要共享秘密 s (鉴别密钥, authentication key).
    • 假设报文内容为 m, 报文鉴别码为 H(m+s).
  • 数字签名:

    • 报文发送方产生公钥和密钥.
    • 报文内容为 m, 计算报文散列 h = H(m)
    • 发送方用私钥$K_B^-$计算$K_B^-(h)$, 即数字签名, 将完整报文连同数字签名一同发送.
    • 接收方拆分长报文m 和数字签名k. 计算 H(m) 和 $K_B^+(k)$, 如果二者相同说明报文具有消息完整性.

第九章 多媒体网络

延迟抖动

  • 产生原因:
    分组在网络路由器中经历的变化的排队时延使得在源中产生分组到它在接收方收到的这段时间, 对于不同的分组可能会有波动.

  • 解决方法:

    • 固定播放时延:
      假设块在时刻t被产生出来, 那么接收方会在t+q(常量)时刻播放这个块.
    • 适应性播放时延:
      假设:
      $t_i = 该分组产生的时间$
      $r_i = 分组i被接收的时间$
      $p_i = 分组i被播放的时间$
      那么第i个分组被接收时的平均网络时延的估计值为:
      $d_i = (1-u)d_{i-1} + u(r_i - t_i)$
      另vi为平均网络时延的估计值与实际时延的偏差的估计值
      $v_i = (1-u)v_{i-1}+u|r_i-t_i-d_i|$
      那么分组的播放时间为:
      $p_i = t_i + d_i + Kv_i$

分组丢包

两种解决技术: 向前纠错(Forward Error Correction, FEC)和交织(interleaving)

  • 向前纠错:

    1. 给初始的分组流增加冗余信息. 增加播放时延, 且组的长度越小, 相对增加的传输速率就越大
    2. 发送一个较低分辨率的音频流作为冗余信息. 增加的时延较小, 如果低分辨率编码比标称编码少得多, 那么传输速率的额外增加并不大
  • 交织:
    发送发在传输之前对音频数据单元重新排序, 使的最初相邻的单元在传输流中以一定距离分离开来.
    优点: 不增加流的带宽需求
    缺点: 增加了时延.