rein’s world

프로그래머, 독서가, 게이머 그리고 블로거

무선랜 훔쳐쓰기  

Geek을 위한 웹코믹인 xkcd.com의 지난 주 금요일 코믹 스트립.

moving

We need a special holiday to honor the countless kind souls with unsecured networks named ‘linksys’
‘linksys’란 이름의 비보안 네트웍을 사용하는(제공하는) 수많은 영혼들을 위한 특별휴일이 필요하다

from http://xkcd.com CCL 2.5 attribution / non-commerical

무선랜 기술 (IEEE 802.11 의 변형들) 의 경우 기본적인 수준의 보안 개념만 존재하며, 실제로 이걸 적용해서 쓰는 사람들은 꽤나 드물다. 보통은 저 웹코믹에서 비꼬는(?) 것 처럼 linksys[1] 라고 네트웍 이름이 보이는 공유기/무선 AP의 기본 상태[2] 로 놔두는 경우가 태반이다.

그리고 이걸 geek들이나 네트웍 전공자들은 어떻게 이용하냐하면(…), 거리가 가까운 경우(흔치않음) 그냥 무선랜을 훔쳐 쓴다(…).

보통은 가까운데 있어서 쉽게 훔쳐쓰는 경우는 드물고 몇 번의 굴절 + 반사를 거쳐서 전파가(무선랜의) 오게 되는데[3] , 이런 경우엔 일종의 smart-antenna 기술…을쓰면 잘 된다. 그 방법이란게 바로 프링글스 통(?!)을 써서 전파를 모아 SNR을 더 키울는 것.[4] 흔히 이걸 cantenna라고 부른다. 위키백과에도 해당 엔트리가 있음
그리고 이런 캔테나를 실제로 사용하면 꽤나 먼 곳의 무선랜에도 어느 정도 접속이 된다. 물론 이 밑에는 원래 무선랜에는 없는 가정 — 단순하지 않은 안테나 — 이 적용되어서 설계된 것보다 먼 곳 / 잘 안될 것 같은 곳에서도 된다는 거지만…

그래서 네트웍을 짧게 써야하는 거주지(즉, 유선망을 구입하기 애매하다 싶으면)에서 이런 cantenna를 설치하고 무선랜을 연결해서 훔쳐 쓴다는 것. 실제로 내 주위에 두 명이 저 시도를 성공시켰다.
근데 뭔가 그 집 중 하나에서 802.11n[5] 지원되는 랜카드로 잡아보니 캔테나 없이도 잘 잡혀서 (이하생략)

혹은 네트웍을 짧게 쓸 때가 아니어도, 유선망이 설치되기 전까진 저런 짓을 시도…하는 경우가 꽤 흔하다고 알려져있다(…). 네트웍에 접속되려는 공돌이들의 욕망이란.[6]

ps. 위키백과의 cantenna 항목에 위의 xkcd web-comic에 관한 언급이 있다.

  1. cisco의 자회사로 네트웍 장비 — 특히 공유기 — 를 판매한다 []
  2. 제조사 이름이 기본적으로 공유기나 AP 이름 (=네트웍이름) 으로 쓰임 []
  3. 벽을 통과할 경우 매우 높은 감쇄를 겪기 때문에 살아서(…) 전파가 통과하는 경우가 적거나 비율이 낮다 []
  4. 통 내부의 알류미늄 부분으로 전파가 반사되고, 통 안에 안테나를 넣어서 모인 전파를 모은다. 물론 통 방향도 맞아야하고(…), 통 내부의 안테나 위치도 적당해야 한다. []
  5. MIMO라는 조금 더 발전된 무선 통신 기술이 추가된 무선랜의 변형 []
  6. 위의 웹코믹에서도 캔테나를 써서 길 건너의 집 무선네트웍에 연결했는데, 인터넷 연결이 없지만 케이블 밴(케이블을 설치하러다니는 밴)이 먼저 갈 것 같다고 대화하는 모습을 그리고 있음 []

By rein

August 26th, 2008 at 9:24 am

Posted in Computer

Tags: ,

리뷰: The Design of the UNIX Operating System  

Design of the UNIX Operating System (Prentice Hall Software Series)

무려 1986년에 나온 책. 몇몇 분들은 이름을 알고 있을 듯한 Maurice Bach 의 책이다.

현대적인 UNIX 시스템의 모태라 할 수 있는 UNIX System V의 “세부구현 사항”에 가까운 것들을 다룬다.
운영체제(OS) 수업 시간에 흔히 배우게 되는

  • 파일 I/O 최적화 관련된 기법들 — block-device의 buffer cache나  reada() 류의 연산들
  • 메모리 하위 시스템(페이징/페이지 교체/페이지 폴트 처리)
  • 프로세스 관리구조 / 관리 구조체
  • 프로세스간 통신 — 특히 System V IPC라거나
  • 스케쥴링
  • 멀티 프로세서 이슈

등이 System V의 “구현”을 기준으로 잘 설명되어 있다. 그런 면에서 참 유용하고 재밌게 봤는데 — 학부 시절에 신기해하며 재밌게 봤음 — 지금보고 있자니 스케쥴링/멀티프로세서 이슈 부분이 참 재밌게(?) 귀엽게(?!) 보여서 -_-;;

특히 멀티 프로세서 이슈부분에서, 왜 싱글 프로세서 기준으로 작성된 UNIX가 바로 멀티프로세서 환경에서 제대로 동작하지 않는지에 관해 인터럽트 핸들러 관련해서 설명하고 있고, 아주 고전적인 멀티프로세서 동기화 문제 — doubly linked list에서 노드 추가– 도 다룬다.

그리고 이미 지나간 이슈지만, master-slave 시스템을 MP환경에서 쓰는 얘기가 나왔던 시절이 있는데, 그 얘기도 나와서 살짝 웃었음(…). 물론 NUMA에선 유효하니 주의.

+ 커널이 preemtive kernel이 아니던 시절…사실 커널을 동시에 하나만 뜨게 하는 시절이기도 해서 현재 발전된 OS 구현을 생각하면 좀 어이없기도 하겠지만(…) 나름대로 현재 구현이 나오기전에 다른 엔지니어/과학자들이 무슨 고민을 했는지도 살짝 엿 볼 수 있다는 점에선 약간 타임머신을 탄 기분.

오래된 책이라 지금 읽으라고 권하기엔 좀 그렇고 — 굳이 읽는다면 UNIX internals 같은 책을 권함 — 간만에 책꽂이에서 나와 먼지 턴 기념으로 가볍게 리뷰했음.


By rein

August 22nd, 2008 at 7:11 am