연결 프로토콜
연결 프로토콜은 "설정 → 프로그램" 메뉴에 들어가시면 해당 설정을 변경하실 수 있습니다.
연결 프로토콜 차이점
이 문서는 미꾸라지가 지원하는 연결 프로토콜 별 차이점, 장점과 단점에 대해 각각 기술한 문서입니다. 미꾸라지 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 를 둔다면 영향을 미칠 수 있는 가능성이 조금은 있습니다.