计算机网络第三章(多路复用 多路分解 UDP)
3.1
IP 尽力而为交付服务 不可靠服务
每个主机有一个IP地址
将主机间交付扩展到进程间交付 运输层的多路复用和多路分解
TCP提供可靠的数据传输
拥塞控制(拥塞:需求大于供给 如果网络中许多资源同时供应不足,网络的性能就要明显变坏 整个网络的吞吐量随负荷增大而降低
TCP使用多种拥塞控制策略来避免雪崩式拥塞。TCP会为每条连接维护一个“拥塞窗口”来限制可能在端对端间传输的未确认分组总数量。
源和目的主机间一条或多条链路极度堵塞时,抑制发送方)
(补充:流量控制 保证发送者接收者速率匹配)
3.2 多路复用和多路分解
每个运输层的报文段中设置了几个字段,包括源端口号和目的端口号等。
多路分解:接收端,运输层检查字段并标示出它的接收套接字,并该报文定向到对应的套接字(网络和进程间传递数据的门户)
工作方式:主机每个套接字被分配一个端口号,当报文到达主机时,运输层检查报文段中的目的端口号,并将其定向到相应的套接字。
多路复用:从不同套接字收集数据块,并为每个数据块封装上头部,从而产生报文段并将报文段发到网络层。
UDP套接字 目的IP地址和目的端口号
返回地址为源IP地址和源端口号
TCP套接字
源IP地址、源端口号、目的IP地址和目的端口号
不同源IP地址或源端口号定向到不同套接字(不同与UDP定向到相同)
3.3 UDP
举例DNS使用UDP
不希望过分的延时,且能容忍一些数据的丢失,通常采用UDP
UDP 无须建立连接(时延短),无连接状态,分组首部开销小(UDP 8byte TCP 20 byte)
3.3.2 UDP检验和
提供差错检测功能
将原始数据每16位分割,所有16位相加得到16位(加法有溢出要被回卷) 然后取反码
真实数据算出的sum+报文收集的checksum=16个1 表示数据未被修改
否则数据已被修改
checksum和计算代价(位运算很快)代价较小