연결 프로토콜
연결 프로토콜은 "설정 → 프로그램" 메뉴에 들어가시면 해당 설정을 변경하실 수 있습니다.
연결 프로토콜 차이점
이 문서는 미꾸라지가 지원하는 연결 프로토콜 별 차이점, 장점과 단점에 대해 각각 기술한 문서입니다. 미꾸라지 v4 를 기준으로 현재 다음과 같은 연결 프로토콜이 있는데요,
-
TCP (Port 443)
-
TCP (Port 1723)
-
TCP (Port 10008)
-
TCP (Port 10006)
-
UDP (Port 10008)
-
UDP (Port 53)
-
UDP (Port 500)
-
UDP (Port 10006)
-
UDP (Port 10012) - FEC 기반
UDP Port 10012 의 경우, 미꾸라지 버전 v4.5.3 부터 지원을 합니다. FEC 에 대한 자세한 설명은 전진 에러 수정 문서를 참고 바랍니다.
-
UDP (Port 10023) - Simple FEC 기반
위의 "FEC 기반" 구현보다 간단화된 버전으로, Local ISP 상의 패킷로스를 최소화하는 것을 목적으로 합니다.
주의
동일한 패킷을 여러번 보내는 방식이기 때문에, 트래픽 소모가 2 ~ 3 배 많을 수 있습니다.
모든 연결 프로토콜 사용을 위해서는 반드시 전문가 모드 가 활성화가 되어야 가능합니다. 만약 비활성화시, TCP / UDP (Port 10008) / UDP (Port 10023) 만 이용 가능합니다.
프로토콜 장점과 단점
인터넷 표준 프로토콜인 TCP 와 UDP 의 차이로써, Layer 4 단의 프로토콜이 완전히 다릅니다. 이로 인해 각 프로토콜이 가지는 장점과 단점을 그대로 물려 받는다고 할 수 있습니다. 각 프로토콜의 장점과 단점을 살펴본다면,
TCP 방식
-
장점
- 방화벽에 의해 필터링이 될 확률이 그나마 적습니다.
- MTU (Maximum Transmission Unit) 이슈가 생기지 않습니다.
-
단점
- 속도가 UDP 방식에 비해 느립니다. 만약 중간 구간에서 packet loss 가 발생 시 이를 복구하는 과정에서 ping spike 혹은 lag 이 발생할 수 있습니다. 예를 들어, 게임 클라이언트가 UDP 기반으로 구현된 게임일 경우, 미꾸라지 TCP 연결 방식과는 상극일 수 있습니다.
UDP 방식
-
장점
- 이 보다 패킷 처리에 있어서 더 빠를 수 없습니다.
-
단점
- 방화벽 정책에 의해 관공서 / 학교 / 회사 내에서 강제로 UDP 프로토콜이 블럭되어 있을 수 있습니다.
포트 (Port) 별 차이점
-
Port 10012
FEC (Forward Error Correction) 알고리즘 기반의 통신을 하며, Packet Loss 가 있는 곳에서 유용하게 사용될 수 있는 포트입니다.
자세한 내용은 https://en.wikipedia.org/wiki/Forward_error_correction 링크를 참고 바랍니다.
-
Port 10008 / 10006
미꾸라지 data path 사용을 위해 임의 지정된 포트 번호들로써 회사 정책에 따라 혹은 임의로 미꾸라지 접근을 차단한 경우, 해당 포트들이 방화벽에 의해 차단될 수 있습니다.
-
Port 53 / 443
포트 53 의 경우, DNS 요청을 위해 필수 port 이며, 443 은 HTTPS 프로토콜 지원을 위한 필수 port 이기 때문에, 웬만한 회사의 경우 모두 이 port 에 대한 outbound 트래픽은 허용하는 정책을 가지고 있습니다. 이로 인해 미꾸라지 중계 서버를 IP 단에서 block 하지 않았다면 이를 통해 우회할 수 있습니다.
FAQ
포트 번호를 변경하여 사용하면 먼가 영향을 미칠 수 있나요?
기본적으로 Port 를 변경하여 사용하는 것이 게임에 미치는 영향은 거의 없습니다. 예를 들어, UDP Port 53 으로 구성하여 게임을 진행하든, Port 10008 로 구성하여 게임을 진행하든 제대로 동작만 한다면 둘 다 동일한 성능을 내야 합니다.
다만, 네트웍 단에 QoS 장비가 있을 경우, Port 53 으로 가는 패킷과 Port 10008 로 가는 패킷의 priority 를 둔다면 영향을 미칠 수 있는 가능성이 조금은 있습니다.