提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
计算机网络相关基础知识、阅读论文和前沿知识的总结。
目的:为nudt高级计算机网络考试做准备。
一、RDT协议
RDT:可靠数据传输协议。所谓可靠数据传输,就是指发送方发送的数据与接收方接收到的数据完全相同,即要求数据不错误、不丢失、不重复、不乱序。为了实现数据的可靠传输,采用了很多机制,包括校验和、序号、定时器、ACK和NAK等,他们的用途包括:
rdt1.0:经完全可靠信道的可靠数据传输特点:
- 发送方与接收方都只有一个FSM(状态机)
- 考虑条件:底层信道完全可靠条件下,不会发生错误、丢包、发送方与接收方的FSM 独立。
- 在rdt1.0中,由于假定底层信道完全可靠,所以把数据交给它后,可以放心地返回初始状态,而不用接受任何反馈信息,因为数据一定会可靠地传输过去的。
rdt2.0:经具有比特差错信道的可靠数据传输——校验和、ACK/NAK
- 考虑条件:底层信道可能反转分组中的位(bit)。
- 解决方法:
①利用校验和检测位错误。
②接收方反馈:ACK:接收方显式告知发送方分组已正确接收;NAK:接收方显式告知发送方分组有错。
③重传。接收方收到有差错的分组时,发送方将重传该分组报文。
rdt2.1:考虑处理受损ACK/NAK——序号seq
- 解决方法:
①序号:在数据分组中添加序号字段,让发送方对其数据分组编号。
rdt2.2:使用无NAK消息机制——ACK消息中加入序号
无NAK消息协议:只需要在ACK消息中显示的加入被确认分组的序列号。在收到非期望分组或者收到的分组发生比特差错时,均对上次正确接收的分组反馈一个ACK。如,期望收到分组0,发来的是0且0没发生比特差错,则反馈ACK 0;期望收到分组1,发来的却是0,则无论0发没发生比特差错,均反馈ACK 0。
rdt3.0:经具有比特差错和丢包信道的可靠数据传输——倒计时定时器
- 考虑条件:除了比特受损外,底层信道还会丢包。
- 解决方法:加入了倒计数定时器,发送方等待合理的时间,若timeout还没收到ACK,则重传。
①每次发送一个分组时,启动一个定时器。
②响应定时器中断,采取合适的动作(如重传)。
③终止定时器。
流水线可靠数据传输协议:允许发送方发送多个分组而无须等待确认
解决流水线的差错恢复有两种基本方法是:回退N步和选择重传。
-
回退N步协议/滑动窗口协议(GBN):接收方丢弃所有失序的分组,若接收到的序号是n,上一次交付给上层的分组序号为n-1,则说明此次接收的分组是按讯接收的,则发送ACK给发送方并将分组交付给上一层。
-
选择重传(SR):让发送方重传那些它怀疑在接收方出错的分组而避免不必要的重传。接收方确认一个正确接收的分组而不管其是否按序。失序分组将被缓存指导所有丢失分组皆被收到为止,这时才可将一批分组按序交付给上一层。窗口长度必须小于或等于序号空间大小的一半。
二、拥塞控制方法
- TCP的拥塞控制算法:采用基于窗口的方法进行拥塞控制,该算法主要分为四个部分:满开始、拥塞避免、快重传、快恢复。
- AIMD:Additive Increase Multiplicative Decrease。在拥塞避免阶段,cwnd是按照线性规律增大的;当出现超时或3个重复确认ACK时,把ssthresh设置为 c w m d 2 \frac{cwmd}{2} 2cwmd,大大减小拥塞窗口的数值,二者合在一起就是所谓的AIMD 算法,即“加性增,乘性减”,或者“和式增加,积式减少”。
慢开始 (Slow start):cwnd[拥塞窗口]从1开始呈指数规律增大,每收到一个对新的报文段的确认后,把cwnd+1,没过一个RTT,发送速率就加倍。慢开始门限[ssthresh]->防止拥塞窗口cwnd 增长过大引起网络拥塞。
拥塞避免:当cwnd = ssthresh时,每经过一个往返时间RTT就把发送方的cwnd加 1,而不是加倍,使拥塞窗口cwnd按线性规律缓慢增长,即“加法增大” (Additive Increase) 。
快重传:要求接收方不要等自己发送数据时才进捎带确认,而是要立即发送确认ACK,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。
快恢复:当发送方收到连续三个重复确认ACK时,由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,而是执行快恢复算法。
三、CSMA/CD
CSMA/CD即载波侦听、多点接入、碰撞检测。这是一种在广播信道中(也就是总线型网络)一种典型的协调多个用户使用广播信道的协议。
载波侦听:说话之前先听。一个节点在发送数据前先侦听信道上有无节点在发送数据。若有,则需等待总线空闲再发送。
碰撞检测:边发送边检测。当侦听到有其它节点在传输干扰帧时,它就停止传输。
效率计算:
δ
=
0
\delta = 0
δ=0时,则最先发送数据的A站最多经过
2
ι
2\iota
2ι 时间就知道发生了碰撞,故争用期为
2
ι
2\iota
2ι,
ι
=
f
r
a
c
长
度
速
率
\iota =frac{长度}{速率}
ι=frac长度速率,即传播时延。
最短有效帧长=争用期×数据传输速率帧的
计算CSMA/CD的效率:【先算N->∞时,
f
(
p
)
=
1
e
f(p) = \frac{1}{e}
f(p)=e1,也就是每e次成功一次,故花费在冲突上的时间为
2
(
e
−
1
)
T
p
r
o
p
2(e-1)T_{prop}
2(e−1)Tprop】
总结
无 …