计算机网络课程笔记——传输层上

  1. 每个套接字有唯一的标识符, 标识符的格式取决于UDP还是TCP套接字. 对于UDP, 标识符格式=目的ip+目的port; 对于TCP, 标识符=源ip+源port+目的ip+目的port

  1. UDP校验和

校验和计算包括三个部分:Pseudo head, UDP head, 应用层数据

伪首部包含源IP和目的IP

伪首部是为了增加校验和的检错能力:通过伪首部的目的IP地址来检查TCP报文是否发错地方了、通过伪首部的传输层协议号来检查传输层协议是否选对了。

众所周知,IP首部的校验和会校验IP,那么为何在tcp校验和还需要校验IP呢?因为数据包经过中间器件(路由器)的时候,这些中间器件可能会修改IP首部的内容,例如同时修改目的IP和IP首部校验和。这样一来将导致错误的接收方接收到该数据包。因此在TCP的伪首部加上IP地址,可以防止错收报文。

生成checksum时, checksum字段也参与计算, 值为二进制0.

  1. TCP、UDP、IP校验和的异同:

TCP和UDP检验和是一个端到端的检验和,由发送端计算,然后由接收端验证。

TCP和UDP检验和覆盖首部和数据,而IP首部中的检验和只覆盖IP的首部,不覆盖IP数据报中的任何数据。

TCP的检验和是必需的,而UDP的检验和是可选的。

TCP和UDP计算检验和时,都要加上一个12字节的伪首部。

  1. 复用和分解

因为一个实体被多个实体/协议复用. 在其他层协议中, 也会出现复用/分用. 通常是在头部添加一个协议号的字段. 从而根据协议号确定交付给上层的哪个协议.

  1. 哪些因素影响滑动窗口大小的确定? 发送窗口和接受窗口大小必须相同吗?

缓存大小,TCP流量控制(根据rwnd字段调整发送窗口大小),TCP拥塞控制(当ACK快速到达时,快速增加窗口大小;当ACK缓慢到达时,缓慢增加窗口大小;当ACK未到达时(超时或3次冗余ACK,三次冗余代表四个ACK(一个初始三个冗余)),减小窗口大小)。

未必相同

  1. 滑动窗口协议滑动窗口大小与序号字段比特位数有什么关系?

  • 发送窗口永远不能领先接受窗口

  • 发送窗口一旦与接收窗口错开,就要等待接受窗口赶上

  • 发送窗口长于接受窗口没有意义(通过以上两点可知)

  1. 发送窗口大小+ 接收窗口大小 <= 2^k(在任意时刻,发送窗口接收窗口所占用的序号不能有重复,否则发生如黑书(计算机网络——自顶向下方法)P150所说的情况)

  1. 如何避免序号重复?

  1. 扩大序号空间

  1. 减小窗口大小

对于GBN协议, 接收窗口大小为1, 则发送窗口大小 <= 2^k - 1

对于发送窗口和接收窗口大小相等的SR协议, 则发送窗口大小 <= 2^(k-1)

对于停等协议, 发送窗口接受窗口大小为1, 所以序号比特位一位就够了.

  1. 如何计算滑动窗口信道利用率?

  1. Ws * tSeg / ( tSeg + RTT + tACK) (W为滑动窗口大小 t为传输时间)

你可能感兴趣的:(计算机网络,udp,网络)