首页 > 技术文章 > 计算机网络第三章(多路复用 多路分解 UDP)

wwqdata 2020-05-15 21:38 原文

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和计算代价(位运算很快)代价较小

推荐阅读