답변:
일반적으로 문제의 규모에 netstat -s
따라 총 재전송 횟수를 추적합니다.
# netstat -s | grep retransmitted
368644 segments retransmitted
grep을 segments
더 자세히 볼 수 있습니다.
# netstat -s | grep segments
149840 segments received
150373 segments sent out
161 segments retransmitted
13 bad segments received
더 심층적 인 다이빙을하려면 Wireshark를 시작해야 할 것입니다.
Wireshark tcp.analysis.retransmission
에서 흐름 별 재전송을 볼 수 있도록 필터를 설정하십시오 .
그것이 내가 생각해 낼 수있는 가장 좋은 옵션입니다.
다른 막 다른 골목 탐험 :
netstat -s
은 단지 인쇄 중임을 보여주었습니다./proc/net/netstat
retransmited
입니다 (Ubuntu Server 14).
이 통계는 / proc / net / netstat에 있으며 collectl
나중에 재생할 수 있도록 대화식으로 또는 디스크에 기록 된 상태를 모니터링합니다.
[root@poker ~]# collectl -st
waiting for 1 second sample...
#<------------TCP------------->
#PureAcks HPAcks Loss FTrans
3 0 0 0
1 0 0 0
당신은 다음을 참조 나란히 네트워크 트래픽하려는 경우 물론, 단지 포함 n
하여 -s
:
[root@poker ~]# collectl -stn
waiting for 1 second sample...
#<----------Network----------><------------TCP------------->
# KBIn PktIn KBOut PktOut PureAcks HPAcks Loss FTrans
0 1 0 1 1 0 0 0
0 1 0 1 1 0 0 0
이 ss
도구를 사용하여 자세한 TCP 통계를 얻을 수 있습니다 .
$ /sbin/ss -ti
데비안 apt-get install iproute
에서 바이너리를 얻는 데 사용 하십시오.
watch ss -ti
.
University of North Carolina (UNC)의 일부 사람들은 정확히 이것을 조사하기 위해 유틸리티를 구축 한 것 같습니다.
방법론
TCP는 수정이 필요한 레거시 프로토콜의 전형적인 예입니다. 불행히도, TCP의 손실 감지 / 복구 메커니즘과 같은 기본적인 평가는 포괄적이지 않습니다. 우리의 목표는 TCP 손실과 TCP 성능에 미치는 영향을 완전히 현실적으로 평가하는 것입니다.
필자는 실제 TCP 연결에 대한 수동 분석을 사용하여 분석에서 필요한 수준의 세부 사항과 사실감을 얻습니다.
http://www.cs.unc.edu/~jasleen/Research-passivetcp.htm#Tool
수단
이 도구의 목적은 tcpanaly, tcpflows, LEAST 및 Mystery와 같은 이전 도구에서 제공 한 것보다 시퀀스에서 벗어난 세그먼트를 식별하고 특성화하는 데보다 완전하고 정확한 결과를 제공하는 것입니다. 우리의 방법론은 패킷 추적에서 OOS (out-of-sequence)로 나타나는 각 세그먼트를 시간 초과, 중복 ACK, 부분 ACK, 선택적 ACK 또는 암시 적 복구 중 하나로 트리거되는 네트워크 순서 변경 또는 TCP 재전송 범주 중 하나로 분류합니다. 또한, 각각의 재전송은 또한 그것이 필요한지 여부에 대해 평가된다.
나는 그것이 생산 품질이라고 말하지 않을 것입니다. 이전에는 빠른 perl 스크립트를 작성하여 ip / port / ack 튜플을 메모리에 저장 한 다음 pcap 출력 스캔에서 중복 된 데이터를보고했습니다. 이는보다 철저한 분석을 제공하는 것 같습니다.
분명히 오래된 sar 은 CPU, 메모리, 디스크 I / O 등과 같은 문제를 조사 할 때 흥미로울 수있는 다른 모든 시스템 통계와 함께 재전송 (및 기타 TCP 통계)을 수집 할 수 있습니다.
sysstat 패키지를 설치하고 스위치 -S SNMP를 사용하여 이러한 특정 통계를 활성화해야 할 수 있습니다. RHEL / OracleLinux에서 /etc/cron.d/sysstat에서 구성됩니다. 여기서 / usr / lib64 / sa / sa1이 호출됩니다. 기본적으로 5 분마다 조정되지만 조정할 수도 있습니다.
이 데이터를 분석하려면 다음을 사용하십시오.