반응형

(Software)

OS: Ubuntu 11.04 desktop (32bit)

Kernel: linux-2.6.38.8-generic

라우팅 프로토콜: aodv-uu-0.9.6 (http://sourceforge.net/projects/aodvuu/files/AODV-UU/0.9.6/)


(Hardware)

IBM X40, IBM X60s, Lenovo X200 (3대)



1. Ad-hoc 네트워크 설정

각 노트북에서 /etc/network/interfaces 파일에 아래와 같이 설정을 추가한다. (무선랜 인터페이스가 wlan0일 경우)

아래 설정은 하나의 예시이며, address, wireless-channel, wireless-essid는 원하는 대로 변경할 수 있다. 대신 address는 모든 기기가 같은 subnet 안에 있도록 맞출 필요가 있다.

(IBM X40)

auto wlan0

iface wlan0 inet static

address 192.168.0.3

netmask 255.255.255.0

wireless-mode ad-hoc

wireless-channel 1

wireless-essid testadhoc


(IBM X200)

auto wlan0

iface wlan0 inet static

address 192.168.0.4

netmask 255.255.255.0

wireless-mode ad-hoc

wireless-channel 1

wireless-essid testadhoc


(Lenovo X60s)

auto wlan0

iface wlan0 inet static

address 192.168.0.5

netmask 255.255.255.0

wireless-mode ad-hoc

wireless-channel 1

wireless-essid testadhoc


interfaces 파일을 저장하고 하고 나서 네트워크를 재시작한다. 사실 가장 확실한 방법은 재부팅이다. 
$ sudo /etc/init.d/networking restart

만약 Ubuntu 11.04 desktop을 쓰는 경우 우측 상단에 있는 네트워크 아이콘은 무시하는 것이 좋다. Interfaces 파일을 직접 고칠 경우 GUI 상에서 "어느 네트워크에 연결되었다"는 메세지가 보이지 않고 부채꼴 모양의 아이콘 모양도 연결된 모양으로 바뀌지 않는다. 하지만 애드혹 네트워크에 이미 참여해 있을 가능성이 높다.

어떤 경우에는 재부팅하고 나서 ifconfig 명령을 쳐봐도 무선랜 인터페이스가 보이지 않을 때도 있다. 그럴 때는 networking restart 명령을 입력한다. 우선 모두 서로 신호가 닿는 가까운 거리에 두고(one hop) 서로 ping을 보내서 응답이 오는지 테스트한다.
서로 인식되는 경우 멀티홉이 가능하도록 2대를 가능한 한 거리를 멀리 두거나 복도, 코너 등 실내 구조를 이용한다. 그래도 여전히 3대가 서로 신호가 닿을 경우에는 iwconfig를 이용해서 아래와 같이 신호 세기를 조절한다.
$ sudo iwconfig wlan0 txpower 10.0

보통 무선랜 어댑터의 신호세기가 15dBm~20dBm 정도 되는데, 조금씩 줄여 가면서 테스트할 필요가 있다. 주변에 있는 다른 신호나 벽의 위치, 공간의 폐쇄 여부에 따라서 성능이 많이 달라지기 때문에 정답이 없는 것 같다.


2. AODV 소스코드 빌드 및 실행

이어서 다운로드 받은 aodv-uu-0.9.6.tar.gz 파일을 적당한 위치에 압축을 푼다.

aodv-uu 디렉토리에 가서, 빌드를 새로 해주고 나면 aodv 데몬을 바로 실행할 수 있다.

$ make clean; make

$ make install

$ sudo ./aodvd -l -r 5

(-l 옵션은 /var/log/aodvd.log 파일에 로그를 남기는 것이고,

-r 옵션은 라우팅 테이블을 매 몇 초마다 파일에 기록할지 정하는 것이다.)



(여기부터는 내가 했던 삽질들에 대한 기록이다. ㅠㅠ)

*사실 좀더 최신 버전의 우분투(12.04 또는 12.10)를 쓰고자 했으나, aodv-uu 소스코드를 에러 없이 빌드하기 위한 조건이 커널 버전 2.6이기 때문에 커널 3.0 이상을 쓰는 최근 버전은 쓸 수 없었다.


*본 글에서 언급한 구형 노트북들보다 훨씬 성능 좋은 최신 노트북을 네트워크에 참여시키고자 했으나, (삼성 시리즈9, NT900X3C) 우분투 11.04 이하 버전을 설치하자 내장 무선랜카드가 인식되지 않았다. 그래서 어렵지만 우분투 12.04를 먼저 설치하고, (기본으로 커널 3.2만 깔린다) 커널 2.6을 빌드해서 부팅했더니 무선랜카드를 또다시 인식하지 못했다. 게다가 i5 CPU 중에서 2개의 코어가 지속적으로 80~90%의 자원을 점유하며 발열이 심해지는 현상이 발생하여 포기했다. ㅜㅜ


*게다가 우분투 12.04에서조차 시리즈9 노트북의 내장 무선랜카드는 오작동을 보였다. 그냥 내장 무선랜을 포기하고 시리즈9에 우분투 11.04를 설치하고 나서, 잘 인식되는 USB 무선랜카드를 새로 구입하기로 했다.



반응형
블로그 이미지

Bryan_

,