Chapter 1 概述
计算机网络:
通过同一种技术相互连接起来的一组自主计算机的集合
计算机网络vs分布式系统:
分布式系统建立在网络之上,具有高度的内聚性和透明性
服务、接口、协议:
服务是为紧邻上层提供的功能调用,服务通过服务访问点提供
接口是相邻层之间的交往规则
协议是通信双方实现相同功能的相应层之间的交往规则
OSI协议
物理层:提供比特流服务,形成数据传输的实体。(中继器、集线器)
数据链路层:建立相邻节点的数据链路。(二层交换机、网桥)
网络层:路由、中继、排序。(三层交换机、路由器)
传输层:为上层提供端到端、透明、可靠的数据传输服务。(Socket)
会话层
表示层
应用层:(HTTP)
IP协议
互联网层:IP
传输层:TCP、UDP
应用层:TELNET、FTP、SMTP、DNS、NNTP、HTTP
主机至网络层:没有明确规定
Chapter 2 物理层
数据传输理论
波特率、信元、比特率
最大传输率:
奈奎斯特限制 2Hlog2V b/s
香农限制 Hlog2(1+S/N) b/s
香农限制是针对信道的质量提出的上限,而奈奎斯特限制是针对所采用的调频技术所能达到的上限。在香农限制范围内,通常采用尽量复杂的调频技术,以达到最大带宽。对于计算题,限制取两者小值。
FDM:频分复用,与调相结合。QPSK、QAM等
TDM:时分复用,划分时槽。
CDMA:采用正交码,为每个发送端口分配一个正交向量,调制解调时与相应的矩阵相乘即可得相应位的数据。
【计算题】
交换时间的计算
Dcs = S + x/b + k*d (d=l/v)
Dps = x/b + d + ts + P/b + d + ts + P/b + d + ...
= x/b + k*d + (k-1)ts + (k-1)P/b
电路交换和包交换即是虚电路建立时间S与存储转发(k-1)ts+(k-1)P/b所需时间的比较。
带宽计算
df = cd
λ/λ2 = cf2*dλ
频率越高、频率差值越大,带宽越大
海拔越高,实时交互越难
ASDL
1.1MHz频谱分成256条独立信道,每条4kHz,1-5用作语音信号,剩下250条,两条分别用作上行控制和下行控制,其余数据传输。
SONET 同步光网络
ATM 异步传输模式
有线电视网
54M-550M 有线电视频道
5-42M 上行信道 高端作为下行信道,一般到750M
ADSL vs 有线电视网
有效带宽、拓扑结构、可靠性、安全性
3G
W-CDMA:工作在5MHz,并与GSM协同工作
CDMA2000:使用一段5MHz带宽,不能与GSM协同工作
TD-SCDMA:中国3G标准,工作在1.6GHz
Chapter 3 数据链路层
字节填充
位填充(每5个1后自动添加0) 【计算题】 3.5
物理层编码违例法
错误控制
错误检查和重传:ARQ、循环码
前向纠错:海明码
【计算题】
海明码
循环码
6中数据链路协议
无限制单工协议:无错误控制、无流控制
单工停等协议:简单流控制,无错误控制(若数据丢失,可能造成死锁)
有噪声信道的单工协议:增加定时器,可重发,有错误控制、有流控制
一位滑动窗口协议
N回退
选择重传
【计算题】 不同传输协议的传输率计算
HDLC高级数据链路控制:可进行流量控制
PPP:ADSL使用,没有流量控制,停等协议
注意:两者都使用了位填充方式,首位flag均为01111110,数据逢5个1补0
Chapter 4 MAC 介质访问控制子层
CSMA Carrier Sense Multiple Access 载波检测多路访问
ALOHA 分槽ALOHA 1-持续CSMA 非持续CSMA p-持续CSMA
CSMA/CD带冲突检测的CSMA:即发现冲突即刻停止发送数据,链路上会有传输周期、竞争周期和空闲
【问题】
什么是CSMA/CD?如何有效地控制?
时槽宽度为2t,对电缆很长而帧长很短的情况不适用。
无冲突协议:
位图协议、二进制倒计数协议
【计算题】
4.20 二元指数后退算法
4.21 最小帧长度的计算
交换机分割冲突域,路由器分割广播域
802.11MAC层
【问题】为什么802.11不能使用CSMA/CD?解释一下802.11MAC层协议。
802.11的物理层是半双工的,不能一边传输一遍检测数据。同时,每个站的监测范围有限,存在隐藏站和暴露站的问题。
隐藏站,监测范围内没有冲突的站可能正在接受检测范围外的发送数据。
暴露站,检测范围内的站的发送数据可能会影响本站不会冲突的数据发送。
DCF(分布式协调功能):没有用到任何中心控制手段
PCF(点协调功能):使用基站来控制单元内的所有活动
【问题】什么是CSMA/CA?如何有效的工作?
采用RTS和CTS的单边握手信息来获取信道。其他站在接受到信息后根据包中的声明计算沉默时间,通过为自己建立虚拟信道的方式实现沉默。规定每个分片或数据帧正确到达后要回应ACK。
802.16MAC层
【问题】什么是FDD和TDD?给出两个具体的例子来解释
802.16的物理层是频分全双工和时分全双工的,这使得资源的分配是以时槽、频带的分配为基础的。
基站周期性的往外发送帧。每一帧包含多个时槽。前面的时槽用于下行流量,然后一段防护时间,最后用于上行。每个方向上所用的是草数量可以动态改变,以便符合每个方向上的流量。对于不同频率,可采用不同的时分控制,以达到上下行流量的动态分配。
【问题】在802.16中使用的是什么MAC层协议?它们支持全双工吗?
802.16的MAC层支持全双工。每一帧由一些子帧构成,其中前面两个子帧是下行流和上行流的映射图。这些映射图指明了哪个时槽中是什么内容,以及哪些时槽是空闲的。下行流映射图也包含了各种系统参数,以通知那些刚刚上线的新站。上行信道的分配方案与服务质量问题相关。定义4类服务如下:
1.位速率为常数的服务:分配特定额时槽给每个连接
2.位速率可变的实时服务:基站定期询问是否需要信道
3.位速率可变的非实时服务:基站不定期询问,并把长期不要求的站放到多播组中让其参与竞争。
4.尽力投递服务:分配竞争时槽,站采用二元指数后退算法竞争时槽。
【问题】蓝牙支持两种主从连接,它们分别是什么?作何用?
微微网是一个中心化的TDM系统,主节点控制了时钟,它决定了每个时槽中哪个设备可以进行通信。
ACL(异步无连接链路)——数据的到达不是确定时刻的;帧如果丢失,要求重传。尽力投递,对于从节点,与主节点之间只可以有一条ACL链路。
SCO(面向连接的同步链路)——每个方向中的固定时槽中分配;帧永远不会被重传。主要用于实时数据,比如电话连接。一个从节点与它的主节点可以有多达3条SCO链路。
vlan的需求
1.基于网络性能的考虑。缩小广播域,提高传输效率。
2.安全性。各个虚拟网之间数据必须通过路由器转发,为高级的安全控制提供可能。
3.组织结构。抑制网络上的广播风暴,增加网络的安全性,集中化管理控制。
Chapter 5 网络层
【计算题】Dijkstra算法
【计算题】
DVR 距离矢量路由:相邻节点交换完整的路由表;信息发布以周期为标志(无穷计算问题)
LSR 链路状态路由:节点自身维护完整的路由表,但只发送自己到相邻节点的路由信息。这些包通过其他节点重新计算后再转发;信息发布以大事件为标志
【计算题】
chord节点的加入、离开和查找
预处理:
1.每一个在线节点具有唯一的标示hash(my-IP-address)。
2.对于可共享的资源,建立(name, my-IP-address),存储到successor(hash(name))中
处理:
1 找到successor(hash(name))
1.1 预处理:创建指取表(finger table)( k + 2i(mod 2m),successor[k + 2i(mod 2m)] )
注明:1 k是每一个节点在线的ID号;
2 即使k + 2i(mod 2m)不在线,也为它建立表项。
3 m是表项的数目。
1.2 加入与离开:只需要根据资源的查询算法先找出后继,再让后继通知我谁是前驱,最后由我通知后继、前驱我的加入即可;指取表的更新由更新的节点主动查询完成。离开类似。
1.3 资源的查询从本地myID开始:
问题1——你的后继有资源吗?( myID<hash(name)< successor(myID) )
动作2——找到一个小于hash(name)但最接近于hash(name)的开始,并请求它继续搜索。
2到successor(hash(name))里查找(name, my-IP-address)。
虚电路中的拥塞控制
1.如果太忙,一开始就拒绝服务
2.调整路由路径
3.在建立之初,主机与子网进行协商,预留资源
数据包子网拥塞控制
1.设置警告位,通过捎带发送回去
2.显式的发送抑制分组(对于线路延迟较长的不可行)
3.逐跳抑制分组(把警告发送到相邻节点,相邻节点减少数据输出,增大缓存,并将抑制分组沿回路转发)
随机的早期检测
在实际耗尽所有缓冲区空间之前就开始丢弃分组。
QoS技术
1.过度提供资源:代价昂贵,在能够准确预测情况下实用
2.缓冲能力:增加延迟、消除抖动
3.流量整形:调节数据传输的平均速率(以及突发性),文件传输受限
4.漏桶算法:强迫输出模式保持严格的均匀速率,不管通信流量的突发性程度如何
5.令牌桶:系统定期生成令牌,一旦有分组和令牌,则尽快将其发送出去。输出流可能有突发性数据。系统可以通过令牌的发放停止输出流量,但也会可能造成缓存溢出。相关计算公式:容量+令牌生成速率*时间=输入速率*时间
6.资源预留
7.准入控制:设定流规范,并在请求时将其转化为预留值
8.分组调度:公平排队
【计算题】令牌桶、漏桶的流量计算
IPv4头
版本、IHL、服务类型、总长度、标识、分段标志、更多分段标识、分段偏移、生命期、协议、头部校验和、源地址、目的地址、选项
【计算题】5.35 分段方法
A类 0-7位-24位
B类 10-14位-16位
C类 110-21位-8位
D类 1110-28位 多播地址
保留 1111-
特殊地址
00000000000000000000000000000000 主机
00...00 主机号
本网络主机
11111111111111111111111111111111 本地广播
Network 111111111111111111111111 远程广播
127 **************************** 回环 发送数据给本地网络,且不会被输出到线路上
本地地址(NAT使用)
10.0.0.0 - 10.255.255.255/8
172.16.0.0 - 172.31.255.255/12
192.168.0.0 - 192.168.255.255/16
NAT
子网地址+原端口 <--> 本地端口号
映射,通常如果原端口号如无重复,则与本地端口号相同。
【计算题】5.41 IP聚集表项
IPv6
版本、流量类别、流标签、净荷长度、下一个头、跳数限制、源地址、目标地址
OSPF
分级路由
区域间的数据转发必须通过骨干区域。
算法强迫OSPF 在建立起一个星形配置结构,其中骨干区域是中心点(集线器),其他区域是向外的辐射点。
在一个区域内,所有路由器拥有同样的链路状态表,并运行同样的最短路径算法。
【问题】为何需要ARP?何时使用ARP?
目的:解析某个目的IP地址的MAC地址,以便将本地的IP分组合理地封装成数据帧
时机:当本地的缓存中没有目的IP对应的下一跳MAC地址时,向全LAN广播询问
【问题】一个数据包发送到远程网络中的过程,要考虑到MAC层
Chapter 6 传输层
传输层与数据链路层区别
时延变化、重发的定时器动态管理、最大2^16个会话同时传输,窗口大小动态调整
寻址、连接的建立和断开、子网缓存能力的处理、不同连接需要不同的处理
【问题】6.18 为什么要使用独立的端口号而不适用进程号来标示会话?
UDP适用情况
1.客户-服务器,如远过程调用,DNS(传输量较少)
2.实时传输协议(不需要重传)
RTP使用UDP,而不是用TCP
1.宁可丢包,不要延迟
2.服务器端不用维护连接状态,因此可支持更多的客户端
3.UDP头部小,带宽利用率高
4.支持多播
TCP拥塞控制
【计算题】带阀值的慢启动算法(接收方窗口、拥塞窗口、阀值),即取“发送方认为没有问题的窗口”与“接收方认为没有问题的窗口”中较小的那个窗口,阀值的作用是一旦超时,则记录阀值为超时窗口大小的一半,下次增长时,到达阀值后线性增长。
TCP定时器
【计算题】动态调整重传时间
RTT=
αRTT+(1-α)M
方差 D=αD+(1-α)|RTT-M|
Timeout = RTT + 4*D
Chapter 7 应用层
DNS - UDP
E-Mail ( SMTP, POP3 ) - TCP
WWW (HTTP) -TCP
Voice over IP - RTP - UDP
Simple Network Management Protocol - UDP 远程控制
Chapter 8 网络安全
Diffie Hellman协议
终于完成啦~~~
偶信春哥,祝俺明天考得好些吧~~
哦~今天网络考完了,实在太简单啦~亏我这么认真地复习,咳~