숨겨진 노드 문제

한 시나리오에서, 스테이션 A는 스테이션 B와 통신할 수 있다. 스테이션 C 또한 액세스 포인트 스테이션 B와 통신할 수 있다. 그러나 스테이션 A와 C는 서로의 범위 밖에 있어 직접 통신할 수 없으므로, 동시에 전송을 시작하여 B가 자신에게 전달될 메시지를 수신하지 못하게 한다. 무선망에서 **숨겨진 노드 문제**(hidden node problem) 또는 **숨겨진 터미널 문제**(hidden terminal problem)는 노드가 무선 액세스 포인트 (AP)와 통신할 수 있지만, 해당 AP와 통신하는 다른 노드들과는 직접 통신할 수 없을 때 발생한다.edition=1st 이는 여러 노드가 AP로 동시에 데이터 패킷을 보낼 수 있어 AP에서 간섭을 일으켜 어떤 패킷도 전달되지 못하게 하므로, 매체 접근 제어 서브계층에서 어려움을 초래한다. 무선망에서는 패킷 손실이 어느 정도 발생하는 것이 일반적이며, 상위 계층에서 재전송하지만, 한 노드가 장기간에 걸쳐 많은 대용량 패킷을 전송하는 경우 다른 노드는 굿풋을 거의 얻지 못할 수 있다. 숨겨진 노드 문제에 대한 실질적인 프로토콜 솔루션이 존재한다. 예를 들어, RTS/CTS (Request To Send/Clear To Send) 메커니즘은 노드가 짧은 패킷을 보내어 장문 데이터 패킷 전송을 위한 액세스 포인트의 허가를 요청한다. AP의 응답은 모든 노드에 의해 보이기 때문에, 노드들은 간섭하지 않도록 전송을 동기화할 수 있다. 그러나 이 메커니즘은 지연을 유발하며, 특히 짧은 데이터 패킷의 경우 오버헤드가 비용보다 클 수 있다.
# 배경
무선망의 숨겨진 노드는 다른 노드 또는 노드 집합의 범위 밖에 있는 노드이다. 많은 노드가 원형으로 둘러싸고 있는 액세스 포인트가 있는 물리적 스타 토폴로지를 생각해보자. 각 노드는 AP의 통신 범위 내에 있지만, 노드들은 서로 통신할 수 없다. 예를 들어, 무선망에서 액세스 포인트의 범위 가장자리에 있는 노드(**A**로 알려진)는 액세스 포인트를 볼 수 있지만, 동일한 노드가 액세스 포인트 범위의 반대편 끝에 있는 노드(**C**)와 통신할 수 없을 가능성이 높다. 이러한 노드들을 숨겨진 노드라고 한다. 또 다른 예로는 A와 C가 전파를 반사하거나 강하게 흡수하는 장애물의 양쪽에 있지만, 그럼에도 불구하고 둘 다 동일한 AP를 볼 수 있는 경우이다. 문제는 노드 **A**와 **C**가 액세스 포인트 **B**로 패킷을 동시에 보내기 시작할 때 발생한다. 노드 **A**와 **C**는 서로의 신호를 수신할 수 없으므로, 전송 전이나 도중에 충돌을 감지할 수 없다. 따라서 반송파 감지 다중 접속 및 충돌 탐지 (CSMA/CD)는 작동하지 않으며, 충돌이 발생하여 액세스 포인트가 수신하는 데이터를 손상시킨다. 숨겨진 노드 문제를 극복하기 위해, RTS/CTS (request-to-send/clear-to-send) 핸드셰이킹 (IEEE 802.11 RTS/CTS)이 반송파 감지 다중 접속 및 충돌 회피 (CSMA/CA) 방식과 함께 액세스 포인트에서 구현된다. 동일한 문제는 모바일 애드혹 네트워크 (MANET)에도 존재한다. IEEE 802.11은 802.11 RTS/CTS 승인 및 핸드셰이크 패킷을 사용하여 숨겨진 노드 문제를 부분적으로 극복한다. RTS/CTS는 완전한 해결책이 아니며 처리량을 더욱 감소시킬 수 있지만, 기지국으로부터의 적응형 승인 또한 도움이 될 수 있다. 숨겨진 스테이션과의 비교는 각 트래픽 클래스에서 RTS/CTS 패키지가 유리하다는 것을 보여준다 (짧은 오디오 프레임조차도 RTS/CTS 프레임에 높은 오버헤드를 유발함에도 불구하고).Pommer, Hermann: Roaming zwischen Wireless Local Area Networks. VDM Verlag, Saarbrücken 2008, . 실험 환경에는 데이터 (시간에 민감하지 않음), 데이터 (시간에 민감함), 비디오, 오디오와 같은 트래픽 클래스가 포함된다. 표기법의 예: (0|0|0|2)는 2개의 오디오 스테이션을 의미한다; (1|1|2|0)는 1개의 데이터 스테이션 (시간에 민감하지 않음), 1개의 데이터 스테이션 (시간에 민감함), 2개의 비디오 스테이션을 의미한다. 벤치마크: RTS/CTS 유무에 따른 순 처리량 (Pommer, p.179) 숨겨진 노드 문제를 해결하기 위해 사용될 수 있는 다른 방법들은 다음과 같다: * 노드의 전송 전력 증가 * 무지향성 안테나 사용 * 장애물 제거 * 노드 이동 * 프로토콜 향상 소프트웨어 사용 * 안테나 다이버시티 사용
# 해결책

## 전송 전력 증가
노드의 전송 전력을 증가시키면 각 노드 주변의 셀 크기가 커져 다른 모든 노드를 포함하게 되므로 숨겨진 노드 문제를 해결할 수 있다. 이 구성은 숨겨지지 않은 노드가 숨겨진 노드를 감지하거나 들을 수 있게 한다. 숨겨지지 않은 노드가 숨겨진 노드를 들을 수 있다면 숨겨진 노드는 더 이상 숨겨지지 않는다. 무선랜은 CSMA/CA 프로토콜을 사용하므로, 노드들은 액세스 포인트와 통신하기 전에 차례를 기다릴 것이다. 이 해결책은 숨겨진 노드의 전송 전력을 증가시키는 경우에만 작동한다. 일반적인 와이파이 네트워크의 경우, 액세스 포인트의 전송 전력을 증가시키는 것만으로는 문제를 해결할 수 없다. 일반적으로 숨겨진 노드는 클라이언트(예: 노트북, 모바일 기기)이며 액세스 포인트 자체가 아니기 때문이다. 클라이언트들은 여전히 서로를 들을 수 없을 것이다. 액세스 포인트의 전송 전력을 증가시키는 것은 실제로 문제를 악화시킬 가능성이 있는데, 이는 새로운 클라이언트들이 액세스 포인트의 범위 내에 들어오게 하여 네트워크에 다른 클라이언트들로부터 숨겨진 새로운 노드들을 추가할 것이기 때문이다.
## 무지향성 안테나
지향성 안테나를 사용하는 노드는 안테나가 향하는 방향에 위치하지 않은 노드에게는 거의 보이지 않으므로, 지향성 안테나는 매우 작은 네트워크(예: 전용 지점 간 연결)에만 사용해야 한다. 두 개 이상의 노드로 구성된 광범위한 네트워크에는 무지향성 안테나를 사용해야 한다.
## 장애물 제거
모바일 노드의 전력을 증가시키는 것이 효과가 없을 수 있는데, 예를 들어 한 노드가 숨겨진 이유가 다른 노드와의 통신을 방해하는 콘크리트 또는 강철 벽 때문인 경우이다. 그러한 장애물을 제거하는 것은 어려울 수 있지만, 장애물 제거는 숨겨진 노드 문제에 대한 또 다른 해결 방법이다.
## 노드 이동
숨겨진 노드 문제를 해결하는 또 다른 방법은 모든 노드가 서로를 들을 수 있도록 노드를 이동시키는 것이다. 숨겨진 노드 문제가 사용자가 컴퓨터를 다른 무선 노드로부터 숨겨진 영역으로 이동시킨 결과로 밝혀지면, 해당 사용자에게 다시 이동하도록 요청해야 할 수도 있다. 사용자가 이동하도록 강요하는 대안은 추가 액세스 포인트를 사용하여 숨겨진 영역에 적절한 커버리지를 추가하도록 무선 LAN을 확장하는 것이다.
## 프로토콜 향상
본질적으로 폴링 또는 토큰 전달 전략을 구현하는 추가 프로토콜의 여러 소프트웨어 구현이 있다. 그러면 마스터(일반적으로 액세스 포인트)가 동적으로 클라이언트에게 데이터를 요청한다. 클라이언트는 마스터의 초대가 없으면 데이터를 보낼 수 없다. 이는 지연 시간 증가와 최대 처리량 감소라는 대가로 숨겨진 노드 문제를 제거한다. 와이파이 IEEE 802.11 RTS/CTS는 사용되는 핸드셰이크 프로토콜 중 하나이다. 데이터를 보내려는 클라이언트는 RTS 프레임을 보내고, 액세스 포인트는 해당 특정 노드를 위해 준비되면 CTS 프레임을 보낸다. 짧은 패킷의 경우 오버헤드가 상당히 크므로 짧은 패킷은 일반적으로 이를 사용하지 않으며, 최소 크기는 일반적으로 구성 가능하다.
## 셀 (이동 통신)
셀 방식 네트워크에서는 각 기지국의 클라이언트에 대해 시분할 다중화 방식을 사용하고 공간적으로 분산된 송신기를 사용하여 숨겨진 노드 문제에 대한 실질적인 해결책이 존재한다. 이를 통해 각 노드가 잠재적으로 세 개의 기지국 중 어느 하나에 의해 서비스될 수 있어 전파 방해로 인한 문제를 크게 최소화할 수 있다.