PGR21.com
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
Date 2014/09/23 18:20:08
Name 랜덤여신
Subject [일반] 비둘기를 이용한 네트워크 전송
소프트웨어 개발자란 매우 유머 넘치는 존재입니다. 여타 공돌이와 전혀 다르죠. 전국의 어느 컴퓨터 공학과를 가든, 이성 친구 없는 학생을 찾기 어려울 정도입니다. 이는 소위 말하는 ['개발자 유머']를 살펴 보면 더욱 분명해집니다.

개발자 세상에는 ['RFC'](request for comments; 비평을 기다리는 문서)라는 이름의 전자 출판물이 있습니다. 굳이 고급스럽게 번역하자면 '댓글 좀...'이 될까요. 캐주얼한 이름과는 다르게, 굵직굵직한 인터넷 표준을 다수 배출한 저명한 출판물이죠. 그 유명한 ['HTTP 표준']도 여기서 만들어지고 있습니다.



RFC는 매년 만우절마다 개발자 유머를 담은 문서를 한두 개씩 출판하는 것으로 유명한데, 대부분은 기존 기술에 대한 패러디라서 배경 지식 없이는 이해하기 어렵습니다. 하지만 가끔 그나마 일반인에게 설명하기 쉬운 것들이 등장하기도 합니다. 예를 들어,

* 네트워크에 대한 12가지 진실(RFC 1925): "첫 번째 법칙: 이게 안 될 리가 없는데..." 어디나 그렇지만 머피의 법칙은 진리죠. http://tools.ietf.org/html/rfc1925

* 컴퓨터 이름 짓기(RFC 2100): 컴퓨터 이름을 짓는 게 얼마나 어려운지에 대한 '시'입니다. 이건 진짜 대공감. 저는 주로 온갖 작품에서 여캐 이름을 끌어 오는데, 가장 최근에 지은 컴퓨터의 이름은 ['asseylum']이군요... 덕분에 어떤 캐릭터가 로마자로 철자가 어떻게 되는지 잘 알 수 있습니다. http://tools.ietf.org/html/rfc2100

* Y10K 문제(RFC 2550): 1999년에서 2000년으로 넘어 올 때, 사람들은 Y2K 문제를 걱정했죠. 그렇다면 [Y10K 문제]는 어떤가요? 9999년에서 10000년으로 바뀔 때 심각한 문제가 발생할 수 있습니다. 이 문서는 이에 대한 다양한 해결책을 소개합니다. 그밖에 10만 년 문제, 10^30년 문제, 10^56년 문제, 10^732년, 10^18308년 문제 등도 다룹니다. http://tools.ietf.org/html/rfc2550

* 무한 원숭이 테스트 도구(RFC 2795): 원숭이가 무한한 시간 동안 타자기를 치다 보면 언젠가는 셰익스피어의 작품이 튀어 나온다는 얘기가 있죠. 그렇다면 이걸 어떻게 검증할 수 있을까요? 이 문서는 원숭이들의 저작물을 수집하고 실제로 셰익스피어의 작품이 맞는지 확인하는 통신 및 제어 프로토콜을 제안합니다. http://tools.ietf.org/html/rfc2795

그리고 오늘 소개할, ['조류 운반자를 이용한 인터넷 패킷 전송 표준']이 있습니다.

우선, 이 문서의 서문을 보면,

----

개요 및 필요성

조류 운반자는 높은 딜레이, 낮은 처리량, 그리고 [낮은 고도]의 서비스를 제공합니다. 각 운반자는 이쪽 지점에서 저쪽 지점으로의 단일 경로로 연결할 수밖에 없지만, 이른 봄을 제외하면 큰 간섭을 일으키지 않고 많은 운반자를 동시에 사용할 수 있습니다. 이는 운반자에게 허용된 [3차원 공간] 덕분에 가능하며, 기존 인터넷 표준이 사용하는 1차원 공간(역주: 랜선을 말함)과 대조됩니다. 운반자는 [고유의 충돌 방지 시스템]을 가지고 있어서 가용성(availability)이 향상됩니다. 전파 같은 몇몇 네트워크 기술과 다르게, 이 통신 방법은 [가시 거리를 넘어서는 장소]로도 전달이 가능합니다.

----

즉, 무슨 말이냐면... 인터넷 패킷을 실어 나르는 데 [비둘기]를 쓰겠다는 것입니다! 유서 깊은 전서구를 이용하는 것이죠.

구체적으로는, 패킷을 종이에 16진수로 인쇄한 후, 비둘기의 한쪽 다리에 매답니다. 패킷을 안전하게 보관하기 위해 테이프로 감쌉니다. 대역폭은 다리 길이로 제한됩니다. 한 번에 담을 수 있는 패킷 크기는 가변적이지만, 일반적으로 비둘기의 나이에 비례합니다.

송신 측에서는, 테이프를 제거한 후 종이를 스캔해서 전자적인 형태로 변환합니다. 이걸 OCR 돌려서 컴퓨터 데이터로 복원하면 됩니다.

이 문서가 처음 쓰인 것은 1990년이었고, 그 후 몇 차례 개정도 되었습니다. 그리고 마침내 2001년, 실제 구현이 만들어지기에 이르렀습니다.


[패킷을 16진수로 인쇄해서...]


[비둘기에...]


[매답니다!]


[안녕!]


[그리고 수신된 패킷을 받아서...]


[내용물을 확인한 후...]


[스캐너에 넣고 OCR 돌리면 끝!]


[작업에 참여한 동지들. 무척 즐거워 보입니다.]

그렇다면 결과는 어땠을까요?

당시 하늘에 비둘기 떼가 날고 있었기 때문에, 우리의 비둘기도 거기에 휩쓸려서(..) 같이 날아다니는 문제가 발생했다고 합니다. 행사 주최자는 "누가 비둘기들을 탓할 수 있겠습니까, 며칠 만에 햇볕이 쨍하니 날씨가 참 좋았는데요"라고 말했죠. 하지만 마침내 본능이 승리하여, 비둘기들은 한 시간 가량 즐긴 후 무사히 목적지에 도착했습니다. 9마리 중 6마리가 돌아왔고, 수신측에서 비둘기장을 닫는 걸 깜빡했기 때문에(..) 비둘기 중 두 마리에는 종이가 달려 있지 않았습니다. 그리하여 패킷 9개 중 4개가 전송에 성공한 것입니다. 따라서 패킷 손실률은 55%를 기록했습니다.

이 '구현'이라는 것은 단순히 오프라인 시연에만 의미가 있는 게 아니었습니다. 실제로 컴퓨터에서 소프트웨어적으로 만들어지기까지 했죠. 개발자들은 인터넷상에서 상대 컴퓨터가 살아 있는지 여부를 확인하는 명령인 'ping'을 사용해서 자신들의 성공을 기록했습니다.


[ping 명령의 결과는 보통 0-300밀리초 딜레이에 0% 손실이 나옵니다.]

그렇다면 비둘기들이 수행한 결과는?

----

vegard@gyversalen:~$ ping -i 900 10.0.3.1
PING 10.0.3.1 (10.0.3.1): 56 data bytes
64 bytes from 10.0.3.1: icmp_seq=0 ttl=255 time=[6165731.1 ms]
64 bytes from 10.0.3.1: icmp_seq=4 ttl=255 time=[3211900.8 ms]
64 bytes from 10.0.3.1: icmp_seq=2 ttl=255 time=[5124922.8 ms]
64 bytes from 10.0.3.1: icmp_seq=1 ttl=255 time=[6388671.9 ms]

--- 10.0.3.1 ping statistics ---
[9 packets transmitted, 4 packets received, 55% packet loss]
round-trip min/avg/max = 3211900.8/5222806.6/6388671.9 ms

----

보시면 알겠지만, 대략 3000초에서 6000초(..)라는 시간을 소요하여 패킷이 도달한 것을 알 수 있습니다. 이것이 밖에서 실컷 놀다 온 비둘기의 비행 시간이죠.

어쨌든, 이것으로 실험 성공!

http://www.blug.linux.no/rfc1149/

ps: 컴퓨터 세계에서 비둘기 드립은 역사가 깊습니다. 구글 또한 만우절 장난으로 ['사실 구글 검색 결과는 비둘기가 만들어 내는 것이다']라고 주장하기도 했습니다. http://www.google.com/technology/pigeonrank.html

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
14/09/23 18:22
수정 아이콘
글의 첫 두줄에서 본문에 대한 신뢰성을 너무 까먹은 게 아닌가 싶은(...)
하루빨리
14/09/23 18:28
수정 아이콘
공대생 유머니깐요.
무선마우스
14/09/23 18:25
수정 아이콘
역시 덕 중의 덕은...
트릴비
14/09/23 18:38
수정 아이콘
예전에 처음 원문 봤을때는 그냥 피식하고 말았는데, 어디서였는지 기억 안나는데 무슨 Delay-Tolerant Network 발표 자료 같은곳에서 이걸 예제로 적어놓은 거 보고 터졌던 기억이 나네요.
랜덤여신
14/09/23 18:44
수정 아이콘
지연 시간에 관해서라면 저는 비둘기 이거랑 '화성까지 TCP/IP를 확장한다면 지연 시간을 어떻게 관리해야 할까'가 기억에 남네요. 스펙에는 명시된 게 없지만, 현재 대부분의 구현은 최대 지연 시간이 3분이라서 3분이 지나면 연결을 끊어 버린다고 하던데, 화성은 광속의 한계 때문에 왕복 시간이 아무리 짧아야 8분이라면서...
14/09/23 18:47
수정 아이콘
재미있네요
14/09/23 19:27
수정 아이콘
비둘기야 어디가니
로마네콩티
14/09/23 20:29
수정 아이콘
옛날에 구글이 했던 만우절 유머가 떠오르네요. 아 하단에 있네요. 크크크
Je ne sais quoi
14/09/23 20:30
수정 아이콘
아 이런 얘기 엄청 좋아요 흐흐
후후하하하
14/09/23 20:46
수정 아이콘
저는 비둘기에 LTE수신기를 달아서 전세계를 비둘기로 연결한다는 생각인줄 알았네요.(약간 동물학대적이지만..)
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회 추천
공지 [일반] [공지]2024년 4월 총선을 앞두고 선거게시판을 오픈합니다 → 오픈완료 [53] jjohny=쿠마 24/03/09 27753 6
공지 [정치] [공지] 정치카테고리 운영 규칙을 변경합니다. [허들 적용 완료] [126] 오호 20/12/30 249858 0
공지 [일반] 자유게시판 글 작성시의 표현 사용에 대해 다시 공지드립니다. [16] empty 19/02/25 325993 8
공지 [일반] [필독] 성인 정보를 포함하는 글에 대한 공지입니다 [51] OrBef 16/05/03 448924 28
공지 [일반] 통합 규정(2019.11.8. 개정) [2] jjohny=쿠마 19/11/08 319241 3
101346 [일반] 민희진씨 기자회견 내용만 보고 생각해본 본인 입장 [106] 수지짜응5889 24/04/25 5889 4
101345 [일반] 나이 40살.. 무시무시한 공포의 당뇨병에 걸렸습니다 [33] 허스키3262 24/04/25 3262 4
101344 [일반] 고인 뜻과 관계없이 형제자매에게 상속 유류분 할당은 위헌 [31] 라이언 덕후3823 24/04/25 3823 1
101295 [일반] 추천게시판 운영위원 신규모집(~4/30) [3] jjohny=쿠마15706 24/04/17 15706 5
101343 [일반] 다윈의 악마, 다윈의 천사 (부제 : 평범한 한국인을 위한 진화론) [47] 오지의4616 24/04/24 4616 11
101342 [정치] [서평]을 빙자한 지방 소멸 잡썰, '한국 도시의 미래' [17] 사람되고싶다2382 24/04/24 2382 0
101341 [정치] 나중이 아니라 지금, 국민연금에 세금을 투입해야 합니다 [51] 사부작3684 24/04/24 3684 0
101340 [일반] 미국 대선의 예상치 못한 그 이름, '케네디' [59] Davi4ever8931 24/04/24 8931 4
101339 [일반] [해석] 인스타 릴스 '사진찍는 꿀팁' 해석 [15] *alchemist*4757 24/04/24 4757 11
101338 [일반] 범죄도시4 보고왔습니다.(스포X) [41] 네오짱6658 24/04/24 6658 5
101337 [일반] 저는 외로워서 퇴사를 결심했고, 이젠 아닙니다 [27] Kaestro6138 24/04/24 6138 16
101336 [일반] 틱톡강제매각법 美 상원의회 통과…1년내 안 팔면 美서 서비스 금지 [32] EnergyFlow4212 24/04/24 4212 2
101334 [정치] 이와중에 소리 없이 국익을 말아먹는 김건희 여사 [17] 미카노아3541 24/04/24 3541 0
101333 [일반] [개발]re: 제로부터 시작하는 기술 블로그(2) [14] Kaestro2914 24/04/23 2914 3
101332 [정치] 국민연금 더무서운이야기 [127] 오사십오9803 24/04/23 9803 0
101331 [일반] 기독교 난제) 구원을 위해서 꼭 모든 진리를 정확히 알아야 하는 것은 아니다 [87] 푸른잔향4235 24/04/23 4235 8
101330 [일반] 교회는 어떻게 돌아가는가:선거와 임직 [26] SAS Tony Parker 3026 24/04/23 3026 2
101329 [일반] 예정론이냐 자유의지냐 [60] 회개한가인3846 24/04/23 3846 1
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로