| 항목 | 내용 |
| 주차 | 1주차-1 |
| 날짜 | 2026-03-09 |
| 주제 | OSI 7계층 |
| 발표자 | 이세비 |
이 주제를 한 문장으로 설명하면?
한 줄 요약:
국제표준화기구(ISO)가 정의한 네트워크 통신을 설명하기 위한 표준 참조 모델로,서로 다른 장치 간의 통신 과정을 7개 단계로 구조화한 모델
관련 키워드 (마인드맵 형태로 나열):
OSI 7계층├── 상위 계층│ ├── 7계층 응용(Application) - HTTP, FTP, SMTP│ ├── 6계층 표현(Presentation) - 인코딩, TLS 암호화│ └── 5계층 세션(Session) - 세션 생성/유지/종료├── 하위 계층│ ├── 4계층 전송(Transport) - TCP/UDP, 포트 번호, Segment│ ├── 3계층 네트워크(Network) - IP, 라우팅, Packet│ ├── 2계층 데이터 링크(Data Link) - MAC 주소, 스위치, Frame│ └── 1계층 물리(Physical) - 전기 신호, 인코딩/디코딩, Bit├── 캡슐화 / 역캡슐화├── DNS Lookup└── TCP/IP 4계층 비교
서로 다른 컴퓨터들이 데이터를 주고받는 복잡한 과정을, 역할에 따라 7개의 독립적인 계층으로 나눠 표준화한 국제 통신 모델
개념 설명 (내 말로):
사용자과 가장 가까운 영역으로, 데이터를 생성하고 컴퓨터가 이해할 수 있는 공통 형식으로 변환하며, 통신을 위한 논리적 통로를 관리하는 단계다. TCP/IP 모델에서는 이 세 계층이 하나의 응용 계층(Application Layer)으로 통합된다.
동작 원리 / 흐름:
*전체 7계층을 외울 떄는 “응표세전네데물” 로 열심히 외우기! 이건 외울 수 밖에 없음!!
: 사용자가 네트워크에 접근하는 인터페이스.
HTTP, FTP, SMTP 등의 프로토콜이 여기서 동작하며 웹 브라우징, 이메일 전송같은 서비스를 제공한다.
: 데이터의 ‘표현 방식’을 결정한다.
서로 다른 시스템 간의 독립성을 위해 인코딩/디코딩, 압축, 암호화/복호화 작업을 수행한다.
예를 들어, “Hi”라는 문자를 아스키코드 72, 105로 변환하는 것 같은 과정이 이 계층의 역할이다.
: 통신 장치 간의 논리적 연결(세션)을 설정·유지·종료하고 동기화를 관리한다.
오류가 발생했을 때 복구하는 역할도 담당한다.
실제 코드 예시:
// 7계층 예시: fetch API는 HTTP 프로토콜(7계층)을 사용하는 응용 계층 통신const response = await fetch('https://api.example.com/data', {method: 'GET',headers: { 'Content-Type': 'application/json' }, // HTTP 헤더});
개념 설명 (내 말로):
데이터를 목적지까지 안전하고 빠르게 전달하기 위해 주소를 붙이고 경로를 찾으며, 마지막에는 전기 신호로 바꾸어 물리적으로 전송하는 영역이다.
데이터가 상위 계층에서 하위 계층으로 내려오면서 각 계층이 자신의 헤더 정보를 덧붙이는 과정이 핵심이다.
동작 원리 / 흐름:
: 포트 번호로 목적지를 특정하고, TCP(신뢰성) 또는 UDP(속도)로 전송을 관리한다.
큰 데이터를 잘게 쪼개 전송하고, 유실된 패킷이 있으면 재전송도 담당한다.
: 출발지/목적지 IP 주소를 헤더에 붙여 최적의 경로를 설정(라우팅)한다.
대표 장비로는 라우터가 있다.
: MAC 주소를 붙여 인접한 노드 간 전송과 오류 제어를 담당한다.
스위치가 이 계층의 대표 장비다.
: 완성된 데이터를 0과 1의 전기적·광학적 신호로 변환해 케이블로 송출한다.
단순히 신호를 전달하는 역할만 하며, 데이터의 정확성은 판단하지 않는다.
실제 코드 예시:
// 4계층 예시: 포트 번호로 프로세스를 구분// https://api.example.com → 443번 포트 (HTTPS, TCP)// ws://chat.example.com → 80번 포트 (WebSocket, TCP)// http://localhost:3000 → 3000번 포트 (개발 서버)// URL에서 포트를 명시하면 4계층 개념이 직접 보임const API_URL = 'http://localhost:3000'; // :3000이 포트 번호// 3계층 예시: IP 주소로 목적지 컴퓨터를 특정// www.naver.com → DNS 조회 → 223.130.195.200 (네이버 IP)// IP 주소를 알아야 3계층에서 목적지로 패킷을 보낼 수 있음
이 기술/개념이 왜 이런 방식으로 만들어졌는지 배경을 이해하자
OSI 7계층 vs TCP/IP 4계층 (면접에서 자주 나오는 포인트)
| 구분 | OSI 7계층 | TCP/IP 4계층 |
| 특징 | 이론적·교육용 표준 모델, 세분화된 분석 가능 | 실무적 인터넷 표준, 실제 구현에 사용 |
| 상위 계층 | 응용·표현·세션 3개로 세분화 | 응용(Application) 계층으로 통합 |
| 하위 계층 | 데이터 링크·물리 분리 | 네트워크 액세스 계층으로 통합 |
| 사용 시점 | 네트워크 문제 분석·학습·설계 시 | 실제 프로토콜 구현 및 운영 시 |
| 현실 | 교과서·면접에서 주로 등장 | 현대 인터넷이 실제로 따르는 모델 |
프론트엔드 관점에서 마주칠 수 있는 상황
면접관 앞에서 말하듯이 작성. 읽는 용도가 아니라 말하는 연습을 위한 섹션
[도입 - 핵심 정의 먼저]"OSI 7계층은 ISO(국제표준화기구)가 서로 다른 시스템 간의 통신을 표준화하기 위해 정의한 네트워크 모델입니다. 데이터가 송수신되는 과정을 역할에 따라 7개의 독립적인 계층으로 나눈 것입니다."[부연 - 왜/어떻게]"이것이 필요한 이유는, 각 제조사가 독자적인 통신 방식을 만들던 시절서로 다른 회사의 컴퓨터끼리 통신이 안 되는 문제가 있었기 때문입니다.계층 구조는 1계층 물리부터 시작해 데이터 링크, 네트워크, 전송, 세션, 표현,7계층 응용 순으로 이루어집니다.데이터를 보낼 때는 7계층에서 1계층 방향으로 각 계층이 헤더를 덧붙이는캡슐화가 일어나고, 받을 때는 반대로 역캡슐화가 일어납니다."[마무리 - 실무 연결]"실제로 저는 프로젝트에서 HTTPS 연결 오류를 디버깅하거나DNS 캐싱 문제를 분석할 때 이 계층 구조를 기준으로 원인을 찾았습니다.또한 현대 인터넷은 OSI 7계층보다는 이를 단순화한 TCP/IP 4계층 모델을실제로 따르고 있다는 점도 함께 말씀드릴 수 있습니다."
면접관이 바쁠 때, 딱 1분 안에 설명하는 버전
OSI 7계층은 서로 다른 컴퓨터들이 통신하는 과정을 7개의 역할로 나눈 표준 모델입니다.하위부터 보면, 1계층 물리는 전기 신호 변환, 2계층 데이터 링크는 MAC 주소 기반인접 노드 전송, 3계층 네트워크는 IP 기반 경로 설정, 4계층 전송은 포트 번호로프로세스 구분과 TCP/UDP 신뢰성 관리를 담당합니다.상위 3개 계층(세션·표현·응용)은 세션 유지, 데이터 암호화, 서비스 인터페이스를 맡습니다.데이터가 이 계층을 내려가며 헤더가 쌓이는 게 캡슐화, 올라가며 벗겨지는 게 역캡슐화입니다.실무에서는 이 구조 덕분에 네트워크 장애가 생겼을 때 어느 계층 문제인지빠르게 파악하고 디버깅할 수 있습니다.orOSI 7계층은 ISO가 정의한 네트워크 통신 참조 모델로,데이터 송수신 과정을 물리 계층부터 응용 계층까지 7단계로 나눠 역할을 설명합니다.하위 4계층(물리·데이터 링크·네트워크·전송)은 데이터를 실제로 목적지까지 전달하고,상위 3계층(세션·표현·응용)은 세션 관리, 데이터 표현, 사용자 서비스 제공을 담당합니다.데이터는 보내는 쪽에서 응용→물리로 내려가며 헤더가 층층이 붙는 캡슐화가 일어나고,받는 쪽에서는 물리→응용으로 올라가며 헤더를 하나씩 벗겨내는 역캡슐화가 진행됩니다.실제 인터넷은 TCP/IP 4계층 모델을 기반으로 구현되지만,OSI 7계층은 네트워크 구조를 이해하고 장애 원인을 특정하는 데 널리 사용하는 개념적 기준입니다.
각 질문에 대해 STAR 구조 혹은 두 문장 요약으로 작성
A: 국제표준화기구(ISO)가 서로 다른 시스템 간 통신을 표준화하기 위해 정의한 네트워크 모델로, 데이터 송수신 과정을 역할에 따라 7개의 독립적인 계층으로 나눈 것입니다. 각 계층은 고유한 기능을 수행하며 인접 계층과만 정보를 주고받기 때문에, 특정 계층 기술을 교체해도 다른 계층에 영향을 주지 않는다는 모듈화 특징이 있습니다.
A: 1계층 물리는 Bit, 2계층 데이터 링크는 Frame, 3계층 네트워크는 Packet, 4계층 전송은 Segment, 5~7계층(세션·표현·응용)은 Data(메시지)입니다. 하위 계층으로 내려갈수록 상위 계층의 데이터에 헤더가 쌓여 단위가 바뀌는 것이 캡슐화 과정입니다.
A: 둘 다 4계층(전송 계층)에서 사용됩니다. TCP는 연결 지향형으로 데이터 전달 신뢰성을 보장하며 흐름 제어, 오류 제어, 혼잡 제어를 수행합니다. UDP는 비연결형으로 신뢰성 체크 없이 빠른 전송을 우선시하며, DNS·스트리밍·게임처럼 속도가 중요한 상황에서 사용됩니다.
A: 송신 측에서 데이터가 7계층에서 1계층으로 내려가면서 각 계층이 자신의 헤더(주소, 포트, 오류 체크 등)를 데이터 앞에 덧붙이는 과정입니다. 4계층(전송)에서 포트 번호를 붙여 Segment가 되고, 3계층(네트워크)에서 IP 주소를 붙여 Packet, 2계층(데이터링크)에서 MAC 주소를 붙여 Frame이 되어 최종적으로 Bit 신호로 전송됩니다. 수신 측에서 반대 방향으로 헤더를 하나씩 제거하는 과정이 역캡슐화입니다.
A: 데이터 링크 계층은 물리적으로 인접한 노드와 노드 사이(예: 내 컴퓨터 ↔ 공유기) 구간의 신뢰성을 담당하고, 전송 계층은 출발지부터 최종 목적지까지 종단 간(End-to-End) 전체 구간의 신뢰성을 담당합니다.
A: OSI 7계층은 ISO가 정의한 이론적·교육용 표준 모델로 7개 계층을 세분화합니다. TCP/IP 4계층은 실무적인 인터넷 표준으로, OSI의 5·6·7계층을 응용 계층으로, 1·2계층을 네트워크 액세스 계층으로 통합한 구조입니다. 현대 인터넷은 TCP/IP 모델이 시장 경쟁에서 먼저 자리잡으며 실제로는 TCP/IP(Updated) 모델을 따르고 있습니다. OSI 7계층은 주로 네트워크 문제를 계층별로 분석하고 교육하는 데 사용됩니다.
개념을 몸으로 익히기 위한 미니 실습
// 브라우저 콘솔에서 7계층(HTTP) 요청 헤더 직접 확인const response = await fetch('https://jsonplaceholder.typicode.com/todos/1');// 응답 헤더 출력 (6계층 표현 계층 정보 포함)console.log('Content-Type:', response.headers.get('content-type'));console.
3계층 (네트워크) — IP 주소
4계층 (전송) — 포트 번호 + TCP 연결
6계층 (표현) — 암호화 + 압축
공부하고 나서 진짜 내 머릿속에 남은 것들만 정리
| 헷갈린 것 | 알고 보니 |
| IP 주소와 MAC 주소 둘 다 쓰는 이유 | IP는 전체 경로에서 목적지 네트워크를 찾는 논리적 주소, MAC은 같은 네트워크 내에서 기기를 구분하는 물리적 주소. MAC만 쓰면 전 세계 모든 MAC을 매번 조회해야 해서 비효율적 |
| 데이터 링크 vs 전송 계층의 신뢰성 차이 | 데이터 링크는 인접한 노드 간 구간, 전송 계층은 출발지~목적지 전체 구간의 신뢰성을 보장 |
| OSI 7계층인데 왜 TCP/IP 4계층을 더 많이 쓰나 | 두 모델이 시장 경쟁을 했고, TCP/IP가 먼저 인터넷에 자리잡았기 때문 |
| 자료 | 링크 | 추천 이유 |
| MDN - HTTP 개요 | https://developer.mozilla.org/ko/docs/Web/HTTP/Overview | 7계층(HTTP)을 프론트엔드 관점에서 설명 |
| CLOUDEFLARE - OSI 모델이란? | https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/ | OSI 모델 정의, OSI 모델의 7가지 계층 식별, OSI 모델을 통해 데이터가 전송되는 방법에 대한 설명 |
💡 작성 팁
- 2번 핵심 개념은 공식 문서나 블로그를 보고 나서, 반드시 탭을 닫고 자신의 말로 재작성하기
- 4번 구두 설명 스크립트는 실제로 소리 내어 읽어보기
- 5번 질문은 최소 5개 이상 준비하기 (기본 2~3개 + 심화 2개 이상)
- 발표 전날 밤에 전체를 한 번 소리 내어 읽어보기
7계층 (응용) — HTTP
확인이 안 되는 것