Ê×Ò³ Ê«´Ê ×Öµä °å±¨ ¾ä×Ó ÃûÑÔ ÓÑ´ð ÀøÖ¾ ѧУ ÍøÕ¾µØÍ¼
µ±Ç°Î»ÖÃ: Ê×Ò³ > ½Ì³ÌƵµÀ > ²Ù×÷ϵͳ > UNIXLINUX >

UNIXѧϰ֮· Ò»²½Ò»¸ö½ÅÓ¡¶ùÖ®TCPÁ¬½ÓµÄ½¨Á¢ºÍÖÕÖ¹

2013-04-02 
UNIXѧϰ֮· Ò»²½Ò»¸ö½ÅÓ¡Ö®TCPÁ¬½ÓµÄ½¨Á¢ºÍÖÕÖ¹Èç¹ûÎÒÃǰÑTCPÁ¬½Ó¿´×öÊÇ´òµç»° ÄÇô socketº¯ÊýµÈͬÓÚÓÐ

UNIXѧϰ֮· Ò»²½Ò»¸ö½ÅÓ¡Ö®TCPÁ¬½ÓµÄ½¨Á¢ºÍÖÕÖ¹

UNIXѧϰ֮· Ò»²½Ò»¸ö½ÅÓ¡¶ùÖ®TCPÁ¬½ÓµÄ½¨Á¢ºÍÖÕÖ¹

Èç¹ûÎÒÃǰÑTCPÁ¬½Ó¿´×öÊÇ´òµç»° ÄÇô socketº¯ÊýµÈͬÓÚÓе绰¿ÉÒÔÓá£BindÓÃÓÚ¸æË߯äËûÈËÄãµÄµç»°ºÅÂ룬ÈÃËûÃÇ¿ÉÒÔÏòÄã´òµç»°¡£ListenÊÇ´ò¿ª´ò¿ªµç»°µÄÕñÁ壬ËüʹÄã¿ÉÒÔÌýµ½Ò»¸öÍâÀ´µç»°¡£ConnectÒªÇóÄãÖªµÀÁíÒ»·½µÄµç»°ºÅÂë²¢²¦´òËü¡£AcceptÊDZ»ºô½Ð»Øµç»°

½¨Á¢Ò»¸öTCPÁ¬½Ó ¹ý³ÌÖÁÉÙÐèÒªÈý¸ö½»»»Èý¸ö·Ö×飬Òò´Ë³ÆÖ®ÎªTCPµÄÈý·ÎÕÊÖ ÏÂÃæËµÏÂÏêϸ²½Ö裺

1.·þÎñÆ÷±ØÐë×¼±¸ºÃ½ÓÊÜÍâÀ´µÄÁ¬½Ó¡£Õâͨ¹ýµ÷ÓÃsocket£¬bindºÍlistenº¯ÊýÀ´Íê³É£¬³ÆÎª±»¶¯´ò¿ª£¨passive open£©¡£

2.¿Í»§Í¨¹ýµ÷ÓÃconnect½øÐÐÖ÷¶¯´ò¿ª£¨active open£©¡£ÕâÒýÆð¿Í»§TCP·¢ËÍÒ»¸öSYN·Ö½Ú£¨±íʾͬ²½£©£¬Ëü¸æËß·þÎñÆ÷¿Í»§½«ÔÚ£¨´ý½¨Á¢µÄ£©Á¬½ÓÖз¢Ë͵ÄÊý¾ÝµÄ³õʼÐòÁкš£Ò»°ãÇé¿öÏÂSYN·Ö½Ú²»Ð¯´øÊý¾Ý£¬ËüÖ»º¬ÓÐÒ»¸öIPÍ·²¿£¬Ò»¸öTCPÍ·²¿¼°¿ÉÄÜÓеÄTCPÑ¡ÏÏÂÃæ½éÉÜ£©¡£

3.·þÎñÆ÷±ØÐëÈ·ÈϿͻ§µÄSYN£¬Í¬Ê±×Ô¼ºÒ²µÃ·¢ËÍÒ»¸öSYN·Ö½Ú£¬Ëüº¬ÓзþÎñÆ÷½«ÔÚͬһÁ¬½ÓÖз¢Ë͵ÄÊý¾ÝµÄ³õʼÐòÁкš£·þÎñÆ÷ÒÔµ¥¸ö·Ö½ÚÏò¿Í»§·¢ËÍSYNºÍ¶Ô¿Í»§SYNµÄACK¡£

4.¿Í»§±ØÐëÈ·ÈÏ·þÎñÆ÷µÄSYN¡£

ÿһ¸öSYN¿ÉÒÔº¬ÓÐÈô¸É¸öTCPÑ¡Ïî Ò»°ã³£ÓõÄÓÐÏÂÃæ¼¸ÖÖ£º

MSSÑ¡ÏTCP·¢Ë͵ÄSYNÖдøÓÐÕâ¸öÑ¡ÏîÊÇ֪ͨ¶Ô·½ËüµÄ×î´ó·Ö½Ú´óСMSS£¨maximum segment size£©£¬¼´ËüÄܽÓÊܵÄÿ¸öTCP·Ö½ÚÖеÄ×î´óÊý¾ÝÁ¿£¨Ê¹ÓÃTCP_MAXSEGÌ×½Ó¿ÚÑ¡Ïî»ñÈ¡ÓëÉèÖÃÕâ¸öTCPÑ¡Ï¡£

´°¿Ú¹æÄ£Ñ¡ÏTCPË«·½Äܹ»Í¨Öª¶Ô·½µÄ×î´ó´°¿Ú´óСÊÇ65535£¬ÒòΪTCPÍ·²¿ÏàÓ¦µÄ×Ö¶ÎÖ»Õ¼16λ¡£

ʱ¼ä´ÁÑ¡ÏÕâ¸öÑ¡Ïî¶Ô¸ßËÙÁ¬½ÓÊDZØÒªµÄ£¬Ëü¿ÉÒÔ·Àֹʧ¶ø¸´µÃµÄ·Ö×é¿ÉÄÜÔì³ÉµÄÊý¾ÝËð»µ


UNIXѧϰ֮· Ò»²½Ò»¸ö½ÅÓ¡¶ùÖ®TCPÁ¬½ÓµÄ½¨Á¢ºÍÖÕÖ¹

TCPÓÃÈý¸ö·Ö½Ú½¨Á¢Ò»¸öÁ¬½Ó£¬ÖÕÖ¹Ò»¸öÁ¬½ÓÔò£¨Ò»°ã£©ÐèÒªËĸö·Ö½Ú¡£

ÒòΪÿ¸ö·½Ïò¶¼ÐèÒªÓÐÒ»¸öFINºÍÒ»¸öACK£¬ËùÒÔÒ»°ãÐèÒªËĸö·Ö½Ú¡£ÎÒÃÇʹÓÃÏÞ¶¨´Ê¡°Ò»°ã¡±ÊÇÒòΪÓÐʱºò²½Öè1µÄFIN»áËæÊý¾ÝÒ»Æð·¢ËÍ£»ÁíÍ⣬ִÐб»¶¯¹Ø±ÕÄÇÒ»¶ËµÄTCPÔÚ²½Öè2ºÍ3·¢³öµÄACKÓëFINÒ²¿ÉÒԺϲ¢³ÉÒ»¸ö·Ö½Ú

1.ij¸öÓ¦ÓóÌÐò½ø³ÌÊ×Ïȵ÷ÓÃclose£¬ÎÒÃdzÆÕâÒ»¶ËÖ´ÐÐÖ÷¶¯¹Ø±Õ£¨active close£©¡£ÕâÒ»¶ËµÄTCPÓÚÊÇ·¢ËÍÒ»¸öFIN·Ö½Ú£¬±íʾÊý¾Ý·¢ËÍÍê±Ï¡£

2.½ÓÊÕµ½FINµÄÁíÒ»¶ËÖ´Ðб»¶¯¹Ø±Õ£¨passive close£©¡£Õâ¸öFINÓÉTCPÈ·ÈÏ¡£ËüµÄ½ÓÊÕÒ²×÷ΪÎļþ½áÊø·û´«µÝ¸ø½ÓÊÕ·½Ó¦Óýø³Ì£¨·ÅÔÚÒÑÅŶӵȺò¸ÃÓ¦Óýø³Ì½ÓÊÕµÄÈÎºÎÆäËûÊý¾ÝÖ®ºó£©£¬ÒòΪFINµÄ½ÓÊÕÒâζ×ÅÓ¦Óýø³ÌÔÚÏàÓ¦Á¬½ÓÉÏÔÙÒ²½ÓÊÕ²»µ½¶îÍâÊý¾Ý¡£

3.Ò»¶Îʱ¼äºó£¬½ÓÊÕµ½Îļþ½áÊø·ûµÄÓ¦Óýø³Ì½«µ÷ÓÃclose¹Ø±ÕËüµÄÌ×½Ó¿Ú¡£Õâµ¼ÖÂËüµÄTCPÒ²·¢ËÍÒ»¸öFIN¡£

4.½ÓÊÕµ½Õâ¸öFINµÄÔ­·¢ËÍ·½TCP£¨¼´Ö´ÐÐÖ÷¶¯¹Ø±ÕµÄÄÇÒ»¶Ë£©¶ÔËü½øÐÐÈ·ÈÏ¡£


ÈȵãÅÅÐÐ