CS144-计算机网络原理
文章平均质量分 91
一个基于RFC793的简易实用TCP套接字的实现
心向远方147
这个作者很懒,什么都没留下…
展开
-
lab前言简介(必读)
文件说明apps # 应用层函数CMakeLists.txt # 构建脚本doctests # 内置函数测试脚本libsponge # 应用层函数tests # lab测试脚本build # 构建文件compile_commands.json # 编译命令etc # 配置文件README.md # 使用文档writeups # lab0-4的文档极详细文档使用说明创建build文件夹自动生成makefilecmake ..构建make运行可执行文件。原创 2023-04-07 19:33:12 · 167 阅读 · 0 评论 -
Lab0 networking warmup
在完成实验前,你最好阅读完所有的文档在接下来的八个实验中,你将要实现互联网中几个重要的部分:路由器、网络接口,TCP协议在接下来的四周里,你将实现TCP去提供不同主机之间的可靠字节流。这里的实验不是唯一的,当你发现实验过程中有歧义时,也可以有自己的实现。原创 2023-04-07 19:19:07 · 131 阅读 · 0 评论 -
Lab4 the TCP Connection
在lab0中,我们实现了字节流的抽象ByteStream在lab1,lab2,lab3中,我们实现了TCP发送端和接收端在lab4中,你将会实现一个叫做TCPConnection的一个重要的模块,将TCP发送端和接收端结合在一起处理连接问题,用来解决和其他计算机的通信问题。原创 2023-04-07 19:20:45 · 130 阅读 · 0 评论 -
Lab3 the TCP sender
在lab0中,我我们实现了ByteStream这个类似于socket的抽象在lab1中,我们实现了字节重组器,将乱序、重复、丢失的字符串重组成一个字节流。在lab2中,我们将把到来的数据报转换成可靠的字节流。在lab3中,我们实现了整个TCP接收端,用于接收数据,返回ackno()和窗口大小。原创 2023-04-07 19:22:25 · 111 阅读 · 0 评论 -
Lab 2 the TCP receiver
在lab0中,我我们实现了ByteStream这个类似于socket的抽象在lab1中,我们实现了字节重组器,将乱序、重复、丢失的字符串重组成一个字节流。在lab2中,我们将把到来的数据报转换成可靠的字节流。数据报从网络层过来,调用segment_received方法调用StreamReassembler重组字节流,将重组好的字符串写到ByteStream中最后应用层从ByteStream读取数据。原创 2023-04-07 19:19:05 · 65 阅读 · 0 评论 -
Lab1 stitching substrings into a byte stream
在lab0中,我们用了socket接口获取网页和发送邮件信息,基于linux内置的TCP协议。同样我们实现了ByteStream这个类似于socket的抽象在接下来的四周里,你将实现TCP去提供不同主机之间的可靠字节流。向ByteStream写入数据TCPSender在合适时机将数据发出收到ack时,将改变发送窗口的大小添加seqno、SYN、payload、FIN、端口号等得到数据报将数据报加上ip头部发送到网络层。原创 2023-04-07 19:20:53 · 129 阅读 · 0 评论