目录
多路复用/分用
“复用”:是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据(当然需要加上适当的首部)。
“分用”:是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。
为什么用多路复用/分用?
如果某层的一个协议对应直接上层的多个协议/实体则需要多路复用/分用。
UDP协议
基于IP协议增加:
复用/分用
简单错误校验
UDP无连接不可靠是因为基于的IP协议就不可靠
UDP存在价值为
无需建立连接(减少延迟)
实现简单,无需维护连接状态
头部开销少
没有拥塞控制:应用可更好地控制发送时间和速率
用途:
流媒体应用:
容忍丢失
速率敏感
DNS
SNMP
如何在UDP上实现可靠数据?
在应用层增加可靠性机制
应用特定地错误恢复机制
UDP校验和
发送方 接收方
将内容视为16-bit整数 计算所有收到的校验和
检验和计算:计算所有 将其与校验和字段进行对比
整数的和,进位加在和 不相等:检测出问题
的后面,将所得值按位 相等:未检测出问题(可能有问题)
求反,得到校验和发送
方将校验和放入校验字
段
注意:最高位进位要加一
例子
1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
最高位的1加到末位
sum 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1