Red Hat Training

A Red Hat training course is available for RHEL 8

45.5. 커널에서 삭제한 TCP 패킷 및 세그먼트에 대한 세부 정보 표시

tcpdrop 유틸리티를 사용하면 관리자가 커널에 의해 삭제된 TCP 패킷 및 세그먼트에 대한 세부 정보를 표시할 수 있습니다. 이 유틸리티를 사용하여 원격 시스템이 타이머 기반 재전송을 보낼 수 있는 삭제된 패킷의 속도를 디버깅합니다. 삭제된 패킷 및 세그먼트의 비율이 서버의 성능에 영향을 줄 수 있습니다.

리소스가 많이 사용되는 패킷을 캡처하고 필터링하는 대신 tcpdrop 유틸리티는 eBPF 기능을 사용하여 커널에서 직접 정보를 검색합니다.

절차

  1. 삭제된 TCP 패킷 및 세그먼트에 대한 세부 정보를 표시하려면 다음 명령을 입력합니다.

    # /usr/share/bcc/tools/tcpdrop
    TIME     PID    IP SADDR:SPORT       > DADDR:DPORT   STATE (FLAGS)
    13:28:39 32253  4  192.0.2.85:51616  > 192.0.2.1:22  CLOSE_WAIT (FIN|ACK)
    	b'tcp_drop+0x1'
    	b'tcp_data_queue+0x2b9'
    	...
    
    13:28:39 1      4  192.0.2.85:51616  > 192.0.2.1:22   CLOSE (ACK)
    	b'tcp_drop+0x1'
    	b'tcp_rcv_state_process+0xe2'
    	...

    커널이 TCP 패킷 및 세그먼트를 삭제할 때마다 tcpdrop 에 삭제된 패키지로 이어지는 커널 스택 추적을 포함하여 연결 세부 정보가 표시됩니다.

  2. Ctrl +C눌러 추적 프로세스를 중지합니다.

추가 리소스

  • tcpdrop(8) man page
  • /usr/share/bcc/tools/doc/tcpdrop_example.txt file