网络空间的三大基础性关键核心技术:CPU/OS/互联网体系结构
历史:ARPANET,X.25,OSI体系,Internet
主要研究内容:规模实验,路由性能,路由控制
互联网重大技术挑战:扩展性 安全性 高性能 移动性 实时性 管理性
计算机网络:一批独立自治的计算机系统的互连集合体
计算机网络:
计算机网络的体系结构:
网络功能的分层-协议的分层-体系结构的分层
协议: 计算机网络同等层次中,通信双方进行信息交换时必须遵守的规则。
接口:每一相邻层之间有一个接口(Interface),它定义了下层向上层提供的原语操作和服务。
服务:层间交换信息时必须遵守的规则。
服务访问点SAP:
接口数据单元IDU(Interface Data Unit)
协议数据单元PDU(Protocol Data Unit)
连接并不意味可靠,可靠要通过确认、重传等机制来保证
Internet 的标准是自发而非政府干预的,称为RFC (Request For Comments)
服务原语可分为四种类型
Open System Interconnection
TCP/IP 参考模型:
OSI网络体系结构的核心和贡献:
ARPANET:分组交换,subnet 和 host computer两极结构。
NSFNET:第一个TCP/IP广域网
X.25:面向连接,虚电路
帧中继,面向连接,提供最少的基本服务。
宽带综合业务数字网 B-ISDN(Broadband Integrated Services Digital Network)技术基础是异步传输模式ATM
(Asynchronous Transfer Mode)
F ( f ) = a 0 + ∑ n = 1 + ∞ a n cos n ω t + ∑ n = 1 + ∞ b n sin n ω t a 0 = 1 T 1 ∫ t 0 t 0 + T 1 f ( t ) d t a n = 2 T 1 ∫ t 0 t 0 + T 1 f ( t ) cos n ω 1 t d t b n = 2 T 1 ∫ t 0 t 0 + T 1 f ( t ) sin n ω 1 t d t \mathcal F(f) = a_0+\sum_{n=1}^{+\infty}a_n \cos n\omega t+\sum_{n=1}^{+\infty}b_n\sin n\omega t \\ a_0 = \frac{1}{T_1}\int_{t_0}^{t_0+T_1}f(t) dt \\ a_n = \frac{2}{T_1}\int_{t_0}^{t_0+T_1}f(t) \cos n \omega_1 t d t \\ b_n = \frac{2}{T_1}\int_{t_0}^{t_0+T_1}f(t)\sin n\omega_1 tdt F(f)=a0+n=1∑+∞ancosnωt+n=1∑+∞bnsinnωta0=T11∫t0t0+T1f(t)dtan=T12∫t0t0+T1f(t)cosnω1tdtbn=T12∫t0t0+T1f(t)sinnω1tdt
信号在信道上传输时的特性:
波特率(baud)和比特率(bit)的关系:
对于比特率为B bps的信道,发送8位所需的时间为 8/B秒,若8位为一个周期T,则一次谐波的频率是: f 1 = B / 8 H z f_1 = B/8 Hz f1=B/8Hz 能通过信道的最高次谐波数目为: N = f c / f 1 N = f_c/ f_1 N=fc/f1
有限的带宽限制了数据的传输速率。
Nyquist Theory:无噪声有限带宽信道最大数据速率 = 2 B log 2 V 2B\log_2V 2Blog2V 其中B为低通滤波器的带宽,信号包含了V个离散的等级
Shannon Theory:信道受到随机(热)噪声干扰最大比特率 = B log 2 ( 1 + S N ) B\log_2(1+\frac{S}{N}) Blog2(1+NS) 其中S为信号功率,N为噪声功率,与信号电平级数、采样速度无关
信噪比: S N R = 10 lg S N SNR = 10\lg \frac{S}{N} SNR=10lgNS 单位dB
数字信号发送的优点是:价格便宜,对噪声不敏感;缺点是:易受衰减,频率越高,衰减越厉害。
数字数据的数字传输:
NRZ:
曼彻斯特码:每一位中间都有一个跳变,从低跳到高表示“0”,从高跳到低表示“1”。
差分曼彻斯特码:每一位中间都有一个跳变,每位开始时有跳变表示“0”,无跳变表示“1”。位中间跳变表示时钟,位前跳变表示数据。
逢“1”变化的NRZ码:在每位开始时,逢“1”电平跳变,逢“0”电平不跳变。
数字数据的模拟传输:
幅移键控法 Amplitude-shift keying (ASK):幅移就是把频率、相位作为常量,而把振幅作为变量
频移键控法 Frequency-shift keying (FSK):频移就是把振幅、相位作为常量,而把频率作为变量
相移键控法 Phase-shift keying (PSK):相移就是把振幅、频率作为常量,而把相位作为变量
模拟数据数字传输:
多路复用技术:为了提高线路利用率,经常让多个信号同时共用一条物理线路。
时分复用 TDM(Time Division Multiplexing)
频分复用 FDM(Frequency Division Multiplexing)
波分复用 WDM(Wavelength Division Multiplexing):利用光纤信道的巨大带宽,不同信道使用不同波长的光
单工通信方式:信息只能单向传输,监视信号可回送
半双工通信方式
全双工通信方式
异步传输方式:
信息是以字符为单位传送的
需要辅助位,每个字符可能需要用10位或11位才能传送
同步传输方式:
数据流方式:
通信交换方式:
物理层的四个重要特性:
物理层目的是启动、维护和关闭数据链路实体之间进行比特传输的物理连接。
传输介质:
磁介质
双绞线:带宽依赖于线的粗细和传输距离
基带同轴电缆:数据传输
宽带同轴电缆:75欧姆,用于模拟传输,Cable TV技术,300MHz或450MHz
光纤:
无线传输
电话系统:
SONET/SDH:TDM,基本SONET帧:810 字节/125us
OC-3 表示一个155.52 Mbps的载波是由三个单独的OC-1载波 复用构成的;
OC-3c 表示一个单独的155.52 Mbps的载波。
窄带ISDN:在原电话系统的基础上,提供模拟和数字多种信号传输
宽带ISDN:基于ATM
蜂窝无线电:单方向的讯呼系统
通信卫星
如何在有差错的线路上,进行无差错传输
数据链路层协议应提供的最基本功能
为网络层提供三种合理的服务
成帧:
纠错码:m个信息位,r个校验位,纠正单比特错
( m + r + 1 ) ≤ 2 r (m+r+1)\leq 2^r (m+r+1)≤2r
使用海明码纠正突发错误
码位从左边开始编号;
位号为2的幂的位是校验位,其余是信息位;
可采用k个码字(n = m + r)组成 k * n 矩阵,按列发送,接收方恢复成 k * n 矩阵,k*r个校验位,k*m个数据位,可纠正最多为k个的突发性连续比特错
CRC校验码:
无约束单工协议:
单工停等协议:
有噪声信道的单工协议:
滑动窗口协议:全双工
一比特滑动窗口协议
退后n帧协议:
选择重传协议:
接收窗口大于1,先暂存出错帧的后继帧
只重传坏帧
对最高序号的帧进行确认
接收窗口较大时,需较大缓冲区
发送窗口大小:MaxSeq,接收窗口大小:(MaxSeq + 1) / 2
发方发帧 0 ~ 6,收方全部收到,接收窗口前移(7 ~ 5),确认帧丢失,发方重传帧0,收方作为新帧接收,并对帧6确认,发方发新帧 7 ~ 5,收方已收过帧 0,丢弃新帧 0,协议出错
如果收到小于窗口下界的帧,就返回一个ack
协议说明与验证:
Petri网模型
条件/事件(C/E)网:最简单,每个位置最多一个标记,表示条件。
位置/变迁(P/T)网:每个位置中的标记可以有多个。
高级Petri网(包括谓词/变迁网和着色网):给标记以属性,即标记有区别
高级数据链路控制规程HDLC
链路构型
操作模式:
序号(Seq):使用滑动窗口技术,3位序号,发送窗口大小为7
捎带确认(Next):捎带第一个未收到的帧序号,而不是最后一个已收到的帧序号
多终端,终端发向计算机的帧中,最后一个帧P/F位置为“F”,其它置为“P”。
定界符:01111110,零比特填充
X.25 LAP、LAPB是HDLC的子集
X.25 LAPB
Internet数据链路层协议
点到点协议 PPP
有线局域网:400G Ethernet 802.3
无线局域网:WiFi 6 9.6Gbps 802.11
局域网中的动态通道分配:多路访问协议
ALOHA协议:用户有数据要发送时,可以直接发至信道;然后监听信道看是否产生冲突,若产生冲突,则等待一段随机的时间重发
分槽ALOHA协议:把信道时间分成离散的时间槽,槽长为一个帧所需的发送时间。每个站点只能在时槽开始时才允许发送。
载波监听多路访问CSMA
CSMA/CD:检测到冲突后立即停止,等待随机一段时间后重新尝试发送
无冲突协议:
有限竞争协议:低负载竞争协议,高负载无冲突协议
自适应树遍历协议
波分多址(WDMA)是将多个不同波长且互不交叠的光载波分配给不同的光网络单元(ONU),用以实现上行信号的传输
无线局域网协议:
限制:无线通信系统不能检测正在发生的冲突,无线局域网中的站不能广播给其他站
隐藏终端问题:AC向B发送数据,AC之间不能互相检测到,一个在发送数据时另一个会误认为信道空闲
暴露终端问题:向不同的基站传输时发生误检测冲突
MACA协议:A向B发送消息前,首先发送RTS,B回复CTS后A向B正式发送消息
CSMA/CA:一是监听到信道空闲时,并不是立即发送,而是等待一段时间再发送数据。二是先发送一个很小的信道侦测帧RTS,如果收到最近的接入点返回的CTS,就认为信道是空闲的,然后再发送数据。协议的主要流程如下:1 首先检测信道是否有使用,如果检测出信道空闲,则等待一段随机时间后,才送出数据。2 接收端如果正确收到此帧,则经过一段时间间隔后,向发送端发送确认帧ACK。3 发送端收到ACK帧,确定数据正确传输,在经历一段时间间隔后,再发送数据。
经典以太网:3~10Mbps
Manchester Encoding
帧格式:
二进制指数后退CSMA/CA:第i次冲突后,从0~2i-1之间随机选择一个数,等待这么多时间槽
最小帧长是64个字节,64—目的地址(6字节)— 源地址(6字节) — 类型(2字节)— 效验码(4字节) = 46字节;如果站点收到了小于64个字节的帧,则认为发送了冲突(源地址不在发送了),直接丢弃
交换式以太网是以交换式集线器(switching hub)或交换机(switch)为中心构成,是一种星型拓扑结构的网络。
IEEE 802.2: Logical Link Control 隐藏底层协议差异
Broadband Wireless
Data Link Layer Switching : Multiple LANs connected by a backbone to handle a total load higher than the capacity of a single LAN.
LAN Bridge
集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在其他端口把这个 包转发一次,因为它不知道也不可能知道这个包是发给谁的(物理层设备只关心电压这些物理概念),它也只能对所有人广播
中继器(Repeater),这种设备的作用是把物理层传输的信号放大,由于长距离的传输,信号会有一定的损耗的
网桥又称桥接器,英文名Network Bridge,数据链路层设备。它也是转发数据包的设备,但和HUB不一样的是,它工作在数据链路层,HUB只能看懂物理层上的东西(比如一段物理信号),网桥却能看懂一些帧的信息(在链路层上,把上面传下来的数据封装后,封装好了的数据就是帧,但这里我用“数据包”这样的泛指去代替“帧”这个专业术语)。在以太网构造的局域网上,最终的寻址是以数据链路层的MAC地址作为标识的,一般只有两个口
交换机Switch,数据链路层设备,作用是转发数据包。和网桥一样它也是通过识别帧中的MAC地址,然后对特定的端口进行转发的。
网络层的内部组织:虚电路(virtual circuit)数据报(datagram)
面向连接服务:将复杂的功能放在网络层(通信子网)。
无连接服务:将复杂的功能放在传输层。
路由算法
最优化原则( optimality principle ):如果路由器 J 在路由器 I 到 K 的最优路由上,那么从J 到 K 的最优路由会落在同一路由上
最短路径路由算法:
洪泛算法:
基于流量的路由算法:
距离向量路由算法:
链路状态路由算法:
分层路由:根据需要,将路由器分成区域(regions)、聚类(clusters)、区(zones)和组(groups)…
移动主机的路由
拥塞控制算法
拥塞控制(congestion control)需要确保通信子网能够承载用户提交的通信量,是一个全局性问题,涉及主机、路由器等很多因素;
流量控制(flow control)与点到点的通信量有关,主要解决快速发送方与慢速接收方的问题,是局部问题,一般都是基于反馈进行控制的。
开环控制
闭环控制:基于反馈机制
衡量网络是否拥塞的参数:缺乏缓冲区造成的丢包率;平均队列长度;超时重传的包的数目;平均包延迟;包延迟抖动(Jitter)。
流量整形:强迫包以一种可预测的速率发送
漏桶算法:将用户发出的不平滑的数据包流转变成网络中平滑的数据包流
令牌桶算法:漏桶存放令牌,每T秒产生一个令牌,令牌累积到超过漏桶上界时就不再增加。包传输之前必须获得一个令牌,传输之后删除该令牌,积累发送权,不丢包
对发送方的流说明,子网和接收方可以做出三种答复:同意、拒绝、其它建议。
虚电路子网中的拥塞控制:一旦发生拥塞,在问题解决之前,不允许建立新的虚电路;– 另一种方法是发生拥塞后可以建立新的虚电路,但要绕开发生拥塞的地区
抑制包:路由器监控输出线路及其它资源的利用情况,超过某个阈值,则此资源进入警戒状态;• 每个新包到来,检查它的输出线路是否处于警戒状态;若是,则向源主机发送抑制包,包中指出发生拥塞的目的地址。同时将原包打上标记(为了以后不再产生抑制包),正常转发。源主机收到抑制包后,按一定比例减少发向特定目的地的流量,并在固定时间间隔内忽略指示同一目的地的抑制包。然后开始监听,若此线路仍然拥塞,则主机在固定时间内减轻负载、忽略抑制包;若在监听周期内没有收到抑制包,则增加负载;
加权公平队列:路由器的每个输出线路有多个队列,路由器循环扫描各个队列,发送队头的包
逐跳抑制包:抑制包对它经过的每个路由器都起作用;
负载丢弃:• 文件传输,优先丢弃新包,wine策略;• 多媒体服务,优先丢弃旧包,milk策略
网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。
网络互联:
互联网路由
两级路由算法
分段:网关负责分段,目的主机重组
标记段:偏移量法
防火墙的一种常用配置
在网络层,互联网( Internet )可以看成是自治系统的集合,是由网络组成的网络;网络之间互连的纽带是 IP ( Internet Protocol )协议
IPv4协议:
IPv4头包括20个字节的固定部分
DF:Don’t Fragment;所有机器必须能够接收小于等于576字节的段
MF:More Fragments 除最后一个段外的所有段都要置MF位。
段偏移量(Fragment offset):除最后一个段外的所有段的长度必须是8字节(基本段长)的倍数。
地址组成:网络号 + 主机号
全0和全1有特殊含义
互联网的控制报文协议 ICMP(Internet Control Message Protocol)
地址解析协议 ARP ( Address Resolution Protocol )
反向地址解析协议 RARP ( Reverse Address Resolution Protocol )
内部网关协议 IGP ( interior gateway protocol ):自治系统 AS 内使用的路由算法, RIP 、 OSPF
外部网关协议 EGP ( exterior gateway protocol ):自治系统 AS 之间使用的路由算法, BGP
分层路由
四类路由器,允许重叠
边界网关协议 BGP
无类域间路由 CIDR:将剩余的C类地址分成大小可变的地址空间;最长匹配原则:路由查找时,若多个路由表项匹配成功,选择掩码长(1比特数多)的路由表项
IPv6协议:
IPv4 到IPv6
双栈 :有些路由器同时运行两种协议栈,并可以在这两种之间进行格式转换。
隧道: IPv6的报文被作为IPv4报文的净荷由IPv4路由器处理。
为什么设计制造高速路由器有很大的难度?
地址区间的二分查找法:N 个地址前缀,查找算法复杂度为 O(log22N)
报文 caches
使用输入队列的路由器队头阻塞:58%
引入传输层的原因
用的网络无关的信息传输。
面向连接的传输服务:连接建立,数据传输,连接释放;
无连接的传输服务
拆除连接方式有两种
建立连接:
服务程序
调用accept将服务程序阻塞起来,等待接收客户程序发来的连接请求。当传输层实体接收到建立连接的TPDU时,新创建一个和原来的套接字相同属性的套接字并返回其文件描述符。服务程序创建一个子进程处理此次连接,然后继续等待发往原来套接字的连接请求。
客户程序
调用connect阻塞客户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞;
三次握手方案(three-way handshake)
释放连接:
TCP协议
慢启动(slow start)算法
拥塞避免(congestion avoidance)算法
UDP ( User Datagram Protocol )协议:无连接
应用程序:互相通信的分布的进程
客户/服务器之间使用的传送层协议
DNS:请求以UDP包格式发
域名解析
一个区域内机器上的应用程序进行域名解析时,首先向该区域的域名服务器发出解析请求,若查找到,则返回域名对应的资源记录。
若找不到,该域名服务器向所查找域名的顶级域的域名服务器发出解析请求,
顶级域的域名服务器通过向下的层次查询得到对应的资源记录,返回给该域名服务器,
最后资源记录被返回给发起域名解析的机器,并在该区域的域名服务器中做缓存,超时后删除。
SNMP:基于UDP的
电子邮件:SMTP
成文:指创建消息或回答消息的过程;
传输:指将消息从发送者传出至接收者;
报告:将消息的发送情况报告给消息发送者;
显示:使用相应的工具软件将收到的消息显示给接收者
处理:接收者对接收到的消息进行处理,存储/丢弃/转发等等。
POP3(Post Office Protocol),RFC 1939,用户代理和邮箱不在同一机器上,用户代理使用此协议将邮箱中的信件取回本地;
IMAP(Internet Mail Access Protocol),RFC 1730,收信人使用多个用户代理访问同一邮箱,邮件始终保持在邮箱中。
加密电子邮件协议:PGP与PEM协议。
文件传输协议FTP
建立两个并行的TCP连接:
控制: 在客户端和服务器之间交换命令、响应
数据: 传递文件数据
控制连接采用的是telnet
HTTP/1.0非持久连接(Non-persistent)
每个object的取得都需要两个RTT
每个object的传输都要经历慢启动
持久连接(Persistent)
default for HTTP/1.1
在同一个TCP连接上: 服务器解析请求并响应,再解析新的请求…
客户端一旦得到基本的HTML文件就发出请求索取全部object
较少的RTT和慢启动时间