????TCP?????????????????????Э?飬???????????????????????????????????????:
????λ??tcp???λ????6????:
????SYN(synchronous????????)
????ACK(acknowledgement ???)
????PSH(push????)
????FIN(finish????)
????RST(reset????)
????URG(urgent???)
????Sequence number(??????)
????Acknowledge number(??????)
??????????????????A????λ???syn??1?????????seqnumber=1234567?????????????????????B??SYN=1?????A???????????
??????????????????B???????????????????????A????ack number=(????A??seq+1)??syn=1??ack=1?????????seq=7654321???
???????????????????A???????ack number??????????????η????seq number+1?????λ??ack????1?????????????A???????ack number=(????B??seq+1)??ack=1??????B????????seq???ack=1??????????????
????????????????????A??????B????????????
??????TCP/IPЭ???У?TCPЭ???????????????????????????????????????
?????????????????????????????????syn??(syn=j)????????????????SYN_SEND?????????????????
???????????????????????syn???????????????SYN??ack=j+1?????????????????SYN????syn=k??????SYN+ACK????????????? ????SYN_RECV????
???????????????????????????????SYN??ACK???????????????????ACK(ack=k+1)???????????????????????????? ESTABLISHED???????????????? ???????????????????????????????????.
???????:
????IP 192.168.1.116.3337 > 192.168.1.123.7788: S3626544836:3626544836
????IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack3626544837
????IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487??ack 1
??????????????192.168.1.116????λ??syn??1?????????seqnumber=3626544836?????????192.168.1.123??192.168.1.123??SYN=1???192.168.1.116?????????;
??????????????192.168.1.123???????????????????????192.168.1.116????acknumber=3626544837??syn=1??ack=1?????????seq=1739326486???;
?????? ?????????192.168.1.116???????ack number??????????????η????seq number+1?????λ??ack????1?????????192.168.1.116???????ack number=1739326487??ack=1??192.168.1.123????????seq=seq+1??ack=1??????????????
???????
?????????????????????1???2??


????????????????λ???3??
?????????????????λ?????????????λ?????????????(SYN)


????
???????3??

????????????????λ???4??
?????????????????λ?????????????λ?????λ????????????(SYN + ACK)


????
???????4??

?????????????????λ???5??
?????????????????λ?????????????λ???????????????(ACK)


????
???????5??

???????????????????????? ????---???---??????
??????η????
????????TCP????????????????????????????????й??????????????????????????????????????????FIN???????????????????????? FIN???ζ???????????????????????????TCP????????????FIN????????????????????й????????????????????????????б???????
??????1???????A???????FIN???????????A????????B???????????????4????
??????2????????B??????FIN???????????ACK??????????????????1???????5??????SYN????????FIN????????????
??????3????????B?????????A??????????????FIN???????A???????6????
??????4???????A????ACK??????????????????????????????1???????7????
????1?????????????Э???????????????????????????????????
?????????????????LISTEN???μ?SOCKET?????SYN????????????????????ACK??SYN??ACK????????????SYN????????????????????????????????????????????????????FIN???????????????????????????????????????δ???????е????????????????????????????????????SOCKET???????????????????Щ????????????????FIN?????????????????????????????????????????????ACK?????FIN???????????????????????
????2?????TIME_WAIT?????????2MSL?????????CLOSED????
????????????????????????????????????????4?????????Э???????????????????????CLOSED????????SYN_SEND????ESTABLISH????????????????????????????????????????????????????????ACK???????????????????????????LAST_ACK???μ?SOCKET???????????δ???ACK??????????FIN????????????TIME_WAIT?????????????????????????ACK?????