• TCP协议三次握手过程分析(改)


    TCP(Transmission Control Protocol) 传输控制协议

    TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:

    位码即tcp标志位,有6种标示:SYN(synchronous---同步的---建立联机) ACK(acknowledgement---确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)

    seq(Sequence number---随机序号) ack(Acknowledge number---确认序号)

      在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

    • 第一次握手:建立连接时,客户端A发送SYN包(syn=A,随机产生的seq=x)到服务器B,并进入SYN_SEND状态,等待服务器确认;
    • 第二次握手:服务器B收到SYN包(由syn=A,知道是客户A要求建立连接),然后发送ACK包(ack=A,ack number=x+1,),同时自己也发送一个SYN包(syn=B,随机产生的seq=y),即SYN+ACK包,此时服务器B进入SYN_RECV状态;
    • 第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包 ACK包(ack=B,ack number=y+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据. 

    实例: 

    IP 192.168.1.116.3337 > 192.168.1.123.7788: SYN  3626544836
    IP 192.168.1.123.7788 > 192.168.1.116.3337: ACK  3626544837 + SYN 1739326486
    IP 192.168.1.116.3337 > 192.168.1.123.7788: ACK  1739326487 

    第一次握手:192.168.1.116发送位码syn=A,随机产生seq number=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=A知道192.168.1.116要求建立联机; 

    第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ACK包(ack number=3626544837,ack=A),+SYN包(syn=B,随机产生seq=1739326486)包; 

    第三次握手:192.168.1.116收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为A。若正确,192.168.1.116会再发送ACK包(acknumber=1739326487,ack=B),192.168.1.123收到后确认seq=seq+1,ack=B则连接建立成功。 

  • 相关阅读:
    2018 桂林ccpc现场赛 总结
    2018 南京icpc现场赛总结
    nowcoder 203J Graph Coloring I(dfs)
    nowcoder 203A Knight(贪心+打表)
    nowcoder 202H-卡牌游戏
    nowcoder 202F-平衡二叉树
    topcoder srm 738 div1 FindThePerfectTriangle(枚举)
    codeforces 1041 E.Vasya and Good Sequences(暴力?)
    hdu 3507 Print Article(dp+斜率优化)
    hdu 1007 Quoit Design(分治)
  • 原文地址:https://www.cnblogs.com/skyl/p/3798757.html
Copyright © 2020-2023  润新知