»¶ÓÄú·ÃÎÊÎÒ°®IT¼¼ÊõÍø£¬½ñÌìС±àΪÄã·ÖÏíµÄµçÄԽ̳ÌÊÇÍøÂçÐÒé·½ÃæµÄ¾Ñé֪ʶ½Ì³Ì£º¡¾´«Êä²ã¡¿´«Êä¿ØÖÆÐÒéTCP¸ÅÊöÖ®Ò»£¬ÏÂÃæÊÇÏêϸµÄ·ÖÏí£¡
¡¾´«Êä²ã¡¿´«Êä¿ØÖÆÐÒéTCP¸ÅÊöÖ®Ò»
¡¾´«Êä²ã¡¿´«Êä¿ØÖÆÐÒéTCP¸ÅÊöÖ®Ò»
Ò»£¬TCPµÄÖ÷ÒªÌØµã
1£©ÃæÏòÁ¬½Ó
2£©µã¶Ôµã
3£©¿É¿¿½»¸¶£¬ÎÞ²î´í¡¢²»¶ª°ü¡¢²»Öظ´¡¢°´Ðèµ½´ï
4£©È«Ë«¹¤Í¨ÐÅ£¬½ÓÊն˺ͷ¢ËͶ˶¼ÉèÓз¢ËÍ»º´æºÍ½ÓÊÜ»º´æ
5£©ÃæÏò×Ö½ÚÁ÷£ºTCP°ÑÓ¦ÓóÌÐò½»¸¶ÏÂÀ´µÄÊý¾Ý½ö½ö¿´³É ¡±Ò»Á¬´®Î޽ṹ×Ö½ÚÁ÷¡°£¬µ«TCP²»ÖªµÀ×Ö½ÚÁ÷º¬Òå¡£TCPÒ²²»±£Ö¤½ÓÊÕ·½ÊÕµ½µÄÊý¾Ý¿éºÍ·¢ËÍ·½Ó¦ÓóÌÐòËù·¢³öµÄÊý¾Ý¿é¾ßÓжÔÓ¦´óС¡£Ó¦ÓóÌÐòÓ¦¾ß±¸ÄÜÁ¦Ê¶±ðÊÕµ½µÄ×Ö½ÚÁ÷£¬°ÑËü»¹Ô³ÉÓÐÒâÒåµÄÊý¾Ý¡£
¶þ£¬Ï¸½Ú
1£©TCP¶ÔÓ¦ÓóÌÐòÒ»´Î°Ñ¶à³¤µÄ±¨ÎÄË͵½TCP»º´æÖÐÊDz»¹ØÐĵģ¬TCP¸ù¾Ý¶Ô·½¸ø³öµÄ´°¿ÚÖµºÍÍøÂçÓµÈû³Ì¶ÈÀ´¾ö¶¨Ò»¸ö±¨ÎĶÎÓ¦°üº¬¶àÉÙ×Ö½Ú¡£UDP·¢Ë͵ı¨Îij¤¶ÈÊÇÓ¦ÓóÌÐò¸ø³öµÄ¡£
2£©Ã¿Ò»ÌõTCPÁ´½Ó£¬±»Á½¸ö¶ËµãµÄÁ½¸öÌ×½Ó×ÖΨһµÄÈ·¶¨¡£
Èý£¬¿É¿¿´«ÊäµÄ¹¤×÷ÔÀí
ÀíÏëµÄ´«ÊäÌõ¼þ£º´«ÊäÐŵÀ²»²úÉú²î´í¡¢²»¹Ü·¢ËÍ·½ÒÔ¶à¿ìËÙ¶È´«Ê䣬½ÓÊÕ·½¶¼À´µÃ¼°³ö·
1£©Í£Ö¹µÈ´ýÐÒé
ÎÞ²î´íÇé¿ö£ºÃ¿´Î·¢ËÍÍêÒ»¸öÊý¾Ý£¬¾ÍµÈ´ýÈ·ÈÏ£¬ÊÕµ½È·ÈÏÔÙ·¢ËÍÏÂÒ»¸öÊý¾Ý¡£
³öÏÖ²î´í£º ³¬Ê±ÖØ´«£¨´óÓÚÒ»¸öÀ´»ØµÄʱ¼ä£©
A ·¢ËÍÍê·Ö×飬±£´æÒÑ·¢Ë͵ķÖ×éµÄ¸±±¾£¬ÊÕµ½È·ÈϺóÔÙ¶ªÆú¡£
B ·Ö×éºÍÈ·ÈÏ·Ö×é¶¼½øÐбàºÅ£¬ÕâÑù²ÅÄÜÖªµÀÄǸöÊÇÄĸöµÄÈ·ÈÏ
C ³¬Ê±ÖØ´«Ê±¼äÓ¦´óÓÚÒ»¸öÀ´»ØµÄʱ¼ä
È·È϶ªÊ§ºÍÈ·Èϳٵ½£º
A È·È϶ªÊ§¾Í³¬Ê±ÖØ´«£¬¶Ô·½Ã÷Ã÷·¢ËÍÈ·ÈÏ£¬µ«ÊÇ»¹ÊÕµ½Öظ´Êý¾Ý£¬Ôò¶ªÆúÖØ¸´Êý¾Ý£¬ÔÙ·¢È·ÈÏ¡£
B ÀàËÆÈ·È϶ªÊ§£¬Ö»ÊÇÔÚ·¢ËÍ·½ÔÙ´ÎÊÕµ½ ³ÙÀ´µÄÈ·ÈÏʱ£¬¶ªÆú²¢Ê²Ã´Ò²²»×ö¡£
2£©Á¬ÐøARQÐÒé £¨Automatic Repeat-ReQuest£©
·¢ËÍ·½£ºÃ¿ÊÕµ½Ò»¸ö·Ö×éµÄÈ·ÈÏ£¬°Ñ´°¿ÚÏòÇ°ÒÆ¶¯Ò»¸ö·Ö×éµÄλÖá£
½ÓÊÕ·½£º²ÉÓûýÀÛ·¢ËÍÈ·Èϵķ½Ê½£¬¶Ô°´Ðòµ½´ïµÄ×îºóÒ»¸ö·Ö×é·¢ËÍÈ·ÈÏ£¨²»±ÈËùÓж¼È·ÈÏ£©
ȱµã£º²»ÄÜÏò·¢ËÍ·½·´Ó³ ½ÓÊܵ½µÄËùÓзÖ×éµÄÐÅÏ¢¡£
Go-Back-N£º·¢ËÍÎå¸ö·Ö×飬µÚÈý¸ö¶ªÊ§ÁË¡£½ÓÊÕ·½Ö»ÄܶԵڶþ¸öÈ·ÈÏ£¬ÕâÑù·¢ËÍ·½£¬Ö»ÄÜÖØ´«ºóÈý¸ö·Ö×é¡£
ËÄ£¬TCP¿É¿¿´«ÊäµÄʵÏÖ
1£©ÒÔ×Ö½ÚΪµ¥Î»µÄ»¬¶¯´°¿Ú



2£©·¢ËÍ»º´æºÍ½ÓÊÕ»º´æ

·¢ËÍ»º´æÓë½ÓÊÕ»º´æµÄ×÷ÓÃ
(1) ·¢ËÍ»º´æÓÃÀ´ÔÝʱ´æ·Å£º
a) ·¢ËÍÓ¦ÓóÌÐò´«Ë͸ø·¢ËÍ·½ TCP×¼±¸·¢Ë͵ÄÊý¾Ý£»
b) TCP ÒÑ·¢Ëͳöµ«ÉÐδÊÕµ½È·ÈϵÄÊý¾Ý¡£
(2) ½ÓÊÕ»º´æÓÃÀ´ÔÝʱ´æ·Å£º
a)°´Ðòµ½´ïµÄ¡¢µ«ÉÐδ±»½ÓÊÕÓ¦ÓóÌÐò¶ÁÈ¡µÄÊý¾Ý£»
b)²»°´Ðòµ½´ïµÄÊý¾Ý¡£
3£© ×¢Òâ
(1) A µÄ·¢ËÍ´°¿Ú²¢²»×ÜÊÇºÍ B µÄ½ÓÊÕ´°¿ÚÒ»Ñù´ó£¨ÒòΪÓÐÒ»¶¨µÄʱ¼äÖͺ󣩡£
(2) TCP ±ê׼ûÓй涨¶Ô²»°´Ðòµ½´ïµÄÊý¾ÝÓ¦ÈçºÎ´¦Àí¡£Í¨³£ÊÇÏÈÁÙʱ´æ·ÅÔÚ½ÓÊÕ´°¿ÚÖУ¬µÈµ½×Ö½ÚÁ÷ÖÐËùȱÉÙµÄ×Ö½ÚÊÕµ½ºó£¬ÔÙ°´Ðò½»¸¶ÉϲãµÄÓ¦Óýø³Ì¡£
(3) TCP ÒªÇó½ÓÊÕ·½±ØÐëÓÐÀÛ»ýÈ·ÈϵŦÄÜ£¬ÕâÑù¿ÉÒÔ¼õС´«Ê俪Ïú¡£½ÓÊÕ·½¿ÉÒÔÔÚÓÐÏûÏ¢·¢ËÍʱ£¬Ë³±ã°ÑÈ·ÈÏÏûÏ¢´øÉÏ¡£µ«²»Äܹý·ÖÍÆ³ÙÈ·ÈÏ£¬ÒÔÃâÔì³ÉÖØ´«ÀË·Ñ¡£
4£© ³¬Ê±ÖØ´«Ê±¼äµÄÑ¡Ôñ
ÖØ´«»úÖÆÊÇ TCP ÖÐ×îÖØÒªºÍ×ÔÓµÄÎÊÌâÖ®Ò»¡£TCP ÿ·¢ËÍÒ»¸ö±¨ÎĶΣ¬¾Í¶ÔÕâ¸ö±¨ÎĶÎÉèÖÃÒ»´Î¼ÆÊ±Æ÷¡£Ö»Òª¼ÆÊ±Æ÷ÉèÖõÄÖØ´«Ê±¼äµ½µ«»¹Ã»ÓÐÊÕµ½È·ÈÏ£¬¾ÍÒªÖØ´«ÕâÒ»±¨ÎĶΡ£
1 Íù·µÊ±Ñӵķ½²îºÜ´ó
ÓÉÓÚ TCP µÄϲãÊÇÒ»¸ö»¥ÁªÍø»·¾³£¬IP Êý¾Ý±¨ËùÑ¡ÔñµÄ·Óɱ仯ºÜ´ó¡£Òò¶øÔËÊä²ãµÄÍù·µÊ±¼äµÄ·½²îÒ²ºÜ´ó¡£
2 ¼ÓȨƽ¾ùÍù·µÊ±¼ä
TCP ±£ÁôÁË RTT µÄÒ»¸ö¼ÓȨƽ¾ùÍù·µÊ±¼ä RTTS£¨ÕâÓÖ³ÆÎªÆ½»¬µÄÍù·µÊ±¼ä£©¡£
µÚÒ»´Î²âÁ¿µ½RTTÑù±¾Ê±£¬RTTS Öµ¾ÍȡΪËù²âÁ¿µ½µÄ RTTÑù±¾Öµ¡£ÒÔºóÿ²âÁ¿µ½Ò»¸öеÄRTT Ñù±¾£¬¾Í°´ÏÂÊ½ÖØÐ¼ÆËãÒ»´ÎRTTS£º
Ð嵀 RTTS=(1 - a) * (¾ÉµÄ RTTS) + a *(Ð嵀 RTT Ñù±¾)
ʽÖУ¬0<=a < 1¡£Èô a ºÜ½Ó½üÓÚÁ㣬±íʾ RTT Öµ¸üнÏÂý¡£ÈôÑ¡Ôñ a ½Ó½üÓÚ 1£¬Ôò±íʾ RTT Öµ¸üнϿ졣(RFC 2988 ÍÆ¼öµÄ a ֵΪ 1/8£¬¼´ 0.125)
3 ³¬Ê±ÖØ´«Ê±¼ä RTO (RetransmissionTime-Out)
(1) RTO Ó¦ÂÔ´óÓÚÉÏÃæµÃ³öµÄ¼ÓȨƽ¾ùÍù·µÊ±¼äRTTS ¡£
(2) RFC 2988 ½¨ÒéʹÓÃÏÂʽ¼ÆËã RTO£º
RTO=RTTS + 4 *RTTD
(3) RTTDÊÇ RTT µÄÆ«²îµÄ¼ÓȨƽ¾ùÖµ¡£
(4) RFC 2988 ½¨ÒéÕâÑù¼ÆËã RTTD¡£µÚÒ»´Î²âÁ¿Ê±£¬ RTTD ֵȡΪ²âÁ¿µ½µÄ RTT Ñù±¾ÖµµÄÒ»°ë¡£ÔÚÒÔºóµÄ²âÁ¿ÖУ¬ÔòʹÓÃÏÂʽ¼ÆËã¼ÓȨƽ¾ùµÄ RTTD£º
Ð嵀 RTTD=(1 - b) *(¾ÉµÄRTTD)+ b *|RTTS - Ð嵀 RTT Ñù±¾| ʽÖУ¬b ÊǸöСÓÚ 1 µÄϵÊý£¬ÆäÍÆ¼öÖµÊÇ 1/4£¬¼´ 0.25¡£
4 Íù·µÊ±¼äµÄ²âÁ¿
Íù·µÊ±¼äµÄ²âÁ¿Ï൱¸´ÔÓ
TCP ±¨ÎĶΠ1 ûÓÐÊÕµ½È·ÈÏ¡£ÖØ´«£¨¼´±¨ÎĶΠ2£©ºó£¬ÊÕµ½ÁËÈ·Èϱ¨ÎĶΠACK¡£µ«ÈçºÎÅж¨´ËÈ·Èϱ¨ÎĶÎÊǶÔÔÀ´µÄ±¨ÎĶΠ1 µÄÈ·ÈÏ£¬»¹ÊǶÔÖØ´«µÄ±¨ÎĶΠ2 µÄÈ·ÈÏ£¿
ÏÂÃæÕâЩËã·¨ÌṩÁËһϷ½·¨£º
Karn Ëã·¨
ÔÚ¼ÆËãÆ½¾ùÍù·µÊ±¼ä RTT ʱ£¬Ö»Òª±¨ÎĶÎÖØ´«ÁË£¬¾Í²»²ÉÓÃÆäÍù·µÊ±¼äÑù±¾¡£ÕâÑùµÃ³öµÄ¼ÓȨƽ¾ùƽ¾ùÍù·µÊ±¼ä RTTS ºÍ³¬Ê±ÖØ´«Ê±¼ä RTO ¾Í½Ï׼ȷ¡£
ÐÞÕýKarn Ëã·¨
±¨ÎĶÎÃ¿ÖØ´«Ò»´Î£¬¾Í°Ñ RTO Ôö´óһЩ£¬ÈçϹ«Ê½Ëùʾ£º Ð嵀 RTO=y*(¾ÉµÄ RTO) ʽÖУ¬ÏµÊýyµÄµäÐÍÖµÊÇ 2 ¡£
µ±²»ÔÙ·¢Éú±¨ÎĶεÄÖØ´«Ê±£¬²Å¸ù¾Ý±¨ÎĶεÄÍù·µÊ±ÑÓ¸üÐÂÆ½¾ùÍù·µÊ±ÑÓ RTT ºÍ³¬Ê±ÖØ´«Ê±¼ä RTO µÄÊýÖµ¡£Êµ¼ùÖ¤Ã÷£¬ÕâÖÖ²ßÂÔ½ÏΪºÏÀí¡£
5 Ñ¡ÔñÈ·ÈÏ SACK (Selective ACK)
µ±½ÓÊÕ·½ÊÕµ½Á˺ÍÇ°ÃæµÄ×Ö½ÚÁ÷²»Á¬ÐøµÄÁ½¸ö×Ö½Ú¿é¡£Èç¹ûÕâЩ×Ö½ÚµÄÐòºÅ¶¼ÔÚ½ÓÊÕ´°¿ÚÖ®ÄÚ£¬ÄÇô½ÓÊÕ·½¾ÍÏÈÊÕÏÂÕâЩÊý¾Ý£¬µ«Òª°ÑÕâЩÐÅϢ׼ȷµØ¸æËß·¢ËÍ·½£¬Ê¹·¢ËÍ·½²»ÒªÔÙÖØ¸´·¢ËÍÕâЩÒÑÊÕµ½µÄÊý¾Ý¡£
RFC 2018 µÄ¹æ¶¨
(1) Èç¹ûҪʹÓÃÑ¡ÔñÈ·ÈÏ£¬ÄÇôÔÚ½¨Á¢ TCP Á¬½Óʱ£¬¾ÍÒªÔÚ TCP Êײ¿µÄÑ¡ÏîÖмÓÉÏ¡°ÔÊÐí SACK¡±µÄÑ¡Ï¶øË«·½±ØÐë¶¼ÊÂÏÈÉ̶¨ºÃ¡£
(2) Èç¹ûʹÓÃÑ¡ÔñÈ·ÈÏ£¬ÄÇôÔÀ´Êײ¿Öеġ°È·ÈϺÅ×ֶΡ±µÄÓ÷¨ÈÔÈ»²»±ä¡£Ö»ÊÇÒÔºóÔÚ TCP ±¨ÎĶεÄÊײ¿Öж¼Ôö¼ÓÁË SACK Ñ¡ÏÒԱ㱨¸æÊÕµ½µÄ²»Á¬ÐøµÄ×Ö½Ú¿éµÄ±ß½ç¡£
(3) ÓÉÓÚÊײ¿Ñ¡ÏîµÄ³¤¶È×î¶àÖ»ÓÐ 40 ×Ö½Ú£¬¶øÖ¸Ã÷Ò»¸ö±ß½ç¾ÍÒªÓõô 4 ×Ö½Ú£¬Òò´ËÔÚÑ¡ÏîÖÐ×î¶àÖ»ÄÜÖ¸Ã÷ 4 ¸ö×Ö½Ú¿éµÄ±ß½çÐÅÏ¢¡£
ÒÔÉϾÍÊǹØÓÚ¡¾´«Êä²ã¡¿´«Êä¿ØÖÆÐÒéTCP¸ÅÊöÖ®Ò»µÄÍøÂçÐÒé֪ʶ·ÖÏí£¬¸ü¶àµçÄԽ̳ÌÇëÒÆ²½µ½>>µçÄԽ̡̳£
- ÆÀÂÛÁÐ±í£¨ÍøÓÑÆÀÂÛ½ö¹©ÍøÓѱí´ï¸öÈË¿´·¨£¬²¢²»±íÃ÷±¾Õ¾Í¬ÒâÆä¹Ûµã»ò֤ʵÆäÃèÊö£©
-
