Product-4

4. 네트워크 환경에 적응하는 기능

네트워크 환경을 고려하여 동작

  • Coalesce
    똑같은 양의 메시지를 보내더라도 조금씩 여러 번 보내는 것 보다 주기적으로 모아둔 것을 한번에 보내고 여기에 Unique ID까지 적용한다면 네트워크 트래픽을 줄일 수 있습니다.
  • Fragmentation
    MTU를 고려하여 메시지를 분할하기도 합니다.
  • 혼잡제어
    과도한 UDP 통신은 망 내에 혼잡 상황을 야기하기도 합니다. ProudNet은 이를 방지하기 위해 UDP 혼잡제어 기능을 내장하고 있습니다.

다양한 네트워크 악조건에 대한 내성을 지닌 환경 적응형 네트워크 프로토콜(adaptive network protocol)

ee12

ProudNet의 네트워크 프로토콜 계층이 깊음에도 불구하고 IP 패킷 헤더 사용량을 줄이는 기법으로 서버와 네트워크 처리 효율을 높이고 있습니다.

  • 안정적인 Unreliable 메시징 프로토콜
    게임에서의 캐릭터의 이동, 기관총 난사등과 같이 자주 보내고 동기화 속도가 중요한 메시지는 UDP를 사용하여 메시지를 Unreliable하게 보낼 수 있습니다. UDP를 socket API에서 쓰는 것은 쉽지만 TCP와 달리 프로토콜이 안정적이지 못해서 다양한 네트워크 환경에서 불안정하거나 해킹에 취약합니다.
    Unreliable : 네트워크 환경으로 인한 손실, 도착 순서를 보장하지 않는 방식이지만 전송 속도는 빠릅니다.
    Reliable : 손실이 일어나지 않음을 보장하며, 도착 순서를 보장하는 방식입니다.
    ProudNet의 unreliable 메시징 프로토콜은 단순 UDP보다 높은 안정성을 제공합니다.
  • 엔진 계층에서의 QoS 기능
    통신량이 많은 게임에서는 통신량 과다로 인해 연결 장애를 유발할 수 있습니다.
    ProudNet은 이 문제를 해결하기 위해 QoS(Quality of Service) 혹은 네트워크 스로틀링(Throttling) 기술을 내장 하고 있습니다. 특히 QoS기능은 게임 중 음성채팅에서 효과적으로 사용될 수 있습니다.