MPC(Multi Peer Connectivity)는 와이파이가 없어도 된다던데?

프로젝트에 적용하고자 했던 것

Multipeer Connectivity는 분명 필요에 따라 다양한 네트워킹 방식을 제공하는 편리한 방식이라고 했는데, 실제로 우리 앱을 통해 테스트했을 때는 와이파이 공유기를 연결하지 않은 채로 연결을 시도했을 때 원하는 만큼의 퍼포먼스를 얻을 수 없었다. 이러한 문제를 개선하고 와이파이 공유기에 연결되지 않은 상태로도 앱을 사용하는 것을 목표로 개선을 시도하였다.

3가지 네트워크

멀티피어 커넥티비티의 특징 중 하나는 하이브리드 로컬 네트워크라는 점이다.

MPC는 위 3개 네트워크 연결 방식 중 가장 빠르게 통신할 수 있는 네트워크를 선택하여 통신을 제공한다.

각각에 대해 간단히 설명을 해보면 Infrastructure Wi-Fi는 공유기라는 AP를 통해 네트워크에 접근하는 가장 Wi-Fi의 이미지에 어울리는 연결 방식이다. P2P Wi-Fi는 이름 그대로 기기간 와이파이를 연결하는 것이며, AWDL(Apple Wireless Direct Link) 프로토콜을 사용한다. 다른 널리 알려진 기술, Wi-Fi Direct의 애플 버전이라고 볼 수 있다.

P2P 와이파이의 제약

여기서 몇 가지 의문점이 생긴다. P2P 와이파이가 존재하는 이상, 이것이 가장 빠른 연결 방식이고 로컬 네트워크를 연결하기에 제약도 가장 적은 방식인데 다른 네트워크를 왜 고려할까? 이는 P2P Wi-Fi를 연결하기 위한 준비 단계 때문이다.

AWDL과 같은 P2P와이파이는 항상 켜놓기에는 기기적으로 제약이 따른다.

따라서 MPC 연결 단계에서는 P2P 와이파이가 사용되지 않고, 우선적으로 인프라 와이파이, 블루투스를 통해 연결을 한 뒤, 필요시 P2P 와이파이로 승격하는 방식이 적용된다.

결론

Advertise/Browse 단계에서는 인프라 와이파이나 블루투스라는 자원 소모가 적은 방법을 통해 연결이 이루어진다. 세션이 연결된 이후에는 가장 안정적인 통신 방법으로 통신을 진행한다.

문제점 분석

문제가 되는 현상