ºìÁªLinuxÃÅ»§
Linux°ïÖú

tpcÈý´ÎÎÕÊÖºÍËĴζϿªµÄ¹ý³Ì½²½â

·¢²¼Ê±¼ä:2014-08-20 20:59:55À´Ô´:ºìÁª×÷Õß:СС295813080
Âí¸çLinux½²½â£¬tpcÈý´ÎÎÕÊÖºÍËĴζϿªµÄ¹ý³Ì£¬ÃæÊÔ¹ý³ÌÖо­³£»á±»Îʵ½¡£Ï£Íû¶Ô´ó¼ÒÓÐËù°ïÖú¡£


TCPÊÇÖ÷»ú¶ÔÖ÷»ú²ãµÄ´«Êä¿ØÖÆЭÒ飬Ìṩ¿É¿¿µÄÁ¬½Ó·þÎñ£¬²ÉÓÃÈý´ÎÎÕÊÖÈ·ÈϽ¨Á¢Ò»¸öÁ¬½Ó:
λÂë¼´tcp±ê־λ,ÓÐ6ÖÖ±êʾ:
SYN(synchronousͬ²¿Î»)£¬tcpÎÕÊֵĵÚÒ»´Î
ACK(acknowledgement È·ÈÏλ),½¨Á¢Á¬½ÓʱÓõ½µÄ
PSH(push) ÍÆËÍλ,ÈôΪ1£¬´ú±íÒªÇó¶Ô·½Á¢¼´´«ËÍ»º³åÇøÄÚµÄÆäËû¶ÔÓ¦·â°ü£¬
FIN(finish½áÊø)
RST(resetÖØÖÃ)
URG(urgent½ô¼±)£¬Îª1±íʾ½ô¼±µÄ±¨ÎÄ·â°ü


Sequence numberÐòÁкÅ
Acknowledge numberÈ·ÈϺÅ


Èý´ÎÎÕÊÖ£º
µÚÒ»´ÎÎÕÊÖ£ºclient·¢ËÍλÂëΪsyn£½1,Ëæ»ú²úÉúseq number=1000µÄÊý¾Ý°üµ½·þÎñÆ÷£¬serverÓÉSYN=1ÖªµÀ£¬clientÒªÇó½¨Á¢Áª»úÇëÇó£¬
µÚ¶þ´ÎÎÕÊÖ£ºseverÊÕµ½ÇëÇóºóҪȷÈÏÁª»úÐÅÏ¢£¬Ïòclient·¢ËÍack number=(clientµÄseq+1),syn=1,ack=1,Ëæ»ú²úÉúseq=6777µÄÊý¾Ý°ü
µÚÈý´ÎÎÕÊÖ£ºclientÊÕµ½ºó¼ì²éack numberÊÇ·ñÕýÈ·£¬¼´µÚÒ»´Î·¢Ë͵Äseq number+1,ÒÔ¼°Î»ÂëackÊÇ·ñΪ1£¬
ÈôÕýÈ·£¬client»áÔÙ·¢ËÍack number=(serverµÄseq+1),ack=1(syn=0)£¬serverÊÕµ½ºóÈ·ÈÏseqÖµÓëack=1ÔòÁ¬½Ó½¨Á¢³É¹¦¡£
Íê³ÉÈý´ÎÎÕÊÖ£¬Ë«·½¿ªÊ¼´«ËÍÊý¾Ý¡£

ÔÚTCP/IPЭÒéÖУ¬TCPЭÒéÌṩ¿É¿¿µÄÁ¬½Ó·þÎñ£¬²ÉÓÃÈý´ÎÎÕÊÖ½¨Á¢Ò»¸öÁ¬½Ó£º

µÚÒ»´ÎÎÕÊÖ£ºµ±¿Í»§¶ËÒª½¨Á¢Á¬½Óʱ£¬Ê×ÏÈ·¢ËÍsyn=1£¬²¢Ëæ»ú²úÉúÒ»¸öÐòÁкŵı¨Îĵ½·þÎñÆ÷£¬²¢½øÈëSYN_SEND״̬£¬µÈ´ý·þÎñÆ÷È·ÈÏ£¬ Õâʱ·þÎñÆ÷ÊÇLISTEN״̬
µÚ¶þ´ÎÎÕÊÖ£º·þÎñÆ÷ÊÕµ½±¨ÎÄÇëÇó£¬ÓÉSYN=1ÖªµÀ¿Í»§¶ËÒª½¨Á¢Á´½ÓÇëÇó£¬Ïò¿Í»§¶Ë·¢ËÍack number(¿Í»§¶ËÐòÁкÅ+1)£¬ack=1£¬syn=1£¬Í¬Ê±×Ô¼ºÒ²·¢ËÍÒ»¸öSYN°ü£¨syn=k£©£¬
¼´SYN+ACK°ü£¬´Ëʱ·þÎñÆ÷½øÈëSYN_RECV״̬£¬
µÚÈý´ÎÎÕÊÖ£º¿Í»§¶ËÊÕµ½·þÎñÆ÷µÄSYN£«ACK°ü£¬Ïò·þÎñÆ÷·¢ËÍÈ·ÈÏ°üACK(·þÎñÆ÷µÄÐòÁкÅ+1)£¬ack=1£¬serverÊÕµ½ºóÈ·ÈÏseqÖµÓëack=1£¬¿Í»§¶ËºÍ·þÎñÆ÷½øÈë ESTABLISHED״̬£¬Íê³ÉÈý´ÎÎÕÊÖ¡£
Íê³ÉÈý´ÎÎÕÊÖ£¬¿Í»§¶ËÓë·þÎñÆ÷¿ªÊ¼´«ËÍÊý¾Ý.


Ò»¸öÍêÕûµÄÈý´ÎÎÕÊÖÒ²¾ÍÊÇÇëÇó---Ó¦´ð---ÔÙ´ÎÈ·ÈÏ

ËĴζϿª£º
file:///C:/Users/ADMINI~1/AppData/Local/Temp/Wiz/edeefdb9-b623-414f-8636-d5f33984d8eb_4_files/a136a60725f6498ae69c5d7d567ddb48.png
ÓÉÓÚTCPÁ¬½ÓÊÇÈ«Ë«¹¤µÄ£¬Òò´Ëÿ¸ö·½Ïò¶¼±ØÐëµ¥¶À½øÐйرա£
Õâ¸öÔ­ÔòÊǵ±Ò»·½Íê³ÉËüµÄÊý¾Ý·¢ËÍÈÎÎñºó¾ÍÄÜ·¢ËÍÒ»¸öFINÀ´ÖÕÖ¹Õâ¸ö·½ÏòµÄÁ¬½Ó¡£
ÊÕµ½Ò»¸ö FINÖ»Òâζ×ÅÕâÒ»·½ÏòÉÏûÓÐÊý¾ÝÁ÷¶¯£¬Ò»¸öTCPÁ¬½ÓÔÚÊÕµ½Ò»¸öFINºóÈÔÄÜ·¢ËÍÊý¾Ý¡£
Ê×ÏȽøÐйرյÄÒ»·½ÊÇÖ÷¶¯¶Ï¿ª·½£¬¶øÁíÒ»·½ÊDZ»¶¯¶Ï¿ª·½¡£

ËĴζϿª¹ý³Ì£º

1¡¢¿Í»§¶Ë·¢ËÍÒ»¸öFIN£¬ÓÃÀ´¹Ø±Õ¿Í»§¶Ëµ½·þÎñÆ÷µÄÊý¾Ý´«ËÍ£¬´Ëʱ¿Í»§¶Ë½øÈëTIME_WAIT1״̬
2¡¢·þÎñÆ÷ÊÕµ½Õâ¸öFIN£¬Ëü·¢»ØÒ»¸öACK£¬È·ÈϺÅΪÊÕµ½µÄÐòºÅ¼Ó1£¬ºÍSYNÒ»Ñù£¬Ò»¸öFIN½«Õ¼ÓÃÒ»¸öÐòºÅ£¬´Ëʱ·þÎñÆ÷½øÈëCLOSE_WAIT״̬£¬¿Í»§¶Ë¶Ë½øÈëTIME_WAIT2
3¡¢µ±·þÎñÆ÷¶ËҲûÓÐÒª´«Ë͵ÄÊý¾Ýʱ£¬·þÎñÆ÷¹Ø±ÕÓë¿Í»§¶ËµÄÁ¬½Ó£¬·¢ËÍÒ»¸öFIN¸ø¿Í»§¶ËA£¬·þÎñÆ÷½øÈëLAST_ACK
4¡¢¿Í»§¶Ë·¢»ØACK±¨ÎÄÈ·ÈÏ£¬²¢½«È·ÈϺÅÉèÖÃΪÊÕµ½ÐòºÅ¼Ó1,¿Í»§¶Ë½øÈëTIME_WAIT£¬µÈ´ý2MSL--120s£¬·þÎñÆ÷¶Ë½Óºó½øÈëCLOSED
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 5 ÌõÆÀÂÛ

  1. ÔÂÊÇÒ¹µÄÃ÷ ÓÚ 2015-10-14 21:59:35·¢±í:

    лл·ÖÏí

  2. ÔÂÊÇÒ¹µÄÃ÷ ÓÚ 2015-10-14 21:59:18·¢±í:

    ½²µÄºÜ×Ðϸ

  3. zekairecv ÓÚ 2015-10-04 01:22:42·¢±í:

    ѧϰÁË

  4. seekdrm ÓÚ 2014-09-27 17:41:09·¢±í:

    ¿´¹ý¿´µã

  5. oepmng ÓÚ 2014-08-21 08:48:48·¢±í:

    ѧϰһÏÂ