Java程序员TCP协议如何学习?学习有什么用?

发布者:上海IT外包来源:http://www.lanmon.net点击数:825

TCP协议目前是事实上的网络基础。许多更高级别的应用程序协议(HTTP和FTP)都基于TCP。
TCP协议的学习可以说是无聊的,特别是在学生阶段。我不知道在哪里使用它。我不知道重要性是什么。实际上,基于当前的网络开发和分布式开发,TCP只是基础的基础。许多网络问题,配置,入侵,防御甚至架构都涉及TCP特定的应用程序和机制。
以下是我对TCP学习过程的总结
1.了解学习TCP协议的重要性和必要性,并了解TCP协议的开发原因。
在这个问题下推荐答案:什么是TCP/IP协议?
https://www.zhihu.com/question/51074319
2.学习TCP协议和四个波形的三次握手,重点讨论为什么要握手三次,为什么要挥动四次,以及状态在整个过程中如何变化。 (经典状态图和握手手绘图)
一个。你为什么要三次握手?不是一次,两次或四次。让我们争辩说,如果只有一种情况,a会向b发起连接请求。如果没有收到b,则b不知道a已经发起了请求,并且a不知道接收到b,所以握手。这是不可靠的;如果两次握手,a向b发起连接请求,b接收来自a的请求以回复请求,假设a收到来自b的回复,a知道b已准备好,b我不知道a是否准备就绪。可能是a不接收来自b的请求,并且可能被接收,但是这些b是完全未知的,因此仅在一个方向上建立连接;如果是四方握手,实际上是第二次让a知道b准备好了,第三次让b知道a也准备好了,第四次是完全冗余的,会浪费网络资源。
湾你为什么要挥四次?不是三次?实际上,双方可以完全分开。两个波用于断开一侧,另外两个用于断开另一侧,整个连接关闭。这种设计的原因是,一侧的数据可能尚未传输且连接尚未关闭。由于TCP被设计为全双工协议,因此可以在任一侧的任一方向上发送数据。更多可以参考这里
https://wizardforcel.gitbooks.io/network-basic/content/8.html
3)。流量控制(滑动窗口)
一个。滑动窗口协议
滑动窗口主要用于同步通信过程中双方的速率。通过发送端的传输窗口和接收端的接收窗口确保传输的可靠性,并协调传输速度。
对于发件人,整个窗口分为以下四个段,一个发送并收到确认回复;第二个是发送但没有收到回复;第三个尚未发送但将被发送(接收方有空间,但发送方尚未发送;第四个未发送,但接收方没有空间。
类似地,对于接收器,整个窗口被分成三个段,一个已经被接收并且已经回复了ACK;第二个已经收到;第三个没有收到接收。
所谓的滑动是将窗口从接收到的最后连续ACK的位置移动到下一次接收到连续ACK。注意连续两个字。如果不连续,则不能将其视为已收到。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部