Skip to content

wannan123/CS144

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Welecome to wannan's Study for CS144!

此次我们来学习Stanford的CS144,我在上学期学习完HIT的OS之后并完成相应的lab实验也是颇有感触,由于这学期我们学校学习Network,所以我们来会一会CS144,本次实验相当有意思,很感谢Stanford提供的机会,我们在最后一个lab将会搭建一个TCP/IP 的IM通讯系统,因为没有Stanford的同学所以无法实现文件传输功能,但是很好玩的,让我们来看看我们在本次实验需要干什么吧~

image-20230124214052262

由上图可以知道,Socket相当于一个传送门,你可以把它想象成哆啦A梦里的那个传送门,你从这里发送一条请求,在另一处就会就受到,理解上图,我们本次实验需要做StreamReassembler这个部分,相当于接收到网络传送来的无序的Segment,然后重新组装一下,发送给TCPReceive模块。

  1. 在实验室1中,您将实现一个流重组器-一个模块,它将字节流的小片段(称为子串或段)按照正确的顺序缝合回一个连续的字节流。

  2. 在实验室2中,您将实现TCP中处理入站字节流的部分:TCPReceiver。这需要考虑TCP将如何表示流中的每个字节的位置,称为“序列号”。TCPReceiver负责告诉发送方(a)它能够成功组装多少入站字节流(这称为“确认”)和(b)发送方现在可以发送多少字节(“流控制”)。

  3. 在实验室3中,您将实现TCP中处理出站字节流的部分:TCPSender。当发送方怀疑其传输的某个片段在传输过程中丢失,并且从未到达接收方时,该如何应对?它应该在何时重试并重新传输丢失的段?

  4. 在实验室4中,您将结合前面的工作创建一个工作的TCP实现:一个包含TCPSender和TCPReceiver的TCPConnection。您将使用此功能与世界各地的真实服务器进行对话。

本次实验还是很有意思的,它实现了一个完整的TCP/IP让我了解到底层的设计原理,另一方面在我对C++和git的学习也有所提升。

About

Study for cs144

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published