오픈소스에 대한 이해를 만화로 쉽게 할 수 있는 블로그가 있어서 원작자 님의 허락을 얻고 공유합니다. 공유를 허락해주신 원작자님에게 감사 드립니다.
원작자 : https://joone.net/
TCP/IP 통합
아파넷에서 가장 중요한 부분은 바로 네트워크 프로토콜을 설계하고 구현하는 작업이였다. 미국방성 고등 방위 연구 계획국(DARPA)은 군수업체 중 하나인 BBN Technologies에게 여러 플랫폼에 TCP/IP를 구현하도록 했다. TCP/IP 구현이 어느 정도 진행된 후, UC 버클리대학 CSRG(Computer Systems Research Group)는 BBN Technologies이 구현한 TCP/IP 코드를 BSD 유닉스에 통합하기 시작했다.
“드디어 TCP/IP 소스코드가 도착했네. 어디 BSD에 적용해볼까”
“이런식으로 구현하면 로컬 네트워크에서는 성능이 안나올 텐데.. 내가 좀 고쳐야겠다.”
1980년 초 TCP/IP 회의
“제가 모이자고 한 이유는 CSRG에서 BBN Technologies에서 개발 중인 TCP/IP 코드를 받아 일부 수정을 했는데, 성능이 무척 향상되었다는 보고를 받았기 때문입니다.”
“어떻게 이게 가능한가요?”
“늦어져 죄송합니다. 빌 조이입니다”
“때 마침 잘 왔어요.”
“어떻게 이렇게 성능이 좋아졌나요?”
“아, 제가 소스코드를 보니 이대로 적용해서는 안될 것 같더군요. 로컬 네트워크에서는 많은 컴퓨터가 동시에 사용해서 높은 대역폭이 필요해서 좀 더 성능을 높일 수 있는 방안을 구현했지요.”
“어떻게 구현했나요?”
“아.. 그냥 TCP/IP 스펙을 보고 구현했어요.”
BBN Technologies가 BSD용 TCP/IP를 시작했지만, CSRG멤버들이 초기에 받아 구현한 TCP/IP 코드가 4.2BSD를 통해 릴리스되었다. BBN은 자신들이 개발한 TCP/IP를 4.3BSD에 적용하려고 했지만, CSRG가 구현한 TCP/IP가 더 안정적으로 동작하여 최종적으로 BSD에 적용되었다. 그리고, 1982년 빌 조이는 썬 마이크로시스템스 창업을 위해 CSRG를 떠난다.
“과제는 끝내고 가야지!”
“교수님 죄송합니다. 레플러가 저 대신 BSD유닉스 릴리스를 맡을 겁니다.”
“자, 진짜 유닉스 머신을 만들러 가자!”
하지만, 빌 조이는 CSRG를 떠난 후에도, IPC 구현과 커널 코드가 포팅이 용이하도록 수정하는 작업을 마무리 지었다.
“작업하던 IPC구현은 빨리 끝내자. 어차피 SunOS에도 추가해야 하니까..”
빌 조이가 떠나자 사무엘 J 래플러(Samuel J Leffler)가 책임자가 되었다. 사무엘은 새 시그널을 구현하고 마셜 커크 매큐직(Marshall Kirk McKusick)가 구현한 파일시스템과 TCP/IP 등을 추가해서 1983년 8월 4.2BSD를 발표한다.
“4.2BSD의 주요 기능은 시그널과 TCP/IP!”
사무엘이 4.2BSD를 완성하고 루카스아츠사로 떠나자, 후임으로 마이클 J. 캐럴스(Michael J. Karels)가 개발을 책임지게 된다.
4.2BSD는 인기가 많아서 1000개 이상 라이선스 계약을 따냈는데, 당시 AT&T유닉스에 TCP/IP 기능이 없는 것도 큰 이유 중 하나였다.
“아직도 TCP/IP가 안되는 AT&T 유닉스를 쓰고 있나요? 4.2BSD를 써보세요.”
곧바로 AT&T 유닉스도 BSD에서 추가된 네트워크 기능을 추가한다.
“4.2BSD에 추가된 TCP/IP를 AT&T 유닉스에도 추가하시요.”
“새로 구현하란 말씀인가요?”
“크… 당신이 TCP/IP를 새로 구현할 수 있겠는가?”
“으…. 아닙니다. 4.2BSD에서 TCP/IP 코드를 가져와서 바로 적용하겠습니다.”
다음에 계속…
참고 문헌
- ANDREW LEONARD, BSD Unix: Power to the people, from the code, 2000
- 마샬 커크 맥퀴식, 버클리 유닉스의 20년, 오픈소스 혁명의 목소리, 한빛출판사, 2013
- https://en.wikipedia.org/wiki/Computer_Systems_Research_Group
- https://www.freebsd.org/doc/en/books/design-44bsd/overview-network-implementation.html
만화 중 잘못된 부분이나 추가할 내용이 있으면 만화 원고에 직접 의견을 남겨주시면 고맙겠습니다. 그 외 전반적인 의견은 이 블로그에 바로 답글로 남겨주세요.
빌 조이 당신은 도대체?
어느새 컴퓨터 형태가 PC에 가까워 졌네요.