Güncellendi 1 ay önce
네트워크가 어떻게 작동하는지 설명하는 두 가지 모델이 있습니다. 7계층 OSI 모델과 4계층 TCP/IP 모델입니다. 이 둘은 경쟁하는 표준이 아니고, 같은 것을 다르게 설명하는 방식도 아닙니다. 근본적으로 다른 종류의 모델이며, 그 차이를 이해하는 것이 계층을 암기하는 것보다 훨씬 중요합니다.
OSI는 청사진입니다. TCP/IP는 지도입니다.
하나는 집을 짓기 전에 그려졌고, 다른 하나는 직접 발로 뛰어다닌 후에 스케치되었습니다.
청사진: OSI
국제 표준화 기구(ISO)는 1970년대 후반에 OSI 모델을 개발하여 1984년에 발표했습니다. 미래의 모든 네트워킹을 위한 마스터 플랜으로 설계된 것으로, 서로 다른 제조사의 장비들이 서로 통신할 수 있도록 보장하는 포괄적이고 제조사 독립적인 프레임워크였습니다.
핵심 단어는 설계입니다. OSI가 먼저 나왔고, 그다음에 프로토콜이 뒤따라올 예정이었습니다. 이상적인 세계에서 네트워킹이 어떻게 작동해야 하는지를 설명하는 이론적 프레임워크입니다.
7개 계층:
- 물리 계층 — 전선 위의 비트, 전기 신호, 광 펄스
- 데이터 링크 계층 — 프레임, MAC 주소, 로컬 전달
- 네트워크 계층 — 패킷, IP 주소, 네트워크 간 라우팅
- 전송 계층 — 세그먼트, 포트, 신뢰성 있는 전달과 신뢰성 없는 전달
- 세션 계층 — 연결 관리, 대화 흐름 정리
- 표현 계층 — 데이터 형식화, 암호화, 압축
- 응용 계층 — 사용자가 직접 접하는 프로토콜 (HTTP, SMTP, DNS)
우아합니다. 포괄적입니다. 각 계층에는 하나의 역할만 있습니다.
지도: TCP/IP
TCP/IP 모델은 다르게 탄생했습니다. DARPA는 1970년대에 실제로 작동하는 프로토콜, 즉 TCP, IP, UDP를 만들어내는 연구에 자금을 지원했고, 이것들이 인터넷의 기반이 되었습니다. 모델은 나중에야 공식적으로 문서화되었습니다. 실제로 실행되는 코드에서 자연스럽게 진화한 것입니다.
핵심 단어는 등장입니다. 프로토콜이 먼저 나왔고, 그다음에 이를 설명하기 위해 모델이 기술되었습니다. 인터넷이 실제로 어떻게 작동하는지를 보여주는 서술적 프레임워크입니다.
4개 계층:
- 네트워크 접근 계층 (링크) — IP 아래의 모든 것: 이더넷, Wi-Fi, 물리적 전송
- 인터넷 계층 — IP 주소 지정 및 네트워크 간 라우팅
- 전송 계층 — TCP와 UDP, 포트 번호, 전달 보장
- 응용 계층 — 전송 계층 위의 모든 것: HTTP, DNS, SMTP, TLS
더 단순합니다. 실용적입니다. 일부 계층은 의도적으로 모호한데, TCP/IP는 세부 사항에 구애받지 않기 때문입니다. 이더넷부터 전서구까지 어떤 기반 네트워크 기술 위에서도 동작합니다. (RFC 1149, "조류 운반체를 통한 IP"는 반쯤 농담이지만 실제로 중요한 요점을 담고 있습니다.)
두 모델의 대응 관계
| OSI | TCP/IP |
|---|---|
| 물리 계층 + 데이터 링크 계층 | 네트워크 접근 계층 |
| 네트워크 계층 | 인터넷 계층 |
| 전송 계층 | 전송 계층 |
| 세션 계층 + 표현 계층 + 응용 계층 | 응용 계층 |
위아래가 합쳐집니다. OSI가 물리 계층과 데이터 링크 계층을 세심하게 분리한 것은 TCP/IP에서는 의미가 없습니다. 어떤 환경에서든 그 위에서 동작하니까요. OSI가 세션, 표현, 응용 계층을 세심하게 분리한 것도 실제 인터넷 프로토콜에는 들어맞지 않습니다. 대부분의 애플리케이션이 이 세 가지 관심사를 스스로 처리합니다.
세션 계층과 표현 계층의 문제
OSI는 5계층을 세션 관리에, 6계층을 데이터 형식화와 암호화에 할당합니다. 이론적으로는 우아합니다. 관심사를 분리하고, 계층도 분리됩니다.
실제로는 이 계층들이 다소 어정쩡한 위치에 놓이게 됩니다. 딱 맞게 들어맞는 것이 거의 없습니다. TLS는 표현 계층 프로토콜일까요? TLS는 암호화(표현 계층)를 처리하지만, 세션 상태도 유지(세션 계층)하며, 자신이 보호하는 응용 프로토콜과 긴밀하게 결합되어 있습니다. 대부분의 네트워크 전문가들이 이 계층들을 추상적으로 느끼는 이유는 현대 네트워크에서 뚜렷한 프로토콜이나 장치와 대응되지 않기 때문입니다.
TCP/IP는 전송 계층 위의 모든 것을 "응용 계층"으로 묶어버림으로써 이 문제를 피합니다. 덜 우아하지만, 프로토콜이 실제로 어떻게 작동하는지에 대해 더 솔직합니다.
각 모델을 언제 사용할까
OSI를 사용할 때:
- 기초 교육 — 7개의 뚜렷한 계층이 개념을 분리하여 이해하기 쉽게 해줍니다
- 하드웨어 분류 — "2계층 스위치"와 "3계층 라우터"는 누구나 알아듣는 표현입니다
- 통신 문제 해결 — "1계층부터 3계층까지 확인하세요"는 모든 네트워크 전문가에게 즉시 통합니다
- 제조사 문서 — 대부분의 제조사가 OSI 용어를 사용해 제품을 설명합니다
TCP/IP를 사용할 때:
- 인터넷 작동 방식 설명 — 실제 프로토콜과 직접 대응됩니다
- 애플리케이션 구현 — 소켓(전송 계층), IP 주소(인터넷 계층), 실제 코드를 다루게 됩니다
- 성능 분석 — TCP/IP 계층은 실제 병목이 발생하는 위치와 일치합니다
- 프로토콜 설계 — 새로운 인터넷 프로토콜은 TCP/IP 구조에 자연스럽게 녹아듭니다
현실에서의 혼용:
네트워크 전문가들은 두 모델을 끊임없이 섞어서 씁니다. "7계층 로드 밸런서"(OSI 번호 체계)라는 표현으로 HTTP 트래픽(TCP/IP 응용 계층)을 처리하는 장비를 설명합니다. IP 경로(TCP/IP 인터넷 계층) 문제를 분석할 때는 "3계층 라우팅"(OSI)을 언급합니다.
이것은 혼란이 아닙니다. 실용적인 접근입니다. OSI의 계층 번호가 더 세분화되어 있고(7개 선택지가 4개보다 정밀합니다), TCP/IP의 프로토콜이 실제로 구동되는 것들입니다. 이 혼용 방식은 TCP/IP의 현실 위에 OSI의 어휘를 얹어서 씁니다.
두 모델이 공존하는 이유
OSI 프로토콜은 대부분 실패했습니다. X.25, X.400, OSI 모델을 구현하기 위해 설계된 전체 스택은 거의 잊혀졌습니다. 인터넷에서는 TCP/IP가 승리했습니다.
하지만 OSI 모델은 완전히 성공했습니다. 모든 네트워킹 교육 과정에서 가르칩니다. 업계 모두가 쓰는 어휘를 제공합니다. "2계층"과 "3계층"이 의미를 갖는 것은 OSI가 그것을 정의했기 때문입니다.
한편, TCP/IP 모델은 때로 5계층으로 확장되기도 합니다. 네트워크 접근 계층을 물리 계층과 데이터 링크 계층으로 분리하여 더 세밀한 구분을 제공하는 것인데, 그러면 OSI와 점점 닮아 보입니다.
두 모델은 실용적인 혼합 형태로 수렴하고 있습니다. TCP/IP의 실제 프로토콜 위에 OSI의 개념적 명확성을 얹은 형태입니다.
진정한 통찰
OSI와 TCP/IP의 차이는 어느 쪽이 "옳은가"에 관한 것이 아닙니다. 시스템을 설계하는 것과 시스템을 설명하는 것의 차이에 관한 것입니다.
OSI는 물었습니다: "이상적인 네트워킹은 어떤 모습이어야 할까?" 그 결과 우아한 이론적 프레임워크가 탄생했습니다.
TCP/IP는 물었습니다: "무엇이 실제로 작동하는가?" 그 결과 인터넷이 탄생했습니다.
두 질문 모두 중요합니다. 네트워킹을 이해하려면 개념을 배울 수 있게 해주는 이상화된 구조와 시스템이 실제로 작동하게 하는 현실 모두가 필요합니다. 이 두 모델은 대안 관계가 아닙니다. 서로를 보완합니다.
배울 때는 OSI를 선택하세요. 구축할 때는 TCP/IP를 선택하세요. 다른 전문가와 소통할 때는 상대방에게 익숙한 모델을 사용하세요. 그리고 두 모델 사이를 자유롭게 넘나들 준비를 해두세요.
OSI vs. TCP/IP에 관한 자주 묻는 질문
네트워크 전문가들은 왜 "응용 계층" 대신 "7계층"이라고 말하나요?
숫자가 더 빠르고 정확합니다. 문제를 해결할 때 "3계층 문제"라고 말하면 "라우팅/IP 문제"를 즉시 명확하게 전달합니다. OSI 번호 체계가 자리 잡은 이유는 TCP/IP의 4개가 아닌 7개의 뚜렷한 참조점을 제공하기 때문입니다.
어떤 모델을 먼저 배워야 하나요?
OSI입니다. 7계층 구조는 네트워킹의 각 부분이 무엇을 하는지 이해하기 위한 더 명확한 개념적 경계를 제공합니다. OSI를 이해하고 나면, TCP/IP는 "4개의 실용적인 계층으로 압축된 OSI"로서 바로 이해가 됩니다.
TCP/IP가 승리했으니 OSI 모델은 구식이 된 건가요?
OSI 프로토콜은 대부분 구식이지만, OSI 모델은 어디에나 살아있습니다. 네트워크 자격증, 하드웨어 사양, 문제 해결 가이드 모두 OSI 용어를 사용합니다. 프로토콜은 실패했지만 모델은 성공했습니다.
TLS는 두 모델에서 어디에 위치하나요?
솔직히 말하면 모호합니다. OSI에서 TLS는 암호화를 처리하기 때문에 6계층(표현 계층)에 위치하는 경우가 많지만, 실제로는 여러 계층에 걸쳐 있습니다. TCP/IP에서는 응용 계층의 일부입니다. 이 모호함 자체가 진실을 드러냅니다. TLS는 이론적 프레임워크를 맞추기 위해서가 아니라 현실적인 문제를 해결하기 위해 설계되었기 때문에, 어느 모델에도 깔끔하게 들어맞지 않습니다.
Bu sayfa faydalı oldu mu?