[네트워크] 3-1 네트워크의 공통언어

2026. 6. 17. 12:38·여러가지

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
'여러가지' 카테고리의 다른 글
  • [네트워크] 3-4 데이터 송수신 규칙
  • [네트워크] 3-3 트랜스포트 & 애플리케이션 계층
  • [네트워크] 3-2 TCP/IP 네트워크 & 인터넷 계층
  • 테스트의 종류
hyeseong-dev
hyeseong-dev
안녕하세요. 백엔드 개발자 이혜성입니다.
  • hyeseong-dev
    어제 오늘 그리고 내일
    hyeseong-dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (342) N
      • 여러가지 (11) N
        • 알고리즘 & 자료구조 (73)
        • 오류 (4)
        • 이것저것 (29)
        • 일기 (1)
      • 프레임워크 (39)
        • 자바 스프링 (39)
        • React Native (0)
      • 프로그래밍 언어 (39)
        • 파이썬 (31)
        • 자바 (3)
        • 스프링부트 (5)
      • 컴퓨터 구조와 운영체제 (3)
      • DB (17)
        • SQL (0)
        • Redis (17)
      • 클라우드 컴퓨팅 (21)
        • 도커 (2)
        • AWS (19)
      • 스케쥴 (65)
        • 세미나 (0)
        • 수료 (0)
        • 스터디 (24)
        • 시험 (41)
      • 트러블슈팅 (1)
      • 자격증 (2) N
        • 정보처리기사 (0)
        • 정보보안기사 (1)
        • 네트워크관리사 (1) N
      • 재태크 (0)
        • 암호화폐 (0)
        • 기타 (0)
      • 피지컬AI (26)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ROS2
    AWS네트워크계층으로읽기
    Spring Boot
    자바
    moveit
    Spring WebFlux
    역운동학
    취업리부트
    운동학
    docker
    로봇팔
    동차변환행렬
    rclpy
    WebFlux
    클라우드
    Redis
    피지컬ai
    Python
    TF
    celery
    완전탐색
    SAA
    EC2
    프로그래머스
    java
    네트워크
    그리디
    항해99
    AWS
    FastAPI
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hyeseong-dev
[네트워크] 3-1 네트워크의 공통언어
상단으로

티스토리툴바