![](https://img-blog.csdnimg.cn/20210621163624186.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机网络_cs144
文章平均质量分 83
手写 TCP
-Bin
这个作者很懒,什么都没留下…
展开
-
CS144_lab0
文章目录lab0 networking warmup1 搭建环境References2 小实验2.1Fetch a Web Page2.2 Send yourself an email2.3 Listening and connecting3 Writing a network program using an OS stream socket3.1 Let’s get started—fetching and building the starter code3.2 Modern C++: mostly原创 2021-06-21 16:40:46 · 595 阅读 · 0 评论 -
CS144_lab1
lab1实验内容先看图,IPv4的数据报通过IP层后,提取出TCP报文段,交付给TCP层,数据segment交给TCPReceiver,ack确认信息交给TCPSender。发送也是一样的,TCPSender 发送的 segment + TCPReceiver 发送的接收窗口大小组成TCP报文段,交付给网络层形成IPv4数据报,发送出去。而 lab1 要我们实现的就是TCPReceiver中的 StreamReassembler部分:TCPReceiver接收端收到的是一个个的TCP数据段(se原创 2021-06-14 10:56:58 · 685 阅读 · 1 评论 -
CS144_lab2
lab2在lab0中,我们实现了一个流量控制字节流(ByteStream) 的抽象,在lab1中,我们实现了 StreamReassembler,接受从相同字节流中摘录的子字符串序列,并将它们重新组装回原始流。这些模块将在TCP实现中被证明是有用的,但其中没有什么是特定于传输控制协议的细节的。现在改变了。在lab2中你将会实验 TCPReceiver,这是TCP实现中处理传入字节流的部分。TCPReceiver 在传入的TCP段(Internet上传送的数据报的有效负载)和传入的字节流之间进行转换。T原创 2021-06-21 16:38:21 · 885 阅读 · 1 评论 -
CS144_lab3
文章目录lab3fill_windows( )ack_received()tick( )代码实现tcp_sender.hhtcp_sender.cclab3lab3 要我们做的事情是什么呢?细读文档(至少也得读它个三遍),就是要我们实现 TCPSender,其实也就给了四个接口void fill_windows( )void ack_received( const WrappingInt32 ackno, const uint16_t windows_size )void tick( const原创 2021-07-04 23:26:02 · 1108 阅读 · 0 评论 -
CS144_lab4
lab4(未完,待续)文章目录lab4(未完,待续)tcp_connection.hhtcp_connection.cc啊,做到lab4,我真的已经快被掏空了,脑子都是一片混乱的,lab的文档有些都看不懂,难度确实太大了(对我来说最后只能借鉴大佬们的思路了,就摁抄但还是有些测试用例没通过,不知道是前几个lab的问题还是哪里出错了,哎,累了,过几天有兴趣再搞,pass 掉先tcp_connection.hh//! record the time_since_last_segment_receive原创 2021-07-04 23:26:42 · 766 阅读 · 7 评论