1990년대 다양한 무선 랜(wireless LAN) 관련 기술 및 표준이 개발되었으나
그중 가장 성공적인 기술, 와이파이(WiFi)라고 알려진 IEEE 802.11 무선 랜이 관련 기술들을 통합하게 되었다.

역방향 호환성을 갖는다.CSMA/CA라는 동일한 매체 접속 프로토콜을 사용한다.802.11 무선 랜 장치들은 두 종류의 주파수 영역에서 동작한다.
802.11n, 802.11ac, 802.11ax 표준은 MIMO(multiple input multiple-output) 안테나를 사용한다.
이는 송신과 수신 측에 각각 2개 이상의 안테나가 있어 각기 다른 신호를 송수신하는 방식이다.
802.11ac, 802.11ax 기지국은 여러 개의 스테이션을 동시에 전송할 수 있으며,
목적지에 따라 동적으로 수신자의 방향을 향해 전송할 수 있는 스마트 안테나를 사용한다.
이는 간섭을 줄이고, 동일한 데이터 전송률에서의 도달 거리를 향상하는 기능을 한다.
다음은 802.11 무선 랜 구조의 핵심적인 구성요소를 보여준다.

무선 단말기AP(access point)네트워크 인프라스트럭처 : AP, 그리고 AP를 인터넷 라우터와 연결해주는 유선 이더넷 구조를 통칭한다.아래 그림은 IEEE 802.11 스테이션들이 애드혹 네트워크를 형성하기 위해 서로를 그룹으로 연결하는 상황을 보여준다.

802.11에서 개별 무선 단말기는 네트워크 계층 데이터를 송신 또는 수신하기 전에 하나의 AP와 결합(association)되어 있어야 한다.
모든 802.11 표준에서 결합을 사용하고 있지만, 특히 IEEE 802.11 b, g, n, ac, ax 환경에서 이 주제를 논의하겠다.
SSID(Service Set Identifier)를 할당한다.채널 숫자를 할당해야 한다.
무선 스테이션이 둘 이상의 AP로부터 충분히 강한 신호를 받을 수 있는 모든 지역
이러한 AP들은 각기 다른 IP 서브넷에 있을 수 있고, 독립적으로 채널을 할당했을 수도 있다.
무선 스테이션이 인터넷에 접속하기 위해서는 정확히 하나의 서브넷에 들어가야 하므로 단 하나의 AP와 결합되어야 한다.
(결합 = 무선 스테이션이 AP와 가상 회선을 만드는 것)
비컨 프레임(beacon frame)을 전송할 것을 요구한다.SSID와 MAC 주소가 포함된다.무선 스테이션은 주변 AP로부터의 비컨 프레임을 찾기 위해 11개 채널을 살펴본다.
비컨 프레임으로부터 사용 가능한 AP들의 정보를 얻은 무선 스테이션은 결합을 맺을 AP를 하나 선택한다.
수동적 스캐닝(passive scanning) : 비컨 프레임의 수신을 통해 채널을 찾는 과정

무선 호스트는 능동적 스캐닝 과정을 수행할 수 있다.
능동적 스캐닝(active scanning) : 무선 스테이션이 영역 안에 있는 AP들에게 탐사용 프로브(probe) 프레임을 방송하는 방식

탐사용 프로브 프레임이 H1으로부터 방송된다.프로브 응답 메시지가 도착한다.스테이션의 첫 번째 프로브 요청에 응답한 AP는 여러 개의 응답한 AP 중 어떤 것이 선택될지 모르기 때문에 두 번째 요청/수락 핸드셰이킹 통신이 필요하다.
AP와의 결합 단계가 끝난 후, 무선 스테이션은 AP의 서브넷 IP 주소를 얻기 위해서 결합된 AP를 통해 서브넷으로 ‘DHCP 발견 메시지’를 전송한다.
서브넷 주소를 얻으면 인터넷의 나머지 노드는 이 무선 스테이션을 선택된 AP의 서브넷 내부의 IP 주소를 지닌 한 호스트로 여기게 된다.
무선 스테이션이 특정 AP와 결합하기 위해서는 해당 AP에게 자신을 인증(authentication)해야 할 때도 있다.
인증 서버와 통신하며, 무선 종단 스테이션과 인증 서버 사이에서 RADIUS DIAMETER 같은 프로토콜을 사용해서 정보를 중계한다.무선 스테이션이 AP와 결합되면 AP와 데이터 프레임을 송수신할 수 있다.
그러나 AP 자신을 포함한 여러 스테이션이 동시에 동일한 채널로 데이터 프레임을 전송할 수 있으므로
전송을 조정하기 위해 다중 접속 프로토콜이 필요하다.
다중 접속 프로토콜은 크게 세 가지 방법으로 분류된다.
이더넷에서 랜덤 접속 프로토콜이 커다란 성공을 함에 따라 무선 랜에서도 랜덤 접속 프로토콜이 사용된다.
802.11 무선 랜에서 사용되는 랜덤 접속 프로토콜은 CSMA/CA(carrier sense multiple access with collision avoidance)다.
즉, 스테이션이 전송하기 전에 채널 상태를 감지하고(sense), 만일 채널이 사용 중이면 전송하지 않는다.
이더넷과 802.11 모두 채널을 감지하는 랜덤 접속 프로토콜을 사용하지만,
이들 MAC(Medium Access Control, 매체 접속 제어) 프로토콜에는 차이가 있다.
충돌 회피(collision avoidance) 기술을 사용한다.숨은 터미널 문제와 페이딩 때문에 충돌을 검출하지 못할 수도 있다.링크 계층 ARQ(ACK/재전송) 방식을 사용한다.무선 랜에서 송신 스테이션이 전송한 프레임은 여러 가지 이유(숨은 터미널 문제, 페이딩 등)로 목적지 스테이션에 제대로 도달하지 못할 수 있으며,
이를 해결하기 위해 802.11 MAC에서는 링크 계층 ACK(link-layer acknowledgment)를 사용한다.

목적지 스테이션은 CRC 검사를 통과한 프레임을 수신하면
SIFS(Short Inter-Frame Spacing)라는 짧은 시간을 기다린 후에 ACK 프레임을 송신 스테이션에게 보낸다.
(1) 만일 송신 스테이션이 주어진 시간 동안에 ACK를 수신하지 못하면, 송신 스테이션은 오류가 발생했다고 가정한다.
(2) 송신 스테이션은 다시 CSMA/CA 프로토콜을 사용해서 채널 접속을 한 후 프레임을 재전송한다.
일정 횟수만큼의 재전송 후에도 ACK를 수신하지 못하면, 송신 스테이션은 포기하고 프레임을 폐기한다.
스테이션(무선 장치나 AP)이 전송할 프레임을 갖고 있다고 가정하자.
스테이션은 채널이 사용되지 않음을 감지하면 DIFS(Distributed Inter-frame Space)라는 짧은 시간 동안 기다린 후에 프레임을 전송한다.
그렇지 않고 채널이 사용 중이면 스테이션은 백오프 방식에 따라 선택된 임의의 시간 동안 대기한다. (6.3.2절 참고)
(1) ACK를 수신하면 송신 스테이션은 프레임이 목적지 스테이션에 의해 제대로 수신되었음을 알게 된다.
→ 만일 스테이션에 전송할 프레임이 또 있다면 2단계의 CSMA/CA 프로토콜을 수행한다.
(2) ACK를 수신하지 못하면 송신 스테이션은 좀 더 증가된 임의의 시간값을 선택한 후, 2단계의 백오프 과정을 수행한다.
이더넷의 CSMA/CD(collision detection) 다중 접속 프로토콜
: 채널이 사용되지 않는 유휴 상태임을 감지한 스테이션은 바로 전송을 시작한다.
802.11의 CSMA/CA(collision avoidance) 프로토콜
: 채널이 사용되지 않는 상태임을 감지하더라도 스테이션은 임의의 백오프값을 선택하여 카운트다운 과정을 거치므로 전송을 지연시킨다.
각각 전송할 프레임을 가진 2개의 스테이션이 또 다른 제3의 스테이션이 이미 전송하고 있음을 감지했기 때문에 바로 전송하지 않는 상황을 생각해보자.
이더넷 CSMA/CD에서는 전송 중이었던 스테이션이 전송을 마치면 이 두 스테이션이 바로 전송을 시작한다.
802.11은 충돌을 검출하지 않으며 전송을 중단하지도 않는다.
이에 충돌을 겪은 프레임이라도 전체를 다 전송하기 때문에, 802.11의 목표는 가능한 한 충돌을 회피하는 것이다.
두 스테이션이 채널이 현재 사용 중임을 감지하면 아래와 같은 방식으로 충돌을 회피한다.
랜덤 백오프(random backoff) 기법을 수행하여 임의의 백오프값을 선택한다.이 상황에서도 두 스테이션이 서로 숨은 터미널이거나 두 스테이션이 선택한 임의의 백오프값이 너무 가까울 경우 충돌이 생길 수 있다.
802.11 MAC 프로토콜은 숨은 터미널이 존재하더라도 충돌을 회피할 수 있는 예약 방법을 선택할 수 있도록 제공한다.
아래의 상황에서는 2개의 무선 스테이션(H1, H2)과 하나의 AP가 있다.
두 무선 스테이션은 동일한 AP의 영역 내에 있으며 이 AP와 결합되어 있는데,
페이딩 때문에 각 무선 스테이션은 AP로부터는 잘 보이지만 그들 서로 간에는 숨어 있다.

숨은 터미널이 왜 문제일까?
스테이션 H1이 프레임을 AP로 전송하고 있고, H1이 전송하는 도중에 스테이션 H2가 AP로의 전송을 원한다고 가정하자.
H1의 전송을 듣지 못한 H2는 임의의 시간(DIFS)을 기다린 후에 DATA 프레임을 전송하며 충돌이 발생하게 되고,
이에 H1의 전체 전송 시간과 H2의 전체 전송 시간 동안 채널이 낭비된다.
이 문제를 해결하기 위해 IEEE 802.11 프로토콜에서는
스테이션들이 짧은 RTS(Request to Send) 제어 프레임과 짧은 CTS(Clear to Send) 제어 프레임을 주고받게 함으로써 채널 접속을 예약할 수 있게 한다.
송신자는 DATA 프레임을 전송하고 싶으면, 먼저 RTS 프레임을 AP에게 보냄으로써
DATA 프레임과 ACK 프레임을 전송하는 데 필요한 전체 시간을 알려준다.
AP가 RTS를 수신하면 이에 대한 응답으로 CTS 프레임을 영역 내의 모든 스테이션에게 전송한다. (송신 스테이션 포함)

RTS와 CTS 프레임을 사용하면 다음과 같이 두 가지 측면에서 성능이 향상된다.
하지만 이들로 인해 지연과 채널 자원의 낭비가 생긴다.
따라서 실제로 무선 스테이션에서는 RTS 임계치를 설정하여,
임계치보다 긴 DATA 프레임을 전송할 때만 RTS/CTS 교환을 통해 채널을 예약할 수 있도록 한다.
만일 두 노드가 지향성 안테나(directional antenna)를 갖고 있다면
지향성 안테나로 상대방을 가리킴으로써 지점 간의 링크를 형성하고, 이 링크에 대해 802.11 프로토콜을 실행할 수 있다.
비용이 저렴한 802.11 하드웨어에 지향성 안테나와 증가된 전송 전력(power)을 사용함으로써
802.11은 수십 km 거리의 무선 지점 사이에 연결을 제공하는 저렴한 수단으로 사용될 수 있다.
802.11 프레임은 이더넷 프레임과 유사하지만, 무선 링크 사용에 특화된 몇 개의 필드를 갖고 있다.
아래 그림은 802.11 프레임을 표시한 것인데,
프레임의 각 필드 위의 숫자는 필드 길이를 바이트 단위로 나타낸 것이다.
Frame Control 필드의 서브필드(subfield) 위의 숫자는 서브필드의 길이를 비트 단위로 나타낸 것이다.

페이로드(payload)는 보통 하나의 IP 데이터그램이나 ARP 패킷이다.
(최대 2,312바이트까지 허용, 하나의 데이터그램이나 ARP 패킷을 포함함)
32비트의 CRC를 통해 802.11 프레임은 수신자가 수신한 프레임의 비트 오류를 검출할 수 있다.
(비트 오류는 유선 랜보다 무선 랜에서 훨씬 많이 발생하므로 CRC 기법은 무선 랜에서 더 유용함)
802.11 프레임의 가장 큰 차이점은 4개의 주소 필드를 갖고 있다는 것이다.
각 주소 필드는 6바이트의 MAC 주소를 포함할 수 있다.
왜 주소 필드가 4개나 필요할까?
네트워크 연동(internetworking)을 위해서는 3개의 주소가 필요하다.
애드혹 네트워크 모드에서 사용된다.802.11 표준에서는 처음 3개의 주소 필드를 다음과 같이 정의한다.
💡 Address 3은 BSS를 유선 랜과 연동하는 데 핵심적인 역할을 한다.
아래의 예시를 보자.

1️⃣
라우터 인터페이스 R1로부터무선 스테이션 H1로 데이터그램을 전달한다고 하자.
라우터는 자신과 H1 사이에 AP가 존재한다는 사실을 알지 못하며, H1을 자신에게 연결된 서브넷 중 하나에 대한 호스트 정도로 생각한다.
(1) 데이터그램의 목적지 주소로부터 H1의 IP 주소를 알게 된 라우터는 ARP를 사용해서 H1의 MAC 주소를 결정한다.
(2) H1의 MAC 주소를 획득한 라우터 인터페이스 R1은 이더넷 프레임 내에 데이터그램을 캡슐화한다.
802.11 프레임으로 변환한다.따라서 H1은 Address 3으로부터 데이터그램을 서브넷으로 전송한 라우터 인터페이스의 MAC 주소를 알 수 있다.
2️⃣
무선 기지국 H1이 응답으로 R1에게 데이터그램을 전송한다고 하자.
802.11 프레임을 생성한다.이더넷 프레임으로 변환한다.따라서 AP가 이더넷 프레임을 구성할 때 Address 3으로부터 목적지 MAC 주소를 결정할 수 있게 해준다.
802.11에서는 한 스테이션이 다른 스테이션으로부터 프레임을 제대로 수신할 때마다 ACK를 보낸다.
ACK가 손실될 수 있으므로 송신 스테이션은 같은 프레임을 여러 번 보낼 수도 있는데,
Sequence Number 필드로 순서 번호를 사용함으로써 수신자는 새로 전송된 프레임과 재전송된 프레임을 구분할 수 있다.
802.11 프로토콜에서 송신 스테이션은 데이터 프레임을 전송하는 시간과 ACK를 전송하는 시간을 포함한 시간 동안 채널을 예약할 수 있다.
데이터 프레임과 RTS 및 CTS 프레임 모두에 대해 이 시간값은 해당 프레임의 Duration 필드에 포함된다.
Frame Control 필드는 여러 개의 서브필드로 구성된다.
Type 필드와 Subtype 필드 : 결합, RTS, CTS, ACK, 데이터 프레임을 구분하는 데 사용된다.
To 필드와 From 필드 : 주소 필드들의 의미를 정의하는 데 사용된다.
WEB 필드 : 암호화 사용 여부를 나타낸다.
무선 랜의 물리적 영역을 증가시키기 위해 동일한 IP 서브넷에 여러 개의 BSS를 설치하기도 한다.
따라서 무선 스테이션이 기존 TCP 세션을 유지한 채로 어떻게 한 BSS에서 다른 BSS로 매끄럽게 이동할 수 있는가 하는 이동성 문제가 발생한다.

위 그림에서 두 BSS를 연결하는 장치는 라우터가 아니며, 두 BSS에 있는 AP를 포함한 모든 기지국은 동일한 IP 서브넷에 속한다.
따라서 호스트 H1이 BSS1에서 BSS2로 이동할 때 H1의 IP 주소는 동일하게 유지되며, 현재 진행 중인 TCP 연결도 유지될 수 있다.
만약 연결 장치가 라우터인 경우, H1은 자신의 IP 주소를 새로 진입한 서브넷에 맞게 변경하기 위해
현재 진행 중인 TCP 연결을 잠시 중단하거나 종료해야할 수도 있다.
→ 이동 IP(mobile IP)와 같은 네트워크 계층의 이동성 프로토콜을 사용
비컨 프레임을 수신하면, 자신의 IP 주소와 진행 중인 TCP 세션을 유지한 채로 AP1과의 결합을 끊고 AP2와 새로운 결합을 만든다.스위치는 ‘자가학습’을 하고 자동으로 포워딩 테이블을 구성할 수 있지만,
TCP 연결을 유지한 채로 BSS들 사이의 이동을 하는 사용자는 지원하지 못한다.
이더넷 프레임을 스위치로 브로드캐스트하게 만든다.앞서 보았듯이, 상이한 SNR 환경에 따라 전송률의 차이가 있는 각각 다른 변조 기법이 적합할 수 있다.
기지국으로부터 20 m 떨어져 있고 높은 SNR을 갖는 802.11 이동 사용자를 가정해보자.
따라서 일부 802.11 구현은 전송률 적응(rate adaptation) 기능을 갖고 있다.
이는 현재 또는 최근의 채널 상황에 맞추어 물리 계층 변조 기법을 적응적으로 선택할 수 있게 한다.
(TCP 혼잡 제어 기법과 유사)
802.11 표준은 노드가 신호 감지와 송수신 기능 및 다른 전력 소모가 많이 필요한
기능을 수행하는 데 사용되는 시간을 최소화할 수 있도록 하는 전원 제어 방법을 제공한다.
노드는 명시적으로 수면 상태(sleep state)와 동작 상태(wake state)를 오가며 상태를 변화시킨다.
노드는 802.11 프레임의 전력 제어 비트를 1로 세팅함으로써 AP에게 자신이 수면 모드로 돌입할 것임을 알린다.
이때 노드 내의 타이머가 AP가 비컨 신호를 보내기 직전에 노드가 깨어날 수 있도록 설정된다.
AP는 수면 상태의 노드로 프레임을 전송하지 않으며, 해당 호스트에게 향하는 프레임을 나중에 전송하기 위해 버퍼에 저장한다.
수면 상태의 노드는 AP로부터 비컨 신호가 전송되기 직전에 깨어나 재빨리(250 µs) 완전한 활성 상태(active state)로 전환한다.
블루투스(Bluetooth) 네트워크는 수십 미터 이하의 단거리에서 저전력, 저비용으로 동작한다.
따라서 WPAN(wireless personal area network) 또는 피코넷(piconet)이라고도 한다.
블루투스 네트워크에는 많은 링크 레벨 네트워킹 기술로 가득 차 있다.
무선 ISM(Industrial, Scientific, Medical) 밴드로서, 허가가 필요 없는 2.4 GHz 대역에서 동작한다.
즉, 같은 주파수 대역을 사용하는 가전제품들(전자레인지, 가정용 무선전화 등)과 경쟁하기 때문에 명시적으로 소음과 간섭 현상을 염두에 두고 설계되었다.
블루투스 무선 채널은 625마이크로초의 시간 슬롯을 가진 TDM 방식으로 동작한다.
의사 무작위 추출(pseudo-random) 방식을 사용한다.이런 형태의 주파수 변경 또는 주파수 도약 기법은 주파수 도약 확산 스펙트럼(frequency-hopping spread spectrum, FHSS) 방식으로 알려져 있다.
이를 통해 ISM 대역을 사용하는 다른 장치나 가전과의 간섭 현상이 일부 시간 슬롯으로 한정될 수 있다.
블루투스 네트워크는 인프라스트럭처(e.g., AP)가 없는 애드혹 네트워크다.
대신에 이들은 아래 그림과 같이 그들 스스로 최대 8개의 활성화된 노드로 구성된 피코넷을 형성해야 한다.

노드들 중 1개의 장치가 중앙 집중형 제어 노드로 지정되며, 나머지 장치들은 클라이언트가 된다.
피코넷 안에는 8개의 활성화된 장치 외로, 최대 255개의 ‘주차’된 장치가 있을 수 있다.
중앙 집중형 제어 노드로부터의 비컨 메시지를 수신하기 위해 주기적으로 깨어난다.피코넷 내부의 다른 노드들을 제어한다.
네트워크 진입이 허용된 클라이언트에게 폴링 방식을 사용하여 전송 권한을 부여한다.
블루투스 애드혹 네트워크는 AP 없이 스스로 네트워크를 구성해야 한다.
중앙 집중형 제어 노드가 블루투스 네트워크를 형성하려면 먼저 영역 내에 다른 어떤 블루투스 노드가 존재하는지 결정해야 한다.연속적인 32개의 조회 메시지를 각기 다른 채널을 통해 브로드캐스트함으로써 이를 수행한다.(1) 클라이언트 장치가 조회 메시지를 수신하면
(2) 다른 응답 노드와의 충돌을 피하기 위해 0~0.3초 사이의 임의의 시간 동안 대기한 후
(3) 자신의 ID를 포함하는 응답 메시지를 중앙 집중형 제어 노드에게 전송한다.
블루투스 페이징(Bluetoothe paging)
32개의 동일한 페이징 초대 메시지를 각각의 클라이언트 주소로 전송하는 것으로 페이징 단계를 시작한다.주파수 도약 패턴을 사용한 통신을 시작한다.