项目相关知识点TCP计算机网络

理解TCP/IP协议三次握手四次挥手

2017-06-25  本文已影响153人  FifiZhuang

之前学了计算机网络,但半年后就忘的差不多了,感觉TCP/IP协议的这个知识点很重要,整理一篇文章来巩固一下。文章分为TCP的概念,TCP/UDP区别总结,三次握手四次挥手的过程,为什么要这么做的原因等四大部分来讲解。

一 、 TCP协议的概念

TCP(transmission control protocal,传输控制协议),是面向连接的并具备顺序控制、重发控制等机制的。所以它可以为应用提供可靠传输。工作在网络OSI的七层模型的第四层——传输层。ip在第三层——网络层。我们要知道数据从应用层发下来,会在每一层加上响应的头部信息,进行封装然后再发送到数据的接收端。每一层的作用和对应的协议如下:


接下来介绍TCP协议的数据格式和头部格式每个字段的含义:


二、 TCP/UDP区别总结

TCP(Transmission Control Protocol)
UDP(User Datagram Protocol)


三 、 三次握手四次挥手的过程

TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。

完成了三次握手,客户端和服务器端就可以开始传送数据。


当客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,要断开TCP连接.对于TCP的断开连接,这里就有了神秘的“四次分手”。


四、 相关问题

为了防止已失效的连接请求报文段突然又传送到了服务器端,因而产生错误。

就是防止服务器端的一直等待而浪费了资源。

其一,保证发送的ACK会成功发送到对方,如何保证?我觉得可能是通过超时计时器发送。这个就很难用代码演示了。

其二,报文可能会被混淆,意思是说,其他时候的连接可能会被当作本次的连接。直接引用《The TCP/IP Guide》的说法:The second is to provide a “buffering period” between the end of this connection and any subsequent ones. If not for this period, it is possible that packets from different connections could be mixed, creating confusion.

参考文献

http://blog.csdn.net/yipiankongbai/article/details/24435977
http://www.jellythink.com/archives/705
http://www.zhihu.com/question/20292749
谢希仁《计算机网络》《图解tcp/ip》《tcp/ip详解》

上一篇 下一篇

猜你喜欢

热点阅读