TCP

1、概述

    1.1  TCP(Transmission Control Protocol 传输控制协议)简介:

            a,面向连接、可靠的、基于字节流的  传输层  通信协议;

            b,数据传输时,应用层向TCP发送数据流,然后TCP将数据流分割成相应长度的报文段,TCP将结果包传输给IP层,由IP层通过网络将结果传输给目标的TCP层;

            c,TCP为了保证不丢失包,给每个包一个序号(sequence number),同时序号也保证了数据的按序处理,接收端对已收到的包做出相应处理(ACK确认),如果在合理的时间段内未确认,对应的数据包被认为已丢失,发送端会进行重新传送;

            d,TCP使用一个  校验和函数    来检验数据在传输过程中是否有误;

    1.2  TCP flags:

          URG:紧急指针标志      ACK:确认序号标志          PSH:push标志

          RST:重置连接标志      SYN:同步序号,用于建立连接过程   FIN:finish标志,用于释放连接 

    1.3  TCP的三次握手

          

                                              TCP的三次握手是为了建立连接 

                      第一次发送: 服务器处于Listen状态--->客户端发送SYN信号(建立连接)给服务器--->此时客户端处于SYN-SEND状态

                      第二次发送:服务器收到后回复SYN信号+ACK信号(确认)--->此时服务器处于SYN-RCVD状态

                      第三次发送:客户端收到信号后,发送ACK信号给服务器--->此时客户端、服务器端均处于ESTABLISHED状态,

                             双方进入全双工状态(通信双方可同时发送数据:计算机A可以给计算机B发送信息,发送的同时,计算机B也可以给计算机A发送信息);

                      容易出现的问题

                         aa,

                            bb,建立连接后,客户端出现故障

                              TCP提供  保活机制  ,在一段时间(保活时间)内,由配置好的发送端发送  保活探测报文,如果未收到则继续发送;

                                如果尝试次数达到约定的  次数,则视为  中断连接;  

    1.4  TCP的四次挥手

           

                                    TCP的四次挥手是为了关闭连接

 

                    第一次发送:服务器、客户端均处于ESTABLISH状态,客户端发送FIN信号给服务器,客户端状态变为FIN-WAIT-1

                    第二次发送:服务器接收到FIN信号后,发送ACK信号给客户端,服务器状态变为CLOSE-WAIT--->客户端收到服务的ACK信号后,状态变为FIN-WAIT-2

                    第三次发送:服务器再发送FIN+ACK信号给客户端,服务器端状态变为LAST-ACK

                    第四次发送:客户端收到服务器FIN+ACK信号后,发送ACK信号给服务器,状态变为TIME-WAIT,服务器收到客户端ACK信号后,状态变为CLOSED

   

posted on 2019-06-20 17:08  anpeiyong  阅读(115)  评论(0编辑  收藏  举报

导航