本文排版和主要内容总结于《计算机网络自顶向下方法》,参考论文如下:
MANET 中TCP 改进研究综述
TCP协议的拥塞控制策略及改进
互联网端到端拥塞控制研究综述
LS路由算法与DV路由算法的比较
在王老师的严格要求下,计网学得还是认真的,也读了一些论文,最大遗憾就是期末考试太简单,我的分还不高。o(╥﹏╥)o
chapter1
使用存储转发的好处
-
提高可靠性。设置代码检验和数据重发设施,加之交换结点还具有路径选择,就可以做到某条传输路径发生故障时,重新选择另一条路径传输数据。
-
支持不同速度端口间的转换,保持高速端口和低速端口间协同工作。
-
提供多目标服务,即一个报文可以同时发送到多个目的地址
分组交换VS电路交换
电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而不并不需要的链路时间未被利用。
分组交换按需分配链路使用。链路传输能力将在所有需要在链路上传输分组的用户之间共享。
分组交换优势:
-
分组交换允许更多的用户使用网络(例,电路交换10个用户,分组交换30个用户,同时10个用户的概率很低)
-
电路交换更好的资源共享,利用率高,更简单。
- 无需预先建立一个连接
劣势:
分组存在延时和丢失
端到端设计的优越性
- 降低网络核心复杂度和实现成本,易于维护和升级。
- 在不修改网络架构的基础上实现应用的扩张。
- 网络核心架构简单,更可靠,且扩展性也好。
- 简化了终端用户和网络之间的接口。终端用户不依赖于网络的内部状态。
分层体系结构
- 具有结构化和概念化的优点。分层提供了一种结构化方式来讨论系统组件。模块化使更新系统组件更为容易。
-
使某层所提供的服务易于改变,只要改层对其上面的层提供相同的服务,并且使用来自下面层次的相同服务,当某层的实现变化时,该系统的其余部分保持不变。
-
改变服务的实现而不影响该系统其他组件,对于大而复杂且需要不断更新的系统来说。
- 缺点:一层可能冗余了脚底层的功能。
- 缺点:某一层的功能可能需要仅在其它层出现的信息,违反了层次分离的目标。
排队时延+传输时延:
I
L
R
(
1
−
I
)
+
L
R
=
L
/
R
1
−
I
\frac{IL}{R(1-I)}+\frac{L}{R}=\frac{L/R}{1-I}
R(1−I)IL+RL=1−IL/R
##协议分层
- 应用层:定义了交换报文的类型、语法、语义、发送和回应。端系统上的应用程序使用协议与另一个端系统的应用程序交换信息分组。
- 运输层:(logical communication between processes)为报文传递提供传输服务。
- 网络层:(logical communication between hosts)定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。
- 链路层:将分组从一个节点移动到路径上的下一个节点。
- 物理层:将帧中一个个比特从一个节点移动到下一个节点。
TDM比FDM有哪些优点
FDM需要复杂的模拟硬件来将信号转换到适当的频带
CHAPTER2
应用协议定义了什么:
- 交换报文的类型
- 各种报文类型的语法
- 字段的语义
- Rules for when and how processes send & respond to messages
P2P和C/S架构最小分发时间
CHAPTER3
UDP优缺点
优点:
- 无需连接建立
- 无连接状态
- 分组首部开销小
- 传输简单,无拥塞控制
缺点:
- 无连接
- 数据段易丢失
- 数据段到达可能无序
TCP总结
- 面向连接的
- 点对点的
- 可靠有序的传输
- 流量控制
- 拥塞控制
- 使用流水线
- 发送和接受缓存
- 全双工数据
TCP 为无结构但有序的字节流,序号建立在传送的字节流之上,而不是建立在报文段的序列之上。一个报文段的序号是该报文段首字节字节流的编号
TCP连接双方均可随机选择初始序号
- 这样做可以减少那些仍在网络中存在的来自两台主机之间先前已终止连接的报文段被误以为是后来这两台主机之间新建连接所产生的有效报文段的可能性。
- TCP初始化序列号不能设置为一个固定值,因为这样容易被攻击者猜出后续序列号,从而遭到攻击
拥塞控制原因和代价
- 吞吐量太大会导致排队时延
- 冗余分组+丢包
TCP拥塞控制指导原则
- 一个丢失的报文段意味着拥塞
- 一个确认报文段指示该网络正在向接收方交付发送方的报文段
- 带宽探测
manet中TCP拥塞控制
有线网络链路可靠性高,传统TCP认为丢包是由网络拥塞所导致的。在manet中,链路的高误码率和节点移动等会导致丢包,多路径路由和节点移动切换会导致乱序。TCP没有考虑非拥塞因素乱序和丢包。所以传统TCP应用于manet中,它会把非拥塞乱序和包丢失也当做是网络拥塞标志,从而错误进入拥塞控制,导致严重的性能问题。
manet中传统TCP不能区分分组丢失原因,触发不必要的拥塞控制。
针对manet网络中TCP改进中的问题发现和问题解决两个过程,从TCP层、IP层和链路层这三个层面来对两个过程中所有可能的解决空间进行了归纳,得出如下结论:
- 较低的协议层能够更为迅速地发现问题,这是层次化的协议结构使得层与层直接互相透明,这使得下层协议可以更为直接地发现影响因素,而上层协议只能间接地发现影响因素。如链路层可以直接判断链路发送路由中断,而路由协议和TCP层只能通过超时机制或启发式的方法来间接判断路由故障
- manet网络中TCP改进需要多个节点和多个层面的配合,如路由中断时,中间节点需要冻结途中分组,源节点需要冻结TCP状态。
网络层
转发与路由概念
forwarding: move packets from router’s input to appropriate router output
routing: determine route taken by packets from source to dest
##网络层服务模型
- 确保交付
- 具有时延上限的确保交付
- 有序分组交付
- 确保最小带宽
- 安全性
IP地址
可分为4种形式
[外链图片转存失败(img-jPI2JYWv-1562076279746)(pic/IP地址特殊约定.png)]
hostid全1的情况:
直接广播就是类似192.168.1.255/24这样的地址,直接广播地址是允许通过路由器的,当然不是所有的路由器,傻瓜式路由器是默认阻止直接广播的。
全1的情况
受限广播就是255.255.255.255 此地址可以在本网络内广播,路由器不允许通过它,所以“受限”。
全0的情况
受限广播可以用在计算机不知道自己IP地址的时候,比如向DHCP服务器索要地址时、PPPOE拨号时等.
例:DHCP服务,主机不知道自己IP地址,使用IP地址0.0.0.0作为源IP地址,255.255.255.255作为目的地址(即发送广播包)。向分配IP地址的服务器请求IP地址
netid全0的情况: 针对同一网络下,特定的主机发送包
直接广播、受限广播
一个主机在了解它自己的IP地址或本地网络的IP地址之前,可以把有限的广播地址作为启动程序的一部分。但是,一旦主机知道了本地网络正确的IP地址,它就应该使用定向广播
地址指定网络连接
连接n个网络的路由器有n个不同的IP地址,每一个地址对应于一个网络连接
虚电路和数据报网络
- 一个是面向连接,一个是面向无连接的
- 网络服务模型不同
- 传输路径
- 转发过程不同
数据报 |
虚电路 |
尽力而为的网络,没有严格时间限制 |
从电话进化过来的 |
流量控制、拥塞控制。底层简单、端复杂 |
严格的时间、可靠性要求。服务质量的保证 |
许多链路种类,难以统一服务 |
网络核心复杂 |
三种交换结构对比
经内存交换 |
经总线交换 |
经互联网交换 |
速度被内存的带宽限制 |
速度被总线速率限制 |
N输入N输出共2N条线路 |
一次只能一个通过,内存速度为B,经过两次读写操作,为B/2 |
一次只能一个通过 |
能并行转发多个 |
为什么网络层和运输层都执行差错检测
- IP层只对IP首部计算了校验和,而TCP/UDP检验和是对整个报文段进行的。
- TCP/UDP和IP不一定都必须属于同一个协议栈。
IP分片原因
发送方与目的地路径上的每段链路可能使用不同的链路层协议,且每种协议可能具有不同的MTU
offset = (MTU-20)/8,最后一个标志为0
IPv6引入的重要的变化有:
- 扩大的地址容量;IPv6将地址长度扩充到128比特。IPv6还引入了一种称为任播地址的新型地址,这种地址可以使数据报交付给一组主机中的任意一个
- 简化高效的40字节首部(定长);允许路由器更快的处理IP数据报
- 流标签;用于区分不同的流
IPv6相对于IPv4删除的字段:
- 分片/重新组装;IPv6不允许在中间路由器上进行分片与重新组装。分片与重新组装是一个耗时的操作,将该功能从路由器中删除可以加快IP转发速度
- 首部检验和;因特网的运输层和数据链路层都执行了检验操作,设计者可能觉得在网络层实现该功能实属多余,所以将其删除。再次强调,快速处理IP分组是关注的重点,由于IPv4中的TTL字段,所以在每台路由器上都需要重新计算IPv4首部检验和,这也是一项耗时的操作
- 选项;不再是标准IP首部的一部分,但并没有消失,而是可能出现在“下一个首部”字段中。删除它使得IP首部成为定长的40字节
LS算法缺点
拥塞敏感的路由选择的震荡
解决方法:
- 确保并非所有的路由器都同时运行LS算法。
- 让每台路由器发送链路通过的时间随机化
DV算法缺点
无穷计数问题:好消息传播快,坏消息传播慢
解决方法:毒性逆转
如果z通过y路由选择到目的地x,则z将通告y,它到x的距离是无穷大的。
但是没解决一般的无穷计数问题,节点涉及过多就无法解决。
LS算法与DV算法对比
-
报文复杂性,LS算法要求每个节点知道网络中每条链路的费用。这就要求要发送O(|N||E|)个报文。而且无论何时一条链路的费用改变,必须向所有节点发送新的链路费用。DV算法要求在每次迭代时,在两个直接相连邻居之间交换报文。当链路费用改变时,DV算法仅当在新的链路费用导致与该链路相连节点的最低费用路径发生改变时,才传播已改变的链路费用。
-
收敛速度,LS算法的实现是一个要求O(|N||E|)个报文的算法。DV算法收敛较慢。且在收敛时会遇到路由选择环路。DV算法还会遭遇无穷计数问题。
-
健壮性,LS算法下,路由计算在一定程度上是分离的,提供了一定的健壮性。而DV算法会将一个不正确的节点计算值扩散到整个网络。
自治系统内部路由选择
RIP
优点:简单、可靠,便于配置,障碍修复非常容易
缺点:
- 没有子网地址的概念,无法区分子网号
- 由度量忽略了吞吐率、往返时间、可靠性、实际距离、通信延迟、网络速度及带宽等一些应该考虑的因素或性能。
- 支持网络大小有限,只适用于小型网络。RIP最多支持的跳数为15
- 而且RIP每隔30秒一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
OSPF
优点:
- 安全。能够鉴别OSPF路由器之间的交换。使用鉴别,仅有受信任的路由器能参与到一个AS内的OSPF协议。
- 多条相同开销的链路,允许使用多条路径
- 对单播和多播路由选择的综合支持
- 支持在单个AS中的层次结构
为什么使用了不同类型的AS间和AS内协议?
- 策略,BGP承载了路径属性,有的AS不能通过另一AS
- 规模,AS间不在意规模,太大了就分
- 性能,BGP面向策略,所以不关心性能
链路层
链路层提供的服务
- 成帧
- 链路接入
- 可靠交付
- 差错检测和纠正
差错检测和纠正技术
奇偶校验
- 出现奇数个差错能检测到
- 二维奇偶校验,能纠正单比特差错,两个比特差错能检测不能纠正
检验和方法
TCP/UDP使用,但是校验和只用了16比特,它们提供了相对弱的差错保护。
循环冗余检测
每个CRC标准都能检测小于r+1比特的突发差错
为什么运输层使用校验和而链路层使用CRC呢
- 因为运输层是软件实现的,使用简单而快速的差错检测是重要的
- 链路层差错检测可以用专用的硬件实现,很快
多路访问协议
TDM
优点:消除碰撞且非常公平
缺点:
- 节点速率被限制在平均速率
- 节点必须总是等待它在传输序列中的轮次
CDMA
为每一个节点分配一种不同的编码,然后每一个节点用它唯一的编码来对它发送的数据进行编码。不同的节点能同时传输,且它们各自相应的接收方仍能正确接受发送方编码的数据比特,而不在乎其他节点的干扰传输
随机接入协议
时隙ALOHA
- 所以帧由L比特组成
- 时间被划分为长度L/R秒的时隙(即一个时隙传一个帧)
- 节点是同步的,每个节点都知道时隙何时开始
优点:
可以全速传输,高度分散,极为简单
缺点:
时隙碰撞浪费,时隙一部分是空闲的
CSMA/CD协议
电磁波在1km电缆的传播时延约为5us
-
强化碰撞,当发送数据的站一旦发现发生了碰撞时,除了立即停止发送数据外,还要再继续发送32比特或48比特的人为干扰信号,以便让所有用户都知道发生了碰撞。
- 以太网还规定了帧间最小间隔为9.6us,相当于96比特时间,这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。
该协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
以太网发展细节中采用哪些措施保证其带宽扩展
在100mbs的以太网中,采用的是保持最短帧长不变,但将一个网段的最大电缆长度减小到100m,帧时间间隔从原来的9.6us改为现在的0.96us。
吉比特以太网,仍保持一个网段最大长度为100m,但采用“载波延伸”技术,使得最小帧仍为64字节(保持兼容性),如果数据帧不超过512字节,则在FCS域后面添加“载波延伸”域。为了避免载波延伸延伸浪费,又使用了“分组突发”技术。当很多短帧要发送时,第一个短帧采用“载波延伸”方法进行填充,后面的一些短帧可以一个接一个发送,它们之间只要留必要的帧间最小间隔即可。这样就形成一串分组突发,直到达到1500字节或稍多一些为止。从而提高链路的利用率。
10吉比特网仍保持标准规定的以太网最小最大帧长,为了保持兼容。
由于数据率很高,吉比特以太网不再使用铜线而只使用光纤作为传输媒体。减小时间间隔。
以太网中共享、竞争机制带来的弊端
共享式以太网虽然具有搭建方法简单、实施成本低的优点。但是缺点也很明显:如果网络中用户较多时,碰撞的几率将会大大增大。
多路访问协议的两个理想状态
- 当只有一个节点活跃时,该活跃节点具有Rbps的吞吐量
- 当有M个节点活跃时,每个活跃节点有接近R/Mbps的吞吐量
ALOHA和CSMA具有1,轮流协议都具有
使用MAC地址原因
- 局域网是为任意网络层协议而设计的,使用MAC地址,可以保持兼容性
- 如果使用网络层地址不使用MAC地址的话,网络层地址必须存储在适配器中,每次适配器移动时要重新配置。或者只是单纯向上传的话,那系统开销要炸。
mac地址格式
MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址
以太网成功的原因
- 部署的早,网络管理员熟悉
- 简单、便宜
- 数据速率高
- 可扩展性强,可兼容异质的以太网链路(即不同速率的传输媒介接口)
交换机与路由器对比
交换机性质
- 消除碰撞
- 异质的链路,因此局域网中不同的链路能以不同的速度运行
- 管理
- 自学习、即插即用
交换机VS路由器
- 都是存储转发的设备
- 路由器维持一个路由表,使用路由算法
- 交换机维持一个交换表,使用过滤、自学习算法
- 即插即用
- 优化路由,路由器有,交换机无。网络寻址、分层次、生成树
- 广播风暴
传统对比VLAN
- 缺乏流量隔离
- 交换机的无效使用
- 管理用户
无线链路和移动网络
比特差错率、SNR、传输速率
- 对于给定的调制方案,SNR越高,BER越低
- 对于给定的SNR,具有较高比特传输率的调制技术将具有较高的BER
- 物理层调制技术的动态选择能用于适配对信道条件的调制技术
无线网络链路与有线网络链路区别
- 递减的信号强度
- 来自其他源的干扰
- 多径传输,电磁波受物体反射
无线网络与有线网络路由的不同点,拓扑结构的变化
无线网络为什么使用CSMA/CA而不是照搬CSMA/CD
- 检测碰撞能力要求高,要求具有同时发送和接受的能力,硬件代价大。
- 即使能做到,也会因为信号衰减和终端隐藏问题,而无法检测到碰撞
MAC协议
802.3对比,都是用载波监听。
区别:
- 802.11使用碰撞避免
- 802.11使用链路层ARQ方案
DIFS(分布式间隔帧)SIFS(短帧间间隔) RTS CTS ACK
使用RTS/CTS作用
提高性能:
- 隐藏终端问题被缓解
- 帧较短,涉及它两的碰撞时间短。一旦被正确传输,后面的DATA和ACK帧都应当能被无碰撞的传输
移动管理
间接路由
直接路由
对比
间接路由存在三角路由选择问题。直接路由克服了这个低效的问题,但却是以增加复杂性为代价。
移动IP