1.Sliding Window
full-duplex·Î Åë½ÅÇÏ´Â µÎ ÁÖü¿¡´Â °¢°¢ ¼Û/¼ö½Å ¹öÆÛ°¡ Á¸ÀçÇÑ´Ù. ¼ö½ÅÃø¿¡ n°³ÀÇ ÇÁ·¹ÀÓÀ» ¼ö¿ëÇÒ ¼ö
ÀÖ´Â ¹öÆÛ°¡ Á¸ÀçÇÒ°æ¿ì ¼Û½ÅÃøÀº ACK¸¦ ±â´Ù¸®Áö ¾Ê°í, n°³ÀÇ ÇÁ·¹ÀÓÀ» Àü¼ÛÇÔÀ¸·Î¼ ºÒÇÊ¿äÇÑ ACK
´ë±â½Ã°£À» ÁÙÀÏ ¼ö ÀÖ´Ù. Âü°í·Î ¼Û/¼ö½ÅÃøÀº È帧Á¦¾î¸¦ À§ÇØ ¼¼ °³ÀÇ Æ÷ÀÎÆ®¸¦ À¯ÁöÇϴµ¥ °¢°¢Àº
¼Û½ÅÇÏ°í ¼ö½ÅÈ®ÀÎÀ» ¹ÞÀº ÇÁ·¹ÀÓÀÇ Æ÷ÀÎÆ®, ¼Û½ÅÇÏ°í ¾ÆÁ÷ ¼ö½ÅÈ®ÀÎÀ» ¹ÞÁö¾ÊÀº ÇÁ·¹ÀÓÀÇ Æ÷ÀÎÆ® ±×¸®°í
¾ÆÁ÷ ¼Û½ÅÇÏÁö ¾ÊÀº ÇÁ·¹ÀÓÀÇ Æ÷ÀÎÆ®°¡ ÀÖ´Ù.
2.Acknowledgement delay
Àϸí 'piggy-backed' ¶ó ÇÏ¿© µÅÁö ²¿¸®Ã³·³ ¿©·¯°³ÀÇ Ç÷¡±×°¡ ÇϳªÀÇ ¼¼±×¸ÕÆ®¿¡ 'Æí½Â'ÇÑ´Ù´Â ¶æÀÌ´Ù.
À̰ÍÀº ÀÌ¹Ì 4.2BSD¿¡ Æ÷ÇԵǾîÀÖ´ø ¿À·¡µÈ À¯¿ëÇÑ ±â¹ýÀÌ´Ù. ÀϹÝÀûÀ¸·Î ¸ñÀûÁö TCP´Â ¼¼±×¸ÕÆ®¸¦ ¼ö½ÅÇÑ
ÀÌÈÄ ÀÀ´ä ¼¼±×¸ÕÆ®¸¦ Áï½Ã Àü¼ÛÇϴµ¥ ÀÌ ÀÀ´ä ¼¼±×¸ÕÆ®´Â À©µµ¿ìÀÇ Å©±â¸¦ ÁÙÀÌ°í ¼ö½ÅÇÑ µ¥ÀÌŸ¿¡ ´ëÇÑ
¾ï³î¸®Áö¸ÕÆ®¸¦ ´ã´çÇÑ´Ù. ¼ö½Å ÇÁ·Î¼¼½º¿¡ ÀÇÇØ µ¥ÀÌŸ°¡ ÇÁ·Î¼¼½º·Î º¹»çµÈ ÈÄ ½Ã½ºÅÛÀÇ µ¥ÀÌŸ ¹öÆÛ´Â
Àç»ç¿ëÀ» À§ÇØ ¹Ý³³µÇ¸ç À©µµ¿ìÀÇ Å©±â¸¦ Áõ°¡½Ã۱â À§ÇÑ ¼¼±×¸ÕÆ®°¡ Àü¼ÛµÈ´Ù. ÇÁ·Î±×·¥ÀÌ µ¥ÀÌŸ¸¦
ó¸®ÇÏ°í ³ª¸é ´ëºÎºÐ Àá½ÃÈÄ ÀÀ´ä(¼ö½ÅÃø¿¡¼ º¸³¾ data)ÀÌ µÚµû¸¥´Ù. µû¶ó¼ ÇϳªÀÇ Æ®·£Àè¼Ç
(transaction)Àº ¼¼°³ÀÇ ¼¼±×¸ÕÆ®°¡ ÇÊ¿äÇÏ´Ù.
TELNET¿¡¼ ó·³ ¸¹Àº °æ¿ì¿¡ ÀÖ¾î ¾ï³î¸®Áö¸ÕÆ® ¼¼±×¸ÕÆ®¸¦ 10ºÐÀÇ 2ÃÊÁ¤µµ Áö¿¬ÇÏ´Â °ÍÀÌ À¯ÀÍÇÏ´Ù´Â
°ÍÀÌ ¾Ë·ÁÁ®¿Ô´Ù. ÀÌ ÂªÀº ½Ã°£ÈÄ¿¡ 3°³ÀÇ ¸ðµç Á¤º¸(À©µµ¿ì Å©±â, ¾ï³î¸®Áö¸ÕÆ®, ÀÀ´ä)°¡ ÇϳªÀÇ
¼¼±×¸ÕÆ®¿¡ ´ã°ÜÁ® Àü¼ÛµÉ ¼ö ÀÖ´Ù. ³ôÀº ó¸®À²À» ¿ä±¸ÇÏ´Â µ¥ÀÌŸ Àü¼ÛÀÇ ¼Óµµ¸¦ ´ÊÃßÁö ¾Ê±â À§Çؼ
À©µµÀ§ÀÇ Å©±â°¡ ÃÖ¼Ò 35%¶Ç´Â 2°³ÀÇ ÃÖ´ë ¼¼±×¸ÕÆ® ÀÌ»ó º¯ÈÇÏ´Â °æ¿ì ÀÌ·¯ÇÑ Áö¿¬Àº »ý·«ÇÒ ¼ö ÀÖ´Ù.
3.Silly window syndrome avoidance
¾î¶² »óȲ¿¡¼´Â Àü¼ÛµÇ´Â ¼ö½Å À©µµ¿ìÀÇ Ç׸ñÀÌ ³Ê¹« À۾Ƽ ³×Æ®¿öÅ©¿Í ÄÄÇ»ÅͰ¡ ¸¹Àº ¼öÀÇ ¾ï³î¸®Áö¸ÕÆ®¿¡
ÀÇÇØ °úºÎÇÏ »óŰ¡ µÉ ¼ö ÀÖ´Ù. À̰ÍÀ» ¹æÁöÇϱâ À§ÇØ ¼ö½ÅÃøÀº À©µµ¿ìÀÇ Å©±â°¡ one-full-sized segment·Î
Áõ°¡ÇÒ ¶§³ª ÃÖ¼ÒÇÑ ¼¼±×¸ÕÆ®°¡ ¼ö½Å ¹öÆÛÀÇ 1/2·Î Áõ°¡ ÇÒ ¶§ Àü¼ÛÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ ¼Û½ÅÃøµµ one-full-sized
segment¸¦ Àü¼ÛÇÒ ¼ö ÀÖÀ» ¶§, ¼ö½ÅÃø¿¡ ÀÇÇØ Å뺸µÈ maximum sized windowÀÇ 1/2 ÀÌ»óÀ» Àü¼ÛÇÒ ¼ö ÀÖÀ» ¶§,
¸ðµç µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖ°í ACK¸¦ ±â´ëÇÏÁö ¾ÊÀ» ¶§, Nagle algorithmÀÌ enable µÇ¾î ÀÖ´Â »óŰ¡ ¾Æ´Ò ¶§
µ¥ÀÌÅ͸¦ Àü¼ÛÇØ¾ß ÇÑ´Ù.
4.Nagle algorithm or samll packet avoidance
°³¹ßÀÚÀÎ John NagleÀÇ À̸§À» µý ÀÌ ¾Ë°í¸®ÁòÀº ÀÛÀº Å©±âÀÇ TCP ¼¼±×¸ÕÆ®ÀÇ Àü¼ÛÀ» ¹æÁöÇϵµ·Ï ½ÃµµÇÑ´Ù.
À̰æ¿ì, ÀÀ¿ë ÇÁ·Î±×·¥À¸·ÎºÎÅÍ ÀÛÀº Å©±âÀÇ ´ÜÀ§·Î TCP¿¡ µ¥ÀÌŸ°¡ Àü´ÞµÉ ¶§ ¾î¶»°Ô ±× ÇüÅ´ë·Î Àü¼ÛµÇ´Â
°ÍÀ» ¸·À» °ÍÀΰ¡°¡ ¹®Á¦ÀÌ´Ù. ù ¼¼±×¸ÕÆ®´Â Áï½Ã Àü¼ÛµÇ¸ç ±× ´ÙÀ½ÀÇ µ¥ÀÌŸ´Â ÃÖ´ë Å©±âÀÇ ¼¼±×¸ÕÆ®¸¦
Àü¼ÛÇÒ ¼ö ÀÖ°Ô µÇ°Å³ª ù ¼¼±×¸ÕÆ®¿¡ ´ëÇÑ ¾ï³î¸®Áö¸ÕÆ®°¡ µµÂøÇÒ ¶§ ±îÁö ¹öÆÛ¿¡ ÀúÀåµÇ¾îÁø´Ù. ÀÌ·¯ÇÑ
¾Ë°í¸®ÁòÀº ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ¸¹Àº ¼öÀÇ ÀÛÀº Å©±âÀÇ ¸Þ¼¼Áö¸¦ (¿¹¸¦ µé¾î X À©µµ¿ì ½Ã½ºÅÛ) ÀÀ´äÀÇ ¼ö½Å°ú
»ó°ü¾øÀÌ Àü¼ÛÇÏ´Â °æ¿ì ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ÀÌ·± °æ¿ì¿¡´Â ¿¬°á ÀÇÁ¸ÀûÀÎ ¹æ¹ý¿¡ ÀÇÇØ Nagle ¾Ë°í¸®ÁòÀ»
ºñȰ¼ºÈ½Ãų ¼ö ÀÖ´Ù. ÀÀ¿ë ÇÁ·Î±×·¥Àº socket ÀÎÅÍÆäÀ̽ºÀÇ TCP-NODELAY ¿É¼ÇÀ» ÀÌ¿ëÇÏ¿© ºñȰ¼ºÈ½ÃŲ´Ù.
(setsockopt() ¼ÒÄÏ ÇÔ¼öÀÇ TCP_NODELAY ¿É¼ÇÀ¸·Î ¼³Á¤)
5.Slow start with congestion avoidance
¶§¶§·Î Jacobson ¾Ë°í¸®ÁòÀ̶ó°íµµ ºÒ¸®´Â, ÀÌ¿Í ¿¬°üµÈ ¾Ë°í¸®ÁòµéÀº ÃÖ±Ù¿¡ µé¾î¼¾ß ¾Ë·ÁÁö°Ô µÇ¾ú°í
ÁÖ·Î ³·Àº ¼ÓµµÀÇ ³×Æ®¿öÅ©¿Í °ÔÀÌÆ®¿þÀ̸¦ °¡Áø ³×Æ®¿öÅ©ÀÇ ±â´É¿¡ ¸Å¿ì Áõ¿äÇÑ ¿ªÇÒÀ» ÇÑ´Ù.
ÃÖ±Ù ¸î³â µ¿¾È ºÎÇϰ¡ Áõ°¡ÇÔ¿¡ µû¶ó ÀÎÅͳÝÀº Á¡Á¡ ´õ ³·Àº 󸮷®À²À» ³ªÅ¸³»°Ô µÇ¾ú°í ´Ù¼Ò °íÀåÀÌ
Áõ°¡ÇÏ°Ô µÇ¾úÀ½À» ¹ß°ßÇÏ¿´´Ù. ó¸® °úÁ¤µéÀ» Á» ´õ ÀÚ¼¼È÷ »ìÆì º¸¸é, ³×Æ®¿öÅ©»óÀÇ ÆÐŶÀÇ ¹Ý ÀÌ»óÀÌ
ºÐ½ÇµÈ TCP ¼¼±×¸ÕÆ®¿¡ ´ëÇÑ ÀçÀü¼Û ÆÐŶÀÓÀÌ ¸íÈ®ÇÏ°Ô µé¾î³µ´Ù. ³×Æ®¿öÅ© »óÀÇ °æ·Î(¿©±â¼ ¸»ÇÏ´Â °æ·Î´Â
¼Û½ÅÀÚÀÇ µ¥ÀÌŸ ¹öÆÛ·ÎºÎÅÍ, °¡´ÉÇÑ °ÔÀÌÆ®¿þÀÌµé ±×¸®°í ¸ñÀúÁö±îÁö¸¦ ¸»ÇÔ)´Â ´ÜÁö À¯ÇÑÇÑ ¾çÀÇ µ¥ÀÌŸ¸¦
Àü¼ÛÇÒ ¼ö ÀÖ´Ù. °ÔÀÌÆ®¿þÀ̳ª È£½ºÆ®°¡ °úºÎÇÏ»óÅÂÀÏ ¶§, ¼¼±×¸ÕÆ®¸¦ ³Ö¾îµÑ ÃæºÐÇÑ ¹öÆÛ °ø°£ÀÌ ¾øÀ» ¼ö
µµ ÀÖ´Ù. ÀÌ·± °æ¿ì, °ÔÀÌÆ®¿þÀÌ¿¡ ÀÇÇØ ¼¼±×¸ÕÆ®´Â ¹«½ÃµÇ°í, ÆÐŶÀÇ ¼Û½ÅÀÚ´Â RTO¸¸Å Áö¿¬µÈ ÈÄ ÀçÀü¼ÛÀ»
°áÁ¤ÇÒ °ÍÀÌ´Ù. ±×·¯¸é °á°úÀûÀ¸·Î Àüü ³×Æ®¿öÅ©ÀÇ ºÎÇÏ´Â ´Ù½Ã ºÒÇÊ¿äÇÏ°Ô Áõ°¡ÇϰԵǴ °ÍÀÌ´Ù.
slow-start ¾Ë°í¸®ÁòÀº ÁÖ¾îÁø ½Ã°£µ¿¾È ¾ó¸¶³ª ¸¹Àº µ¥ÀÌŸ°¡ ºÐ½Ç¾øÀÌ ¸ñÀûÁö±îÁö Àü¼ÛµÇ´Â°¡¸¦ ÃøÁ¤Çϵµ·Ï
½ÃµµÇÑ´Ù. À̰ÍÀº ÃøÁ¤Àº ÀçÀü¼Û ¾øÀÌ µ¿ÀÏÇÑ µ¥ÀÌŸÀÇ È帧À» °¡Áö´Â ½ÃÁ¡±îÁö Àü¼ÛÇÏ´Â µ¥ÀÌŸÀÇ ÁýÇÕÀÇ
Å©±â¸¦ Á¡Â÷ Áõ°¡½ÃÅ´À¸·Î½á ÀÌ·ç¾îÁø´Ù. ¾Õ¿¡¼ Àü¼ÛµÉ µ¥ÀÌŸÀÇ ÁýÇÕ¿¡ ÀÇÇØ Å©±â°¡ ÃøÁ¤µÇ¾úµíÀÌ, ¼ÒÀ§
¹ÐÁý À©µµ¿ì(congestion window)¶ó ºÒ¸®´Â ³×Æ®¿öÅ© °æ·Î»óÀÇ ÀúÀå ¿ë·®µµ ÃøÁ¤´ë»óÀÌ´Ù. Congestion window´Â
Ç×»ó ¼ö½Å À©µµ¿ìº¸´Ù À۰ųª °°´Ù. Congetstion window°¡ ÀÏ´Ü ÀÏÁ¤ÇÑ °ªÀ» °¡Áö°ÔµÇ¸é ÀçÀü¼ÛÀÇ ¹ß»ýÀ¸·Î
³×µå¿öÅ©ÀÇ ºÎÇϰ¡ Áõ°¡µÇ´Â °æ¿ì¿¡¸¸ º¯°æµÈ´Ù. ÀÌ °æ¿ì ¹ÐÁý ȸÇÇ(congestion avoidance)¾Ë°í¸®ÁòÀÌ ÀÛ¾÷À»
ÇϰԵȴÙ. µ¿½Ã¿¡ congestion windowÀÇ »ó¼ö¹èÀÇ Àß °í·ÁµÈ Å©±â¸¸Å ÇÒ´çµÇ¾îÁú ¼ö ÀÖ´Â ¾î¶°ÇÑ ÀÚ¿øµµ
ÀÌ¿ëÇÏ·Á´Â ½Ãµµ°¡ ÀÌ·ç¾îÁø´Ù. ÀÌ·¯ÇÑ Á¶½É½º·¯¿î ÀÛ¾÷ ¹æ½ÄÀ¸·Î ó¸®À²Àº 30%±îÁö Áõ°¡µÉ ¼ö ÀÖÀ¸¸ç
ÀçÀü¼ÛµÇ´Â ¼¼±×¸ÕÆ®´Â 50%ÀÌ»ó °¨¼ÒµÉ ¼ö ÀÖ´Ù.
ÀÌ µÎ ¾Ë°í¸®Áò°ú °ü·ÃÇÏ¿© retransmission timeoutµµ ¶ÇÇÑ Çâ»óµÇ¾ú´Ù. »õ·Î¿î ¾Ë°í¸®ÁòÀº round trip time¿¡
ÀÖ¾î¼ ´õ ½Å¼ÓÇÑ º¯È¸¦ ¾òÀ» ¼ö ÀÖ´Ù. µû¶ó¼ Ãß°¡ÀûÀÎ ÆÐŶÀÇ ÀçÀü¼ÛÀ» ¸·À» ¼ö ÀÖ´Ù.
ÁÖ) À±ÛÀÇ Ãâó¸¦ ãÁö ¸øÇÏ¿© ÀúÀÚ¸íÀ» °ÔÀçÇÏÁö ¸øÇÏ¿´½À´Ï´Ù
|
|