[네트워크] 7-3. Wi-Fi

kkado·2023년 6월 11일
1

네트워크

목록 보기
39/49
post-thumbnail

⚠️ 들어가기 앞서
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터망 과목을 공부하며 정리한 글입니다.


Wi-Fi

와이파이 (Wi-Fi, WiFi)는 전자기기들이 무선랜(WLAN)에 연결할 수 있게 하는 기술이다. (위키백과)

무선 통신 표준 기술 중 하나인 IEEE 802.11에 기반한 서로 다른 장치들간의 데이터 전송 규약이다. 일반적으로 Wi-Fi와 IEEE 802.11을 혼동하는데 Wi-Fi가 IEEE 802.11에 기반하고 있을 뿐이지 IEEE 802.11과 Wi-Fi는 엄연히 다르다. (나무위키)

와이파이는 IEEE의 LAN/MAN 표준 위원회 (IEEE 802)의 11번째 워킹 그룹 (802.11)에서 개발된 무선 랜 연결 기술이다. 와이파이를 이해하기 위해서는 802.11 랜 환경에 대한 이해가 필요하다.

무선 호스트들은 base station과 소통한다. base station은 다른 말로 access point, AP 라고도 한다.

그리고 cell 이라고도 불리는 Basic Service Set, BSS 가 존재하는데, 하나의 AP에 다수의 노드들이 있는 집합을 뜻한다.


호스트가 도착하면 반드시 AP와 연결되어야 한다.

  • 호스트는 채널을 스캔하며 beacon frame을 받는다. beacon frame이란, 네트워크의 존재를 알리고 노드로 하여금 무선 네트워크에 연결될 수 있도록 주기적으로 AP에 의해 브로드캐스트 되는 프레임이다.
  • 호스트는 연결할 AP를 선택한다.
  • 그 다음 DHCP를 이용해서 AP의 서브넷 안에 있는 IP 주소를 할당받는다.

passive / active scanning

passive scanning

  • AP들이 먼저 호스트에게 beacon frame을 보낸다.
  • 호스트 H1에서 연결할 AP에게 association request frame 을 보낸다.
  • 해당 AP가 H1에게 association response frame 을 보낸다.

active scanning

  • H1이 AP들에게 Probe request frame을 브로드캐스트한다.
  • AP들에게서 Probe response가 날아온다.
  • H1이 연결할 AP를 골라 association request frame 을 보낸다.
  • 해당 AP가 H1에게 association response frame 을 보낸다.

collision avoidance

IEEE 802.11은 CSMA를 사용한다. 그말인즉 carrier sense를 통해 신호를 보내기 전에 먼저 보낼 수 있는 상황인지를 감지한다. 그러나 CSMA를 사용한다고 하여 충돌이 발생하지 않는 것은 아니다.

그러나, IEEE 802.11은 collision detection 을 수행하지 않는다. 무선 환경에서는 충돌을 감지하기란 쉽지 않다.

따라서 CSMA/CA (CSMA with Collision Avoidance) 를 사용하여 최대한 충돌이 발생하지 않게 하는 것을 목표로 한다.

스테이션은 전송하기 전에 무선 매체의 상태를 감지해야 합니다. 매체가 DIFS( DCF Interframe Space) 기간 동안 지속적으로 유휴 상태인 경우 프레임 전송이 허용됩니다. DIFS 간격 동안 채널이 사용 중인 것으로 확인되면 스테이션은 전송을 연기해야 합니다. (위키백과)

sender는 DIFS 시간 동안 채널이 idle 할 경우에만 신호를 보내기 시작한다.
만약 busy 상태라면, random backoff time 동안 기다렸다가 다시 idle 여부를 관찰한다.
신호를 보냈을 때 ACK가 돌아오지 않는다면 backoff interval을 증가시켜서 다시 idle 여부를 관찰한다.

receiver는 frame을 성공적으로 받으면 SIFS 시간만큼 기다렸다가 ACK를 보낸다. hidden terminal problem 때문에 ACK은 필요하다.
내가 보낸 신호가 정상적으로 처리가 되었는지, 아니면 내가 모르는 다른 노드에 의해 충돌이 발생하였는지 알기 위하여 필요하다. 그러나 hidden terminal problem의 근원적인 해결은 불가능하다.

hidden terminal problem을 해결하기 위하여 RTS/CTS 를 사용할 수 있다. 송신자가 수신자에게 신호를 보내기 전에 신호를 보낼 준비가 되었다는 뜻의 RTS(Ready To Send) 메시지를 보낸다. 수신자는 채널 상황이 idle하면 받을 준비가 되었다는 뜻으로 CTS(Clear To Send) 메시지를 보낸다. CTS 메시지를 받은 송신자는 신호를 보낸다. 이 방식을 사용하면 송신자의 네트워크 바운더리 안에 없는 노드의 상황까지 반영된, 채널의 상황을 알 수 있으므로 hidden terminal problem을 해결 가능하다.


mobility within same subnet

어떤 모바일 디바이스가 한 subnet 안에서 이동하면서 연결되어 있는 (associate) AP가 바뀔 수도 있다. 따라서 subnet을 관장하는 스위치는 각각의 호스트가 어느 AP에 연결되어 있는지의 정보를 알 필요가 있다. 이 때 챕터6에서 다루었던 self learning 기법을 이용해 호스트-AP 정보를 학습 및 기억한다.

모바일 디바이스가 이동하기를 거듭하면서 AP에 연결되어 있는 디바이스들의 정보 등이 변하고, 그에 따라 SNR이 변하기 때문에 base station과 모바일 디바이스의 transmission rate는 계속해서 변화한다.

power management

노드는 전원 사용량 절약을 위하여 sleep 할 수 있다.

노드는 AP에게 "나 다음 beacon frame까지 잘게" 라고 전달하며, AP는 그 노드에게는 프레임을 보내지 않는다. 이런 식으로 항상 깨어있지 않고 잠들었다 깨었다를 반복하면서 전원 사용량을 줄일 수 있다.

그리고 비콘 프레임은 AP에서 보내는 프레임을 받을 준비가 된, 즉 active한 모바일 디바이스들의 목록을 갖고 있다.


Personal Area Network: Bluetooth

블루투스(bluetooth)는 1994년에 스웨덴의 에릭슨이 최초로 개발한 디지털 통신 기기를 위한 개인 근거리 무선 통신 산업 표준이다. (위키백과)

블루투스는 10미터 이내의 근거리에서 유선 연결을 대체하는 목적으로 주로 사용된다. 예를 들어 키보드나 마우스, 이어폰 등에 널리 사용된다.

블루투스는 ad hoc 구조를 가지고 있어 base station이 없으며, master controller 가 있고 client device 가 존재한다. 클라이언트는 마스터에게 연결을 요청하고 마스터가 이를 받아주는 (grant) 구조로 연결한다.


profile
베이비 게임 개발자

0개의 댓글