hyei-devlog

[네트워크] 프로토콜과 계층 구조! OSI 7계층은 왜 나뉘었을까? – TCP/IP, 캡슐화 본문

Computer Science/Network

[네트워크] 프로토콜과 계층 구조! OSI 7계층은 왜 나뉘었을까? – TCP/IP, 캡슐화

winter126 2025. 6. 19. 15:25

프로토콜(Protocol)이란?

컴퓨터 및 네트워크 간 통신을 위해 정의된 하나의 규칙 또는 약속

ex) "우리 영어 사용하자!"

프로토콜 역할
HTTP (HyperText Transfer Protocol) 웹 브라우저와 웹 서버 간에 데이터(웹페이지)를 주고받는 규칙
TCP (Transmission Control Protocol) 데이터를 신뢰성 있게, 순서에 맞게 전달하는 규칙
IP (Internet Protocol) 데이터를 목적지까지 전달하기 위한 주소 지정 경로 설정 규칙

OSI 7계층 모델 (OSI 7 Layer)

OSI 모델은 다양한 통신 시스템이 서로 데이터를 주고 받을 수 있도록 국제표준화기구(ISO)에서 만든 개념 모델이다.

 

실제로 사용되지는 않지만, 프로토콜의 동작 원리를 이해하고 설명하는 데 유용하여 면접이나 시험에서 자주 등장한다.

일종의 ‘참고서’ 같은 존재.

 

📌 OSI 7계층 요약 정리

계층 설명 핵심 키워드
1. Physical 물리적으로 전송, 0,1 신호를 전기/광신호로 비트, 전기 신호, 하드웨어
2. Data Link MAC 주소로 장비 식별 프레임, MAC
3. Network 라우팅, IP 주소, 경로 설정 패킷, IP
4. Transport TCP/UDP, 데이터의 신뢰성 보장 세그먼트, 포트
5. Session 세션 유지 및 복원 끊김 후 재전송
6. Presentation 데이터 포맷 변환 인코딩/디코딩
7. Application 사용자와 인터페이스 브라우저, 이메일 등

 

현재 실제 네트워크에서는 대부분 TCP/IP 기반의 프로토콜이 사용되고 있다. 

TCP/IP 4계층 모델 (Application / Transport / Internet / Network Access)

 

📌 참고용: OSI 7계층 vs TCP/IP 4계층 대응표

OSI 7계층 TCP/IP 계층
7. Application Application
6. Presentation Application
5. Session Application
4. Transport Transport
3. Network Internet
2. Data Link Network Access
1. Physical Network Access

 

OSI 7계층 vs TCP/IP 4계층 (출처: wikipedia)

캡슐화 & 역캡슐화

데이터의 앞부분에 전송하는 데 필요한 정보를 붙여서 다음 계층으로 보내는 과정 → 캡슐화(Encapsulation)

데이터를 받는 과정에서 헤더를 하나씩 제거하는 과정 → 역캡슐화(Decapsulaion)


PDU(Protocol Data Unit)

각 네트워크 계층에서 사용하는 데이터 단위

계층 데이터 단위 설명
1. 물리 (Physical) 비트 (bit) 0과 1의 데이터를 전기적 신호로 변환하는 단위
2. 데이터링크 (Data Link) 프레임 (frame) 데이터 링크 계층에서 데이터를 주고 받을 때 사용하는 기본 단위
3. 네트워크 (Network) 패킷 (packet) 데이터를 전송하기 쉽도록 분할한 단위
4. 전송 (Transport) 세그먼트 (segment) TCP 프로토콜에서 데이터 전송을 위해 사용되는 단위
5. 응용 (Application) 데이터 (data) 사용자와 애플리케이션 사이에 교환되는 실제 데이터

Q. IP는 왜 신뢰성이 없고, TCP가 그걸 보완해야 할까?

IP는 네트워크 계층에서 사용되는데, 데이터를 목적지까지 전달하는 역할만 담당한다.

패킷 손실, 순서 뒤바뀜, 중복 등을 검증하지 않고 그냥 보내는 방식이기 때문에, 신뢰성을 보장하지 않는다.

 

TCP는 전송 계층에서 이런 부분을 보완하여 데이터의 순서 보장, 오류 검출, 재전송을 수행하며 신뢰성 있는 통신을 제공한다.

책임을 계층별로 나누는 구조는 확장성과 설계 유연성을 높이기 위한 것

 

 

Q. 프로토콜은 왜 계층 구조를 따를까? 계층마다 캡슐화하는 구조로 설계한 이유?

캡슐화는 각 계층이 독립적으로 동작할 수 있게 해주는 핵심 설계 원칙이다.

각 계층은 자기 역할만 신경 쓰고, 상하위 계층에 대한 의존도를 줄인다.

예를 들어, 전송 계층은 데이터의 신뢰성만 담당하고, 실제 데이터가 어떤 내용인지는 몰라도 된다.

캡슐화 구조 덕분에 유지보수, 모듈화, 확장성이 좋아지고, 다양한 프로토콜을 쉽게 교체하거나 추가할 수 있다.

 

 

Q. 데이터링크 계층과 네트워크 계층은 둘 다 주소를 쓰는데, 왜 나눴을까?

  • 데이터링크 계층(MAC 주소): 같은 네트워크(같은 LAN) 내에서 장비를 식별하기 위한 물리 주소
  • 네트워크 계층(IP 주소): 서로 다른 네트워크 간 데이터를 전달하기 위한 논리 주소

이 둘을 분리하면, 물리 장비를 바꾸거나 위치를 이동해도 IP만 바꿔서 논리적으로 재정의할 수 있고, 라우팅과 로컬 통신의 책임을 나눌 수 있다.

주소 체계의 역할과 범위가 다르기 때문에 분리 설계된 것