안정배
1970년대 후반, 선진국들은 점차 컴퓨터 네트워킹 연구를 시작하고 있었다. 이는 1969년 NCP protocol을 사용한 미국의 ARPANET 성공에 고무받은 것이었다. ARPANET은 1970년대 자국 및 NATO 우방국(영국, 노르웨이)으로 노드를 확장해나갔지만 아시아 지역은 미국의 관심 밖이었다. 아시아의 컴퓨터 네트워크 연구는 1980년대 초부터 시작되었다. 1980년, 호주에서 ACSNet이 구축되었으며, 일본에서는 N1net이 1981년에, JUNET이 1984년에 구축되었다. 한국에서는 1982년, 현재 인터넷의 근간이 되는 프로토콜인 TCP/IP 프로토콜을 이용한 SDN이 구축되었다.
당시의 컴퓨터 네트워크 연구자들은 UNIX 기기 사이의 컴퓨터 네트워킹에 주목하고 있었다. 가장 큰 이유는 미국 대학의 컴퓨터 공학과들이 대부분 UNIX OS를 사용해 컴퓨터 및 소프트 개발이나 컴퓨터 네트워크 개발을 하고 있었기 때문이었다. 특히 UNIX 기기와 10대의 DEC 컴퓨터로 이루어진 CSNET(Computer Science Network)의 영향을 받았는데, CSNET은 이메일 교환과 원격 제어 기능을 가진 네트워크로 NSF(미국과학재단)의 지원으로 진행되던 프로젝트였다. 한편, 유럽에서는 UNIX 기반 네트워크인 EUNET이 구축되어 있었고, 영국에서는 CSNET과 유사한 컴퓨터 네트워크가 제한적으로 이용되고 있었다.
UNIX는 1969년, Ken Thompson을 주축으로 하는 Bell Labs와 AT&T 연구원들에 의해 만들어진 멀티 태스킹과 멀티 유저 OS로, 1960년대 Multics 프로젝트의 영향을 받아 프로그래머들 사이의 팀 활동을 개선할 목적으로 개발되었다. 당시 UNIX는 C, Fortran, Basic, Ratfor 언어를 이용해 명령어로 제어되었는데, 텍스트 편집과 파일 관리와 함께 컴퓨터들 사이의 네트워크를 구축할 수 있는 기능이 있다는 것이 특징이었다.
이러한 UNIX의 특징은 1980년대 한국의 컴퓨터 및 컴퓨터 네트워크 개발 환경에도 아주 중요하게 작용했다. UNIX 는 소스가 공개된 OS였기 때문에 컴퓨터와 소프트웨어를 연구하고 개발하는 사람들에게 필수적인 환경이었다. 또한 이렇게 획득한 기술을 유포하고 공유하는 것도 UNIX가 제공하는 컴퓨터 네트워크를 활용함으로써 가능했기 때문에 연구자들로서는 일석이조였다.
컴퓨터 관련 분야의 개발이 거의 이루어지지 않았던 한국에서는 기술력은 물론 경험을 가진 인력도 절대적으로 부족했다. 게다가 당시 한국은 GNP 2500달러 수준의 개발도상국이었다. 이러한 환경에서 컴퓨터 관련 개발을 하려면 외부의 선진적인 기술을 효과적으로 가져올 수 있는 방식이 필요했다.
1980년대 초반 미국 각 대학 컴퓨터공학과의 90% 이상이 UNIX를 사용하고 있었으며, UNIX 머신은 버클리 버전(BSD), Perdue, Eunice, IS/1, Idris 등 다양한 버전이 있었다. 또한, 당시 UNIX 시스템의 대부분은 DEC 사의 PDP11 또는 VAX 기기였다.
UNIX 환경에서의 컴퓨터 네트워킹은 UNIX에 기본으로 포함되어 있었던 UUCP(Unix-to-Unix Copy Protocol)를 이용한 것이었지만, BBN, ATT, CSNET, UNET, Berkeley, PSMC 등 다양한 방식의 네트워크를 구축할 수 있었다. 네트워킹된 컴퓨터 사이에서는 파일 및 메일 교환, 원격 제어 기능을 이용할 수 있었다.
1.1 TCP/IP 네트워크 개발 제안서
한국의 컴퓨터 네트워크 연구는 1979년, KIET 내에 조직된 작은 컴퓨터 네트워크 연구그룹에서 시작되었다. 이 그룹은 1970년대 후반, 컴퓨터와 세미컨덕터를 연구하고 개발하기 위해 설립된 국립연구소인 KIET(한국전자기술연구소, 현 ETRI)에서 형성되었고, 컴퓨터 네트워크에 관련된 연구 개발을 시작하고 있었다. 동시에, SNU(서울대학교) 대학원에도 컴퓨터 네트워킹 과정이 설립되었다.
KIET의 네트워크 연구그룹을 이끈 인물은 1979년 미국에서 막 '귀국'한 전길남이었다. 전길남은 이후 수십년 동안 한국 뿐 아니라 전 세계 인터넷과 관련된 굵직한 사건을 이끈 주역이 된다. 2차대전이 한창이던 1943년 3월, 일본 서남부의 효고 현에서 태어난 전길남은 외국인에게 관대하지 않은 일본 사회에서 식민지 국가 출신으로 살아야 했던 기억을 가지고 어린 시절을 보냈다. 한국에서 막 4.19가 끝난 1960년 5월, 미일동맹에 반대하는 일본 각 지역의 학생들이 시위에 참여했을 때, 그가 다니던 고등학교의 학생회장이었던 전길남은 진심으로 일본을 대변하는 일이 자신으로서는 할 수 없는 일이라는 것을 깨닫게 된다. 이듬해 여름, 한국을 방문한 전길남은 전쟁의 참상이 가시지 않은 한국을 보며 언젠가 한국으로 돌아가 한국에 도움이 되는 일을 하겠다고 결심한다.
1966년, 오사카 공대를 졸업한 전길남은 미국 UCLA 컴퓨터 공학부 대학원에 진학한다. 당시 UCLA 컴퓨터공학부에서는 Leonard Kleinrock 박사가 미 국방부의 지원을 받는 ARPA(Advanced Research Projects Agency) 프로젝트의 일환으로 "패킷 교환(Packet Switching)" 기술을 연구하고 있었다. 패킷 교환 방식은 보내려는 데이터를 "패킷" 단위로 조각내 개별적으로 전송하는 방식으로 수신인이 최종적으로 전체 데이터를 재구성하는 방식으로 전화 연결 등에서 사용되는 "회선 교환"과 대조되는 방식이다. 패킷 교환은 송신자가 여러 개로 나뉜 패킷을 순서대로 보내면, 수신자가 이를 다시 취합하는 방식이기 때문에 만약 교신 중 어느 한 쪽이 네트워크에서 이탈해도 이미 전송된 패킷은 목적지까지 도달할 수 있다는 장점이 있었다.
전길남은 외국인 신분이었기 때문에 미 국방부가 예산의 80%를 지원하는 ARPANET 프로젝트에 참여하기는 어려웠다. 그는 대신 지구의 컴퓨터와 우주 사이의 통신을 주제로 연구했다. 1년 만에 UCLA에서 석사 학위를 받은 전길남은 잠시 학업을 쉬기로 하고, Collins Radio(현 Rockwell International)에서 시스템 엔지니어로 일하게 된다. 당시 그가 맡은 일은 고주파 라디오 신호로 군사시설 또는 행성간 통신을 연구하는 일이었는데, 여기에 패킷 교환 방식이 사용되었다. 1969년 가을, 전길남은 박사과정을 위해 다시 UCLA로 돌아오는데, 그가 돌아온 직후인 1969년 10월, UCLA와 스탠포드 대학 연구소 사이에 ARPANET이 세계 최초로 컴퓨터 네트워크에 성공하게 된다.
한편, 이 시기 한국의 정부는 과학기술 기반을 집중적으로 만들고 있었다. 1966년에 KIST(Korea Institute of Science and Technology; 한국과학기술연구소)가 설립되었고, 1967년에는 과학기술부가 설립되었다. 1969년에는 과학기술정보센터 육성법이 제정되어 1971년 KAIS(Korea Advanced Institute of Science; 한국과학원)가, 1976년에는 KIET(Korea Advanced Institute of Science, 한국전자기술연구소; 현 ETRI)가, 1977년에는 KTRI(Korea Telecommunications Research Institute; 한국통신기술연구소)가 차례로 설립되었다.
정부는 연구시설 뿐 아니라 해외 과학자 유치 프로그램을 만들어 해외에서 박사학위를 받은 유능한 과학자들의 귀국을 권유했다. 이 프로그램으로 귀국해 KIST에서 연구활동을 하던 과학자 중에 이용태 박사가 있었다. 이용태는 ARPANET의 초기 4개의 노드 중 하나인 Utah 대학에서 미니컴퓨터를 연구하던 젊은 과학자였다. 또한, 그는 UCLA 인류학과에서 박사과정을 밟고 있었던 전길남의 부인 조혜정의 부친과 친구사이기도 했다. 1974년 미국에서 이용태와 처음 만난 전길남은 그의 권유로 아내의 박사과정이 끝나는 1979년 한국으로 귀국하겠다는 약속을 하게 된다.
1979년, 전길남은 한국으로 돌아가겠다는 고교시절의 결심대로 한국에 '귀국'한다. 이용태가 마련한 KIET의 국책연구원직이 그의 자리로 준비되어 있었다. 전길남은 KIET에서 네트워크 연구그룹을 구성하는 한 편, 서울대학교 대학원에서 강의를 시작하며 한국 생활을 시작했다.
이 시기는 한국에 수입 PC가 막 보급되던 때였기 때문에 연구소나 기업에서 컴퓨터 관련 연구를 하는 사람들이 아니면 가까이에서 컴퓨터를 접하기 어려웠다. 큰 대학이나 연구소에는 미니컴퓨터가 1~2대 설치되어 있었는데 이를 수십명의 학생이나 연구자들이 나눠 사용했다. 국산 PC는 1981년 삼보컴퓨터가 SE-8001을 발표한 이후에야 비로소 보급되기 시작했다.
전길남 등은 1980년, 상공부에 한국 최초의 '컴퓨터 네트워크' 개발 제안서를 제출했으나 이 제안서는 통과되지 못했다. 이듬해인 1981년, 같은 부처에 '컴퓨터 연구 개발 국책 프로젝트' 계획서가 제출되었고 이 계획은 통과되었다. 이후, 이를 응용한 계획이 수립되었고, 이를 통해 한국 최초의 TCP/IP 네트워크가 개발되었다. 이 네트워크의 이름이 SDN, 소프트웨어 개발 네트워크였다. SDN은 이후 시스템 개발 네트워크로 명칭을 변경했다. [Book1-Chapter 1]
전길남이 1981년 9월 30일 작성한 SDN 구축 제안서(Software Development Network(SDN)-Preliminary)에는 최초의 TCP/IP 네트워크 계획이 다음과 같이 설명되어 있다.
"소프트웨어 개발 또는 컴퓨터 개발 국가 프로젝트를 수행하기 위해 컴퓨터 네트워크가 요구된다. 소프트웨어 개발 네트워크(SDN)은 다음과 같은 역할에 사용된다;
(1) 메모(문서) 교환
(2) 프로그램(원시 코드 및 목적 코드) 교환
(3) 컴퓨터 자원 공유
(4) 데이타베이스 접속
(5) 시스템 테스팅
(6) 컴퓨터 시스템 개발
(7) 네트워크 환경에서의 학습
이 네트워크는 우리가 개발한 컴퓨터로 구축될 수 있으며, NSF(미국과학재단)과 위스콘신 대학, BBN 사가 개발한 미국 대학들의 컴퓨터 과학 네트워크인 CSNet과 유사할 것으로 예상된다.
네트워크에 사용될 하드웨어와 소프트웨어는 국가 프로젝트에 의해 개발될 컴퓨터들을 사용하는 것을 원칙으로 한다. 그러나 이들이 준비되기 전인 초기 구축 단계에서는 네트워크가 사용하려는 UNIX OS에 적합한 UNET 소프트웨어 등을 사용하기로 한다." [chon 1981]
[그림1. SDN - Preliminary]
컴퓨터 연구 개발 국책 프로젝트는 UNIX OS(운영체제)를 포함한 오픈소스를 활용한 오픈 시스템을 기반으로 하고 있었다. KIET의 네트워크 연구그룹 역시 이 프로젝트의 일환으로 컴퓨터 네트워크 개발에 참여하였다. 컴퓨터 네트워크 구축에는 TCP/IP 프로토콜이 기본 프로토콜로 선택되었는데, 이는 TCP/IP 프로토콜이 UNIX OS에 쉽게 설치할 수 있었기 때문이었을 뿐 아니라 여러 측면에서 오픈소스를 활용한 오픈시스템의 구축이 필요했기 때문이었다.
당시 TCP/IP 네트워크의 구축에서 난제 중 하나는 IP 라우팅이었다. TCP/IP 네트워크 구축에는 라우팅 처리를 할 수 있는 장비가 필수적이었는데, 한국에서는 이 장비를 구하는 것이 쉽지 않았다. 미국의 ARPANET의 경우는 BBN 사가 개발한 IMP(Interface Message Processor)라는 장비를 사용했지만, 당시 IMP는 미국 내와 NATO 우방국인 노르웨이와 영국 이외의 국가로는 반출이 금지되어 있었다. 어쩔 수 없이 기반기술부터 개발해 TCP/IP 네트워크를 개발하려는 계획은 무산되었다. 그렇게 하기에는 너무 많은 시간이 필요했고, 한국에는 유능하고 경험있는 전문가가 극히 제한적이었기 때문이었다. [Editorial: 라우팅 및 라우터에 대한 기술적인 설명 추가 필요]
이러한 이유로 한국이 선택한 것은 UNET이라는 소프트웨어 패키지를 사용하는 것이었다. UNET은 미국 3Com 사의 주력 상품으로 UNIX OS를 탑재한 컴퓨터들 사이의 통신을 제공하는 소프트웨어 패키지였다. 원래 UNET은 Ethernet 사용을 위해 만들어진 TCP/IP 프로토콜 응용프로그램으로 당시 해외에서 가장 많이 쓰이고 있었던 BSD 버전 TCP/IP 응용 프로그램과는 약간 다른 소프트웨어 패키지였다.
UNET은 UUCP, BSD, X.dot 등의 방식과 달리 '원격 터미널(Virtual Terminal)' 방식을 사용했기 때문에 기존의 컴퓨터 시스템을 데이터 통신보다 컴퓨터 네트워크 측면으로 접근해 개발에 따르는 시간을 최소화하고 저럼한 비용으로 손쉽게 설치할 수 있는 장점이 있었다. 또한 호환성이 좋았기 때문에 KIET와 서울대학교에 설치되어 있던 PDP11과 VAX 컴퓨터는 물론, 일부 Xenix 기기에서도 사용할 수 있었다. 오히려 BSD 버전의 TCP/IP 네트워크는 VAX나 PDP-11과 같은 DEC 사의 컴퓨터에 적합해 다양한 시스템 환경에서 네트워크를 구축한다면 UNET을 사용하는 것이 유리한 측면도 있었다. [cha 1982]
[그림2. UNET Architecture]
1.2 1982년 5월, 한국 인터넷 구축
국내 최초의 TCP/IP 네트워크 구축은 KIET와 서울대를 노드로 준비되었다. KIET 노드는 전길남과 차의영, 박승규가, 서울대학교 노드는 정성권, 홍봉희 등이 맡아 네트워킹 준비를 시작했다. 우선, UNIX에 익숙해지는 것이었다. UNIX를 처음 들여오는 것이었으니 이들에게 UNIX 사용법을 가르쳐줄 수 있는 사람들이 있을리 만무했기 때문에 이들은 스스로 UNIX 스터디 그룹을 만들어 UNIX 사용법을 익히는 것으로 연구를 시작해야 했다.
당시 네트워크 준비에 사용된 컴퓨터 장비는 미니컴퓨터로서는 작은 축에 속하는 DEC 사의 PDP11/44과 PDP11/70이었는데, 서울대에 설치되어 있었던 PDP11/44의 경우, 시스템 메모리가 512KB, 하드디스크 용량이 20MB였다. 여기에 TTY 콘솔과 VT-100 터미널이 시리얼포트로 장착되어 있었다.
PDP11/44에는 기본제공되어 있었던 OS인 RSX-11이 설치되어 있었기 때문에 정성권 등은 여기에 UNIX OS를 설치하는 일부터 시작했다. UNET 설치를 위해 사용하기로 한 UNIX 버전은 전길남이 자기테잎으로 구해온 Bell Labs의 UNIX 버전 7이었다. UNIX 버전7의 설치는 수월한 편이었다. UNIX 설치에 성공한 이들은 UNET TCP/IP 소프트웨어를 설치하고 시험에 나섰다.
그런데 도무지 TCP/IP 네트워크 프로그램이 작동하지 않는 것이었다. 몇 주일 동안 명령어를 바꿔넣거나 소스를 수정해 시험해보았지만 문제가 해결되지 않았다. 테스트를 위해 변환한 커널 소스를 프린트한 종이가 7~8센치미터나 쌓일 정도였다. 이 오류는 UNIX11/44와 UNIX 버전7 사이의 호환성 문제로 나타난 현상이었다. UNET 커널 인터페이스에 문제가 있었던 것이다. 문제의 원인을 알게 된 이들은 둘 사이의 호환성을 해결한 UNIX 버전7/m 을 구해 설치했다. 이렇게 UNET TCP/IP 프로토콜을 통해 네트워크를 구축할 시스템 환경은 준비가 완료되었다. 한편, 이들이 UNIX와 UNET을 설치하는 동안 TCP/IP 네트워크 교신을 시험할 두 노드인 구미 KIET와 서울대학교 사이에 1200bps 속도의 전용회선(직통전화선)이 설치되었다. 이 전화선에 연결된 모뎀을 시리얼포트로 UNET이 설치된 UNIX 기기에 연결해 교신하는 방식이었다.
[그림3. SDN architecture with UNET]
1982년 5월, KIET의 PDP11/70 컴퓨터와 300여 킬로미터 거리의 SNU의 PDP11/44 컴퓨터가 1.2Kbps의 속도의 TCP/IP 네트워크로 상호연결에 성공한다. UNET의 '가상 터미널'인 UVTP(UNET Virtual Terminal Program)을 사용해 KIET의 PDP11/70으로 서울대학교의 PDP11/44에 접속해 메시지를 입력하고, 한동안 연결을 유지한 채로 여러 응용프로그램을 사용하는데 성공한 것이다.
바로 이 교신이 한국과 아시아 최초이자 세계에서 두 번째로 구축된 인터넷, SDN(Software Development Network)의 시작이다. 당시의 연결이나 사용환경은 지금과는 사뭇 달랐지만, 이를 한국 인터넷의 시작으로 보는 까닭은 KIET와 SNU를 연결한 프로토콜이 현재 인터넷의 근간을 이루는 TCP/IP 프로토콜 및 FTP, Telnet 등의 응용 프로토콜을 사용했기 때문이다. [park 1995a]
이렇게 구축된 SDN은 TCP/IP 프로토콜 뿐 아니라 UUCP나 OSI 프로토콜도 사용할 수 있도록 디자인되었다. TCP/IP 응용 프로그램은 컴퓨터와 네트워크 자원을 많이 사용했기 때문에 일상적으로는 UUCP 프로토콜을 교신에 사용했다. 게다가 당시에는 ARPANET과 같은 미국의 TCP/IP 네트워크 노드와의 연결도 마련되지 않았기 때문에 이후 한동안 UUCP 프로토콜이 거의 대부분의 국제 네트워크를 담당했다. OSI 프로토콜이나 PC 통신과 같은 다른 네트워크 프로토콜의 개발 및 배치도 고려되었다. 브리티쉬 컬럼비아 대학의 X.400 메시지 시스템인 EAN과 CSNET의 IP-to-X.25 등이 주목할 만한 사례였다.
[그림4. 1983 SDN Configuration in 1983]
아직 우리나라에 이렇다 할 컴퓨터 네트워크가 존재하지 않았던 당시 한국에서 컴퓨터 네트워크를 구축한다는 것은 연구를 목적으로 하는 글로벌 네트워크 환경을 만들어 관련된 연구 단체 사이의 공동연구 및 컴퓨터 네트워크에 대한 경험을 쌓기 위한 것이었다고 볼 수 있다. 1980년대 SDN은 컴퓨터 망이나 분산처리를 실험하고, 소프트웨어 및 하드웨어 자원을 공유하며, 해외의 기술을 국내 각 연구소나 기업에 전달하는 역할을 했다. 또한, 컴퓨터 네트워크 뿐 아니라 과학기술 전반에 걸쳐 국내외 사용자들 사이의 정보교환에 도움을 주었다. [cha 1982]
Reference
전길남, 손덕주, UNIX Networking, 1983. [강의자료]
전길남, "초기 한국 인터넷 약사," The e-Bridge, 2011.10.
Kilnam Chon, Hyun Je Park, Jin Ho Hur, and Kyungran Kang, "A History of the Internet in Korea," IEEE Communications Magazine. (to be published)
Wikipedia, "UNIX"
[cha 1982]
[chon 1981]
[chung 1983]
[farivar 2011]
[kleinrock 2010]
[park 1995a]
[unet 1980]
*Book1-Chapter1
*Book1-Chapter2
2013.1.7
문의: sec at InternetHistory.kr