2026-05-07

Networking — OSI 모델 이해하기

Computer Network란?

2개 이상의 Network Interface 사이의 통신이다. Network Interface는 컴퓨터가 네트워크에 연결되는 물리적/논리적 접점으로, 노트북의 Wi-Fi 카드, 데스크탑의 이더넷 포트, VM의 ens160 등이 해당된다.


OSI 모델

ISO(International Organization for Standardization)가 1984년에 개발한 7계층 통신 표준이다. 표준화 이전에는 각 제조사가 자체 통신 규격을 사용해서 서로 다른 장비 간 통신이 되지 않는 문제가 있었다.

모든 계층은 세 가지 요소로 구성된다:

개념의미
Service아래 계층이 위 계층에 제공하는 기능 (뭘 해주나?)
Protocol같은 계층끼리 정보를 교환하는 규칙 (무슨 규칙으로 말하나?)
Interface위 계층이 아래 계층의 기능을 사용하는 접점 (어떻게 쓰나?)

OSI 7계층

구분Data UnitLayer역할
Hostdata7. Application사용자가 직접 쓰는 앱 (브라우저, 메일)
Hostdata6. Presentation데이터 형식 변환, 암호화 (UTF-8, TLS, gzip)
Hostdata5. Session연결 유지/종료 관리
Hostsegments4. TransportTCP(신뢰) vs UDP(속도), 포트 번호
Mediapackets3. NetworkIP 주소, 라우팅
Mediaframes2. Data LinkMAC 주소, 스위치
Mediabits1. Physical전기신호, 케이블

Layer 1은 전기신호 같은 물리적 신호이고, 위로 올라갈수록 사람이 이해할 수 있는 형태로 가공된다. 데이터를 보낼 때는 위에서 아래로(캡슐화), 받을 때는 아래에서 위로(역캡슐화) 흐른다.


웹 요청 흐름으로 보기

브라우저에서 https://example.com에 접속할 때:

  1. L7: 브라우저가 HTTP 요청 생성
  2. L6: TLS 암호화, 데이터 포맷 처리
  3. L5: 세션 흐름 유지
  4. L4: TCP 연결, 포트 443, 순서/재전송 관리
  5. L3: 목적지 IP로 라우팅
  6. L2: 같은 링크 안에서 MAC 주소 기반 전달
  7. L1: 실제 전기/무선 신호로 전송

받는 쪽은 L1 → L7로 반대로 올라온다.


왜 7단계나 필요한가?

한 번에 "전기신호 → 웹페이지"로 변환하면 너무 복잡하다. 계층을 나누면 각 계층이 자기 역할만 신경 쓰면 되고(관심사 분리), 한 계층을 바꿔도 다른 계층에 영향이 없다. 케이블을 광섬유로 바꿔도 TCP는 그대로 동작한다.


트러블슈팅 관점

OSI 계층을 이해하면 문제가 어느 계층에서 발생했는지 좁힐 수 있다.

  • 랜선/Wi-Fi 자체 문제 → L1
  • 같은 LAN 통신 불가 → L2
  • IP는 있지만 목적지 못 찾음 → L3
  • 연결 timeout, port 문제 → L4
  • HTTPS, 인코딩, 압축 문제 → L6
  • HTTP 404/500, DNS 질의 문제 → L7

Q&A


Q. 네트워크 인터페이스란?

컴퓨터가 네트워크에 연결되는 물리적/논리적 접점이다. 노트북의 Wi-Fi 카드, 데스크탑의 이더넷 포트(랜선 꽂는 곳), VM에서 ip addr show 했을 때 보이는 ens160, ens224 등이 해당된다.



Q. OSI 표준화 이전에는 어떤 문제가 있었나?

각 제조사(Cisco, IBM 등)가 자체 통신 규격을 사용해서 Cisco 장비끼리는 통신되지만 IBM 장비와는 안 되는 식이었다.



Q. Link Layer 통신이란?

같은 네트워크 구간(LAN) 안에서 바로 옆 장치까지 데이터를 전달하는 계층이다. MAC 주소를 사용한다. L2는 "같은 동네 안에서 누구 집 문앞까지", L3는 "어느 동네로 보내야 하지?"에 해당한다.



Q. Layer 4는 단순 전달 통로인가?

아니다. Transport 계층은 데이터 조각 나누기, 순서 맞추기, 재전송, 연결 관리(TCP), 포트 번호 기반 구분 등 end-to-end 전송 품질을 관리하는 계층이다.



Q. Session과 연결 보장은 다른 의미인가?

다르다. 연결 보장은 L4(TCP) 쪽으로 전송 안정성에 가깝고, 세션 관리는 L5 쪽으로 대화를 시작/유지/종료하고 현재 어떤 대화가 진행 중인지 관리하는 개념이다.



Q. Presentation Layer의 예시는?

문자열 인코딩(UTF-8), 암호화(TLS/SSL), 압축(gzip), 직렬화/포맷(JSON, XML) 등이다. 같은 데이터라도 어떤 형식으로 표현할지 맞추는 과정이다.



Q. 웹서버의 router와 Layer 3 router의 관계는?

다른 개념이다. 네트워크 router는 IP 패킷의 경로를 결정하는 물리 장비이고, 웹서버 router는 URL 경로를 핸들러에 매핑하는 소프트웨어 패턴이다. "요청을 적절한 목적지로 보낸다"는 비유에서 차용한 것이다.



Q. service / protocol / interface의 차이를 편지로 비유하면?

  • protocol = 우체국끼리 지키는 배송 규칙
  • service = 우체국이 고객에게 제공하는 배송 기능
  • interface = 고객이 창구/우체통으로 서비스를 이용하는 방법