CS144实验后,动手学习TCP的体验如何?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2296个文字,预计阅读时间需要10分钟。
由于选择了jyy的操作系统的课程,因此免修了软院的计网。但为了不落下知识,我决定自学《自顶向下》并实践原理,同时在互联网上查找了一些实验,于是有了这篇博客。在Stanford CS学习。
因为选修了jyy的操作系统课所以免修了软院的计网,但为了不落下知识我决定用《自顶向下》自学,同时本着实践原则,还互联网上找了一些实验,于是就有了这篇博客。在Stanford CS144的课程实验Lab0~Lab4中,我们动手实现了一个自己的TCP协议,并且能够真的与互联网通信!此外,感谢Stanford开源本实验并提供了大量的优质测试用例,使得我们仅仅通过互联网就能获取到这么好的学习资源。
本篇博客将从我自己的角度出发简单介绍TCP协议,阐述实现的难点以及在实验过程中的收获。
什么是TCP?正式的定义以及计网相关的基础知识请读者自行stfw,在此我只简单地从自己角度阐述。
- 从网络协议抽象层来看,TCP是一个传输层协议,用于实现不同主机上进程与进程之间的通信。
- 从TCP提供的服务来看,TCP是可靠数据传输协议,保证将输入的数据保序、保真、不丢失地输出到指定位置。
- 从TCP的核心思想来看,TCP依托于底层不可靠的网络层协议来实现可靠传输,其中的很多设计具有深刻内涵。
作为对本课程实验设计者的尊重,本篇博客不会涉及具体的思路,更不会展示代码。我只想聊一聊主要方向。
在深入TCP细节之前,让我们来做一个简单的思维实验:双军问题
在一场攻城战中,己方的两位将军只能派遣信使穿越敌方领土来相互交流。信使可能被逮捕,但他们想要确定一个一起进攻的时间。请问两位将军采取什么策略才能确定一个100%两人都会进攻的时间呢?
将军\(A\)派遣信使传递消息\(M_1\),将军\(B\)收到后传递\(M_2\)回复。
本文共计2296个文字,预计阅读时间需要10分钟。
由于选择了jyy的操作系统的课程,因此免修了软院的计网。但为了不落下知识,我决定自学《自顶向下》并实践原理,同时在互联网上查找了一些实验,于是有了这篇博客。在Stanford CS学习。
因为选修了jyy的操作系统课所以免修了软院的计网,但为了不落下知识我决定用《自顶向下》自学,同时本着实践原则,还互联网上找了一些实验,于是就有了这篇博客。在Stanford CS144的课程实验Lab0~Lab4中,我们动手实现了一个自己的TCP协议,并且能够真的与互联网通信!此外,感谢Stanford开源本实验并提供了大量的优质测试用例,使得我们仅仅通过互联网就能获取到这么好的学习资源。
本篇博客将从我自己的角度出发简单介绍TCP协议,阐述实现的难点以及在实验过程中的收获。
什么是TCP?正式的定义以及计网相关的基础知识请读者自行stfw,在此我只简单地从自己角度阐述。
- 从网络协议抽象层来看,TCP是一个传输层协议,用于实现不同主机上进程与进程之间的通信。
- 从TCP提供的服务来看,TCP是可靠数据传输协议,保证将输入的数据保序、保真、不丢失地输出到指定位置。
- 从TCP的核心思想来看,TCP依托于底层不可靠的网络层协议来实现可靠传输,其中的很多设计具有深刻内涵。
作为对本课程实验设计者的尊重,本篇博客不会涉及具体的思路,更不会展示代码。我只想聊一聊主要方向。
在深入TCP细节之前,让我们来做一个简单的思维实验:双军问题
在一场攻城战中,己方的两位将军只能派遣信使穿越敌方领土来相互交流。信使可能被逮捕,但他们想要确定一个一起进攻的时间。请问两位将军采取什么策略才能确定一个100%两人都会进攻的时间呢?
将军\(A\)派遣信使传递消息\(M_1\),将军\(B\)收到后传递\(M_2\)回复。

