School Lecture Study/컴퓨터 통신

13. 무선 LAN

vㅔ로 2022. 12. 20. 01:34
728x90

무선 (Wireless) LANs

  • IEEE 802.11
  • 대역폭
    • 1 or 2 Mbps; 11M(802.11b, 가장 저렴한 장치), 54M(802.11g/a), 300M(802.11n), 1G+(802.11ac, 요즘은 이거 사용)
  • 물리적 매체
    • 확산 스펙트럼 (spread spectrum) radio : 2.4GHz, 5GHz
      • 2.4GHz : 54M까지는 사용 가능. 붐비는 공용 주파수
      • 그 이후로부터는 5GHz
      • 나라마다 다르다.
    • 발산 적외선 (diffused infrared) : 10m (요즘은 사용 X)

802.11 LAN architecture

  • infrasturcture mode

  • wireless host 가 base station과 통신
  • base station = access point (AP)
  • Basic Service Set (BSS) (aka “cell”)
    • wireless hosts
    • access point (AP)
  • ad hoc mode
    • hosts only
    • infra에 종속되지 않는 통신망 구축
  • wi-fi Direct 
    • wifi를 블루투스 처럼 쓰고 싶다.
    • 따로 인터페이스가 제공되지 않고, AP를 통하지 않으면서 잠깐동안 연결될 수 있어야 한다.

확산 스펙트럼 (Spread Spectrum)

  • 개념
    • 공용대역 (public band 사용을 위한 기술적 요구사항 / 제약 사항
      • 다른 사용자를 지속적으로 방해하면 안 된다. (특정 주파수만을 사용하는 것 : 지속적 사용)
      • 특정 주파수 대역만을 사용하면 간섭 / 충돌이 지속되어 다른 사용자와 동시 사용 불가능
      • 2400GHz ~ 2490GHz는 공용 주파수로, 해당 대역의 주파수를 쪼개서 사용한다.
    • 넓은 주파수 대역으로 확산해서 신호 전송
      • 간섭 / 충돌은 일시적이다. 동시 사용해도 통신 가능
      • 확산 사용 방식은 사용자마다 다르게
      • 주파수를 펼쳐서 사용한다.
    • 원래는 신호 방해를 무산시키기 위한 군사용으로 설계되었다.
    • Code Division Multiplexing도 포함

확산 스펙트럼 예1: 블루투스

  • 주파수 호핑 (Frequency Hopping) - 채널 건너뛰기
    • 임의의 주파수 시퀀스로 전송한다. (주파수를 건너뛰는 패턴 존재)
    • 송신자와 수신자는 다음 값을 공유한다.
      • Pseudo random number generator
      • 초기값 (seed)
      → 건너뛰는 패턴과 초기값을 알고 있어서 값을 찾을 수 있다.
    • Bluetooth 사용
    • 초기 802.11은 79 x 1MHz-wide 주파수 대역ㅇ르 사용
  • 주파수 hopping을 사용 안 한다면?
    • 주파수가 사용되고 있다면 둘 다 지속적으로 방해를 받기 때문에 통신할 수 없다.
    • 대역폭의 특정 주파수가 많이 사용될 수 있다.
    • hopping을 사용하면 주파수를 골고루 사용할 수 있다.
    ⇒ 주파수를 펼쳐서 쓰는 효과를 얻을 수 있다.

확산 스펙트럼 예2: 무선 LAN

  • 직접 시퀀스 (Direct Sequence)
    • 각 비트에 대해, 해당 비트를 n개의 임의 비트와 XOR 한 비트열을 전송한다.
    • 송 / 수신자는 임의의 n 비트 시퀀스를 알고 있다.
      • n-bit chipping code
    • 아래 예는 4bit chipping code(뻥튀기 코드)를 사용 → 4개로 펼쳐 보낸다.

  • 802.11은 11-bit chipping code를 사용한다.

Multiple users share the available spectrum

  • TDMA : Time을 나누고 주파수는 그대로 사용한다.
  • FDMA : 사용하는 주파수를 분리하고 Time은 줄이지 않는다.
  • CDMA : 주파수와 시간 모두 나누지 않는다.
    • 많은 사용자가 동일한 주파수 대역을 동시에 공유한다.
    • 각 사용자에게 고유한 ‘code’가 할당되어 식별과 분리가 가능하다.

CDMA

매체 접근

  • 다른 무선 기기와의 주파수 공유 문제는 Spread Spectrum으로 해결
  • 같은 BSS, 또는 주변의 같은 802.11 기기 사이에서의 채널 사용 문제는 여전히 해결 필요 ⇒ 접근 제어, 즉, MAC 필요
  • 기본적으로 이더넷과 유사
  • 단, 매체 특성 때문에 (공중 매체)
    • 충돌 인식(Collision Detection)에 문제 발생
      • 송신자가 충돌을 인식하기 어렵다.
      • jamming 후 신호 중단해서 cost를 줄여야 하지만 CD가 잘 수행되지 않아 문제가 발생한다.
    • hidden node, exposed node라는 새로운 문제 발생
      • hidden node : 충돌이 일어났는데 중단하지 않고 계속 보냄
      • exposed node 문제
        • B→A 신호 전송
        • C→A 는 실제로 충돌이 일어나므로 전송 X
        • but C→D는 문제가 없음에도 전송 X

IEEE 802.11 : multiple access

  • 2개 이상의 node가 동시에 전송하는 것 피하기
  • 802.11: CSMA - 전송 전에 sense 확인
  • 802.11: 충돌 감지가 안 됨
    • 전달된 signal이 약하기 때문에 sense collision을 받기 어렵다.
    • hidden terminal, fading 때문에 모든 collision을 인식할 수 없다.

충돌 회피 (Collision Avoidance)

  • MACAW (Multiple Access with Collision Avoidance for Wireless)
  • 송신자는 RequestToSend(RTS) frame을 전송한다. (보내도 되는지 확인)
  • 수신자는 ClearToSend(CTS) frame을 응답한다. (보낼 준비가 완료되었다고 응답)
  • 다른 노드
    • CTS를 들으면 keep quiet : CTS가 나에게 들린 거면 나를 제외한 다른 노드가 전송 준비중이라는 것이므로 신호 전달을 하지 않는다.
    • RTS는 들리지만 CTS는 들리지 않는다면 → 전송할 준비가 된 것 (exposed node 문제 해결)
  • 수신자는 프레임을 받은 후, ACK를 전송 (MAC 수준의 ACK)
    • 다른 노드들은 ACK가 전송될 때까지 기다린다.
    • software의 ACK가 아닌 랜카드의 ACK를 갖는다.
  • 충돌 문제
    • 두 개 이상의 노드가 RTS를 동시에 보낼 때
    • 충돌 인식 방법 없음 - 일정 시간 안에 CTS를 받지 못하면 충돌로 인식한다.
    • ethernet과 동일하게 exponential backoff 사용
  • 충돌 확률 개선 vs 충돌 비용 개선
    • CA의 목적 : 충돌 확률은 동일하고, 충돌 비용 (ACK가 안 올 때까지 기다리는 시간)을 줄이는 것이다.
  • RTS / CTS threshold : RTS를 보내고 CTS 받는 시간이 메시지 보내는 값에 비해 cost가 더 든다면?
    • 작은 프레임은 RTS / CTS 교환 없이 보내는 것이 유리
    • 집 공유기는 node가 적어서 충돌이 적으므로 RTS를 사용하지 않는다.

Collision Avoidance : RTS-CTS exchange

  • A, B가 동시에 전송 → 충돌 발생
  • RTS(A) → A가 B와의 경쟁에서 승리 → A가 쓰고 싶은 시간을 같이 보낸다
  • AP가 CTS(A)를 A, B에게 전달
    • CTS에는 NAV가 담겨있다; 얼마 동안 LAN을 사용할 지 전달
      • NAV : Network Allocation Vector
    • A는 CTS(A)를 받고 carrier sense 수행한 것
    • B는 NAV를 받음으로써 busy waiting할 필요가 없다. A가 얼마나 사용하는지 알고 있으므로 그 시간동안에는 확인하지 않는다.
  • A가 DATA를 보내는 동안 충돌이 발생하지 않는다.
  • DATA가 잘 전달되었으면 ACK를 전송한다.

이동성 (Mobility) 지원

  1. ad hoc networking
  2. access points (AP)
    • 고정 위치
    • 각 이동 노드는 하나의 AP와 연계된다.

  • handoff 문제 : 이동 노드가 다른 기지국의 구역으로 이동하는 경우
    • wi-fi에서는 심각한 문제 X. time out이 발생하면 재전송하여 잠깐 끊어졌다가 연결할 수 있다.
    • wi-fi에서도 자체 기지국 같은 기능을 지원하기는 함

BSS 접속 / 가입 (이동 감지)

  • 스캐닝 (Scanning) : AP 선정 작업 (wifi 검색)
    • 이동 노드가 Probe frame 전송 (broad casting 으로)
    • Probe를 받은 모든 AP는 ProbeResponse frame 응답
    • 노드가 AP를 선택 → AssociateRequest frame 응답
    • AP는 AssociateResponse frame을 응답 → setup 완료
    • 새 AP가 이전 AP에게 유선 네트워크를 통해 통보
  • 스캐닝 시점
    • 능동적 : 사용자 주도 - when join or move
    • 수동적 : 상황에 따라 - AP가 주기적으로 Beacon frame을 전송한다. Beacon frame은 AP가 자신을 홍보하는 것이라고 생각하면 된다. Beacon frame이 점점 작아지며 들리지 않으면 이동중인 것.
    • 이동하는 경우 Frame forwarding 문제는 별도이다.
      • 이동하는 것은 해결했지만 frame forwarding 문제가 해결되는 것은 아님

  • 최종 목적지인 B로 바로 전달할 수 없으므로 현재 수신자인 AP에 전달하고 최종 목적지 B는 헤더에 기입한다.

 

728x90