http://www.inews24.com/php/news_view.php?g_serial=247257&g_menu=020600
이 뉴스를 보다가 문득 생각나서 오늘도 글 하나를 적어봅니다..
루트 서버라는 존재를 우리는 평소 거의 인식하질 못하고 살아갑니다.
그냥 당연히(?) 인터넷선 연결하고 컴퓨터 켜면 인터넷이 되어야 한다라고 인식하는 거죠. 마치 전화기를 들면 당연히 삐~ 하는 소리가 나고 전화번호 누르면 전화가 걸려야 한다고 인식하는 것 처럼 말이죠.
우리가 사용하는 인터넷은 어딘가에 숨어 있는 13 대의 루트 서버에 의해서 유지, 관리 됩니다. 이 루트 서버는 마치 터미네이터에 나오는 스카이넷 처럼 전 세계의 인터넷을 컨트롤 하면서 모든 사람들을 감시하고 통제하고 있습니다. 단지 13대의 서버가 사실상 전 세계를 지배하고 있는.. … .(… 재미도 없는데… 더 질질 말하면 맞겠네요..–;; ).. ..
암튼 .. 세계에 13대 밖에 없는 루트 서버.. 그나마 아시아에는 유일하게 일본에 딱 1대가 있습니다.
루트 서버는 미션 임파서블에 나옴직한 화려한 환경에서 삐~삐~ 하는 기계음을 내는 그런 컴퓨터가 아니라..이렇게 생겼습니다.
이 서버는 K 루트 서버구요. 아.. 13대의 루트 서버는 각각 A부터 M까지의 알파벳이 이름으로 부여되어 있습니다. 그러니깐 이 서버는 11번째 루트 서버 인거죠.( 사진의 출처는 Wikipedia 입니다. )
[#M_각 서버들의 위치..|닫기..|
| Letter | Old name | Operator | Location |
|---|---|---|---|
| A | ns.internic.net | VeriSign | Dulles, Virginia, USA |
| B | ns1.isi.edu | ISI | Marina Del Rey, California, USA |
| C | c.psi.net | Cogent Communications | distributed using anycast |
| D | terp.umd.edu | University of Maryland | College Park, Maryland, USA |
| E | ns.nasa.gov | NASA | Mountain View, California, USA |
| F | ns.isc.org | ISC | distributed using anycast |
| G | ns.nic.ddn.mil | U.S. DoD NIC | Columbus, Ohio, USA |
| H | aos.arl.army.mil | U.S. Army Research Lab | Aberdeen Proving Ground, Maryland, USA |
| I | nic.nordu.net | Autonomica | distributed using anycast |
| J | VeriSign | distributed using anycast | |
| K | RIPE NCC | distributed using anycast | |
| L | ICANN | Los Angeles, California, USA | |
| M | WIDE Project | distributed using anycast |
_M#]
그럼 이 루트 서버들이 하는 역할은 무엇인가?
여러분이 익히 알고 계시는 DNS의 역할입니다. 즉 우리가 주소창에 http://blog.magicboy.net 이라고 쳤을때 그 주소에 해당하는 서버가 어떤 건지를 알려주는 겁니다.
물론 이 세상에는 이 13대 말고도 수많은 DNS가 존재하지만 이 13대의 루트 서버는 그런 수많은 DNS의 최상위에 위치하고 있는 슈퍼 DNS 인 것입니다. .com, .org 같은 도메인과 각 국가 도메인의 정식 원본이 여기서 관리되구요. 13대에는 똑같은 정보가 유지되죠.
만약 불의의 사고로 몇 대가 부서지더라도 인터넷 망이 붕괴되지 않게 하기 위해서 13개의 백업 서버를 뒀다고 보면 되겠네요.( 13대 중에서도 최 상위의 A 서버는 .. 당연히(?) 미국에 있습니다.. 나머지 12대에서는 A서버에 있는 내용을 복사해서 저장하는 거죠.. 그럼.. A서버만 망가뜨리면.. 나머지는 바보가 되는 걸까요?-_-;…. 아무도 성공한 적이 없어서 알 수가 없네요..;; ; ;;; )
실제로 동작하는 모습은 이렇습니다( 역시 출처는 WikiPedia 입니다^^; )
만약 여러분이 브라우저 주소창에 “http://www.wikipedia.org” 를 입력하면, 그 주소는 여러분이 가입되어 있는 통신사의 DNS 에 전달됩니다. 그러면 그 DNS에서는 org 에 해당하는 주소를 찾기 위해서 루트 서버에 문의를 합니다.
그러면 루트 서버는 . .. org 에 대한 정보를 가지고 있는 DNS 주소를 알려줍니다-_-;
그러면 다시 org 에 대한 정보를 가지고 있는 DNS에 물어보죠.. 이 주소가 어디를 가리키는 거냐고..
그럼 다시 이 넘은 자기 하부의 다른 DNS를 지정해서 거기에 물어보라고 하고..
그렇게 해서 최종적으로 .. http://www.wikipedia.org 에 대한 IP 주소를 찾아내는 겁니다.
그런데. .. 전 세계의 모든 사람들이 하루에도 수백번씩 주소를 요청하는데.. 이걸 일일이 이런식으로 조회하면. ….. 현존하는 어떤 기술로도 감당이 안되겠죠??… 루트 서버를 수천대를 두던가..-_-;;
그래서 실제로는 이런식으로 동작합니다.
(앞으로 별말 없으면 자료 출처는 다 WikiPedia 입니다..^^;; )
PC안에도 일부 DNS 정보를 저장하고 있고, 각 통신사의 DNS에도 주소 정보를 저장하고 있습니다. 그래서 만약 요청하는 주소가 이미 저장되어 있는 정보라면 그 값으로 바로 찾아가구요..
처음보는 주소일 경우에 위로 재귀적으로 탐색해서 들어가는 겁니다. 한번 찾으면 그 값은 또 저장되겠죠… ( 뭐.. 무한히 저장되는 건 아닙니다… 특정 알고리즘에 따라.. 그 주소 테이블이 갱신되죠… 지워지기도 하고.. )
…..수많은 예외적인 경우가 있고( 넷피아 같은 업체도 있고..-0-;; .. 북한 같은 특수한 망도 있고… ), 복잡한 규약, 표준 등등이 존재하지만… 그건 수업 시간에 배우시고요…
(이미 지금도..충분히 재미 없을듯.. )
우리가 그냥 무심코 쓰는 인터넷을 유지하기 위해서 뭔가가 열심히 작동하고 있고, 또 그 기계들을 위해서 오퍼레이터나 기타 관련된 사람들이 더 열심히 뭔가를 하고 있다는 사실을 가끔씩은 상기해 봅시다..^^;
항간에 떠도는 소문에… 중국이 저 루트 서버를 만들려고 한다라는 말이 있더군요… 하긴.. 그 인구면..그냥 따로 루트 서버라고 만들어서. 자기들끼리만 써도 … 상관없을 것 같기는 합니다..-0-;;;; … 그러면 정말 완전 … 외부와 차단을 시켜버릴수가 있겠죠..
중국에서 allblog.net 을 입력했는데.. 해당 주소에 대한 값을 모조리 다른 주소로 알려줘 버린다면?;;;….
Related posts:
재미있는 포스팅 감사합니다. 몰랐던 사실이네요.
저도…개략적으로만 알고 있다가..
글 쓰면서 많이 배웠네요..ㅎㅎ..
좋은 정보군요 ^^
전공 배운지도 오래되서 가물가물 했는데.. 이런거 적으니깐.. 기억도 되살아 나고 좋더라구요..^^