
1. PC,스마트폰,서버 모두 TCP/IP를 사용한다.
- PC와 스마트폰 등이 통신하는 규칙을 프로토콜이라고 하고, 복수의 프로토콜을 조합한 것이 네트워크 아키텍처입니다.
네트워크 아키텍처는 우리가 사용하는 언어에 해당합니다.
- 예전에는 TCP/IP뿐만 아니라 여러 가지 네트워크 아키텍처가 있었지만, 지금은 거의 TCP/IP만 이용합니다.
- TCP/IP는 TCP와 IP를 중심으로 하는 프로토콜의 집합으로, 네트워크의 공통언어입니다.
PC나 스마트폰 등의 OS에도 TCP/IP가 내장되어 있으므로 간단히 이용할 수 있습니다. 또한 TCP/IP로 통신하는 PC와 스마트폰,
각종 네트워크 기기 전반을 호스트라고 부릅니다.
2. TCP/IP의 계층 구조
- TCP/IP에서는 네트워크를 통해 통신하기 위한 기능을 계층화하고 복수의 프로토콜을 조합하여 구현했습니다.
TCP/IP의 계층 구조는 아래와 같습니다. (OSI 참조 모델은 7계층이지만 실무에서는 잘 사용하지 않는다고 하네요?!)
- 애플리케이션층
- 트랜스포트층
- 인터넷 층
- 네트워크 인터페이스층
- 4개 계층의 프로토콜이 모두 정상적으로 제 기능을 해야 비로소 통신이 이루어집니다.
그리고 어떤 계층이 기능을 발휘하려면 그 하위 계층이 정상적으로 동작한다는 것을 전제로 합니다.
3. 도출될 수 있는 핵심 질문 & 꼬리물기 분석 (왜 그럴까?)
Q1. 예전에는 다양한 네트워크 아키텍처가 있었는데, 왜 지금은 'TCP/IP'가 시장을 독점(사실상 표준화)하게 되었을까요?
- 꼬리물기 질문: 기술적으로 더 완벽하다고 평가받던 'OSI 7계층 참조 모델' 기반의 프로토콜들을 제치고, 왜 상대적으로 단순한 TCP/IP가 승리했을까요?
- 답변의 실마리: TCP/IP는 미 국방성(DoD) 주도로 개발되어 인터넷의 탄생과 성장을 함께하며 시장을 선점했습니다. 규격이 비교적 단순하여 OS에 내장하기 쉬웠고, 하드웨어 제조사에 종속되지 않는 개방형 표준이었기 때문에 실무 중심의 생태계를 빠르게 구축할 수 있었습니다. 기술적 완벽함보다 '시장 선점과 실용성'이 더 중요했던 사례입니다.
Q2. 왜 기능을 하나의 거대한 프로그램으로 만들지 않고, 굳이 4개의 '계층(Layer)'으로 쪼개어 복잡하게 조합했을까요?
- 꼬리물기 질문: 만약 계층화하지 않고 하나의 통으로 만들었다면, Wi-Fi 환경에서 이더넷(유선 랜) 환경으로 바뀔 때 프로그램 전체를 새로 만들어야 할까요?
- 답변의 실마리: 모듈화(Modularity) 때문입니다. 계층을 분리해 두면 특정 계층에 문제가 생기거나 기술이 변경되어도 다른 계층에 영향을 주지 않습니다. 예를 들어, 인터넷 선을 뽑고 Wi-Fi(네트워크 인터페이스층)로 바꿔도, 우리가 쓰는 웹 브라우저나 HTTP(애플리케이션층)는 아무런 수정 없이 그대로 작동할 수 있는 이유가 바로 이 계층 구조 덕분입니다. 유지보수와 기술 확장이 압도적으로 유리해집니다.
Q3. "어떤 계층이 기능을 발휘하려면 그 하위 계층이 정상적으로 동작한다는 것을 전제로 한다"고 했습니다. 그렇다면 상위 계층은 하위 계층이 '어떻게' 일하는지 세부 내용을 다 알고 있어야 할까요?
- 꼬리물기 질문: 애플리케이션층의 HTTP는 자신이 보내는 데이터가 유선 랜선으로 가는지, 무선 Wi-Fi로 가는지 알고 물리적 신호를 제어해야 할까요?
- 답변의 실마리: 전혀 몰라도 됩니다. 각 계층은 오직 자신의 바로 아래 계층이 제공하는 기능(인터페이스)만 호출할 뿐, 그 하위 계층이 내부적으로 어떻게 구현되어 있는지는 알 필요가 없습니다(캡슐화/은닉화). 이 덕분에 개발자는 애플리케이션을 만들 때 밑바닥의 랜선 규격까지 고민하지 않고 데이터 자체에만 집중할 수 있습니다.
4. 어려운 핵심 용어 풀이 (정확한 개념 잡기)
- 프로토콜 (Protocol): * 컴퓨터나 네트워크 기기들이 서로 안전하고 정확하게 데이터를 주고받기 위해 정의한 '통신 규약(약속/규칙)'입니다. 신호의 시작과 끝, 에러 처리 방법 등을 규정합니다.
- 네트워크 아키텍처 (Network Architecture): * 통신을 가능하게 하기 위한 전체적인 구조와 설계 방식을 뜻합니다. 프로토콜들의 유기적인 집합체이자 체계이며, 책의 비유대로 서로 대화하기 위한 '공통 언어의 체계'라고 보시면 됩니다.
- 호스트 (Host): * 네트워크에 연결되어 최소한 하나 이상의 IP 주소를 가지고 통신하는 모든 디바이스를 뜻합니다. PC, 서버, 스마트폰뿐만 아니라 스마트 TV나 IoT 기기도 네트워크 상에서는 모두 '호스트'입니다.
- 엔드투엔드 (End-to-End / 종단 간): * 중간 경로(라우터, 스위치 등)를 거치는 과정은 신경 쓰지 않고, 최종 송신자와 최종 수신자 양 끝단 사이의 연결을 의미합니다. 트랜스포트층(TCP)이 데이터가 중간에 유실되지 않고 목적지 프로그램까지 안전하게 잘 도착했는지 책임지는 것이 바로 이 '엔드투엔드' 통신 제어입니다.
'여러가지' 카테고리의 다른 글
| [네트워크] 3-5 데이터 수신, 전송 시 규칙 (0) | 2026.06.17 |
|---|---|
| [네트워크] 3-4 데이터 송수신 규칙 (0) | 2026.06.17 |
| [네트워크] 3-3 트랜스포트 & 애플리케이션 계층 (0) | 2026.06.17 |
| [네트워크] 3-2 TCP/IP 네트워크 & 인터넷 계층 (0) | 2026.06.17 |
| 테스트의 종류 (0) | 2021.12.16 |