On Holy Wars and a Plea for Peace

“On Holy Wars and a Plea for Peace”는 컴퓨터 과학에서 Big-endian / Little-endian이라는 용어를 공식적으로 도입하고 널리 퍼뜨린 매우 유명한 논문입니다. 이 논문은 기술적 문제를 해결하는 동시에 걸리버 여행기의 종교·정치 전쟁 풍자를 그대로 빌려와, 네트워크 프로토콜 간의 충돌을 ‘종교 전쟁’에 비유한 수작으로 평가받습니다.

아래에서 핵심 내용을 정리해드립니다.


개요

  • 저자: Danny Cohen
  • 발표 연도: 1980
  • 문맥: 인터넷, DARPA, 다양한 컴퓨터 아키텍처가 서로 다른 정수 저장 방식을 사용
  • 목적: 컴퓨터 간에 서로 다른 바이트 순서(endian)를 사용해 생기는 네트워크 상호운용성 문제 해결을 주제로, 단순히 기술적 설명에 그치지 않고 스위프트의 걸리버 여행기를 패러디하여 분쟁을 유머러스하게 표현한 글.

Big-endian / Little-endian 용어의 기원

Cohen은 스위프트 원작에서의 “달걀을 깨는 방식 전쟁”을 그대로 패러디합니다.

걸리버 여행기에서:

  • 빅엔디언 = 달걀을 큰쪽(big end)에서 깨는 사람들
  • 리틀엔디언 = 달걀을 작은쪽(little end)에서 깨는 사람들
  • 종교적·정치적 이유로 서로 전쟁하듯 싸움

Cohen은 이를 빌려와 다음과 같이 표현:

  • Big-endian → 상위 바이트부터 저장
  • Little-endian → 하위 바이트부터 저장

그리고 서로 왜 그렇게 저장해야 하는지 진지하게 주장하며 ‘성전(Holy War)’처럼 싸우는 엔지니어들을 풍자합니다.


논문이 다루는 실제 기술 문제

당시 네트워크 연구에서 큰 문제는:

  • PDP-10, IBM 360, VAX 등 다양한 컴퓨터가 서로 각기 다른 엔디언을 쓰고 있었음
  • 인터넷(ARPANET) 프로토콜에서 수치를 교환할 때 해석이 뒤바뀌는 문제 발생

그래서 Cohen은 해결책을 제안합니다.


Cohen의 제안: “Network Byte Order” 개념

논문에서 제안한 해결책은 오늘날 표준이 됨:

네트워크에서는 모두 Big-endian 방식(상위 바이트 우선)을 사용하자. → 이것이 바로 오늘날의 network byte order.

즉:

  • 내부적으로 어떤 엔디언을 쓰든 상관없다.
  • 네트워크에서 데이터를 주고받을 때는 모두 동일한 방식으로 변환해서 보내자.

이 원칙이 오늘날에도 TCP/IP의 기본 규칙입니다.


풍자적 서술 방식의 특징

Danny Cohen은 기술적 글을 매우 문학적으로 풀었음.

  • 엔지니어들의 논쟁을 “Holy War(성전)”로 묘사
  • 전쟁의 교리를 논하는 신학자처럼 기술 논쟁을 비유
  • 걸리버 여행기의 빅엔디언/리틀엔디언 종교 분쟁과 완전히 동일한 구조

덕분에 이 글은 기술사에서 드물게 유머와 문학적 가치가 동시에 인정된 논문으로 유명합니다.


논문의 의의

  • 빅엔디언 / 리틀엔디언 용어를 공식적으로 기술계에 정착
  • 인터넷 표준의 핵심인 Network Byte Order 개념의 출발점
  • 엔지니어 논쟁을 풍자함으로써 “이건 그렇게 피 흘릴 문제 아니다”라는 메시지를 전달

구성 요약

  1. 엔디언 문제 소개
  2. 걸리버 여행기의 분쟁을 유머러스하게 인용
  3. 실제 컴퓨터 아키텍처 비교
  4. 엔디언 차이로 발생하는 문제 시나리오
  5. 해결책 제시 (network byte order)
  6. “Holy War”와 같던 엔지니어들의 논쟁을 평화롭게 만들자 → Plea for Peace

심화 자료


Table of contents