Wireshark로 네트워크 대기 시간 문제 해결

네트워크 대기 시간은 네트워크 에코시스템에서 소스에서 대상으로 요청 또는 데이터를 전송하는 지연입니다. 네트워크 대기 시간 문제를 해결하는 방법을 살펴보겠습니다.

웹 페이지 열기, 링크 클릭, 앱 열기 및 온라인 게임 플레이와 같이 네트워크 사용이 필요한 모든 작업을 활동이라고 합니다. 사용자의 활동이 요청이고 웹 애플리케이션의 응답 시간은 이 요청에 응답하는 데 걸리는 시간입니다.

이 시간 지연에는 서버가 요청을 완료하는 데 걸리는 시간도 포함됩니다. 결과적으로 다음과 같이 정의됩니다. 왕복 여행 – 요청을 기록하고 처리한 다음 사용자가 수신하여 디코딩하는 데 걸리는 시간입니다.

“낮은 대기 시간”이라는 용어는 상대적으로 짧은 데이터 전송 지연을 의미합니다. 반면에 긴 지연이나 과도한 대기 시간은 사용자 경험을 저하시키므로 바람직하지 않습니다.

네트워크 대기 시간을 수정하는 방법?

네트워크를 분석하고 문제를 해결하기 위해 인터넷에서 사용할 수 있는 많은 도구와 소프트웨어가 있습니다. 일부는 유료이고 일부는 무료입니다. 그러나 라는 도구가 있습니다. 와이어샤크, 실시간으로 데이터 패킷을 캡처하는 데 사용되는 오픈 소스 및 GPL 라이선스 애플리케이션입니다. Wireshark는 세계에서 가장 널리 사용되고 일반적으로 사용되는 네트워크 프로토콜 분석기입니다.

네트워크 패킷을 캡처하고 자세히 표시하는 데 도움이 됩니다. 네트워크 패킷을 포착하면 이러한 패킷을 실시간 또는 오프라인 분석에 사용할 수 있습니다. 이 애플리케이션을 사용하면 네트워크 트래픽을 현미경으로 검사하고 필터링 및 드릴다운하여 문제의 원인을 찾고 네트워크 분석 및 궁극적으로 네트워크 보안을 지원할 수 있습니다.

네트워크 지연의 원인은 무엇입니까?

느린 네트워크 연결에 대한 몇 가지 주요 이유는 다음과 같습니다.

  • 높은 대기 시간
  • 애플리케이션 종속성
  • 패킷 손실
  • 가로채기 장치
  • 비효율적인 창 크기

그리고 이 기사에서는 네트워크 지연의 각 원인과 Wireshark의 문제를 해결하는 방법을 살펴봅니다.

  WiFi 비밀번호를 해킹하는 방법

Wireshark로 검사

높은 대기 시간

높은 대기 시간은 데이터가 한 엔드포인트에서 다른 엔드포인트로 전송되는 데 걸리는 시간을 나타냅니다. 높은 대기 시간이 네트워크 통신에 미치는 영향은 막대합니다. 아래 다이어그램에서는 대기 시간이 긴 경로에서 파일 다운로드의 왕복 시간을 예로 살펴봅니다. 왕복 지연 시간은 종종 허용되지 않는 1초를 초과할 수 있습니다.

  • Wireshark 통계로 이동합니다.
  • TCP 스트림 그래프 옵션을 선택합니다.
  • 왕복 시간 그래프를 선택하여 파일을 다운로드하는 데 걸리는 시간을 확인하십시오.

Wireshark는 이것이 잘못된 TCP(Transmission Control Protocol) 통신 네트워크 성능의 원인인지 확인하기 위해 경로의 왕복 시간을 계산하는 데 사용됩니다. TCP는 온라인 서핑, 데이터 전송, 파일 전송 프로토콜 등을 포함한 다양한 응용 프로그램에서 사용됩니다. 많은 경우, 특히 호스트가 Windows XP를 사용하는 경우 대기 시간이 긴 채널에서 보다 효과적으로 수행하기 위해 운영 체제를 조정할 수 있습니다.

애플리케이션 종속성

일부 애플리케이션은 다른 애플리케이션, 프로세스 또는 호스트 통신에 의존합니다. 예를 들어 데이터베이스 애플리케이션이 데이터베이스 항목을 가져오기 위해 다른 서버에 연결하는 데 의존한다고 가정합니다. 이 경우 다른 서버의 성능 저하로 인해 로컬 애플리케이션의 로드 시간이 저하될 수 있습니다.

예를 들어 대상 서버가 여러 다른 웹사이트를 참조하는 웹 브라우징 경험을 생각해 보십시오. 예를 들어 사이트의 기본 페이지인 www.espn.com을 로드하려면 먼저 기본 www.espn.com 페이지에 광고와 콘텐츠를 제공하는 16개의 호스트를 방문해야 합니다.

위 그림에서 Wireshark의 HTTP 부하 분산 창에는 www.espn.com 홈 페이지에서 사용하는 모든 서버 목록이 표시됩니다.

패킷 손실

네트워크에서 가장 많이 발견되는 문제 중 하나는 패킷 손실입니다. 패킷 손실은 데이터 패킷이 인터넷을 통해 발신자에서 수신자로 올바르게 전달되지 않을 때 발생합니다. 사용자가 웹사이트를 방문하여 사이트의 요소를 다운로드하기 시작하면 누락된 패킷으로 인해 재전송이 발생하여 웹 파일 다운로드 가능성이 높아지고 전체 다운로드 프로세스가 느려집니다.

또한 애플리케이션이 TCP를 사용하는 경우 누락된 패킷은 특히 부정적인 영향을 미칩니다. TCP 연결이 손실된 패킷을 감지하면 네트워크 문제를 보상하기 위해 처리 속도가 자동으로 느려집니다.

  Python에서 split() 메서드를 사용하는 방법

다음 패킷이 삭제될 때까지 보다 수용 가능한 속도로 점진적으로 개선되어 데이터 처리량이 크게 감소합니다. 그렇지 않으면 네트워크를 통해 쉽게 흘러야 하는 대용량 파일 다운로드는 패킷 손실로 인해 상당한 어려움을 겪습니다.

패킷이 손실되면 어떻게 됩니까? 논쟁의 여지가 있습니다. 프로그램이 TCP를 통해 작동하는 경우 패킷 손실은 두 가지 형태를 취할 수 있습니다. 한 예에서 수신기는 시퀀스 번호를 기반으로 패킷을 모니터링하고 누락된 패킷을 감지합니다. 클라이언트는 누락된 패킷에 대해 세 가지 요청(이중 승인)을 만들어 재전송합니다. 송신자가 수신자가 데이터 패킷 수신을 확인하지 않은 것을 관찰하면 송신자는 시간 초과되어 데이터 패킷을 재전송합니다.

Wireshark는 네트워크 정체가 발생했음을 나타내며 여러 승인으로 인해 문제가 있는 트래픽을 색상 코딩하여 재전송합니다. 중복 확인 횟수가 많으면 네트워크에서 패킷 손실 및 상당한 지연이 발생했음을 나타냅니다.

네트워크 속도를 개선하려면 정확한 패킷 손실 위치를 정확히 찾아내는 것이 중요합니다. 패킷 손실이 발생하면 더 이상 패킷 손실이 보이지 않을 때까지 Wireshark를 경로 아래로 이동합니다. 현재 우리는 패킷 드롭 포인트에서 “업스트림”이므로 디버깅 노력을 어디에 집중해야 하는지 알고 있습니다.

가로채기 장치

네트워크 트래픽 경찰은 스위치, 라우터 및 방화벽과 같이 포워딩을 선택하는 상호 연결 장치입니다. 패킷 손실이 발생하면 이러한 장치를 가능한 원인으로 조사해야 합니다.

이러한 연결 장치에 의해 경로에 대기 시간이 추가될 수 있습니다. 예를 들어 트래픽 우선 순위 지정이 활성화된 경우 우선 순위가 낮은 스트림에 추가 대기 시간이 삽입되는 것을 볼 수 있습니다.

비효율적인 창 크기

Microsoft 운영 체제 외에도 TCP/IP 네트워킹에는 다른 “창”이 있습니다.

  • 슬라이딩 윈도우
  • 수신기 창
  • 혼잡 제어 창

이러한 창은 함께 네트워크의 TCP 기반 통신 성능을 구성합니다. 이러한 각 창과 네트워크 대역폭에 미치는 영향을 정의하여 시작하겠습니다.

슬라이딩 윈도우

데이터가 승인되면 슬라이딩 윈도우는 네트워크를 통해 다음 TCP 세그먼트를 브로드캐스트하는 데 사용됩니다. 발신자는 전송된 데이터 조각에 대한 승인을 받고 슬라이딩 윈도우가 확장됩니다. 네트워크에서 손실된 전송이 없는 한 더 많은 양의 데이터를 전송할 수 있습니다. 패킷이 손실되면 네트워크가 회선에서 증가된 데이터 양을 관리할 수 없기 때문에 슬라이딩 윈도우가 축소됩니다.

  MS 페인트에서 사용자 정의 브러시 크기를 얻는 방법

수신기 창

TCP 스택의 수신자 창은 버퍼 공간입니다. 데이터가 수신되면 애플리케이션이 데이터를 선택할 때까지 이 버퍼 공간에 저장됩니다. 응용 프로그램이 수신 속도를 따라가지 못하면 수신기 창이 가득 차서 결국 “제로 창” 시나리오로 이어집니다. 호스트로의 모든 데이터 전송은 수신기가 제로 윈도우 조건을 알릴 때 중단되어야 합니다. 처리 속도는 0으로 떨어집니다. Window Scaling(RFC 1323)이라고 알려진 방법을 사용하면 호스트가 수신기 창 크기를 늘리고 제로 창 시나리오의 가능성을 낮출 수 있습니다.

위의 그림은 제로 윈도우 시나리오로 인한 네트워크 통신의 32초 지연을 보여줍니다.

혼잡 창구

혼잡 창은 네트워크가 처리할 수 있는 최대 데이터 양을 정의합니다. 발신자의 패킷 전송 속도, 네트워크 패킷 손실률 및 수신자의 창 크기가 모두 이 수치에 기여합니다. 정체 창은 전송이 완료되거나 네트워크 상태에 의해 설정된 “천장”에 도달할 때까지 정상적인 네트워크 통신 중에 꾸준히 증가합니다. 발신자의 전송 기능 또는 수신자의 창 크기. 각각의 새 연결은 창 크기 협상 절차를 다시 시작합니다.

건강한 네트워크를 위한 팁

  • 성능 저하의 원인을 빠르고 효율적으로 발견하기 위한 첫 번째 응답 작업으로 Wireshark를 활용하는 방법을 알아봅니다.
  • 네트워크 경로 대기 시간의 원인을 식별하고 가능하면 허용 가능한 수준으로 줄이십시오.
  • 패킷 손실의 원인을 찾아 해결합니다.
  • 데이터 전송 창 크기를 검토하고 가능하면 줄이십시오.
  • 대기 시간을 추가하거나 패킷을 삭제하는지 확인하려면 가로채는 장치의 성능을 검사하십시오.
  • 더 많은 양의 데이터를 전달할 수 있고 가능하면 수신기 창에서 데이터를 검색할 수 있도록 앱을 최적화합니다.

마무리 👨‍🏫

지금까지 네트워크 성능 문제의 주요 원인에 대해 살펴보았지만 놓쳐서는 안 될 한 가지 요인은 네트워크 통신 동작에 대한 이해 부족입니다. Wireshark는 X-ray와 같은 네트워크 가시성을 제공하고 CAT 스캔은 정확하고 신속한 진단을 위해 인체에 대한 가시성을 제공합니다. 이 도구는 네트워크 문제를 찾고 진단하는 데 필수적인 도구가 되었습니다.

이제 Wireshark를 사용하여 여러 필터와 도구를 통해 네트워크 성능을 검사하고 해결해야 합니다. 👍