³×Æ®¿öÅ© ÆÐŶ ¼Õ½Ç °ü·Ã Á¶¾ð ±¸Çغ¾´Ï´Ù.

   Á¶È¸ 1888   Ãßõ 0    

 

타 업체와 서비스 연동 중 요청 실패가 많다는 문의를 받아 tcpdump 하여 해당 IP만 로깅하였는데 첨부 파일을 보시면 Retransmission 너무 많이 발견되어 문의 글 올리게 되었습니다.
타 업체로부터 2초 이상 응답이 없을 경우 저희 쪽 요청을 중단하였고 그 실패율이 60%정도 라고 하여 Retransmission 만 필터링 해서 보니 대략 수량이 맞는 것 같습니다.
대부분 SYN 시 tcp 포트를 재사용 하였고 이후  RTO 1초가 지나면 요청 패킷은 버려지는 것인가요 새로운 seq 번호로 재요청이 되나요? (TCP Retransmission 의 seq_raw 다음 번호(+1)로 검색했을 경우 나오지 않았습니다.)

아래는 sysctl 구성입니다.


net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_rmem = 8192 87380 8388608

net.ipv4.tcp_wmem = 8192 87380 8388608

net.ipv4.tcp_timestamps = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

fs.file-max = 360000

net.ipv4.ip_local_port_range = 1024 65535

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_keepalive_time = 1800

net.ipv4.tcp_keepalive_intvl = 15

net.ipv4.tcp_keepalive_probes = 5


netstat -nao | grep "TIME_WAIT" | wc -l => 1500 ~ 2000 

ss -t | wc -l => 10000 ~ 12000


Retransmission 을 줄일 수 있는 방법이 있을까요?
조언 부탁드립니다.


감사합니다.

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¹Ú¹®Çü 2022-07
ÀßÀº ¸ð¸£Áö¸¸

ÆÐŶ ·Î½º°¡ ³ª¸é Çϵå¿þ¾î ºÒ·®ÀÌ ´ëºÎºÐÀ̶ó°í »ý°¢ÇÕ´Ï´Ù..

ÆÐŶ ·Î½º°¡ ³ª´Â ±¸°£ÀÇ Àåºñ ¸ðµ¨ /ÄÉÀÌºí ¿¬°á¹æ¹ý /°Å¸® /¼ÂÆà »óÅ µîÀº ¾î¶°ÇÑ°¡¿ä??

±×¸®°í Àåºñ´Â ´ë·« ¸î ³â µÈ °ÍµéÀΰ¡¿ä??
     
´ó´óÀÌ 2022-07
À¥ ¼­ºñ½º °³¹ßÀÚµéÀº ¼­¹ö Çϵå¿þ¾î´Â Àß ¸ð¸¨´Ï´Ù.
¾Æ¸¶ IDC ³ª AWS °°À» °É ¾²°í ÀÖÀ»ÅÙµ¥ ÀÌ °æ¿ì Çϵå¿þ¾î ºÒ·®À̶ó°í º¸±ä ¾î·Æ½À´Ï´Ù..
´ó´óÀÌ 2022-07
1. RTO 1ÃÊ°¡ Áö³ª¸é ¿äû ÆÐŶÀº ¹ö·ÁÁö°í TIME_WAIT »óÅ°¡ µË´Ï´Ù.
+1 ÇßÀ» ¶§ seq °ªÀÌ ³ª¿ÀÁö ¾Ê´Â °Ç Ŭ¶óÀ̾ðÆ® ÂÊ¿¡¼­ active close Çؼ­ ±×·± °É·Î ÃßÁ¤µË´Ï´Ù. ±×·¯´Ï±î °è¼Ó »õ·Î¿î seq°¡ Àç¿äûµÇ°í ÀÖ´Â »óÅÂÀΰÅÁÒ.
°è¼Ó »õ·Î¿î ¼¼¼ÇÀ» ¸¸µå´Ï±î Çڵ彦ÀÌÅ©¿¡¼­ 1ÃÊ ³Ñ±âµµ ÇÏ°í ¾È ³Ñ±âµµ Çϴµ¥ ±×·¯¸é ·Î½ºÀ²ÀÌ 60ÆÛ³ª µÇ´Â°Ô ¼³¸íµË´Ï´Ù.
¿¬µ¿ÇÑ ¼­ºñ½º°¡ ¾î¶² ¾îÇø®ÄÉÀ̼ÇÀÎÁö´Â ¸ð¸£°ÚÁö¸¸ Ÿ ¾÷ü·ÎºÎÅÍ 2ÃÊ ÀÌ»ó ÀÀ´äÀÌ ¾øÀ» °æ¿ì ÀúÈñ ÂÊ ¿äûÀ» Áß´ÜÇÏ¿´´Ù¶ó´Â ¸»·Î º¸¾ÒÀ» ¶§ Á¦°¡ º¸±â¿£ ¾÷ü Âʵµ Æ©´×ÀÌ ÇÊ¿äÇÒ °Í °°½À´Ï´Ù.
 ´ë»óÀÌ À¥ ¼­ºñ½º°¡ ¾Æ´Ï¶ó Ÿ ¾÷üÀÇ ¼­ºñ½ºÀÎ °æ¿ì ¾çÂÊ¿¡¼­ Æ©´×À» Àß ÇØÁà¾ß ÇÕ´Ï´Ù.
TIME_WAIT ¼ö°¡ ¸¹±ä Çѵ¥ Listen¸¸ ÇÏ´Â ¼­¹ö°¡ Àú Á¤µµ °³¼ö·Î ÆÐŶ·Î½ºÀ²ÀÌ 60ÆÛ³ª µÉ Á¤µµ·Î ¼º´É¿¡ ÁöÀåÀ» ÁÖÁø ¾Ê½À´Ï´Ù.
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_tw_reuse = 1 ¿¡´Ù
net.ipv4.tcp_tw_recycle = 1 À» Ãß°¡Çϸé TIME_WAIT ¼ÒÄÏ ¼ö´Â ÁÙ°ÚÁö¸¸ ÆÐŶ·Î½º´Â ¿©ÀüÇÒ °Ì´Ï´Ù.
ÀÏ´Ü RTO¸¦ 2ÃÊ·Î ´Ã¸®¸é ÇØ°áÀº µÉ °Ì´Ï´Ù. ±Ùµ¥ ¾÷ü ÂÊ ¼­¹öµµ TIME_WAIT ÀÌ »ó´ç ÇÒ ÅÙµ¥ Àß ¸»Çؼ­ ¾çÂÊ¿¡¼­ Æ©´×ÇÏ´Â°Ô Á¦ÀÏ ¼Õ½ÇÀ» ÁÙÀÌ°í È¿À²ÀûÀÔ´Ï´Ù.
»ó´ë ÂÊ¿¡ ¸»Çغ¸°í ±×°Ô Àß ¾È µÈ´Ù¸é net.ipv4.tcp_tw_recycle = 2 InitRTO 2ÃÊ·Î ¸ÂÃçÁÖ½É µË´Ï´Ù..
¹ö·ÁÁö´Â ¼¼¼ÇÀÌ °¡´ÉÇÑ ¾ø´Â °Ô ÁÁ±äÇÕ´Ï´Ù..
     
´äº¯ °¨»çµå¸³´Ï´Ù. InitRTO 2ÃÊ·Î ¸ÂÃâ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ³ª¿ä? ¸®´ª½º »ó¿¡ 1ÃÊ·Î ÇϵåÄÚµù µÇ¾î ÀÖ´Ù°í Çϴµ¥..
sysctl -a | grep rto
net.ipv4.tcp_frto = 2
net.ipv4.tcp_frto_response = 0

rto °ü·Ã º¯¼ö´Â 2°³ ¹Û¿¡ º¸ÀÌÁú ¾Ê³×¿ä..
ÀçÀü¼ÛÀ²ÀÌ ³Ê¹« ³ô±º¿ä.
¹Ú¹®Çü´Ô ´ä±Û°ú °°ÀÌ ¾ç ³¡´Ü ¼­¹ö »çÀÌÀÇ ¾îµò°¡¿¡¼­ ÆÐŶ ¼Õ½ÇÀÌ ¹ß»ýÇÏ°í ÀÖ½À´Ï´Ù.
½ºÀ§Ä¡, ¹æÈ­º®, ¶ó¿ìÅÍ, ·£ÄÉÀÌºí µî ÆÐŶ À¯½ÇÀ» ¹ß»ý½Ãų ¼ö ÀÖ´Â Àåºñ´Â ³Ê¹« ´Ù¾çÇÕ´Ï´Ù.
Áø´ÜÇÏ´Â °¡Àå ½¬¿î ¹æ¹ýÀº traceroute ¸í·ÉÀ» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ¶ó¿ìÅÍ ±âÁØ ±¸°£º°·Î ¾î´À ±¸°£¿¡¼­ ¹®Á¦°¡ »ý±â´ÂÁö¸¦ ¾Ë·ÁÁÝ´Ï´Ù. ¹®Á¦ ±¸°£ÀÌ ½Äº°µÇ¸é ±× ±¸°£ ´ã´çÀÚ¿¡°Ô Á¶Ä¡ ¿äûÇϼ¼¿ä.
±¸±Û °Ë»öÇϸé ÀÚ·á°¡ ¸¹ÀÌ ÀÖÀ¸´Ï »ç¿ëÇغ¸¼¼¿ä.


QnA
Á¦¸ñPage 488/5696
2014-05   5030108   Á¤ÀºÁØ1
2015-12   1566655   ¹é¸Þ°¡
2023-11   2109   À̹®¿µ
2023-04   2109   À̹ο쿡¿ä
2022-06   2109   keiminem
2019-04   2109   NiteFlite9
2021-10   2109   junhua
2021-05   2109   »ßµ¹À̽½ÇÄÀÌ
2022-11   2109   »õÃÑ
2021-12   2109   L2½ºÀ§Ä¡
2023-01   2109   Åë½Å¹öÇÊ
2023-02   2109   ¹Ú¹®Çü
2021-05   2110   È︶
2021-10   2110   Å©¸®¹Ì
2021-09   2110   Áý±¸¼®
2022-03   2110   Æĸ®´ë¿Õ
2021-05   2110   ·ù·ù·ù
05-15   2110   dragoune
2021-05   2110   NiteFlite9
2023-05   2110   sbg2005
2021-07   2110   Æ۽̱Û
2021-09   2110   Å°ÀÃ