1단계 — ping으로 기본 손실 확인
Bash
# 기본 ping (Ctrl+C로 종료 후 통계 확인)
ping 8.8.8.8
# 100개 패킷 전송 후 통계
ping -c 100 8.8.8.8
# 빠른 ping (0.2초 간격)
ping -i 0.2 -c 200 8.8.8.8
# 결과 해석
# packet loss = 0%: 정상
# packet loss = 1~5%: 경미한 손실
# packet loss > 10%: 심각한 문제
# 큰 패킷으로 MTU 문제 확인
ping -s 1400 -M do 8.8.8.8 # Fragmentation 금지
ping -s 1472 -M do gateway_ip # 최대 MTU 탐색2단계 — mtr로 경로별 손실 지점 찾기
Bash
sudo apt install -y mtr-tiny
# 인터랙티브 모드
mtr 8.8.8.8
# 100패킷 후 보고서 출력
mtr --report --report-cycles 100 8.8.8.8
# TCP 모드 (ICMP 차단 환경)
mtr --tcp --port 443 example.commtr 결과 해석
CODE
Loss% Snt Avg Best Wrst StDev
1. 192.168.1.1 (게이트웨이) 0.0% 100 1.2 0.8 5.1 0.6
2. 100.64.0.1 (ISP) 0.0% 100 10.5 9.8 25.3 2.1
3. 203.0.113.1 (중간 홉) 5.0% 100 18.3 17.1 89.5 12.4 ← 손실 시작
4. 203.0.113.2 5.0% 100 20.1 19.0 92.3 13.2
5. 8.8.8.8 (목적지) 5.0% 100 22.4 21.0 95.0 13.8- 3번 홉부터 손실 발생 → 3번 홉 구간 문제
- 중간 홉만 높고 목적지가 0% → 해당 라우터가 ICMP를 rate limiting하는 것 (정상)
3단계 — tcpdump로 패킷 분석
Bash
# 인터페이스 목록 확인
sudo tcpdump -D
# 특정 인터페이스, 호스트 필터
sudo tcpdump -i eth0 host 8.8.8.8
# 포트 필터
sudo tcpdump -i eth0 tcp port 443
# 패킷 내용 출력 (-A: ASCII, -X: Hex+ASCII)
sudo tcpdump -i eth0 -A tcp port 80 | head -50
# 파일에 저장 (Wireshark 분석용)
sudo tcpdump -i eth0 -w capture.pcap tcp port 443
# 저장된 파일 읽기
sudo tcpdump -r capture.pcap
# TCP 재전송 패킷 필터
sudo tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'4단계 — TCP 재전송 통계 확인
Bash
# ss로 소켓 통계
ss -s
# TCP 재전송 카운터
cat /proc/net/snmp | grep Tcp
# RetransSegs 값이 지속적으로 증가하면 재전송 중
# netstat으로 확인
netstat -s | grep -i retransmit
# nstat으로 카운터 추적
nstat | grep Retran5단계 — 원인별 해결 방법
ISP 구간 손실
Bash
# ISP 측 문제 — 고객센터 연락 전 증거 수집
mtr --report --report-cycles 200 8.8.8.8 > mtr_report.txt
traceroute -n 8.8.8.8서버 인터페이스 오류
Bash
# 오류 카운터 확인
ip -s link show eth0
# errors, dropped 필드 확인
# 드라이버 오류
dmesg | grep -i "eth0|network|link"
# 인터페이스 재시작
sudo ip link set eth0 down && sleep 1 && sudo ip link set eth0 upMTU 불일치
Bash
# MTU 확인
ip link show eth0 | grep mtu
# MTU 변경 (VPN 환경에서 자주 필요)
sudo ip link set eth0 mtu 1450버퍼 튜닝
Bash
# 네트워크 버퍼 크기 증가
sudo sysctl -w net.core.rmem_max=134217728
sudo sysctl -w net.core.wmem_max=134217728
sudo sysctl -w net.ipv4.tcp_rmem='4096 87380 134217728'
sudo sysctl -w net.ipv4.tcp_wmem='4096 65536 134217728'편집 안내 · Editorial Note
이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.