Lab2 介绍 在 Lab2,我们将实现一个 TCPReceiver,用以接收传入的 TCP Segment 并将其转换成用户可读的数据流。 TCPReceiver 除了将读入的数据写入至 ByteStream 中以外,它还需要告诉发送者两个属性: 第一个未组装的字节索引,称为确认号 ackno,它是接收者需要的第一个字节的索引。 第一个未组装的字…
由于写这个 Lab1 的笔记距离完成 Lab1 实验1 已经过去了很久,所以可能会比较简略 Lab1 介绍 在 Lab1 中,需要实现一个流重组器:将传入的没一份打乱的字节流重新组合形成原来的有序的字节流。即实现 StreamReassembler 类。 为什么要这样做? TCP 对处理乱序和重复包的健壮性来自于它能将字节流的任意摘录拼接回原始流的…