第一章:网络复习概述
1.1什么是计算机网络
从构成的角度来看: (1) 点:(端系统,网络应用)+路由器等网络交换设备 (2) 边:链路 (3) 协议:对等层实体在通信过程中所遵循的规则的集合:语法+语义+时序 从服务的角度来看: (1) 能够为应用提供通信服务的通信架构(有连接可靠的服务和无连接的不可靠服务) (2) 使用通信服务相互配合工作的分布式应用
1.2网络边缘
(1) 网络的结构=网络边缘(应用,主机)+网络核心(路由器等网络交换设备及链路)+接入网络与通信链路 (2) 网络边缘:运行应用的端系统(端系统中的应用交互方式) C/S模式,特点:资源在服务器,客户端主动,方便管理,不便扩展 P2P模式,特点:资源在各个Peer,管理困难,扩展性强 (3) 利用网络的服务:TCP,UDP
1.3网络核心
(1) 网络核心 组成:网络交换设备如:路由器+链路 功能:数据交换(全局的路由+局部的转发) (2) 数据交换方式及比较 线路交换(独享线路):不适合计算机之间的通信 FDM TDM WDM 线路建立时间长、不可靠、不适合突发式的计算机之间的通信 分组交换:存储转发方式,统计复用 VC,Datagram
1.4网络接入与物理媒介
(1) 将端系统连接到边缘路由器的链路或网络 (2) 住宅接入:点到点接入 (3) 机构接入:LAN,以太网络,WLAN (4) 物理链路 导向型介质,非导向型介质 (5) 常用介质:TP双绞线,同轴电缆,光纤
1.5互联网络结构与ISP
(1) 近似层次结构 T-1ISP,T-2 ISP(Regional ISP),Local ISP (2) ISP之间的连接 POP,对等连接,IXP (3) 内容提供商网络(ICP ) 1.6分组交换网络中的延迟与丢失 (1) 延迟的4个原因 处理延迟,排队延迟,传输延迟,传播延迟 (2) 流量强度:La/R 排队延迟依赖流量强度的公式 (3) 丢失原因:缓冲区溢出+出错没通过校验 (4) 吞吐量 瞬间吞吐量 平均吞吐量 瓶颈链路决定了主机之间的吞吐量 1.7协议层次与服务模型 (1) 为什么要分层:网络比较复杂,分层实现比较容易设计、调试、实现 (2) 分层:将复杂的网络功能划分成功能明确的层次,上层利用下层提供的服务来实现本层的协议,从而为上层提供更复杂的功能 (3) 一些术语和概念 实体:实现某个协议的软件或者硬件模块 服务、服务访问原语、服务访问点 面向连接的服务,无连接的服务 协议,协议数据单元PDU 服务和协议之间的关系(区别与联系) (4) 互联网分层模型及每一层的功能 应用层:按照应用协议交换报文,实现各类应用 传输层:进程到进程的报文段 网络层:主机到主机的分组传输 链路层:点到点帧传输 物理层:bit序列和物理信号转换 (5) 封装和解封装 源主机的大的封装 中间交换节点的小的解封装和封装 目标主机的大的解封装
第二章:应用层
2.1网络应用原理
(1) 原理+应用实例+SCOKET编程 (2) 应用部署 1,只集中在端系统上,对网络核心的路由器没有任何改变 2,互联网架构鼓励应用创新 3,互联网成功的重要原因之一 (3) 应用架构:C/S P2P混合 (4) 进程之间通信 同主机:操作系统定义 不同主机:利用网络提供的架构交换报文 (5) SOCKET 一个整数,OS用于标示应用通信关系所采用的本地标示 TCP:连接的本地标示 UDP:端节点的本地标示 (6) 进程编址:IP+PORT(本质上在传输层上引入端口号,用于区分应用,TCP和UDP使用端口号方式不同) (7) 应用所需服务考虑的因素(网络基础设施所提供服务的主要指标) 丢失率可靠性;延迟、延迟差(抖动);带宽;安全性 (8) 传输层协议 TCP提供的服务特性:可靠字节流服务,面向连接,流量控制,拥塞控制 UDP提供的服务特性:无连接,不可靠的服务 都能提供进程的标识,区分不同的进程
2.2 WEB和HTTP
(1) WEB应用包括:HTTP协议,HTML,CLIENT,SERVER (2) 术语:网页、对象、引用URL (3) HTTP协议: 1,定义了C和S之间通信的报文格式,解释和时序 2,HTTP连接:持续性连接1.0 1.1 非持续连接2.0 3.0 3,往返延迟RTT和对象的抓取时间
2.3Email
(1) 电子邮件应用的构成:用户代理+邮件服务器+SMTP (2) 邮件报文格式解析 报文头,报文体 MIME:邮件多媒体扩展,可以在邮件中编解码多媒体内容 (3) 邮件存取协议 作用:邮件客户端从服务器上将发送给自己的邮件拉取回来 常用:IMAP+POP3+http
2.4DNS
(1) DNS作用:完成域名到IP地址的转换(还包括,别名->正规名字;邮件服务器名字->正规名字转换等) (2) 应用层面的基础设施,其他应用使用的应用 (3) DNS的概念:分布式、层次数据库 (4) DNS的构成:解析器(本地应用)+域名服务器+DNS协议
2.5视频流化服务和CDN
(1) 下载播放和流化播放 (2) 服务器向客户端进行流化的方式 (3) DASH流化的过程 1,客户端获取告示文件 2,客户端按照情况,向(可能是不同的)服务器请求不同视频质量的内容块 3,智能表现在客户端,根据当时缓存的播放数据块的情况,各服务器通往它自己的网络情况,决定什么时候向那个服务器请求哪些块 (4) CDN 1,单个服务器,或者服务器群向客户端提供海量内容并发服务的问题:扩展性差 2,CDN原理: 2.1:应用层面的协作服务网络(与DNS一样部署在应用层) 2.2:在全网部署缓存节点,内容预先部署到CDN缓存节点上 2.3:用户请求通过域名解析重定向向自己“最近的节点”请求内容 3,缓存节点放置的方式: Enter Deep:深入到各叶子ISP,离客户很近,效果好,数量很多,代价大,管理困难 Bring Home:在关键点,到各ISP的距离都比较近,通常在比较高层次,代价少,效果一般
第三章:传输层
3.1传输层服务
(1) 传输服务:使端系统应用之间进行逻辑通信 (2) 传输协议:运行于端系统的2个对等传输层实体相互通信应该遵守的规则集合 (3) 传输服务和网络服务的区别 网络服务:主机到主机的通信 传输服务:进程到进程的通信,更细的端到端 (4) 互联网传输层协议:TCP,UDP
3.2复用与解复用
(1) 复用:源端(TCP或者UDP实体)从多个上层应用收集数据:应用报文,封装报文 (2) 解复用:接收端将数据按照端口号(结合IP)给相应的SOCKET对应的应用 (3) 复用和解复用的工作原理:IP PORT
3.3无连接传输协议UDP
(4) UDP的必要性: 1,应用对实时性要求高,对可靠性要求不高 2,或者某些应用需要可靠性,但是基于TCP之上,应用受不了TCP为了实现可靠性付出的延迟大于成本,基于UDP在应用层自己实现可靠性:QUIC 开销小:8B头部 事务性应用:一次交互完成的应用 (5) UDP报文(无连接的,因此叫作UDP数据报)格式 UDP报文校验和的计算:有进位回滚的和,然后求补 校验:校验范围和校验和之和(有进位回滚的)位全1
3.4可靠数据传输原理
(1) 协议演进的方式讲解如何进行RDT 1,加入一些假设,简单的协议可以提供可靠数据传递 2,一次去掉一些假设,需要协议实体做相应的变化从而能够进行RDT (2) 技术机制 校验和,正向确认,反向确认 序号:检查重复,乱序,gap 只有正向确认的机制 检测重发和超时重发:处理丢失(滑动窗口) (3) 利用率:单位时间内* %时间用于有效数据的传递 (4) 停止等待技术:链路带宽延迟积(容量)高的时候信道利用率低 管道技术:在未经对方确认的情况下,可以连续发送多个PDU GBN:发送窗口大于1,接受窗口=1 SR:发送窗口大于1,接收窗口大于1
3.5面向连接的传输层协议:TCP
(1) TCP服务特性 点-点;可靠保序字节流;管道;缓冲;全双工;面向连接;流控制; 拥塞控制 (2) TCP段结构 1,各个字段的作用 2,连接建立时协商好双方的起始序号,随机或者和时钟有关 放置老的连接上的数据对新的连接上的数据造成影响 3,序号是首字节在字节流的偏移量 4,确认:是对顺序收到的最后一个字节+1,对于那个字节及以后的期待 (3) RTT时间估计和重发超时时间估计 移动平均计算:平均往返延迟 移动平均计算:当前往返延迟采样值与平均值的标准差 RTO=平均值+4标准差 (4) 快速重传:在没有超时的情况下,收到对方对于某一个段的重复三次(一共4个)ACK (5) 流量控制 目的:放置淹没接收方 手段:反馈将接收窗口大小捎带方式传递给发送端 (6) TCP连接管理 连接建立:3次握手,对双方选择的初始序号给予确认,准备好缓冲区 连接:资源准备、控制变量置位,为通信做好准备 连接拆除:对称,存在2军问题不完美(也不存在完美释放连接的方案,用定时器凑合解决,心跳) 连接状态及其变迁
3.6拥塞控制原理
(1) 拥塞的概念,什么是拥塞,为什么会发生拥塞 传输速度超过链路和节点的处理能力,导致排队延迟高,丢包率高。拥塞窗口/RTT (2) 拥塞表现:延迟大、丢包多。总体上看吞吐量随着注入的速率增加输出不再增加或者下降,加速变坏 (3) 目的:恢复到不拥塞状态,不拥塞情况下尽量传得快(吞吐量大)+延迟小 (4) 拥塞控制手段 端到端的拥塞控制:传统TCP采用这种方式 网络辅助的拥塞控制,ATM网络标志和携带拥塞信息,反馈给主机,升级TCP的ECN
3.7 TCP的拥塞控制原理
(1) 传统TCP拥塞控制原理 检测拥塞:三个冗余ACK(轻微拥塞),超时(拥塞,存在误判的可能,但是概率小) 拥塞控制机制:AIMD慢启动,超时之后的保守策略 (2) TCP拥塞控制的两种算法 Tahoe:(3个ACK和超时都当做拥塞,最开始为1 ,慢启动指数增长,当发生拥塞时,把当前的窗口大小的一半当做警戒值,最新的窗口变为1,开始慢启动,到警戒值时,开始拥塞避免状态线性增长) Reno算法:(最开始慢启动指数增长,当触发3个冗余时,将警戒值设为当前的一半,把当前窗口大小变为最新的警戒值+3MSS,之后开始线性增长 (3) 后续:New Reno,Sack,ECN,CUBIC,BBR
第四章:网络层数据平面
4.1网络层的功能简介
(1) 网络层的主要服务和功能 服务:向传输层提供主机到主机的段传输服务 功能1-全局的路由功能,控制平面的功能;决定从源到目的的路径 功能2-局部的转发功能,数据平面功能:从路由器的一个端口入,从另外一个端口流出 以上两个功能相互配合将数据报从源传送到目标主机,从而实现网络核心的交换功能,关联是转发表(路由表)、流表 (2) 实现网络层功能的两种方式 1,传统方式: 控制平面和数据平面垂直集成在每个设备上(路由器) 控制平面功能:路由协议实体分布式地计算路由表 数据平面的功能那个:IP一些按照路由表进行分组的转发 2,SDN通用转发方式 控制平面和数据平面分离,在不同设备上实现 sdn控制器集中式计算,下发流表实现控制平面功能 sdn分组交换机按照流表对到来的分组进行转发,实现数据平面的功能
(3) 网络层提供服务的一些重要指标:带宽;延迟,延迟差;丢包与否,丢包率
4.2传统路由器结构与工作原理
(1) 路由器的2大功能 路由协议:结果形成路由表(转发表) 转发分组:使用转发表转发分组,交换 (2) 构成 输入端口:线路终端实现物理层功能、链路协议实体实现链路层功能,网络层功能实现分布式分组转发;最长前缀匹配 交换结构:基于内存的,基于bus的,基于Crossbar的 输出端口三个层面的功能 1,网络层可以实现分组的调度:FIFO,RR,WFQ 2,调度支持对多媒体分组等优先级分组的传输支持 3,网络层、链路层和物理层实体协议处理,将分组形成的帧对应的bits形成物理信号打出去 路由器处理:控制各部分协调工作
4.3互联网网络层协议
(1) IP网络提供的服务模型:尽力而为 包括含义:丢包、乱序、不可靠、(可能包括重复) (2) 网络层构成 IP协议、路由选择协议、ICMP协议等 转发表 (3) IP数据报格式 各个字段的作用:分组有ID,头部要校验 分片和重组 1,一个分组的总体大小超过了转发链路的MTU,因此要切片 2,到目标主机重组 (4) IP编址 IP地址:主机或路由器和网络接口的标识 子网:在一个子网内的设备之间的通信有两个特点 1,通信无需借助路由器 2,子网前缀一样 地址层次性支持路由器以子网为单位,而不是以主机IP为单位(代价大)
IP地址分类:ABCDE 特殊IP地址:回环地址 子网掩码和CIDR (5) NAT(内网映射外网) (6) DHCP协议:上网主机获得IP、掩码、默认网关 (7) 路由聚集: 1,连续的子网前缀的子网可达信息可以做聚集,减少向外部传输路由的数量,减少路由计算的负担 2,支持大概路由聚集,与此对应的是最长前缀匹配 (8) IPV6 1,IPV6格式(固定头部长度40B),地址128bits 2,IPV6的变化 3,IPV4到IPV6的迁移:隧道
4.4通用转发和SDN
(1) SDN方式控制平面和数据平面分离的优点 1,集中在控制器上实现控制逻辑,网络可编程,可以实现各种复杂的网络功能、新功能(一次部署,持续升级)、方便管理 2,形成开发生态(控制器,分组交换机,网络应用,在一个开放的框架下协作) 3,SDN分组交换机按照计算出的流表进行分组转发、通用、便于升级 (2) 分组交换机工作原理 1,模式匹配+行动(action不仅仅是转发,还可以组播,泛洪,修改字段和阻塞) 2,进来分组,按照多字段match流表,按照表项的action对分组作用 3,如果多个流表匹配上,按照优先权进行判断 4,统计计数
第五章网络层控制平面
路由选择算法
(1) 路由目标:根据收集到的路由信息(拓扑,链路代价等)计算出源到目标较好的路径,代价比较低的路径 主机间的路径=子网之间的路由=路由器间的路径 由于IP地址是由层次 路有目标实际上是计算出路由节点的汇集树 路由原则:完整正确,简单,健壮,稳定公平,最优 (2) 路由分类 静态合动态(自适应) 局部和全局的 (3) LS算法:全局的路由选择算法,工作原理 1,每个节点收集邻居信息,生成LS;LS全AS泛洪 2,节点收集各LS状态分组,形成网络拓扑 3,按照最短路径算法算出到其他节点的最优路径(迪杰斯拉算法) (4) DV算法:局部的路由选择算法,工作原理i 1,每个节点维护到所有其他节点的下一跳和代价值 2,邻居节点之间定期交换DV 3,按照Bellman-Ford不断迭代生成到所有目标的代价和相应的下一跳 分布式算法,存在环路问题和无穷收敛问题 (5) 层次路由 1,一个平面解决路由的问题:计算、传输和存储路由信息的量太大,不具备可扩展性,也不满足不同网络运营放不同的管理需求 2,分成一个个AS AS内部之间的节点路由有内部网关协议解决:OSPF,RIP,IGRP AS之间的路由,由外部网关协议解决:BPG 路由到网关,有网关(经过内部网关协议穿过一个个AS,穿过AS网关之间路由靠外部网关协议)路由到目标网关,到了目标AS内部,采用AS内部的路由解决 3,分层路由的优势 规模性问题:每个AS的子网数量有限,路由计算传输代价小 管理性问题:不同AS可以采用自己的协议 (6) 路由协议分类 1,内部网关协议IGP RIP;OSPF:AS内部支持分层路由,同时支持多种代价;IGPR 2,外部网关协议EGP;BGP
ICMP协议
作用:包括错误,echo请求和应答 报文类型有echo,Tracert等
第六章:数据链路层和局域网
6.1引论
(1) 链路层的服务:点到相邻节点的以帧为单位的数据 1,成帧、链路存取控制(链路访问控制) 2,在相邻节点间进行可靠数据传递(有些,如无线网络) 3,流量控制 4,检错,纠错 5,全双工和半双工
(2) 链路层网络节点的连接方式 1,点到点方式:比较适合广域网,联网复杂,但是链路层功能简单 2,多点连接的方式:比较适合局域、联网方便,但需要解决MAC问题,复杂
6.2检错与纠错
(1) 检错原理:D和EDC之间符合某种约定的差错 控制编码关系,源端编码,目标端校验 奇偶校验 CRC 1,发送接收方约定的生成多项式:G,r次 2,发送端按照G对数据D进行CRC编码:左移r位,除以G得到余数 3,D左移r为+R,一起传输 4,接收方进行解码:D左移r为+R,能否被G整除
6.3多路访问协议
(1) MAC的必要性:多点连接网络协调各节点对共享式信道的使用 (2) MAP 1,信道划分 TDMA,FDMA,CDMA 2,RAY:随机访问协议 3,轮转协议:令牌协议
6.4链路层编地址
(1) MAC地址 格式:48位平面地址,标示一个具体的网卡 分配:IEEE (2) MAC地址和网络层地址的区别 层次不同, MAC是地址平面的,标示一个物理网络的不同站点 IP是层次的,可聚集的,便于计算路由
(3) ARP协议 目的:物理网络范围内IP地址到MAC地址的转换 工作原理:广播查询,单播应答
6.5 以太网络
(1) IEEE802.3标准,链路层和相应的物理层 (2) 以太网络的帧结构:前导码头部,目标地址在前 (3) 向上提供服务的特点:无连接,不可靠 因为比较可靠了,在链路层上做可靠工作效率低 (4) 访问控制技术:CSMA/CD,指数后退 (5) 编码:Manchester编码+4b5b编码+8b10b编码,物理层技术 (6) WLAN介质访问控制技术:CSMA/CA
6.6HUB和交换机
(1) HUB连接方式的问题: 1,物理层设备,信号整形放大 2,一个端口进,所有端口处,处在一个碰撞域之内 3,无法隔离冲突 (2) 交换机的工作原理 选择性转发:SW 自学习:学习MAC地址和交换机端口的捆绑关系 流量隔离:选择性发转发 专用接入:交换机端口直接解主机 (3) 路由器和交换机的区别:2层工作、3层工作
第七章:多媒体网络应用 涉及到音视频等多媒体的网络应用 CBR:以固定速度编码 VBR:视频编码速率随时间的变化而变化
多媒体:音频 (1) 非压缩编码的PCM过程:采样、量化和编码 (2) 采样:已固定采用频率采样模拟音频信号 电话:8000采样/sec CD音乐:44,100采样/sec (3) 量化编码:每个采用被量化编码 如:2^8 = 256可能的量化,量化误差 每个量化值被若干比特表示 如:8bits (4) 音频:码率低 人对音频的质量比较敏感 多媒体网络:3中应用类型 1,流化、存储音视频 1,存储(在服务器、非实时产生的数据): 数据以前生产并存储 可以按照比正常音视频播放所需速度更快的速度传输,意味着可在客户端进行缓存/预取 2,流化(单向):在下载整个文件前就可以播放 网络带宽够且服务器已经存储(相反实时音视频不可以) (1) ’e.g.,YouToBe (2) 流化存储音视频特点:流化、交互性、连续播放 (3) 对网络的需求:平均带宽》播放带宽,延迟10s可接受 路径带宽变化,缓存平滑吞吐的变化,但本质上从长期来看,路径平均吞吐>播放所需要带宽 (4) 所使用的技术:缓存、预取、自适应带宽质量和CDN 2,IP交互式音频/视频 (1) 交互式音频:互联网电话VoIP (2) 交互式视频:Skype,微信 (3) 特点:数据实时产生、流化、双(多)向 (4) 对网络的需求: 有带宽要求,延迟要小150ms,人-人交互特性限制了延迟容忍度 抖动要小,对于丢失不是很敏感 (5) 使用的技术:自适应播放,FEC,错误掩盖 3,流化、实时音视频 (1) 网络视频直播、网络广播:e.g.,实况赛事 (2) 2中实现方式:网络层组播、应用层组播 (3) 数据实时产生,流化,单向(用户多),直播平台支持交互 (4) 对网络的要求:带宽要求,延迟10s可接受 (5) 使用技术和流式存储视频技术类似 初始缓存、自适应带宽、CDN分发 流式存储视频 挑战 (1) 连续播放限制:一旦客户端开始播放,消费速率=原始速度 1,到点该播放某帧了,该帧的数据就应该收到 2,否则以后到了也没有用 3,但网络延迟是变化的(抖动),有可能某些帧延后到,因此需要客户端缓存 第一个帧收到不是立即放,而是延迟一段时间再放 (2) 其它挑战: 客户交互行为:暂停、前进、倒退、在视频内部跳转 视频分组可能丢失,重传(需要时间代价) (3) 缓冲的作用: 1,吸收端到端延迟的变化:某帧延后到达,只要缓冲中还有数据,就可以连续播放;靠增加总体播放延迟作为代价来你补延迟变化 2,补偿端到端带宽的波动:瞬间路径吞吐<播放码率,进来的速率<消耗的速率,只要缓冲中还有数据,就可以连续播放;条件:路径平均吞吐>=播放带宽 (4) 流化视频技术:UDP流化,HTTP流化,自适应HTTP流化 (5) 都需要客户端缓冲:因为网络延迟是变化的,路径平均吞吐是变化的 (6) 客户端缓存和播放延迟:补偿网络增加的延迟,以及延迟抖动,增加播放延迟换取播放的连续性 流式多媒体技术:DASH DASH:Dynamic, Adaptive Streaming over HTTP (1) 服务器: 将视频文件分割成多个块 每个块独立存储,编码于不同码率(8-10中) 货物清单:提供不同块的URL (2) 客户端: 先获取货物清单 周期性地测量服务器到客户端的带宽 查询货物清单,在一个时刻请求一个块,HTTP头部指定字节范围 如果带宽足够,选择最大码率的视频块 会话中的不同时刻,可以切换请求不同的编码块 (3) DASH的优点 动态估计带宽情况,当前缓存情况,DASH通常能够做到持续播放 减轻服务器的负担,可扩展性强 Content Distribution Networks(内容分发网络) (1) 挑战:服务器如何通过网络向上百万用户同时流化视频内容 (2) 选择1:单个的、大的超级服务中心 1,服务器到客户端路径上跳数较多,瓶颈链路的带宽小导致停顿 2,“二八规律”决定了网络同时充斥着同一个视频的多个拷贝,效率低 3,单点故障点,性能瓶颈 4,周边网络的拥塞 评述:相当简单,但是这个方法不可扩展 (3) 选项二:通过CDN,全网部署缓存节点,存储服务内容,就近为用户提供服务,提高用户体验 enter deep:将CDN服务器深入到许多接入网 1,更接近用户,数量多,离用户进,管理困难 bring homr:部署在少数(10个左右)关键位置,如将服务器簇安装于POP附近 采用租用线路将服务器簇连接起来 CDN内容复制策略 (1) 不需要将所有内容复制到所有缓存节点中 (2) 内容复制策略决定什么内容存储在缓存节点中 (3) 非热点内容会被替换(替换策略)掉,以腾出空间
Voice-over-IP(VoIP)
概述: (1) VoIP:网络上传输实时产生的音频,应用需求: 1,延迟不能够太大,<400ms否则会影响交互性 应用处理不能够增加太多延迟,采用UDP(传输层不加太多延迟) 2,少量丢失允许,但如丢失太多,会听不清,EFC 3,抖动太大,变调,(需要缓冲处理,持续播放;需要编号排序) (2) IP提供的服务:尽力而为(丢失;延迟;抖动) (3) 在应用层上做哪些工作,对抗网络的问题,从而能够很好地运行VoIP 都是IP分组,网络层不单独为某种类型应用优化 问题1:丢失 延迟区满、出错校验没有通过 延迟超大(超过人工播放延迟),错过了播放时间到达 采用TCP不可行 1,超时重发机制会让整体增加延迟,影响实时性 2,无法利用TCP尽力传输后面产生的数据,数据实时产生 应用层利用编码或掩盖部分丢失,小于1-10%的丢失都没有关系 问题2:延迟 所有延迟:各链路的传输,传播延迟,应用层缓冲和处理等 策略是:无法减少必要的网络延迟,在应用层不能够人工增加延迟:处理,缓冲 1,采用UDP,而不是采用TCP 2,引入的播放延迟,使得总体延迟最好限制在400ms以内 在保证最大化连续播放情况下,最小化播放延迟
问题3:抖动 原因:分组延迟不同,不同路径,有的链路重传 后果:分组之间延迟有差,分组间间隔变化;甚至先发后到->直接播放效果差(变调,不可理解) 措施: 1,发送端分组打时戳和编号,接收端排序 序号+1,序号在静默期不发数据时不增加 时戳+,时戳在静默期仍然增加 2,在接收端引入缓冲,引入播放延迟消除(吸收)抖动(固定或者自适应 )
(4) VoIP架构 (1),说话者的音频:分成突发期和静默期 会话突发期:64kbps 只是在会话突发期产生分组 20msec生产一个数据块,8000B/sec:160B/20mes 2,在每一块语音数据上加上应用层报头 3,应用报文(头+语音数据)封装在UDP或TCP段中 4,在会话突发期,应用程序每隔20ms发送一个段 (2)自适应播放延迟
(5) Voip:从分组丢失中恢复 挑战:从分组丢失中恢复,在给定小的可容忍延迟内 1,利用重传:每个ACK/NCK将会耗时~1RTT 2,其他选择:Forward Error Correction(FEC) 发送足够的bits允许从丢失中恢复,无需重传
简单FEC 1,对于每组n个数据块,用n块数据的异或创建一个冗余块 2,发送n+1数据块,增加带宽约合1/n 3,至多一组中一块数据丢失的情况下,可以重构该丢失的数据块,无需重传
另外一种FEC方案 1,捎带低质量码流 2,将低质量码率当做冗余信息传递 3,e.g.,PCM码流64kbps,冗余码GSM速率13kbps 非连续的丢失:接收方可以掩盖丢失 一般化方法:也可以附加(n-1)st和(n-2)nd低码率数据块
交织掩盖丢失 1,音频数据块分割成小的单元,e.g. ,4个5msec数据块(每20ms数据块) 2,分组包含不同数据块的小单元 3,如果分组丢失,仍然拥有每个原始数据块的绝大多数小单元 4,没有冗余信息,但增加了播放延迟
实时交互式应用的协议
(1) ### Real-Time Protocol (RTP) RTP规范了用于携带音频和视频数据的分组结构 RFC 3550 RTP分组提供(负载类型标示,分组序号,时戳) RTP运行在端系统 RTP分组封装在UDP的段中 互操作性:如果两个VoIP应用运行在RTP上,他们可以协同工作 (2) RTP运行在UDP上 RTP库提供传输层接口,扩展了UDP 1,端口号,IP地址 2,负载类型标示 3,分组序号 4,时戳 (3) RTP和QoS 1,RTP不提供任何按时交互以及其他QoS保证的机制 2,RTP封装仅在端系统中能够看到 路由器提供尽力而为的服务,没有确保RTP分组能够按时到达目标端的额外努力 (4) Real-Time Control Protocol(RTCP) 1,与RTP协同工作 2,RTP会话的每个参与方定期发送RTCP控制分组,到所有其他的参与方 3,每个RTCP 分组包含发送方和/或接收方的报告 4,反馈信息用于控制性能(发送方可能会根据反馈调整其传输) (5) SIP:Session Initiation Protocol SIP目标 1,所有的电话呼叫,视频会议都可以通过互联网展开 2,用户被名字或者email地址标示,而不是电话号码 3,你可以接通被叫,不管被叫是不是在漫游,也不管被叫目前采用的IP地址是什么 SIP服务 1,建立一个呼叫,SIP提供机制 对于主叫来说,让被叫知道有人要和他建立呼叫 主叫-被叫协商媒体类型和具体编码参数 结束呼叫 2,确定被叫当前所使用的IP地址 将命名标示映射到当前被叫使用的IP地址 3,呼叫管理: 在会话过程中加入一个新的媒体流类型 在会话过程中改变编码 邀请其他方加入会话 转移、保持会话 (6) ### SIP proxy 1,SIP服务器另外一个功能是:proxy 2,Alice发送invite报文给她自己的代理服务器 包含地址:SIP:bob@domain.com 代理负责路由SIP报文到被叫,可能需要经过多个代理 3,Bob经过相同的SIP代理集合发送响应报文,返回 4,代理得到Bob的SIP响应报文,返回给Alice(包含Bob的IP地址) 5,SIP代理类比于local DNS server +TCP setup (7) H.323 1,H.323是另外一套为实时、交互性通信服务的信令协议 2,H.323是针对多媒体会议一个完整、垂直集成的协议族 3,SIP是一个单个的协议,需要和RTP协议配合,但是也不一定,也可以和其他的协议和服务组合使用 4,H.323来自ITU 5,SIP来自IETF:借鉴了很多HTTP协议的概念(SIP协议具有Web风格,H.323具有电信风格) 6,SIP采用KISS原则:Keep it simple and stupid
多媒体的网络支持
应用层vs网络层 支持多媒体应用 (1) ,前几节:在尽力而为网络上开展网络媒体服务的有效方法 1,网络不做任何变化,在边缘端系统应用层做工作 2,应用层技术:客户端缓存、预取、自适应媒体质量、自适应播放、丢失掩盖 3,应用层系统级方法:CDN分发网络媒体内容 (2) 网络层机制:支持多媒体应用(提供对网络多媒体有效支持)
网络层机制部署现状
(1) 还没有广泛应用,不同ISP网络部署情况不同 (2) 原因1:应用程序或者应用基础设施+尽力而为服务:足够好 (3) 原因2:部署网络级的机制复杂,要对网络增加复杂的功能,不是很划算 1,互联网的收费模式,让ISP不愿意投入太多 2,ISP投入多,ICP和服务运营商会受益更多,ISP很难分一杯羹 3,单个ISP部署一些网络层的特性,但如果其他ISP没有部署,多媒体效果并不好 (4) 网络机制 1,扩容带宽 2,区分服务–类分组在路由器得到的服务(标记,调度,监管) 3,每连接Qos保证,建立时,预约网络资源(如带宽)保证端到端的性能 硬保证:连接的性能确定得到保证 软保证:比较高的可能性得到性能保证 技术:标记,调度,监管,呼叫准入
网络管理
网络管理的现实例子
(1) 飞机控制是、DCS控制系统 (2) 设别管理的功能 1,监测系统各部件的运行状态(输入) 管理人员查询设备(查询,定期) 设备在异常时主动上报 2,根据状态和目标,干涉系统的运行,发出执行动作(输出) (3) 最终目的:监控各设备运行状态,保证系统正常运行
网络管理的功能举例
(1) 监测主机或路由器的网卡故障(网卡发去的帧错误增加) (2) 自动监测主机的活跃程度 (3) 监测流量: 某网段的流量增加,可以将服务器迁到另外一个网段 某网段的流量超过阕值,在用户感知之前,升级带宽 (4) 路由表格的快速变化,配置问题,在网络发生问题前发生并修复 (5) SLA监测:掉线率,延迟,吞吐量,达到下限报警 (6) 入侵检测:攻击行为,检测和报警
网络管理的5大功能
(1) 性能管理 1,性能(利用率、吞吐量)量化、测量、报告、分析和控制不同网络部件的性能 2,涉及到的部件:单独部件(网卡,协议实体),端到端的路径 (2) 故障管理:记录、检测和响应故障 1,性能管理为长期监测设备性能 2,故障管理:突然发生的强度大的性能降低,强调对故障的响应 (3) 配置管理:跟踪设备的配置,管理设备配置信息 (4) 账户管理:定义、记录和控制用户和设备访问网络资源 限额使用、给予使用的收费,以及分配资源访问权限 (5) 安全管理:定义安全策略,控制对网络资源的使用
网络管理的实质·
(1) 实质:远程(分布式)监测(查询、定期上报,以及异常异步报告)和控制 (2) 实例:集团和分支机构 1,分支定期报告,产量等信息 2,分支主动报告异常 3,总部文分支:上报信息(指标) 4,总部发出指令,让分支动作
网络安全
什么是安全安全
(1) 机密性:只有发送方和指定的接收方能否理解传输的报文内容 发送方加密报文 接收方解密报文 (2) 认证:发送方和接收方需要确认对方的身份 (3) 报文完整性:发送方、接收方需要确认报文在传输的过程中或者事后没有被改变 (4) 访问控制和服务的可用性:服务可以接入以及对用户而言是可用的
加密原理
加密术语
m=Kb(Ka(m));m:明文,Ka(m)密文,采用Ka进行加密
对称秘钥加密
发送方和接收方共享相同的秘钥(对称) 简单对称加密方案:将一个字母换成另外一个字母 加密秘钥:26个字母和26字母的映射关系 ###AES 每128bits进行加密
密码块链
(1) 密码块:如果输入块重复,将会得到相同的密文块 (2) 密码块链:第i轮输入m(i),与前一轮的密码c(i-1)做异或
公开密钥加密算法
要求: 1,Kb-(Kb+(m))=m:kb-私钥,kb+公钥 2,戈丁公钥Kb+,导出私钥Kb-计算上不可行 预先知识 a mod n + b mod n = (a+b) mod n a mod n - b mod n = (a-b) mod n a mod n * b mod n = (a*b) mod n 因此: (a mod n)^d mod n = a^d mod n ##RSA
RSA :准备
(1) 报文:就是一个bit模式 (2) bit模式可以唯一的用整数来表示 (3) 因此,加密一个报文就等于加密一个整数
RSA:创建公钥/私钥对
(1) 选择2个很大的质数p,q (2) 计算n=pq,z=(p-1)(q-1) (3) 选择一个e(要求e<n)和z没有一个公共因子,互素 (4) 选择d使得ed-1正好能够被z整除(也就是ed mod z =1) (5) 公钥(n,e),私钥(n,d)
RSA加密和解密
(1) 给定按照上诉算法得到的(n,e)和(n,d) (2) 加密报文m(<n),加密算法 c = m^e mod n (3) 对接收到的密文c解密,如此计算 m = c^d mod n (4)
数字签名 数字签名类似于手写签名 (1) 发送方数字签署了文件,前提是他是文件的拥有者/创建者 (2) 可验证性,不可伪造性:接收方可以向其他人证明一定是发送方而不是其他人签署了该报文 (3) 报文m的简单数字签名 发送方使用其私钥对m进行了签署,创建数字签名的Kb-(m) 报文摘要 对长报文进行公开秘钥加密算法的运行需要耗费大量的时间 Goal:固定长度,容易计算的指纹对m使用散列函数H,获得固定长度的报文摘要H(m) 散列函数的特性 1,多对1 2,结果固定长度 3,给定一个报文摘要x,反向计算出原报文在计算上是 不可行的
公钥认证中心(CA) (1) certification authority(CA):将一个公钥和拥有它的实体E做个捆绑 (2) E(person,router)到CA那里注册他的公钥(带外的),E提供给CA,自己身份的证据"proof of identity" CA 创建了一个证书,捆绑了E实体信息和他的公钥 Certificate包括了E的公钥,而且是被CA签署的(被CA用自己的私钥加了密的)–CA说这是E的公钥 (3) 当A拿到B的公钥 1,获得B的证书certificate 2,使用CA的公钥来验证B的证书 前提是之前需要可靠地获得CA的公钥,CA的证书 CA证书获得带外方式:安装系统带的,或者直接信赖的这个公钥 CA证书一般是自己用自己的私钥签署自己的公钥 安全电子邮件(应用层 ) 机密性 A需要发送机密的报文m给B A: 产生随机的对称秘钥,Ks 使用Ks对报文加密(为了效率) 对Ks使用B的公钥进行加密 发送Ks(m)和Kb+(Ks)给B B: 使用自己的私钥解密Ks 使用Ks解密Ks(m)得到报文
完整性和可认证性 A数字签署文件(采用自己的私钥签署报文的散列) 发送报文(明文)和数字签名
机密性,可认证性和报文的完整性 A用3个keys:自己的私钥,B的公钥,新产生的对称式密钥
TCP的连接安全TLS(Transport-layer security)
TLS密钥生成 (1) 在多个加密操作中采用同一个密钥:不安全 采用不同的密钥用于:报文认证(MAC)和加密 (2) 4keys Kc = 客户端到服务端的加密密钥 Mc = 客户端到服务器的MAC密钥 Ks = 服务器到客户端的加密密钥 Ms = 服务器到客户端的MAC密钥 (3) 密钥有密钥key derivation function(KDF)导出函数导出 KDF创建密钥的输入:主密钥MS+(可能的)一些附加随机数据 破除主密钥MS和4Keys的固定对应关系 t-tls:加密数据 (1) 流式加密,完整性校验的MAC只能在最后,那么只有所有数据都被传输完毕才能够进行完整性校验 (2) 如:对于即时通信(持续时间很长),在终端显示这些字符之前,如何对所有字节进行完整性校验? (3) 方案:将字节流分割成一个个的记录 1,每个记录C-S携带该记录的MAC,hash(采用Mc) 2,接收端可以对每一个到达的记录进行完整性校验 (4) 攻击者可能会修改TCP的头部,比如修改头部中的序号,方案就是讲序号放入MAC中 TLS加密套件 (1) “加密套件”:密钥生成算法,加密算法,MAC算法,数字签名算法(并不捆绑具体算法)
IPSec:网络层的安全
IPSec协议:位置
(1) 在2个网络(主机或路由器) (2) IP之上、传输层协议之下 (3) 发送实体加密数据报载荷,载荷可以是: 1,原IP的所有载荷都可以是IPSec的载荷 2,TCP段、UDP数据报、ICMP报文、OSPF报文等 (4) 层次较低,所有从发送端实体到其他接收方的数据都可以被隐藏 (5) 地毯覆盖(IP的载荷(如TCP段)是经过加密,认证,完整性检查的)
IPSec的2个模式
(1) 传输模式 1,主机之间 2,只有数据报载荷被加密和认证(头部明文) (2) 隧道模式 1,路由器之间 2,整个数据报都被加密和认证 3,加密的数据报被封装在一个新的数据报中,新的IP头部 4,2个路由器之间就像有个隧道一样,将2个网络连接起来:VPN
IPSec总结
(1) IKE交换报文用于:协商算法(加密套件),生成和交换keys,生成SPI,自动建立SA (2) AH或者ESP协议 1,AH提供完整性,源端的可认证性 2,ESP(相对于AH来说)提供附加的机密性 (3) IPSec对可以是2个网络实体间的安全同行关系 1,2个路由器/防火墙 2,1个路由器/防火墙,另外一个是端系统 3,2个端系统之间 #防火墙 将组织内部网络和互联网隔离开来,按照规则允许某些分组通过(进出),或者阻塞掉某些分组
防火墙的必要
(1) 阻止拒绝服务攻击 SYN flooding:攻击者建立很多伪造TCP连接,对于真正用户而言由于服务器的资源被耗尽,他们的访问被拒绝 (2) 阻止非法的修改/对非授权内容的访问(e.g. 攻击者替换CIA的主页) (3) 只允许认证的用户能访问内部网络资源 (4) 2种类型的防火墙 1,无状态分组过滤器 2,有状态分组过滤器 3,应用网关
无状态分组过滤:例子
例1:阻塞进出的数据包:只要拥有IP协议字段=17,而且源/目标端口号=23 结果:所有的进出UDP流,以及TCP上Telnet连接分组都被阻塞掉 例2:阻塞进入内网的TCP段:它的ACK=0 结果:阻止外部客户端主动和内部的主机建立TCP连接,但允许内部网络的客户端主动和外部服务器建立TCP连接;
有状态分组过滤器:跟踪每个TCP连接的状态
(1) 跟踪TCP连接建立(SYN),拆除(FIN);然后才让相应后续分组通过 (2) 防火墙上的非活跃连接会超时,不再允许相应的分组通过防火墙
IDS:入侵检测系统
(1) 分组过滤: 1,对TCP/IP头部字段进行检查 2,不检查会话分组间的相关性 (2) IDS:intrusion detection system 1,深入分组检查:检查分组的内容 2,检查分组间的相关性,判断是否是有害的分组 端口扫描,网络映射,Dos攻击
无线链路和移动网络
无线链路
无线链路特征
与有线链路的重要差别表现在: (1) 衰减的信号强度:无线电磁波信号在通过物体(即使是开放空间时)时衰减(路径损耗) 1,随着距离的平方成反比,和物体材料性质、频率有关 2,而在有线导引型介质中,任何2点的信号强度变化不是那么大 (2) 来自其他信号源的干扰 1,标准无线网络频率(e.g. ,2.4GHz)与其它设备如无绳电话共享频段,相互干扰 2,环境中的电磁噪声(motors)干扰 (3) CDMA ###无线局域网 IEEE 802.11 Wireless LAN WIFI4,WIFI5,WIFI6 1,不同点:带宽、频率、范围和物理编码技术不同 2,共同之处:在共享无线信道中使用CSMA/CA介质访问控制方式,而且都有基站模式和自组织模式
|