다수의 IoT 장치들을 사용하는 환경에서 장치들의 실시간 정보 수집을 위한 메시지 전송 프로토콜로서 MQTT 의 채택이 증가하고 있다. 표준 MQTT는 다수의 장치로 메시지를 발행 시, 각 개별 장치에게 TCP 유니캐스트 전송한다. 이는 구독자의 수가 늘어날수록 트래픽과 전송 지연을 증가시킨다. 동일한 토픽에 대해 발행하는 브로커가 다수일 경우, 구독자는 각 브로커를 모두 구독해야 한다.
본 연구에서는 SDN 네트워크에 연결된 각각의 LAN에 MQTT 브로커가 위치한 환경에서, 서로 다른 LAN 상의 MQTT 브로커들 간 MQTT 메시지를 L2 멀티캐스트 하는 방법을 제안한다. MQTT 브로커들은 MSRP를 사용하여 특정 토픽에 해당하는 MQTT 메시지의 발행을 광고하고, 구독을 예약한다. 이후, MQTT 메시지를 링크 레이어로 멀티캐스트 한다. 이 방법을 통해 MQTT 구독자가 특정 토픽에 대해 구독 중이라면 동일한 SDN 네트워크를 통해 연결된 다른 MQTT 브로커에서 발행되는 동일한 토픽의 MQTT 메시지들을 모두 수신할 수 있게 된다.
시뮬레이션 환경에서 본 제안을 표준 MQTT 방식과 비교하였을 때, 최종 브로커까지의 전달 시간이 약 56.55% 감소하고 네트워크 상의 트래픽이 약 44.44% 감소함을 확인하였다. 멀티캐스트를 통해 전달되는 MQTT 메시지에 QoS 정책을 적용하여 우선 순위를 부여하고 대역폭을 할당할 수 있음을 확인하였다.