무선 링크는 유선 링크와 다르게 추가로 고려해야 하는 것들이 존재한다.
이런 현상을 경로 손실(path loss)이라고도 한다.
간섭하게 된다.이런 이유로 최근의 802.11 표준들은 5 GHz 대역에서 동작한다.
송신자와 수신자 간에 전송되는 전자기파의 일부가 물체나 지표에 부딪혀서
서로 길이가 다른 여러 개의 경로를 겨처갈 때 다중 경로 전파(multipath propagation) 현상이 생긴다.
이는 수신 측에서 감지되는 신호를 또렷하지 않게 만든다.
이들을 통해 알 수 있듯이, 유선 링크보다는 무선 링크에서 비트 오류가 더 자주 발생한다.
따라서 802.11을 포함한 무선 링크 프로토콜은 강력한 CRC 오류 검출 코드를 사용할 뿐만 아니라
손상된 프레임을 재전송해주는 링크 레벨의 신뢰성 있는 데이터 전송 프로토콜을 사용한다.
측정된 수신 신호의 세기와 잡음의 상대적인 비율
송신된 비트가 수신 측에서 오류로 검출될 확률
아래 그림은 이상적인 무선 채널에서 세 가지 변조(modulation) 기법의 비트 오류율을 나타내는 BER 값과 SNR 값의 관계를 보여준다.

이는 송신자가 출력 세기를 높이면 SNR 값이 커지고,
동시에 수신된 비트에서 오류가 발생할 확률은 낮아지기 때문이다.
그러나 출력 세기를 어느 임계점 이상으로 높이는 것은 이득이 없다.
출력 세기를 높이는 것의 단점은 다음과 같다.
위 그림에서 SNR 값이 10 dB일 때를 보자.
BPSK 변조 기법의 BER 값 = 10^(-7) 이하QAM16 변조 기법의 BER 값 = 10^(-1)10^(-1)는 실제 사용하기에는 지나치게 높은 오류율이기 때문에, 이 환경에서는 BPSK 변조 기법이 더 선호된다.
반대로, SNR 값이 20 dB일 때를 보자.
BPSK 변조 기법의 BER 값은 표시되지도 않을 정도로 낮다.QAM16 변조 기법의 BER 값 = 10^(-7)만약 10^(-7) 정도의 BER 값이 별문제가 없다면 이 환경에서는 높은 전송률을 갖는 QAM16 변조 기법이 더 선호된다.
이러한 고찰을 기반으로 다음에 기술한 마지막 특성이 도출된다.
SNR 및 BER 값은 이동성의 결과 또는 환경의 변화로 인해 바뀔 수 있다.
따라서 802.11 와이파이 또는 4G/5G 네트워크 기반의 셀룰러 데이터 전송 시스템에서는
주어진 채널 환경에서 적당한 BER를 만족하는 동시에 최고의 전송률을 제공하는 적응적인 변조 기법을 선택할 수 있도록 허용한다.
아래의 상황에서 A가 B로, C가 B로 데이터를 전송한다고 가정하자.

이때 A와 C의 전송 신호가 실제로 목적지 B에서 간섭됨에도 불구하고
산이나 건물 등의 환경적인 장애물로 인해 A와 C는 서로 상대방의 전송을 인지하지 못하는 일이 생긴다.
이를 숨은 터미널 문제(hidden terminal problem)한다.
신호가 무선 매체를 통과함에 따라 신호 세기가 약해지는 현상을 말한다.

위 그림에서 A와 C가 서로의 전송을 검출하기에는 충분하지 않은 세기의 신호를 수신하는 거리에 있으나,
이들 신호가 중간에 있는 B에서는 간섭된다.
코드 분할 다중 접속(code division multiple access, CDMA)은 채널 분할 접속 프로토콜의 하나로서,
무선 랜 및 셀룰러 기술에서 아주 많이 사용되고 있다.
CDMA 프로토콜에서는 송신자가 전송하는 각 비트를 확장해서
애초의 데이터 비트열보다 훨씬 빠른 속도(칩 속도(chipping rate))로 변화되도록 하는 신호(코드)를 곱하는 방식으로 인코딩한다.
아래의 간단하고 이상적인 CDMA 인코딩/디코딩 시나리오를 보자.

데이터 비트들이 CDMA 인코더에 도착하는 속도에 의해 시간의 단위가 정의된다고 가정하자.
즉, 전송되는 각각의 원래 데이터 비트는 한 비트 슬롯 시간이 필요하다.
i번째 비트 슬롯의 데이터 비트값을 di라고 하자.
계산의 편의상, 1 값을 갖는 데이터 비트는 1로, 0 값을 갖는 데이터 비트는 -1로 표시한다.
각 비트 슬롯은 M개의 미니슬롯들로 더 분할된다. (그림에서는 M = 8)
Cm(m = 1, … , M)으로 구성된다.CDMA의 동작을 구체적으로 알아보기 위해, i번째 데이터 비트인 di에 대해 살펴보자.


수신자는 인코딩된 바이트열 Zi,m을 수신해서 다음과 같이 합성함으로써 원래의 데이터 비트 di를 생성한다.

위의 시나리오 그림에서 해당 식을 통해 원래 데이터 비트가 수신자에 의해 정확히 얻어지는 것을 확인할 수 있다.
현실에서는 서로 간섭하는 다수의 송신자가 존재한다.
이 경우, CDMA 수신자는 다른 송신자들이 전송한 비트들과 섞여 있는 상황에서 내 송신자의 원래 데이터 비트를 어떻게 다시 생성할 수 있을까?
CDMA는 동시에 전송되어 간섭하는 비트 신호들을 더할 수 있다는 전제하에 동작한다.
e.g., 같은 미니슬롯에서 3명의 송신자가 1의 값을 전송하고 4번째 전송자가 -1의 값을 전송한다면,
그 미니슬롯에서 모든 수신자가 수신하는 신호는 2(= 1+1+1-1)가 된다.
다수의 송신자가 있는 경우에도 송신자 s는 아래 식을 사용해서 자신의 인코딩된 전송 비트열을 정확히 계산한다.
(위에서의 식과 동일)


i번째 비트 슬롯의 m번째 미니슬롯은 그 미니슬롯 동안 모든 N개의 송신자가 전송한 비트들의 합이 된다.

만약 송신자의 코드가 조심스럽게 선택되었다면,
수신자는 다수 송신자로부터의 혼합된 신호로부터 원하는 송신자가 전송한 데이터만을 아래 식과 같이 특정 송신자 코드를 사용해서 쉽게 추출해낼 수 있다.

아래는 두 송신자가 존재할 때, 수신자가 위쪽 송신자로부터의 원래 데이터 비트열을 구하는 과정을 나타낸다.
수신자는 아랫쪽 송신자의 간섭에도 불구하고 첫 번째 송신자의 데이터를 추출할 수 있다.

💡 CDMA는 (시간이나 주파수가 아닌) 코드를 분할(partitioning)해서 각 노드에게 적당한 코드를 할당하는 분할 프로토콜이다.
위에서는 CDMA에 대한 필수적인 설명만 했지만, 실제로는 많은 어려운 문제들이 있다.