반응형
ns 시뮬레이터 버전: 2.33


ns-2에서 802.11을 사용하는 노드의 transmission range는 default가 아마 250m일 것이다.
라디오 채널을 바꾸면서 간섭의 영향을 받는 경우와 그렇지 않은 경우를 비교할 일이 생겨서, multi-hop path에서 단 하나의 중간 노드만 간섭의 영향을 받도록 아래 그림처럼 디자인을 했었다.

(시나리오 1)
S --- A === B === C --- D
                 ||
                 X
                 Y

위 그림에서 B와 X는 250m 미만이면서 같은 라디오 채널을 써서 서로간에 간섭이 생기도록 되어 있고, A와 C는 X로부터 250m 밖에 있도록 했다.
여기서 S에서 D까지 데이터를 전송하고, X가 Y에게 CBR 트래픽을 발생시키면서 B의 전달을 방해하는 시나리오이다.


이제 간섭의 영향을 받지 않는 환경을 만들었다.
(시나리오 2)
S === A --- B --- C === D
                 ||
                 X
                 Y

여기서 B는 X가 발생시키는 트래픽과 다른 라디오 채널을 쓰기 때문에, X로 인한 간섭 없이 데이터를 전달해 주어야 정상이다.
그런데, 실제로는 위의 명백하게 간섭이 발생하는 경우보다 도리어 결과 (end-to-end throughput)가 더 나쁘게 나왔다. -_-
뭥미...


알고 보니, ns-2에서 RTS/CTS를 주고받는 범위가 데이터의 transmission range와 다르게 정의되어 있었다.
일반적으로 RTS/CTS 등의 메세지로 간섭을 일으키는 범위는 데이터 전송범위의 2배~2.5배 정도 된다고 한다.
그래서 ns-2에서도 그 범위가 500m가 넘게 (정확히 얼마였는지 기억안남 ㅠ) 정의되어 있다는...

결국 A와 C도 알고보니 X의 간섭 범위 안에 들어 있었던 것이다. ㅠ_ㅠ
거리를 재조정해서 A와 X가 RTS/CTS로 인한 영향을 받지 않을 만큼 충분히 거리를 띄워놓았더니 그제서야 기대하던 결과가 나왔다.
나중에 다른 무선 간섭 실험을 할 때도 참고해야겠다..
반응형
블로그 이미지

Bryan_

,
반응형
OS: Ubuntu 8.04 desktop
ns 시뮬레이터 버전: 2.33

ns-2를 설치할 때에 기본적으로 필요한 라이브러리들을 점검해 보아야 한다.
libxt-dev, libxt6
libsm-dev, libsm6
libice-dev, libice6
libx11-dev, libxmu-dev


이 중에서 맨 처음 libxt-dev를 apt-get install로 설치하면 위 목록에서 거의 대부분이 같이 설치되는 것 같다.
ns-2 자체는 잘 설치가 되어서 문제없는 줄 알았지만 nam은 설치되지 않았다.
[NS-2디렉토리]/nam-1.13으로 가서 make를 했더니 아래와 같은 에러 발생:
xwd.c:87:29: error: X11/Xmu/WinUtil.h: No such file or directory
make: *** [xwd.o] Error 1


알고보니 libxmu-dev는 설치되지 않은 것을 확인했다.
libxmu-dev를 따로 설치해 주고, [NS-2디렉토리]/nam-1.13에서 make해주면 해결된다.

반응형
블로그 이미지

Bryan_

,