À©µµ »çÀÌÁî¿Í ¼ÒÄÏ ¹öÆÛ
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

sliding window

TCP´Â µ¥ÀÌÅÍÀÇ ½Å·Ú¼ºÀ» º¸ÀåÇÑ´Ù. ½Å·Ú¼º º¸ÀåÀÇ ÇÙ½ÉÀº Àü¼Û ÆÐŶ¿¡ ´ëÇÑ ACK ÀÀ´äÀÌ´Ù. ³»°¡ º¸³½ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ ÀÏÁ¤ ½Ã°£µ¿¾È ÀÀ´äÀÌ ¾ø´Ù¸é, »ó´ëÃøÀÌ µ¥ÀÌÅ͸¦ ¹ÞÁö ¸øÇÑ °ÍÀ¸·Î °£ÁÖ Çϰí Àç Àü¼ÛÇÏ´Â ½ÄÀÌ´Ù.

TCPÀÇ 'Àü¼Û <-> ÀÀ´ä'½Ã½ºÅÛÀº ½Å·Ú¼ºÀ» º¸ÀåÇØÁÖ´Â ¸Å¿ì ÁÁÀº ¹æ½ÄÀ̱ä ÇÏÁö¸¸, ºñ È¿À²ÀûÀÏ ¼ö ÀÖ´Ù´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. TCP Maximum Segment Size - MSS - °¡ 1k¶ó°í °¡Á¤ÇÏÀÚ. ÀÌ È¯°æ¿¡¼­ º¸³»¾ßÇÒ µ¥ÀÌÅͰ¡ 10k¶ó¸é 10¹øÀÇ Àü¼ÛÀÌ ÇÊ¿äÇÒ °ÍÀ̸ç, ÃÑ 10¹øÀÇ ACK µ¥ÀÌÅͰ¡ ¹ß»ýÇÒ °ÍÀÌ´Ù. ACK µ¥ÀÌÅÍÀÇ Àü¼Û°ú ¼ö½Å¿¡´Â ¾î´À Á¤µµÀÇ ½Ã°£ÀÌ °É¸®¹Ç·Î, ±× ½Ã°£¸¸Å­ÀÇ ½Ã°£ Áö¿¬ÀÌ ¹ß»ýÇÑ´Ù. µ¥ÀÌÅͰ¡ Ä¿Áú ¼ö·Ï ÀÌ·¯ÇÑ ½Ã°£ Áö¿¬Àº Á¡Á¡ ´õ Ä¿Áú °ÍÀÌ´Ù.

http://lh6.ggpht.com/_Os5qf5urx_A/S8x3Tx-SOTI/AAAAAAAABc0/aw0LDQOB2iI/s-kW5xBTQabjnXxg71jH3gA.png

sliding window´Â ÀÌ·¯ÇÑ TCPÀÇ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ½ÄÀº ¿©·¯ °³ÀÇ ÆÐŶÀ» ³í¸®ÀûÀÎ ÇϳªÀÇ Ã¢À¸·Î ¹­¾î¼­ È帧À» °ü¸®ÇÑ´Ù. ¿¹ÄÁµ¥ À§ÀÇ °æ¿ì 1kÀÇ ÆÐŶÀ» 5°³·Î ¹­¾î¼­ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ACK¸¦ º¸³»´Â ¹æ½ÄÀÌ´Ù. ¸¸¾à ÆÐŶÀ» 5°³·Î ¹­´Â´Ù¸é Áï 5k¸¦ ÇϳªÀÇ µ¥ÀÌÅÍ È帧 ´ÜÀ§·Î ÇÏ¸é ´ÜÁö 2¹øÀÇ ACK ±³È¯À¸·Î µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×¸¸Å­ È¿À²ÀûÀ¸·Î µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖ´Ù.

http://lh6.ggpht.com/_Os5qf5urx_A/S8x3UF69siI/AAAAAAAABc4/5KjjJMzSD4A/sr1yGMYGS-9gB9nZGVVUaag.png

sliding¶ó´Â À̸§ÀÌ ºÙÀº ÀÌÀ¯¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸ÀÚ.

³»°¡ º¸³»°íÀÚ ÇÏ´Â µ¥ÀÌÅͰ¡ 20k¶ó°í °¡Á¤ÇØ º¸ÀÚ. ±×¸®°í 10k ¸¸Å­¾¿ º¸³»µµ·Ï ¼³Á¤À» Çß´Ù. ÀÌÁß 2°³ÀÇ ÆÐŶÀ» Àü¼ÛÇϸé, À©µµ¸¦ ¿À¸¥ÂÊÀ¸·Î 2¸¸Å­ À̵¿½ÃÄѼ­ 11°ú 12 µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù. ±×·¯¸é ACK¸¦ ±â´Ù¸®´Â ½Ã°£À» ÃÖ¼ÒÈ­ Çϵµ·Ï µ¥ÀÌÅÍ È帧À» Á¦¾îÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.


window size

slidingÇÒ À©µµÀÇ Å©±â¸¦ window size¶ó°í ÇÑ´Ù. window sizeÀÇ Å©±â·Î ³í¸®ÀûÀ¸·Î ´Ù·ê ÆÐŶÀÇ °³¼ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. window size¸¦ Å©°Ô Çϸé ACK ¸¦ ±×¸¸Å­ ´ú ±â´Ù¸®°Ô µÇ¹Ç·Î½á ºü¸¥ µ¥ÀÌÅÍ Åë½ÅÀÌ °¡´ÉÇÏ´Ù.

±×·¯³ª ¹«ÀÛÁ¤ Å©°Ô ÇÑ´Ù°í ÁÁÀº °Ç ¾Æ´Ï´Ù. MTU¿Í ¸¶Âù°¡Áö·Î ³×Æ®¿öÅ© ȯ°æ¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ´Ù. ¸ðµ©°ú °°ÀÌ ¸Å¿ì ´À¸° ¸Åü¸¦ »ç¿ëÇϰųª ȤÀº Æ®·¡ÇÈÀÌ ³ôÀº ³×Æ®¿öÅ© ȯ°æÀ̶ó¸é ¿ÀÈ÷·Á ¼º´ÉÀ» ¶³¾îÆ®¸®´Â ¿øÀÎÀÌ µÉ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ È¯°æ¿¡¼­´Â µ¥ÀÌÅ͸¦ Àü¼ÛÇϴµ¥ ½Ã°£ÀÌ ¿À·¡ °É¸®¹Ç·Î window size¸¦ Áö³ªÄ¡°Ô Å©°Ô Çϸé ACK°¡ ÃÖ´ë Àü¼Û ½Ã°£À» ÃʰúÇØ¼­ µµÂøÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ÀÌ °æ¿ì Àç Àü¼ÛÀ» ¿äûÇÏ°Ô µÇ¹Ç·Î ´ç¿¬È÷ ¼º´ÉÀÌ ¶³¾îÁú °ÍÀÌ´Ù.

±×·¯¹Ç·Î ³×Æ®¿öÅ© ȯ°æ¿¡ Àû´çÇÑ window size°¡ ÇÊ¿äÇÏ´Ù.

¼ÒÄÏ ¹öÆÛ

window size´Â ¼ÒÄÏ ¹öÆÛÀÇ Å©±â·Î Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. setsockopt ÇÔ¼öÀÇ SO_SNDBUF, SO_RCVBUFÀÇ °ªÀ» Á¶ÀýÇÏ¸é µÈ´Ù.
int sndsize = 2048;  
setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sndsize, sizeof(sndsize));  
 

°ü·Ã ±Û

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.