TCP协议之三次握手四次挥手
TCP协议是可靠的传输:表现在2个方面 1.是保证数据包可以按照发送的顺序到达 2.另外一方面是保证数据包一定程度的正确性(后文详解为什么是一定程度上的正确性)。 其可靠性的实现则基于2点技术, 一点是具有一个CRC校验,这样如果数据包中的某些数据出现错误可以通过该校验和发现; 另外一点是每个数据包都有一个序号,这样就能保证数据包的顺序性,如果出现错位的数据包可以请求重发。 TCP协议是一个可靠的传输协议,其可靠性表现在2方面,一方面是保证数据包可以按照发送的顺序到达,另外一方面是保证数据包一定程度的正确性(后文详解为什么是一定程度上的正确性)。其可靠性的实现则基于2点技术,一点是具有一个CRC校验,这样如果数据包中的某些数据出现错误可以通过该校验和发现;另外一点是每个数据包都有一个序号,这样就能保证数据包的顺序性,如果出现错位的数据包可以请求重发。 既然说到了格式,那我们先看一下TCP数据包的数据格式。如下图是TCP数据包的格式,包括原端口、目的端口、序列号和标识位等等内容,内容有些多,看着可能有点眼花。但从大的方面理解,这个数据包其实只包含2部分内容,一个是包头,另外一个则是具体需要传输的数据。在TCP协议的控制逻辑中,包头起着最为关键的作用,它是TCP协议中诸如建立连接、断开连接、重传和错误校验等各种特性的基础。 图2 TCP数据包格式 包头的其它信息的含义都比较明了