OpenWrt 빠른 와이파이 로밍(802.11r fast wifi roaming)

모바일 기기의 급격한 증가와 인터넷 보급, 그로인해 와이파이는 우리의 일상이 되어 버렸습니다. 그러나 와이파이를 사용하면서 아직 만족스럽지 못한것 중에 하나는 무선 범위 확장과 로밍 문제일겁니다.

이러한 문제로 와이파이 무선범위를 확장하기 위해 일반적으로 개인사용자들 사이에서는 리피터(Repeater)를 구성하거나 확장기(Extender)라는 장치를 많이 사용하고 있습니다. 그러나 리피터나 확장기는 와이파이 통신으로 라우터의 신호를 받아서 다시 송출하는 방식을 사용하다 보니 속도나 지연율 등 통신 품질에서 손해가 발생하고 클라이언트 기기 이동에 따른 로밍이 불편합니다. 그래서 요즘 상업용 메쉬 라우터라고 광고하는 제품들이 각광을 받고 있지만, 이 또한 Wi-Fi Alliance의 오랜 IEEE 802.11s 표준 및 이후의 Wi-Fi EasyMesh 표준에도 불구하고 대부분의 Mesh AP는 서로 다른 제조사 제품간에 호환되지 않습니다. 그리고 구매 측면에서 여전히 비쌉니다.

여기 대안이 있습니다. 상용 라우터에 있는 유선 메쉬와 같은 개념으로 AP에 빠른 로밍(IEEE 802.11r Fast Roaming)을 접목시켜서 AP에 연결된 장치가 다른 AP로 연결 전환(로밍)을 할 때 FT(Fast Basic Service Set Transition)라는 기능을 사용하여 더욱 신속하게 인증함으로써 사용자가 로밍에 따른 접속 단절을 느끼지 못할 정도로 하여 무선범위 확장 및 로밍문제를 해결하는 것입니다.

(사실 메시는 라우터 간 무선 연결을 위한 것으로 유선 백홀이 있는 경우 굳이 메시가 필요하지 않습니다. 많은 상업용 메시 제품이 일종의 향상된 로밍(IEEE 802.11r Fast Roaming)을 구현하고 마케팅 수단으로 이용되기 때문에 이 점에 대해 혼란스러운데 이는 메시 프로토콜의 일부가 아니며 해당 제품의 AP 인터페이스가 수행하는 작업입니다.)

개념

fast wifi roaming 802.11r

사전준비

일러두기

  • 소규모 지역의 경우 기존 라우터에 AP를 추가하는 것보다 라우터를 업그레이드하는 것이 더 나은 해결책일 수 있습니다.
  • 로밍의 결정은 라우터나 AP가 아닌 전적으로 클라이언트가 신호의 강도 등을 고려해 결정합니다.
  • AP / 메시 포인트를 과도하게 사용 하지 마세요 - 너무 좁은 영역에 AP가 너무 많으면 끔찍한 로밍 동작을 보장 할 수 있습니다. 또한 일부 장치는 로밍을 하지 않을 수도 있습니다.
  • 클라이언트가 아닌 OpenWrt 라우터에서 신호가 좋지 않을 때 클라이언트의 연결을 끊고 다른 AP를 전환하도록하는 스크립트 사용을 고려할 수 있습니다.

설치

main router 및 sub AP에 각각 wpad-mini를 삭제하고 802.11r 기능이 포함되어 있는 wpad 또는 wpad-mesh-openssl 패키지를 설치합니다. (추후 mesh 이용을 위해서 wpad-mesh-openssl을 설치)

opkg install wpad-mesh-openssl --download-only && opkg remove wpad-mini && opkg install wpad-mesh-openssl --cache . && rm *.ipk

설정

wifi 5g를 로밍하는 설정입니다. 2.4g는 각자 환경을 고려해 설정하세요.

  • main router 및 sub AP는 동일한 ssid, password, encryption, mobility_domain으로 설정합니다.
  • mobility_domain은 16진수 4자리로 아무번호를 넣을수 있으나 main router와 sub AP 입력값은 같아야 합니다.
  • channel은 서로 다르게 설정하되 5g의 경우 dfs 채널은 피해서 선택합니다.
  • FT protocol은 FT over the Air를 선택합니다.

FT over the Air 와 FT over the DS(Distribution System)
무선 클라이언트가 Fast Transition 로밍을 사용하여 로밍 할 대상 AP와 통신하는 방법에는 두 가지가 있으며,이 두 가지 방법은 FT over the Air 및 FT over the DS입니다.

FT over the Air : 클라이언트는 FT 인증 알고리즘과 함께 IEEE 802.11 인증을 사용하여 대상 AP와 직접 통신합니다.

FT over the DS : 클라이언트는 현재 AP를 통해 대상 AP와 통신합니다. 클라이언트와 타겟 AP 사이의 통신은 클라이언트와 현재 AP 사이의 FT 액션 프레임으로 전달 된 다음 컨트롤러를 통해 전송됩니다 .

luci로 설정한 main router의 wireless 설정입니다. sub AP도 같은 방법으로 channel만 다르게 설정합니다.

OpenWrt wifi fast roaming setting

설정이 완료된 main router의 /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option hwmode '11a'
        option htmode 'VHT80'
        option channel '36'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option key '[email protected]'
        option ssid 'OpenWrt50'
        option encryption 'psk2'
        option ft_over_ds '0'
        option mobility_domain '4f57'
        option ft_psk_generate_local '1'
        option ieee80211r '1'
...

설정이 완료된 sub AP의 /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option hwmode '11a'
        option htmode 'VHT80'
        option channel '157'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option key '[email protected]'
        option ssid 'OpenWrt50'
        option encryption 'psk2'
        option ft_over_ds '0'
        option mobility_domain '4f57'
        option ft_psk_generate_local '1'
        option ieee80211r '1'
...

재시작

/sbin/wifi down
/sbin/wifi up

참고사이트

  • https://atomstar.tweakblogs.net/blog/17504/improving-wifi-roaming-without-mesh-routers-1.html
  • https://forum.openwrt.org/t/wi-fi-roaming-recipe/70538
  • https://wifinigel.blogspot.com/2015/03/what-are-sticky-clients.html
  • https://www.najinauto.com/solution-wireless-roaming
  • https://www.wiresandwi.fi/blog/configuring-fast-transition-ft-80211r-on-a-cisco-wlc
  • https://www.koit.co.kr/news/articleView.html?idxno=79918

Comments

No comments yet. Why don’t you start the discussion?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

68  −  63  =