CS144的实验就是要实现一个用户态TCP协议,对于提升C++的水平以及更加深入学习计算机网络还是有很大帮助的。 第一个Lab是环境配置和热身,环境按照文档里的配置就行了,前面两个小实验就是按照步骤来的,就不细讲了。 Writing webget 这一个实验是要用他封装好的socket库写 ...
Lab 分别是完成一个流重组器,TCP接收端,TCP发送端,TCP连接四个部分,将四个部分组合在一起就是一个完整的TCP端了。之后经过包装就可以进行TCP的接收和发送了。 代码全部在github上了。 Lab 流重组器 这一个实验是要实现一个流重组器,传入数据的片段以及起始位置,之后对其进行重组,并尽快将以及重组完成的数据输出。 这里我使用的是红黑树来实现,也就是C 的std::set来实现。将未 ...
2021-02-16 11:12 1 511 推荐指数:
CS144的实验就是要实现一个用户态TCP协议,对于提升C++的水平以及更加深入学习计算机网络还是有很大帮助的。 第一个Lab是环境配置和热身,环境按照文档里的配置就行了,前面两个小实验就是按照步骤来的,就不细讲了。 Writing webget 这一个实验是要用他封装好的socket库写 ...
在Stanford CS144的课程实验Lab0~Lab4中,我们动手实现了一个自己的TCP协议,并且能够真的与互联网通信!此外,感谢Stanford开源本实验并提供了大量的优质测试用例,使得我们仅仅通过互联网就能获取到这么好的学习资源。 本篇博客将从我自己的角度出发简单介绍TCP协议,阐述实现 ...
概述 在实验 0 中,您使用 Internet 流套接字从网站获取信息并发送电子邮件,使用 Linux 的传输控制的内置实现协议 (TCP)。这个 TCP 实现设法产生了一对可靠的有序字节流(一个从你到服务器,一个在相反的方向),即使底层网络只提供“尽力而为”的数据报。我们的意思 ...
本文为我的斯坦福计算机网络课的编程实验(Lab Assignments)的学习总结。课程全称:CS 144: Introduction to Computer Networking。 事情发生于我读了半本《计算机网络:自顶向下方法》后,想要找点练手的东西,碰巧在知乎上看到了这个推荐帖:CS144 ...
CS144lab笔记 此笔记为本人学习CS144课程实验的笔记 由于时间比较仓促,过年家里事情也比较多,所以展示先只附上代码,后期我会抽时间进行完善,争取打造成一个通俗易懂的笔记 实验代码参考了了下面几位博主的笔记 知乎-热心小冯 康宇 peilei ...
在计算机领域,数据的本质无非0和1,创造0和1的固然伟大,但真正百花齐放的还是基于0和1之上的各种层次之间的组合(数据结构)所带给我们人类各种各样的可能性。例如TCP协议,我们的生活无不无时无刻的站在TCP协议这个“巨人”的肩膀上,最简单的一个打开手机的动作。所以对TCP的认识和理解,可谓越来越 ...
计算机网路学得不好,首先先放个OSI七层网络模型吧 在协议的控制下,上层对下层进行调用,下层对上层进行服务, 上下层间用交换原语交换信息。这样可以提高传输速率,并且保证数据安全,所以说其实每一层都有存在的必要 但是现在互联网上大家都有TCP/IP协议,可以说是某种黑话,他封装了前三层 ...
工作上用Lora,需要开发相关模块,分享一下学习的内容: Lora: 博主是做IT的,对Lora不了解。简单理解为LPWAN(Low Power Wide Area Network)中一种技术,目前主要是中兴在推广;国内主要对手是NB-IOT,华为在推广。 CLAA: 中国LoRa ...