首页 > 技术文章 > 【计算机网络】第三章 传输层(2)

zhangyushuqing 2018-10-16 08:55 原文

三.UDP协议

1. UDP:用户数据报协议

1)基于Internet IP协议增加了复用/分用功能和简单的错误校验

2)提供“尽力而为”的服务:没有数据恢复,可能丢失、非按序到达

3)无连接:不需要握手,每个UDP段的处理独立于其他段

2. UDP存在的价值

1)不需连接 -> 减少延迟

2)实现简单 -> 无需维护连接状态,头部开销少

3)没有拥塞控制 -> 应用可更好地控制发送时间和速率

3. UDP的应用:流媒体应用、DNSSNMP

4. UDP实现可靠数据传输

1)在应用层增加可靠性机制

2)应用特定的错误回复机制

5. UDP校验和checksum:监测UDP在传输中是否发生错误

 

1)发送方:将段的内容视为16-bit整数,计算所有整数的和,进位加在后面,得到的值按位求反,得到校验和,放入校验和字段

2)接收方:计算所收到段的校验和,将其与校验和字段进行对比,不相等则有错误,相等则没有检测出错误

3)示例:

 

 

四.可靠数据传输原理

1. 可靠数据传输协议

1)信道的不可靠特性决定了可靠数据传输协议的复杂性

2)提供服务:向应用层提供可靠信道,向传输层提供正确交互

 

(3)基本结构:接口

 

(4)渐进地设计可靠数据传输协议的发送方和接收方

(5)只考虑单向数据流动,但控制信息双向流动

(6)利用状态机(FSM)刻画传输协议

 

2. Rdt 1.0:可靠信道上的可靠数据传输

(1)底层信道完全可靠:不会发生错误,不会丢弃分组

(2)发送方和接收方的FSM独立

 

3. Rdt 2.0:产生位错误的信道

(1)利用校验和检测底层信道位错误

(2)从错误中恢复

  ·确认机制(ACK):接收方显式地告诉发送方分组已正确接收

  ·NAK:接收方显式地告诉发送方分组有错误,发送方收到后重传分组

(3)基于该重传机制的Rdt协议称为ARQ

(4)引入的新机制:差错检测、接收方反馈控制消息ACK/NAK、重传

(5)FSM规约

 

(6)缺陷

  ·ACK/NAK消息被破坏

  ·重传时产生重复分组

4. Rdt 2.1

(1)改进Rdt 2.0

  ·为ACK/NAK增加校验和,检错纠错

  ·添加额外的控制消息告诉发送方错在何处

  ·发送方给每个分组增加序列号,接收方丢弃重复分组

(2)接收方FSM

 

5. Rdt 2.2:无NAK消息协议

(1)ACK消息中显式地加入被确认分组地序列号

(2)告知发送方最后一个正确接收的分组

6. Rdt 3.0:增加定时器

(1)如果信道既可能发生错误,也可能丢失分组,则等待合理时间后重传

(2)ACK并未丢失,只是延迟,则接收方丢弃重复分组即可

 

(3)时延过短,可能产生早熟

(4)性能分析:正确工作,性能较差

 

推荐阅读