C/S模式 特点 P2P模式 特点
点 端系统、⽹络应⽤+路由器
从构成的⻆度来看
边 链路
接⼊⽹链路
主⼲链路
互联⽹络和相应的的协议
能够为应⽤提供通信服务的通信架构
什么是互联⽹
从服务的⻆度来看
互联⽹络是
使⽤通信服务相互配合⼯作的应⽤
的和!
协议是指对等层实体在通信过程中所遵循的规则的集合
协议是什么
协议定义了在两个或多个通信实体之间交换的报⽂格式和次序,以及在报⽂传输 和/或接受其他事件⽅⾯所采取的动作。
语法+语义+时序
⽹络边缘(应⽤和主机)
⽹络的结构是
⽹络核⼼(路由器)
互联着的路由器
⽹络的⽹络
向传输层提供主机到主机的段传输服务 服务
接⼊⽹络与通信链路
运⾏应⽤的端系统
从路由器的⼀个端⼝流⼊,从另⼀个端⼝流出
决定从源到⽬的的路径
转发(数据平⾯)
路由(控制平⾯)
功能 ⽹络层的主要服务和功能
⽹络边缘
由两种服务模式
C/S模式 特点
P2P模式 特点
客⼾端想服务器请求和接收服务
很少或者没有专⻔的服务器
两个功能相互配合将数据报从源传送到⽬标主机,关联是转发表和流表
控制平⾯和数据平⾯功能垂直集成在每个设备上
⽹络结构
组成 ⽹络交换设备(路由器+链路)
功能 数据交换
路由协议实体分布式地计算路由表
IP协议按照路由表进⾏分组的转发
控制平⾯的功能
数据平⾯的功能
传统⽅式
实现⽹络层功能的两种⽅式
将要传送的数据分成⼀个个单位,分组依次发送。每段采取链路的最⼤传输能⼒
分组的⽬标地址决定下⼀跳⽅向
控制平⾯和数据平⾯分离,使⽤不同的设备实现
SDN控制器集中式计算、下发流表实现控制平⾯功能
SDN分组交换机按照流表对到来的分组进⾏转发,实现数据平⾯的功能
Software-Defined Networking
可靠传送
延迟保证
SDN通⽤转发⽅式
带宽
延迟和延迟差
丢包与否,丢包率
单个数据报
简介
⽹络层服务的⼀些重要指标
⽹络核⼼
分组交换
Datagram数据报⽹络
VC虚电路⽹络
不同的阶段路由可以改变
举例:Internent
每个分组带有虚电路标签VCID,标签决定下⼀跳
在呼叫建⽴时决定路径,在整个呼叫中路径不变
由路由器维护呼叫的状态信息
相当于电路交换
分组每次移动⼀跳(hop)
延迟⼤于线路交换,有排队时间
被传输到下⼀个链路之前,整个分组必须到达路由器,即存储转发。
保序数据报传送
保证流的最⼩带宽
分组之间的延迟差
数据报流
数据交换⽅式
特点:存储转发⽅式,统计复⽤
如果路由器的输⼊缓存⽤完,则输⼊分组将会被丢弃
分组交换允许更多的⽤⼾使⽤⽹络,因为带宽是动态分配的,⼤量⽤⼾同时活跃 的情况是少⻅的。所以⼤多数时间只有较少的⽤⼾使⽤⽹络,可以获得更好的带 宽。
和传输层的连接不同的点在于,传输层的连接只在端系统之间,⽽⽹络层的连接 通常和链路上的⼤部分节点都有关系
在分组传输之前,在两个主机之间建⽴连接
第三个功能:连接建⽴
资源共享,简单,不必建⽴呼叫
结果形成路由表(转发表)
使⽤转发表转发分组,交换
路由协议
转发分组
路由器的两⼤功能
为每⼀个端到端的链接分配专⻔的线路
频分
FDM
线路终端实现物理层功能
Frequency-Division Multiplexing
链路协议实体实现链路层功能
⽹络层功能实现分布式分组转发
输⼊端⼝
线路交换
TDM
时分
Time-Division Multiplexing
当交互机构的速率⼩于输⼊端⼝的汇聚速度时,在输⼊端⼝可能要排队
Head-of-the-line blocking
输⼊端⼝缓存
WDM
波分
Wave-Division Multiplexing
通过总线两次,⼀次进memory,⼀次出memory
基于内存的
基于总线的
基于交换矩阵的
交换结构
路由器结构和⼯作原理
什么是接⼊⽹络
特点
将端系统连接到边缘路由器的链路或⽹络
电路交换是专⽤资源,不分享,可以保证性能。
电路交换需要时间建⽴连接
N个输⼊端⼝,交换机构的交换速度时输⼊链路速度的N倍时,才不会成为瓶颈
交换速率:分组可以按照该速率从输⼊传输到输出
Asymmetric Digital Subscriber Line
按照分组到来的次序发送
FIFO
ADSL
使⽤电话线,DSL线路上的数据传到互联⽹,语⾳传到电话⽹
循环扫描不同类型的队列,发送完⼀类的⼀个分组再发送下⼀类的⼀个分组,循 环所有类
Round Xxxxx scheduling
Weighted Fair Queuing
RR
WFQ
构成
⽹络层可以实现分组的调度
住宅接⼊⸺点对点接⼊
HFC
⾮对称是指上⾏和下⾏速率不同
Hybrid Fiber Coax,混合光纤同轴⽹络
以光纤为主⼲⽹络,同轴电缆为分⽀⽹络的⽹络结构
和权重成正⽐
⼀段实现内,每个队列得到的服务时间是W_i / (XIGMA(W_i))*t
每个类在每⼀个循环中获得不同权重的服务量
⼀般化的Round Xxxxx
⽹络接⼊与物理媒介
Cable Modem
Home Networks
通过电⽹电缆接⼊⽹络
家庭中使⽤⽆线⽹络给⽆线设备接⼊⽹络
丢弃刚到⼤的分组
根据优先级抛弃分组
随机丢弃分组
Tail Drop
Priority
Random
分组到达⼀个满的队列,哪个分组被抛弃?
丢弃策略
输出端⼝
机构接⼊ ⸺LAN
以太⽹络
WLAN
有线连接到以太⽹络交换机上
⽆线接⼊局域⽹络,Wireless Local Area Network
调度⽀持对多媒体分组等优先级分组的传输⽀持
⼴域⽆线接⼊ 由电信运营商提供,范围⼴,常⻅为3G,4G, LTE,5G
当多个输⼊端⼝同时向输出端⼝发送时,同时交换速率不是瓶颈,这时需要将分 组在输出端⼝进⾏缓存。如果缓存区满,就会丢弃数据报
输出端⼝排队
计算机⽹络与互联⽹络
物理链路
导向型介质
⾮导向型介质
信号沿着固体媒介被导引
开放的空间传播电磁波或者光信号,在其中承载⼒数字信号
平均缓存⼤⼩=经典RTT250ms * 链路速率C
也可以除以根号N降低成本
输出端⼝缓存经验值
控制各部分协调⼯作
路由处理器
常⽤介质
TP双绞线
同轴电缆
光纤
含义是,丢包、乱序、不可靠、可能重复
IP⽹络提供的服务模型⸺尽⼒⽽为
Radio
IP协议 T-1 ISP
路由选择协议
ICMP协议
⽹络层构成
近似层次型结构
T-2 ISP(Regional ISP)
Local ISP (Access ISP)
转发表 对等连接
MTU,最⼤传输单元
⼀个分组的总体⼤⼩超过了转发链路的MTU,所以要切⽚
各个字段的作⽤
⽹络层数据平⾯
ISP 之间的连接
Internet Exchange Point
互联⽹交换中⼼
注意时最终的⽬标主机
每个IP数据报都是完整的20字节加上若⼲字节数据(数据头是20字节TCP报或 UDP)
在要求了MTU的链路上,需要将头部剥离,然后对所有数据进⾏拆分,使得新的 数据⽚段加上IP头部刚好等于MTU,最后⼀个数据报可以⼩于MTU
到⽬标主机重组
分⽚和重组
IP数据报格式
互联⽹络结构与ISP
使⽤IXP
不同电信运营商之间为连通各⾃⽹络⽽建⽴的集中交换平台
使⽤IXP交流数据通常不涉及费⽤结算
两个ISP对等互联通常不涉及费⽤结算
不同层次的ISP相互接⼊通常涉及费⽤结算
注意TCP报⽂头只会出现⼀次,不要重复考虑。
要求计算题
在全球部署DC
注意偏移量的单位是8字节。所以要给字节数除以8
注意fragflag为1时表⽰下⼀个IP数据包需要重组,fragflag为0时表⽰停⽌重组, 可以交付。
主机或路由器和⽹络接⼝的标识
⼀个IP地址和⼀个接⼝相关联
IP地址
内容提供商⽹络 (Content Provider Network)
处理延迟
内容提供商⽹络在多处与各个ISP相连
内容提供商⾃⼰部署⽹络将全球的DC相连
检查错误,检查转发表
内容提供商DC⾃⼰之间的访问通过⾃⼰部署的专⽹
⽤⼾接⼊通过离⽤⼾最近的DC服务
IP分配问题
前缀匹配表的特点
IP地址分配特点
前缀匹配的过程中,可以出现重叠的情况
⼀旦出现重叠,就要使⽤最⻓前缀匹配规则,按照匹配⻓度最⻓的⽅向转发
IP地址分配的时候,不能出现重叠
按顺序进⾏⼦⽹分配,如果在规定的⼦⽹掩码情况下,当前的⼦⽹已经有部分主 机号被占⽤,那么需要增加⼦⽹号,才能满⾜需要。
更合理的情况是按照⼦⽹主机数量的多少,更换分配的顺序,才能更加⾼效地分 配。但是做题的时候需要根据题意进⾏选择。
通信⽆需借助路由器
⼦⽹前缀⼀样
在⼀个⼦⽹内的设备之间的通信有两个特点
ABCDE
主机号为0
主机号为全1
Classless InterDomain Routing
⼦⽹
IP地址分类
特殊IP地址
IP编址
互联⽹⽹络层协议
延迟的四个原因
排队延迟
传输延迟
传播延迟
要求计算!!
La/R
在输出链路上等待传输的时间
取决于路由器的拥塞程度
从链路到路由器的传输时间,分组⻓度除以链路带宽
在链路上从⼀端到另⼀端的时间,物理链路的⻓度除以媒体上的传播时间
符号为I
⼦⽹聚合问题
这⼀问题考察时,需要各个⼦⽹有相同的⼦⽹掩码,同时找到最⻓的⼦⽹之后, 能够将主机号遍历,即不会引⼊不属于⽹络的其他⼦⽹。
11101/5,11100/5,11110/5,11111/5可以聚合为111/3
⽆类域间路由
根据⼦⽹掩码分成⽹络地址和主机号
⼦⽹掩码和CIDR
分组交换⽹络中的延迟与丢失
流量强度(要求计算)
a为分组到达队列的平均速率
排队延迟取决于流量强度
IP地址聚合问题
多个IP地址聚合问题
这⼀问题考察时,需要找到最⻓的⼦⽹,然后检查是否分配的新的⼦⽹掩码会造 成全零或者全⼀的主机号。如果没有,就到此为⽌。
少了任何⼀个都不能聚合
11100,11101,11110,聚合为11/2,不能聚合为111/3,因为会造成全零主机 号
第⼀个主机是主机号取1
最后⼀个主机是主机号全1减1
⼦⽹掩码和⼴播地址计算
排队延迟时间
丢失原因 缓冲区溢出+包出错没有通过校验
I/(1-I) * 传输延迟时间
⼴播地址是主机号全1
在源端和⽬标端之间传输的速率
Dynamic Host Configuration Protocol
上⽹主机获得⾃⼰的IP地址、⼦⽹掩码、默认⽹关和local name server
DHCP discover
DHCP协议
吞吐量
瞬间吞吐量
平均吞吐量
瓶颈链路
DHCP offer
过程
为什么要分层 ⽹络⽐较复杂, 分层实现⽐较容易设计, 调试, 实现
将复杂的⽹络功能划分成功能明确的层次,上层利⽤下层提供的服务来实现本层
DHCP request
分层是指
的协议,从⽽为上层提供更复杂的功能
DHCP ack
服务 低层实体向上层实体提供它们之间的通信的能⼒
连续的⼦⽹前缀的⼦⽹可达信息可以做聚集,减少向外部传输路由的数量,减少 路由计算的负担,⽀持⼤概的路由聚集,对应的是最⻓前缀匹配的措施
路由聚集
服务访问原语
服务
上层使⽤下层服务的形式,⾼层使⽤低层提供的服务,以及低层向⾼层提供服务 都是通过服务访问原语来进⾏交互的
128⽐特⻓度 格式
服务访问点
上层使⽤下层提供的服务通过层间的接⼝
四⼗字节报⽂头 服务访问原语是服务提供的形式,服务访问点是服务提供的地点和接⼝
使⽤next header标识附加信息
不允许分⽚
不允许checksum
报⽂格式
IPv6
⾯向连接的服务
⽆连接的服务
连接是指两个通信实体为了进⾏通信⽽建⽴的⼀种结合
通常的流程是连接建⽴、通信、连接拆除
两个对等实体在通信前不需要建⽴⼀个链接,不需要预留资源,不需要知道对⽅ 是否活跃。
在IPv4路由器之间传输的IPv4数据报中携带IPv6数据报
隧道
移除了Checksum
IPv4到IPv6的迁移
和IPv4的对⽐
应⽤层 报⽂message
传输层 报⽂段segment
Options移动到Header之外,⽤Next Header标识
集中在控制器上实现控制逻辑,⽹络可编程,可以实现各种复杂的⽹络功能、新 功能(⼀次部署、持续升级)、⽅便管理
形成开发⽣态(控制器、分组交换机、⽹络应⽤,在⼀个开放的框架下协作)
SDN⽅式控制平⾯和数据平⾯分离的优 点
协议分层与服务模型
术语和概念(掌握)
协议、协议数据单元PDU
⽹络层 分组packet
数据链路层 帧frame
物理层 位bit
SDN分组交换机按照计算出的流表进⾏分组转发、通⽤、便于升级
不仅仅是转发,还可以组播、泛洪,修改字段和阻塞
模式匹配+⾏动
通⽤转发和SDN
TCP段
特殊 UDP数据报datagram
进来分组,按照各级字段匹配流表,按照相应的⾏动动作分组
分组交换机⼯作原理
⽆连接PDU也是数据报
按照优先级进⾏判断,之后统计⾏数
服务是指低层实体向上层实体提供的它们之间通信的能⼒,通过服务访问原语来 进⾏操作,是垂直层⾯的
在每个路由器上分布式实现路由功能
在SDN控制器上由⽹络应⽤集中式计算、⽣成流表
传统⽅式
SDN⽅式
两种⽅式实现控制平⾯功能 概述
服务和协议之间的关系
协议是指对等实体peer entity之间在相互通信的过程中,需要遵循的规则集合, 是⽔平的
根据收集到的路由信息计算出源到⽬标较好的路径,代价较低的路径
x层的协议的实现需要依靠下层提供的服务来实现,本层实体通过协议为上层提 供更⾼级的服务
主机-主机的路径相当于路由器到路由器的路径
应⽤层
⽹络应⽤
路由⽬标实际上是计算出节点的汇集树
传输层
提供应⽤进程之间的报⽂传输
算法必须是正确的,能够发向⽬标站
算法必须是完整的,没有处理不了的地址
完整正确
路由⽬标
互联⽹络分层模型和功能
⽹络层
链路层
源到⽬标主机之间的数据报传输
相邻⽹络节点间的帧传输
算法应当是简单的,太复杂⽽不实⽤ 简单
物理层
在线路上传输⽐特
算法能够适应通信量和⽹络拓扑的变化
健壮
路由原则是:
封装和解封装
产⽣的路由不应当是摇摆的 稳定
对每⼀个站点都应当是公平的 公平
C/S
客⼾-服务器模式
服务器以固定的IP地址和固定的端⼝号运⾏
最优(或者次优)
静态和动态(⾃适应)
局部和全局的
路由分类
应⽤架构
P2P
客⼾端主动与主机通信,不能直接与其他客⼾端通信
对等模式
任何端系统之间都可以进⾏通信
LS进⾏全⽹泛洪
全局的路由选择算法
每个节点收集邻居信息,⽣成LS
节点收集LS状态分组,形成⽹络拓扑
LS算法(link state)
主机可以更改⾃⼰的IP地址
混合
按照最短路径算法Dijkstra算出到其他节点的最优路径
局部的路由选择算法
每个节点维护到所有其他节点的下⼀跳和代价值
进程间通信
同主机之间,使⽤操作系统定义的通信⽅法
不同主机之间,使⽤⽹络提供的架构交换报⽂
是指⼀个OS⽤于标⽰应⽤通信关系所采⽤的本地标⽰
邻居节点之间定期交换DV
根据Bellman-Xxxx 不断迭代⽣成到所有⽬标的代价和相应的下⼀跳
DV算法(distance vector)
路由选择算法
SOCKET
TCP:连接的本地标⽰
UDP:端节点的本地标⽰
唯⼀指定了⼀个会话
只有两元组,⽬标的IP和port
发送端套接字存储了⾃⼰的 IP和Port,不⽤报⽂中指定
⽔平分裂算法,对需要经过的节点报告距离为INF,防⽌循环
错误可以扩散掉全⽹
好消息传得块,坏消息传得慢
⽹络应⽤原理
接收端接收到了UDP报⽂段,得到了源端的IP和端⼝号
进程编址 IP+Port编址,TCP和UDP使⽤端⼝号的⽅式不同
丢失率可靠性
问题
应⽤选择服务考虑的因素
延迟和延迟差(延迟抖动)
带宽 (吞吐量)
安全性
可靠字节流服务
LS的⼿算,其实就是Dijkstra,每次选择未发现最⼩值的有最⼩距离的节点进⾏更 新
DV的⼿算,可以通过多次相互交换得到。每⼀次相互交换,相当于每个节点从⾝ 边节点获取新的路由表,然后计算完成。认为每⼀次相互交换,只发⽣⼀次交 换,将复杂的迭代过程拆分成⼀个个阶段。
⼀个平⾯解决路由的问题,计算、传输和存储的路由信息量太⼤,不具备可扩展 性,也不满⾜不同⽹络运营⽅不同的管理需求
LS和DV 的⼿算
传输层协议
TCP
UDP
⾯向连接
流量控制
拥塞控制
⽆连接
不可靠的服务
Autonomous System,⾃治系统
分层解决是指,路由到⽹关,⽹关路由到⽬标⽹关,到了⽬标AS内部,采⽤AS内 部的路由解决
分成AS,AS内部之间的节点路由由内部⽹关协议解决。AS之间的路由,分层解 决。
层次路由
共同点 都能提供进程的表⽰,可以⽤来区分不同的进程
能够区分不同的进程,⽽IP协议不能
AS内部数量有限的路由器可以相互到达,AS内部规模可控
AS之间的路由的规模问题也⼤⼤减缓,规模增加性能不会减得太多
解决了管理问题,各个AS可以运⾏不同的内部⽹关协议,可以让⾃⼰⽹络的细节 不向外透露
使⽤DV算法,每个30秒交换通告报⽂,⾄多包括AS内部的25个⽹络⽬标的DV, 最⼤跳数是15
解决了规模性的问题和管理型问题 优势
WEB应⽤包括
UDP的必要性
HTTP协议
HTML
⽆需建⽴连接,适合事务性应⽤
不做可靠性⼯作,实时性⾼
没有拥塞控制和流量控制,能够按照设定的速度发送数据
如果180表没有收到通告信息,证明链路或者邻居失效
Routing Information Protocol
RIP
Client and Server
使⽤UDP报⽂周期重复
Open Shortest Path First
AS内部⽀持分层路由和多种代价
使⽤LS路由算法
⽹络层控制平⾯
常⽤术语
由对象组成的⻚⾯
⽹⻚
⽹⻚有⼀个基本的HTML⽂件,包含若⼲对象的引⽤
HTML⽂件
JPEG图像
对象
报告中携带每⼀个邻居路由器⼀个表项,通告信息会传遍AS全部,在IP数据包上 直接传送OSPF报⽂,⽽不是UDP或TCP->只在⽹络层的协议
OSPF
Java程序
⾳视频⽂件
和IS- IS路由协议⼏乎相同
安全,所有OSPF报⽂经过认证
内部⽹关协议IGP
引⽤URL
对对象引⽤的链接
可以按照不同的服务类型和不同的代价计算多种路由路径
允许多个代价相同的路径存在;
每⼀个链路对不同的TOS有多重代价矩阵
⾼级特性
Hyper Text Transfer Protocol
定义了C和S之间通信的报⽂格式、解释⽅式和时序
⽀持单播和多播
在⼤型⽹络中⽀持层次性OSPF
IGRP是⽐RIP更智能的路由协议,RIP适合⼩型⽹络,IGRP则⽀持更⼤的⽹络范
HTTP连接
持续性连接
⾮持续性连接
多个对象可以在⼀个TCP连接上传输
最多只有⼀个对象在TCP连接上发送
RTT,round-trip time,是指⼀个⼩分组从客⼾端到服务器,再回到客⼾端的时间
围。IGRP⽀持更⼤的跳数,同时使⽤了不同的度量结构,使得性能相较于RIP有 明显提升。
IGRP
往返延迟RTT和对象的抓取时间
⼀个对象的抓取时间为2RTT+⽂件传输时间
⼀个RTT发起TCP 请求
⼀个RTT发起HTTP请求
Interior Gateway Routing Protocol
⽂件传输也需要时间
每个AS⽤AS Number唯⼀标识
层次路由将互联⽹分成⼀个个AS
层次路由
GET
AS内部路由
AS之间路由
Border Gateway Protocol
BGP使⽤TCP
⽹关路由器参与AS内部路由计算,收集AS内部⼦⽹可达信息
⽹关路由器通过AS间路由向其他AS⽹关通告⼦⽹可达信息
⽹关路由器还转发“过⼿”⼦⽹可达信息,但是AS路径要加上他⾃⼰的AS编号, 防⽌形成环路
路由变成了两个路由
路由选择分类
互联⽹络的路由选择
WEB和HTTP
HTTP协议
报⽂格式
请求报⽂ ⽅法
响应报⽂ 状态码
POST
HEAD
PUT
DELETE
200 OK
301 Moved Permanently
400 Bad Request
⽹络路由器通过i- BGP向AS内部所有路由节点通告收集到的⼦⽹可达信息 404 Not Found
前缀的通告所经历过的AS列表
从当前AS到下⼀跳AS有多个链路,这⼀属性指定了通过转发的路径
AS-PATH
NEXT-HOP
路径属性
BGP
外部⽹关协议EGP
505 HTTP Version Not Supported
HTTP是⽆状态的 服务器不维护关于客⼾的任何信息
可以利⽤策略觉得是否过滤或接受⼀定的路由请求
可以利⽤策略决定⼀定的路由信息是否向邻居通告
内部⽹关协议决定如何送往⽹关
BGP⽀持基于策略的路由
计算机⽹络
HTTP使⽤TCP运作,默认端⼝为80
HTTP响应报⽂中有Cookie⾸部⾏
HTTP请求报⽂中有Cookie⾸部⾏
外部⽹关协议决定通过哪个⽹关可以达到AS外部⼦⽹
内部路由器,通过AS内路由和AS间路由共同决定向AS外部⼦⽹的下⼀跳
COOKIES
客⼾端端系统保留Cookie⽂件,由浏览器管理
从相邻的AS那⾥获得⼦⽹可达信息
将获得的⼦⽹可达信息传遍AS内部的所有路由器
eBGP
iBGP
提供的⽅法
Web站点有后端数据库
⽤⼾验证
基于DV算法,包含详细路径,能够避免路由环路
作⽤ ⽤⼾状态
内部⽹关协议重视效率:性能
外部⽹关协议重视策略:经济策略和政治策略
内部⽹关协议和外部⽹关协议的对⽐
在控制器上集中实现控制功 能
WEB缓存
购物⻋,推荐系统
通过本地命中,减少这些对象的访问延迟,进⼀步减少接⼊链路的流量强度,从 作⽤ ⽽降低排队延迟带来的总体平均延迟,减轻服务器的负担
降低客⼾端的请求响应时间
控制器和SDN交换剂按照OpenFlow等南向接⼝协议下发流表,上报设备状态
SDN控制器按照北向接⼝和⽹络应⽤打交道
通⽤flow-based,基于流的匹配和⾏动
控制平⾯和数据平⾯分离
特点
控制平⾯功能在数据交换设备之外实现
可编程控制应⽤,在控制器之上以⽹络应⽤形式实现各种⽹络功能
Internet Control Message Protocol
错误报告、主机不可到达、⽹络、端⼝、协议
由主机、路由器、⽹关⽤于传达⽹络层控制信息
Echo请求和ping(恢复)
SDN控制平⾯
ICMP协议
电⼦邮件应⽤的构成
优点
⽤⼾代理
邮件服务器
SMTP
报⽂头
减少⼀个机构内部⽹络和internet接⼊链路上的流量
较弱的ICP也能有效提供内容 ICP,Internet Content Provider,⽹络内容提供商
撰写编辑和阅读邮件
邮箱中管理和维护发送给⽤⼾的邮件
输出报⽂队列保持带发送邮件报⽂
邮件服务器之间使⽤SMTP
Simple Mail Transfer Protocol
简单邮件传输协议
作⽤:包括错误、echo请求和应答
报⽂类型
应⽤层
邮件报⽂格式分析
报⽂体
MIME:邮件多媒体扩展,可以在邮件中编解码多媒体内容
Multipurpose Internet Mail Extensions
将数据报封装在帧中,加⼊帧头和帧尾部
成帧、链路存取控制(链路访问控制)
作⽤ 提供⽤⼾代理和邮件服务器之间的邮件访问
通常在⽆线链路中使⽤可靠数据传输
在出错率低(光纤、双绞线电缆)上很少使⽤
出错率低的链路上很少使⽤
在相邻节点间进⾏可靠数据传输
邮件存取协议,邮件访问协议
POP3
下载并删除,会话中⽆状态
需要本地管理⽂件夹
Post Office Protocol - Version 3
出错率⾼,如果在链路层不做差错控制⼯作,漏出去的错误⽐较多,到了上层的 可靠数据传输代价就更很⼤
出错率⾼的链路上经常使⽤
在⼀个⼦⽹内进⾏可靠转发
链路层提供的服务
常⽤协议
允许⽤⼾⽤⽬录来组织报⽂
允许⽤⼾读取报⽂组件
发送⽅和接收⽅的速度匹配
差错是由信号衰减和噪声引起的
教授⽅检测出错误,通知发送⽅进⾏重传或者丢弃帧
接收端通过算法直接纠正⽐特错误,不需要重传
流量控制
检错
纠错
引论
IMAP
HTTP
HTTP是拉协议,向对⽅拉取报⽂
会话中保留⽤⼾状态
Internet Message Access Protocol
⽹⻚端⽤⼾代理,简单⽅便,可以实现更加复杂的功能
适合⼴域
全双⼯和半双⼯服务
HTTP和SMTP⽐较
SMTP是推协议,将报⽂推向对⽅
带宽⼤、距离远,延迟⼤,带宽延迟⼤
实现简单,封装和解封装容易
WAN(Wide Area Network):点到点⽅式
链路层⽹络节点的连接⽅式
完成域名到IP地址的转换
作⽤ 主机别名到规范名字的转换
连接到共享型介质上,就可以连接所有其他节点
适合局域范围,联⽹⽅便,但是需要解决MAC问题
(Local Area Network)LAN:多点连接的⽅式
EDC,Error Detect and Correct
其他⽬的
命名是分层的
概念
邮件服务器别名到邮件服务器正规名字的转换
负载均衡
使⽤单个⽐特的校验位,全部异或为0或1
单bit奇偶校验
域名信息存储和服务是分布的,每个域名服务器担任⼀个区域ZONE的名字IP权威 转换,也缓存名字IP的转换
使⽤基本数据单元的⻓度(1或2个字节),异或,得到bit错误
同时使⽤两个1维奇偶校验,分别得到错误的横坐标和纵坐标
1维奇偶校验
2维奇偶校验
奇偶校验
解析器 本地应⽤
域名服务器
奇偶校验要求的操作是异或,不是循环求和。这个和TCP校验和不同
构成 报⽂ 请求和应答的格式相同
Cyclic redundancy check 难! Domain_name
数据⽐特D
⽣成多项式G,双⽅协商使⽤r+1位数字
原理
附加位R,⻓度为r
要求:(D<<r)|R是G的倍数
检错与纠错
DNS
DNS协议
RR 资源记录,Resource Record
Time to live
Type
A
NS
CNAME
域名到IP
域名到权威服务器域名
域名到规范名字
⽣成多项式⽐余数⻓⼀个数字
⽣成多项式
MX 域名到邮件服务器名字
已知⽣成多项式和D,求解R
Class
固定为IN
异或异或
异或
异或
异或异或
先将D左移r位,然后进⾏除法
求解
除法时的减法是异或!!!
CRC校验
域名解析的过程
Value
解析器--本地DNS服务器--上层域名服务器-- …--权威名字服务器--返回
本地DNS服务器向根DNS服务器查询,根DNS服务器进⾏迭代查到之后,返回IP
能够检查出所有1bit错误
能够检查出所有双bits错误
能够检查出所有⻓度⼩于等于r位的错误 性能
递归解析
迭代解析
作⽤
提⾼ 效率
地址给本地DNS服务器
所有查询都是由本地DNS服务器发起,返回给本地DNS服务器的
不是MAC地址的意思
⻓度为r+1的错误,检查不出来的概率是1/2^{r-1}
⻓度⼤于r+1的错误,检查不出来的错误是1/2^r
冗余位计算⽅法和验证⽅法
MAC 是指介质访问控制协议medium access control
DNS缓存
端⼝号53
P2P 概念
本地缓存+服务器缓存
问题 如果情况变化,缓存结果和权威资源记录不⼀致 解决⽅案:TTL,默认两天
每个对等体既是客⼾端⼜是服务器
P2P是peer构成的应⽤层⾯的逻辑⽹络
因为在多路访问情况下,多个节点在同⼀时刻发送,会收到多个信号的叠加
需要使⽤MAC分布式算法决定节点如何使⽤共享信道,即决定节点什么时候可以 发送
MAC的必要性
P2P⽹络⽐C/⽅式分发内容快的原因是, 上载、流量和服务都是分布式的,可扩 展性⾼
UDP流化
同时注意,共享控制的通信也必须通过信道本⾝传输
把信道划分成⼩⽚
信道划分
分配⽚给每个节点专⽤
服务器向客⼾端进⾏视频流化
HTTP流化
DASH流化 Dynamic Adaptive Streaming over HTTP
信道不划分,允许冲突
随机访问
MAC的基本分配
服务端将视频⽂件划分成多个块,每个块⽤不同的码率编码独⽴存储,制作相应 的告⽰⽂件
需要进⾏冲突后的恢复
DASH 客⼾端获取告⽰⽂件 (manifest file)
告⽰⽂件提供了不同块的URL
节点依次轮流
⼜很多数据传输的节点,可以获得较⻓的信道使⽤权
依次轮流
客⼾端按照情况,向服务器请求不同视频质量的内容块
单个服务器或者服务器集群向客⼾端提供海量内容,扩展性差,带宽浪费,效率
Timie Division Multiple Access
轮流使⽤信道,信道的时间分为周期
每个站点使⽤每周期中的固定的时隙
如果⽆帧传输,则时隙空闲就是浪费
TDMA
视频流化服务和CDN
CDN
原因 低
应⽤层⾯的协作服务⽹络
原理 在全⽹部署缓存节点,内容预先部署到CDN缓存节点上
⽤⼾请求通过域名解析重定向到离⾃⼰“最近的节点”请求内容
信道的有效频率范围被划分成⼀个个⼩的频段
每个站点分配⼀个固定的频段
如果没有被使⽤,则空闲浪费
FDMA
信道划分
Content Delivery Network
Enter Deep
缓存节点的放置⽅式
Bring Home
CDN服务器深⼊到许多接⼊⽹,离⽤⼾近
部署在少数关键位置,使⽤租⽤线路将服务器簇连接起来
节点有帧发送时,直接使⽤信道带宽的全部发送,不需要进⾏预先协调
SOCKET是指
连接的本地标⽰,向SOCKET写⼊就是发送在对⽅的进程,从SOCKET中读取就是 读取对⽅发送来的数据
发⽣冲突collision之后,使⽤不同的策略 SOCKET API是指 创建、读写和关闭
假设帧是等⻓的,时间被划分成相等的时隙
节点只在时隙开始时发送,节点在时钟上是同步的
时隙ALOHA
TCP的SOCKET编程
TCP SOCKET的特点 ⾯向连接,可靠字节流服务
客⼾端和服务端的TCP实体握⼿沟通
如果多个节点在同⼀个时隙冲突,所有站点都能检测到冲突
建⽴SOCKET
服务端动作
冲突之后,节点在下⼀个时隙⽤概率p重传,直到传输成功
存在冲突,浪费时隙
编程
使⽤SOCKET
三次握⼿
即使有帧要发送,也可能存在空闲的时隙
缺点
节点检测冲突的时间,必须⼩于帧传输的时间
需要时钟上同步
节点可以⽤信道带宽的全部全速连续传输
多路访问协议(⼜称介质访问控制)(Multiple Access Control)
UDP的SOCKET编程
关闭SOCKET
特点 不连接,不提供可靠字节流服务,不需要握⼿和挥⼿
TCP Server Socket(), bind(), listen() Accept()
区别
UDP Server Socket(), bind(), Recvfrom()
⾼度分布,只需要节点之间在时隙上同步 优点
slotted ALOHA
传输层服务是指能够使端系统应⽤之间进⾏逻辑通信的服务
简单
传输协议是指运⾏与端系统的两个对等传输层实体相互通信应该遵守的规则集合
传输层服务
传输服务和⽹络服务的区别
⽹络服务是指主机到主机的通信
传输服务是指进程到进程的通信
效率 互联⽹传输层协议
TCP (Transmission Control Protocol) 有连接,可靠保序数据传输服务
UDP(User Datagram Protocol) ⽆连接,不可靠,不保序的数据传输服务
复⽤是指 源端多个上层应⽤收集数据:应⽤报⽂和封装报⽂
效率 解复⽤是指 接收端将数据按照端⼝号和IP地址给相应的SOCKET对应的应⽤
简单,⽆需节点在时间上同步
IP和PORT
缺点:冲突的概率增加。
复⽤与解复⽤
⼯作原理
TCP SOCKETS为四元组
纯ALOHA,⽆时隙ALOHA
UDP SOCKETS为两元组
⽬标IP和⽬标Port
UDP是知道源IP和Port的,但是不作为标识存储
注意:复⽤是指同⼀条⽹络链路的在多个应⽤程序之间的复⽤
必要性 有些应⽤对实时性在乎,对可靠性要求不⾼
报⽂格式 UDP报⽂校验和的计算
ALOHA
⽆连接传输层协议UDP
UDP是尽⼒⽽为的服务,报⽂可能丢失,也可能乱序送达
效率更低了
RAP:随机访问协议
校验和的计算(重要)
所有16⽐特整数相加,最⾼位进位回卷。 校验范围+校验和=1111111111111111
计算机实现时,可以直接将数据当成32位数字相加,然后将⾼16位加在低16位 上。数学上等价。
效率 UDP校验和包括数据部分
ALOHA就叫ALOHA,不是缩写 注意
MAP
协议演进的⽅式讲解如何进⾏RDT
加⼊⼀些假设,简单的协议可以提供RDT
载波侦听多路访问Carrier Sense Multiple Access 去掉⼀些假设,需要协议实体做出相应的变化从⽽提供RDT
如果信道空闲,则传送整个帧
在传输之前先侦听信道
CSMA
校验和
确认是否在信道上发⽣了⽐特差错
如果信道忙,则推迟传送 正向确认和反向确认 确认是否在信道上发⽣了丢失
Carrier Sense Multiple Access / Collision Detecion
序号,检查重复
防⽌分组重复
在CSMA的基础上,在传输过程中也在⼀直进⾏侦听
没有传完⼀个帧就可以在短时间内检测到冲突
适⽤于有线局域⽹,可以检测信号的强度,⽐较传输的信号和收到的信号是否相 同
技术机制
不需要确认的确认
只有正向确认的机制
接收⽅不知道最后发送的ACK/NAK是否被正确收到
取消NAK,接收⽅只对最后正确接受的分组发送ACK
第⼀,不需要所谓的确认的确认
第⼆,可以通过发送⽅下⼀个分组判断,ACK是否被有效接收
发送⽅接收到重复的ACK时,需要重传当前分组,相当于NAK
为⼀次发送多个数据单位做准备
1 ,创建帧
2,发送前持续侦听,CS
3,发送中,持续进⾏冲突检测CD 算法
链路层和物理层
可靠数据传输原理
检错重发和超时重发-处理丢失和⼲扰问题
滑动窗⼝
超时重发,防⽌死锁
如果检测到冲突,停⽌发送,发送Jam信号提⽰所有站点冲突
⼆进制指数退避状态,第m次失败之后,适配器随机选择⼀个
{0,1,2,\dots,2^{m}-1}种的K ,等到512* K位时间之后,重新开始发送侦听CS
CSMA/CD
流⽔线技术 提⾼链路利⽤率,可以发送多个未确认的分组
形式 内存中的⼀个区域,落⼊缓冲区的分组可以发送
功能 ⽤于存放已经发送,但是没有得到确认的分组
效率 发送缓冲区
必要性 需要重发的时候可⽤
停⽌等待协议中,为1
⼤⼩
流⽔线协议中,为⼤于1的合理值
将发送缓冲区设置为⼀个范围,在待发送数据上滑动,称之为滑动窗⼝。每成功 发送⼀个分组,就将缓冲区向前滑动
滑动窗⼝
接收窗⼝也是在接收缓冲区上建⽴起来的。如果接收窗⼝尺⼨Wr=1,则只能顺序
接收。如果尺⼨Wr>1,则可以乱序接收。 即使乱序接收,也只能顺序交付!
Carrier Sense Multiple Access/Collision Avoidance
⽆线局域⽹中,不能使⽤侦听冲突检测的⽅法,因为⾃⾝信号的强度远远⼤⾐其 他节点信号的强度
传输层
流⽔线技术和利⽤率计算
停⽌等待技术 链路带宽延迟积(也就是容量)效率低
在未经对⽅确认的情况下,可以连续发送多个PDU
如果站点侦测到信号空闲时间持续DIFS⻓度,则开始传输整个帧
如果侦测到信道忙碌,选择随机⼀个回退值,在信道空闲时递减这⼀值;如果信
管道技术
GBN
发送窗⼝⼤于1,接收窗⼝等于1,只能顺序接受,发送⽅只设置⼀个超时定时 器,⼀旦出错,返回到出错的PDU重发所有的。
选择重发,发送窗⼝和接收窗⼝都⼤于1,能够乱序接收,但是保序交付。发送⽅
接收端返回的ACK分组是重复的
累计型确认,cumulative ack
在WLAN中,⽆法CD。所以尽可能事先避免冲突,⽽不是在冲突发⽣时放弃重 发。不同的回退值,⼀个站点会胜利。失败站点冻结计数器,等待胜利节点发完
x忙碌,则不变化。
算法
CSMA/CA
SR
不考?
为每个发送出去的PDU设置超市定时器,对超时的PDU进⾏选择重发。
接收端返回的ACK是对于确认接收的分组的
单独确认,individual ack
再发 原因:
只有在回退值为零时,发送整个帧。如果没有收到ACK,增加回退值
两个站点相互隐藏
选择了⾮常接近的随机回退值
⽆法避免的情形
窗⼝的最⼤尺⼨
序号⼀共n位⼆进制,则发送窗⼝的⼤⼩最⼤为
GBN 2^n-1
SR 2^{n-1}
为了防⽌全部ACK丢失的情况下,持续进⾏循环。所以⼀次不能发送所有序号的
为了防⽌全部ACK丢失的情况下,出现序号的重复,所以窗⼝是序号⻓度的⼀半
使⽤“固定”思维。因为发送窗⼝和接收窗⼝都在变,不好分析。考虑到序号是 循环的,不妨直接固定发送窗⼝,检查协议的⼯作状态。这种情况下,⾃然是所
发送⽅发送RTS,Ready to Send,即使冲突,代价也不⼤
接收⽅⼴播CTS,Clear to Send,其中标识某⼀个发送⽅
被标识的发送⽅发送数据帧,其他节点抑制发送
可以完全避免数据帧的冲突
允许发送⽅预约信道,⽽不是随机访问信道
更加进⼀步的CA
不考 轮流
802.3 Ethernet
点对点
提供可靠,保序 的字节流
没有报⽂边界
为什么这样的思考是成⽴的?为什么不能考虑更多情况?
有ACK丢失的。如果有⾮丢失的ACK,可能会让发送窗⼝移动,这时候将新发送的包认为是快速发送的即可;如果不让发送窗⼝移动,那么可以直接套⽤固定窗
⼝的思路。所以,可以认为所有ACK丢失,发送窗⼝不动。
⾄于接收窗⼝,最坏的情况当然是接收窗⼝⾛的最远的情况,也就是全部接收到 了。
802.11 WLAN
48⽐特固化在适配器中的地 址
TCP服务特点
提供管道技术 在未经确认的情况下⼀次传输多个未经确认的段
提供缓冲
格式
1A-2F-BB-76-09-AD
由IEEE管理和分配
MAC地址
全双⼯
⾯向连接
同⼀连接中数据流双向流动
分配
⽹卡制造商购⼊MAC地址的空间
提供流控制和拥塞控制
各个字段的作⽤
⽤于使帧从⼀个⽹卡转移到与其物理连接的另⼀个⽹卡,⼆者在同⼀个物理⽹络 中
作⽤
理论上全球任何两个⽹卡的MAC地址都不相同
连接建⽴时协商好双⽅的起始序号
序号是指⾸字节在字节流中的偏移量
MAC地址位于链路层,IP位于⽹络层
层次不同
TCP报⽂段结构
确认是对顺序收到的最后⼀个字节+1
MAC地址平⾯的,⽤于表⽰⼀个物理⽹络的不同站点
源端⼝号⽬的端⼝号
IP地址是分层的,⼀个⼦⽹的所有站点的⽹络号⼀致 MAC地址和⽹络层IP地址的区别 序号
IP是可以聚集的,便于计算路由
IP 地址是⽤来区分⽹络的,MAC地址是⽤来区分⽹卡的
可以更换⽹卡
好处
物理⽹络可以⽀持IP协议之外的其他⽹络层协议
每次上电都需要写⼊IP地址
问题
如果不使⽤MAC地址,则每⼀个帧都需要上传到IP层检查
MAC地址和IP地址是分离的
链路层编地址
确认号
结构
状态位,接收窗⼝
校验和,紧急数据指针
可选
移动平均计算 计算平均往返延迟
EstimatedRTT=(1-a)*EstimatedRTT + a*SampleRTT
Address Resolution Protocol 相当于给新的采样值a的信任度 通常a=0.125
物理⽹络范围内IP地址到MAC地址的转换
RTT时间估计和重发超时时间估计
衡量安全边界时间
A 要查询B,则会⼴播包含B的IP地址的ARP查询包
Dest MAC address=FF-FF-FF-FF-FF-FF,达到⼴播⽬的
⼴播查询
⽬的
⼯作原理:
safely margin
DevRTT = (1-beta)*DevRTT+beta * |SampleRTT - EstimatedRTT|
通常beta=0.25
B收到ARP包,会回复A⾃⼰的MAC地址。使⽤A的MAC地址进⾏单播
单播应答
超时间隔设置为TimeoutInterval = EstimatedRTT + 4*DevRTT
每个表项中有TTL,典型值是20min
在LAN上的每个IP节点都有⼀个ARP表
结构
ARP表中包括LAN节点的IP/MAC地址的映射
ARP协议
窗⼝利⽤率 在RTT线路上,同时发送n个没有确认的TCP报⽂,则窗⼝利⽤率为 nL/R / (RTT +L/R)
使⽤快速重传,在没有超时情况下,收到对⽅对于⼀个段的重复三次ACK(⼀共 四次)ACK的启动快速重传
ARP是即插即⽤的
特点
节点⾃⼰创建ARP表项,不需要⽹络管理员的⼲预
有连接传输层协议TCP
TCP的可靠数据传输原理
快速重传的快速是指在定时器溢出之前就重发报⽂段,快速重传的原因是通过三 个冗余ACK认为有数据丢失了。
帧被AR收到之后,从中提取出IP分组,交给上层IP协议实体
IP协议实体选择相应出⼝,根据出⼝的ARP表得到下⼀步的MAC地址,转发出去
路由过程中,不改变IP src和IP dest
流量控制
流控⽬的 防⽌淹没接收⽅
流控⼿段 将接收窗⼝⼤⼩捎带发送的⽅式传送给发送端
IEEE802.3标准,链路层和相应的物理层
三次握⼿,选择起始序号并确认,准备好缓冲区
如果⽬标地址=本机MAC地址,或者是⼴播地址,则交给⽹络层
使⽤前导码preamble,⽤来同步接收⽅和发送⽅的时钟速 率
包括六字节的源MAC地址和六字节的⽬标MAC地址
以太⽹络的帧结构
连接建⽴
第⼀次握⼿,SYN=1,ACK=0,提供发起端的序号
第⼆次握⼿,SYN=1,ACK=1,提供被呼叫端的序号
也就是说,MAC地址是⼀步到位的
否则,忽略
TCP连接管理
第三次我后,SYN=0,ACK=1
发送⽅和接收⽅没有握⼿
接收⽅不发送ACK或NAK
⽆连接
不可靠
向上提供服务的特点
连接拆除
对称四次挥⼿(可以合并中间两次为三次挥⼿)
存在设计问题,可以⽤定时器解决
⼦主题
拥塞的表现
分组丢失(路由器缓冲区溢出)
分组经历的延迟很⻓(路由器队列排队)
拥塞控制原理 拥塞控制的⽬的
以太⽹络
拥塞控制⼿段
端到端的拥塞控制 TCP采⽤的⽅式
⽹络辅助的拥塞控制 ATM⽹络标志,不考
检测拥塞 超时和三个冗余ACK
AIMD
线性增,乘性减
CSMA/CD
拥塞控制机制
慢启动
超时之后的保守策略
访问控制技术
Tahoe,不要求,对等看待超时和三个冗余ACK
⼦主题
效率
⼆进制指数后退
在⼀定的时钟上,下降沿为1,上升沿为0
时钟效率为50%
每⼀个⽐特中有⼀个信号跳变
Manchester编码
CSMA/CA
编码
TCP的拥塞控制原理
两种算法
物理层⾯的中继器,从⼀个端⼝收,转发到所有端⼝
速率⼀致,不提供帧缓存
不提供冲突检测机制
HUB
Xxxx,重点讲解,对超时和3个冗余ACK不同处理
平均延迟和超时定时器时间的设置 不考差
提供⽹络管理的功能
HUB连接⽅式的问题:⽆法割离冲突,在⼀个冲突域之中
链路层设备,主动⻆⾊,在端⼝执⾏以太⽹协议
对弈到来的帧,检查帧头,根据⽬标MAC地址进⾏选择性转发
TCP公平性
了解
⽬标:K个会话分享带宽R,每⼀个会话的有效带宽是R/K
原因:竞争的TCP会话会不断进⾏AIMD,交替排列各⾃的吞吐量
如果向某个⽹段进⾏转发,需要使⽤CSMA/CD进⾏控制
对帧进⾏存储和转发
交换机
TCP平均吞吐量为3/4 W,W为窗⼝尺⼨
因此平均传输速率为3/4 W/RTT bytes/sec
不要求!!
通常⼀个交换机端⼝负责⼀个独⽴⽹段
交换机是透明的,主机对交换机的存在可以不关⼼
即插即⽤,交换机⾃学习
⾃学习 交换机的特点
接收到帧,就学习发送站点的端⼝和MAC地址
HUB和交换机
如果⽬标站点不知道,就泛洪
交换机有交换表,负责维护通过哪个接⼝到MAC地址的信息
如果知道,就选择性转发到对应端⼝
如果⽬标MAC地址就在发送端⼝,则过滤
选择性转发
⾃学习
流量控制
交换机的⼯作原理
专⽤接⼊
交换机是链路层设备,检查的是链路层头部
路由器是⽹络层设备,检查的事⽹络层头部
层次不同
执⾏过滤、⾃学习和⽣成树算法
即插即⽤,⼆层设备,速率⾼
执⾏⽣成树算法,限制⼴播帧的转发
交换机是交换表,按照MAC地址转发
路由器和交换机的区别
ARP表项随站点数量增多⽽增多
路由算法能够避免环路,不需要执⾏⽣成树算法,可以通过拓扑构建⽹络
都有转发表
点⼴播分组做限制
不是即插即⽤的,需要配置⽹络地址(⼦⽹前缀)
路由器维护路由表,执⾏路由算法
三层设备,速率低