콘텐츠로 건너뛰기

네이글 알고리즘(Nagle’s algorithm) 패핑 패스트 핑 핑업 이런게 도대체 뭘까?

  • by

네이글 알고리즘(Nagle’s algorithm) 패스트핑

‘네이글 알고리즘’ 기술을 활용한(정확히는 끄는) 패핑(패스트핑)에 대해 알아보자.

패핑은 오래전에 꽤나 유행했던 마비노기, 아이온 등 RPG 게임에서 설정하게 되면 스킬 사용이 더 빠르게 나가서 사용하게 되었는데 그 인기로 인해 아래와 같은 여러 가지 관련 프로그램이 나왔다.

패핑(패핑1.3), 패스트핑, 패스타핑, 아이벨로시티, 핑업 등 많기도 하네..아무튼 이러한 패핑 프로그램이 인기였다.

이 프로그램들도 결국 네이글 알고리즘을 레지스트리에 설정하는 것으로 레지에 직접 등록을 해도 되고 저런 프로그램을 써도 되고 둘 다 네이글 알고리즘을 끄는 기술이 적용된 것이기에 별 반 차이 없다.

사용하기 편리하게 만든 것뿐(프로그램에 광고를 심거나) 물론 지금도 네이글 알고리즘 영향을 받는 게임 (아이온)에서는 필수 설정이니 레지를 사용하든 프로그램을 사용하든 네이글 알고리즘을 끄도록 하자.

예시로 아이온에서 봉혼석이 꺼졌다 켜졌다 하는 비교 영상을 참고하자.
봉혼석이 더 빨리 켜지고 꺼지는 게 확실히 체감이 된다. (스킬 연계기도 빠르게 나간다)

왼쪽이 패핑 ON, 오른쪽이 패핑 OFF (자체제작)

그러면 네이글 알고리즘이 무엇이고 패핑 설정은 정확히 어떻게 하는 걸까?
먼저 네이글 알고리즘에 대해 알아보자.

네이글 알고리즘(Nagle’s algorithm)?

네이글 알고리즘은 네트워크를 통해 보내야 하는 패킷 수(예로 우리가 스킬을 눌렀을 때 서버에 전송되는 데이터)를 줄여 네트워크 부하를 줄여주는 기술이다. 서버가 작은 크기의 데이터를 계속 보내거나 받게 된다면 부하가 발생하기 때문인데 그래서 서버의 부하를 줄이고자 패킷을 모았다가 좀 쌓이면 그때서야 데이터를 서버에 보내는 기술이 네이글 알고리즘이다.

즉 서버가 부하되지 않게 여러 개의 작은 메시지를 바로 보내지 않고 모아서 한 번에 보내는 방식이다.

그럼 이게 서버에는 좋지만 유저에겐 어떨까? 우리는 키를 눌렀을 때 바로바로 반응해야 하는 빡겜런데..

아래 그림을 보자

image 9

왼쪽은 네이글 알고리즘을 킨 경우이고, 오른쪽은 네이글 알고리즘을 끈 경우이다.

어떤 게 더 자잘하게 보이는가?
맞다. 오른쪽이 훨씬 더 세밀하게 패킷을 주고 받는다.

더 쉽게 풀어보자면 우리가 스킬 두 개를 연달아 사용했지만, 이 네이글 알고리즘이란 녀석이 지 마음대로 서버에 부담이 될까 봐 두 번째 스킬까지 모았다가 보내는데, 사용자 관점에선 두 번째 스킬만 사용하게 되는 것이다. (너무 극단적이지만)

즉 왼쪽이 3번 보낼 때 오른쪽은 6번 보내는 것, 그 만큼 그때 그때 패킷을 바로 쏴버리기 때문에 반응이 더 빠르다.

게임 유저들은 이 정도만 알면 되지 않을까 싶다.
그렇다면 네이글 알고리즘을 어떻게 끄는 거고 패핑 프로그램의 원리를 알아보자.

패핑(패스트핑) 레지 설정, 네이글 알고리즘 패핑 설정 하기 (끄기)

  1. 윈도우키 + R 을 눌러 레지스트리 창을 연다.
  2. HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > Tcpip > Parameters > Interfaces로 이동
  3. Interfaces 하위에 여러 개의 폴더가 있는데 자신의 IP가 보이는 폴더로 들어가자. 자신의 IP를 보는 방법은 윈도우 + R 실행 후 CMD > ipconfig 엔터 > 그러면 IP V4 옆에 숫자가 뜰 거다. 그 숫자가 있는 폴더로 들어가자. (대부분의 사용자는 나와 비슷하게 192.168 어쩌고로 나올 것인데 공유기 때문)
  4. 하위 폴더에서 마우스 우클릭 > 새로 만들기 > [DWORD (32비트) 값]
    TcpAckFrequency 값 1 (16진수), TCPNoDelay 값 1 (16진수)로 생성한다.
image 10
01 – 레지스트리 창 실행
image 11
02 – 위 레지스트리 경로로 이동
image 12
03 – 자신의 IP를 보는 방법은 윈도우 + R 실행 후 CMD > ipconfig 엔터
image 13
04 – TcpAckFrequency 값 1 (16진수), TCPNoDelay 값 1 (16진수)로 생성한다.
image 16
TCPNoDelay 값 1 (16진수)
image 17
TcpAckFrequency 값 1 (16진수)

두 개 값만 생성하면 끝이다. 이제 재부팅을 하거나 인터넷 재시작을 하면 되는데, 재부팅이 싫으면 제어판 > 네트워크 어댑터 > 이더넷 사용 안 함 했다가 사용함으로 바꾸면 된다.

사실 레지보다 편리한 게 프로그램이다. 그러니까 패핑이나 핑업등 프로그램 써도 똑같다. 편한 거 쓰면 된다.
프로그램이 못 미더우면 레지스트리로 하면 된다.

이 설정을 하고 나서 네트워크 드라이버를 업데이트하거나 네트워크 환경을 바꾸지 않는 이상 영구적으로 적용된다.

뭐 패핑을 쓰면 컴퓨터가 망가진다에서부터 이상한 소문이 많은데 10년 내내 사용한 나에게는 전혀 문제 될 게 없었다.
아이온 할 때도, 배그 할 때도, 발로란트 할 때도, 웹서핑 할때도 아무런 문제가 없었다.

그러니 본인이 하는 게임에서 확실히 효과가 있다면 무조건 키자.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다