Product-6.2

P2P간 Unreliable & Reliable 메시징 지원

P2P간 UDP로 통신하는 것은 TCP에 비해 만들기가 쉽지만, 손실이 생길 수 있습니다.
이러한 경우 P2P로 보낸 메시지가 누락되는 문제가 생길 수도 있습니다.
ProudNet에서는 이 문제도 해결하기 위해 TCP와 비슷한 방식의 ARQ 기법을 내장하여 P2P간에도 신뢰성 있는 메시징을 해줍니다.

높은 홀펀칭 유지율

안정적인 P2P 통신은 장시간 많은 P2P 연결이나 높은 통신량에서도 생존하게 하는 기술이 더 중요합니다.
PC방 또는 중국에서는 인터넷 공유기 하나에 수십대에서 수백대의 컴퓨터를 연결해서 쓰는 경우가 있습니다.
이러한 경우 과다한 P2P 통신이 많은 인터넷 공유기 내의 포트 매핑 엔트리 목록이 가득 차서 인터넷 연결이 종종 끊어지는 경우가 발생할 수 있습니다.
ProudNet은

  • Just-in-time 홀펀칭 기능
  • 포트 매핑 재사용 기능
  • 포트 매핑 엔트리가 겹쳐지는 문제가 생기지 않게 하는 기능

을 내장하고 있습니다.

홀펀칭 릴레이 자동 전환 기능

P2P 연결이 성공적으로 이루어졌다 해도 트래픽 사용량이나 라우터의 상황에 따라 홀펀칭은 언제든지 증발할 수 있습니다. 이를 제어하지 못하면 함께 플레이하던 플레이어가 갑자기 움직이지 않는 등의 예상하지 못했던 상황이 발생할 수 있습니다.
ProudNet는 P2P 연결 상태를 감지하여 홀펀칭과 릴레이를 적절히 활용합니다.
홀펀칭이 증발하더라도 릴레이를 통해 ProudNet을 사용하는 사용자 입장에서는 연결 끊어짐이 아닌 잠깐의 레이턴시일 뿐입니다.
게임 서버 개발자 입장에서는 P2P 통신이 항상 유지된다는 가정하에 안심하고 게임 프로그램을 개발할 수 있습니다.

Just-In-Time 홀펀칭

dqwe1

  • P2P Group을 맺게 되면 사용자의 메시징은 일단 릴레이로 처리되고 내부적으로 홀펀칭을 시도합니다.
  • 홀펀칭이 성공하면 이후부터는 직접 메시징을 하게 됩니다.
  • 따라서 사용자는 P2P Group을 맺은 직후 대기 할 필요 없이 바로 P2P 통신이 가능합니다. 내부적으로 알아서 릴레이/홀펀칭 전환이 가능하기 때문입니다.