tcpdump 분석 부탁드립니다..
안녕하세요?
tcpdump 관련해서 궁금한것이 있어서요.
APP_A와 B(192.168.145.62)가 통신을 하는데.. 지연이 발생해서요.
application에서 00:12:06에 APP_A에서 B로 요청 메시지를 보내고, B로부터 응답을 받은 로그는 00:12:09에 남습니다. (APP_A에서 select한 시간)
그리고, tcpdump에 남은 로그를 보면.. 다음과 같습니다.
00:12:06.734518 APP_A.40048 > 192.168.145.62.9888: P 59776:59904(128) ack 59777 win 39066 (DF)
00:12:07.151625 APP_A.40048 > 192.168.145.62.9888: P 59776:59904(128) ack 59777 win 39066 (DF)
00:12:07.152377 192.168.145.62.9888 > APP_A.40048: . ack 59904 win 20440
또 지연이 발생한 다른 로그를 보면.. 00:07:06에 APP_A에서 요청을 보내고, B에서 바로 응답이 왔는데요..
APP_A에서 select한 시간은 00:07:12 입니다..
00:07:06.685613 APP_A.40048 > 192.168.145.62.9888: P 29440:29568(128) ack 29441 win 39066 (DF)
00:07:06.706960 192.168.145.62.9888 >APP_A.40048: P 29441:29569(128) ack 29568 win 20440 (DF)
00:07:06.795669 APP_A.40048 > 192.168.145.62.9888: P 29568:29696(128) ack 29569 win 39066 (DF)
00:07:07.211925 APP_A.40048 > 192.168.145.62.9888: P 29568:29696(128) ack 29569 win 39066 (DF)
00:07:07.214319 192.168.145.62.9888 > APP_A.40048: . ack 29696 win 20440
정상적인 로그를 보면.. 다음과 같이 APP_A에서 B로 요청보내고, B에서 APP_A로 응답주고, APP_A에서 B로 ack 보내고 끝이거든요.
00:06:56.907496 APP_A.40046 > 192.168.145.62.9888: P 9728:9856(128) ack 9729 win 39066 (DF)
00:06:56.917641 192.168.145.62.9888 > APP_A.40046: P 9729:9857(128) ack 9856 win 20440 (DF)
00:06:57.011693 APP_A.40046 > 192.168.145.62.9888: . ack 9857 win 39066 (DF)
위의 지연이 발생한 비정상적인 tcpdump와의 차이를 보면..
APP_A에서 B로 ack를 안준다는거거든요.
APP_A에서 ack를 안줄 경우.. 데이타를 소켓에서 selecet하는데 지연이 발생할 수 있는건가요?
APP_A에서 ack를 줄때까지 기다리다가 안주면 .. 그제서야 select하나요??
tcpdump 로그를 잘 몰라서여..^^;
빠른 답변 부탁드립니다..
수고하세요..


댓글 달기