서론
컴퓨터 화면에 보이는 데이터는 본질적으로 0과 1의 조합일 뿐입니다. 우리가 보는 텍스트, 사진, 동영상도 결국 전기 신호, 즉 켜짐(1)과 꺼짐(0)으로 표현됩니다. 데이터를 전달하는 과정은 단순히 케이블만으로 해결되지 않으며, 이를 해석하고 지원하는 장치와 기술이 필요합니다.
예전에 OSI 7계층 같은 개념도 깊이 이해하지 않고 단순히 외우는 데 급급했지만, 실무를 하며 단순 암기의 한계를 느끼고 있습니다. 그래서 이제는 블로그를 통해 내가 이해한 방식으로 내용을 정리하고 기록하려고 합니다. 비슷한 내용이라도 표현을 다양하게 바꿔가며 나만의 지식으로 체계화해 나갈 계획입니다.
프로토콜이란 왜 필요할까
클라이언트에서 생성된 데이터가 상대방 컴퓨터나 서버로 전달되기 위해서는 표준화된 절차와 규칙, 즉 프로토콜을 따라야 합니다. 데이터는 단순히 전기 신호가 케이블을 통해 이동하는 것이 아니라, 보내는 쪽에서 데이터를 안전하고 정확하게 규격화하여 포장하고, 받는 쪽에서 이를 올바르게 해석할 수 있는 과정이 필요합니다.
이러한 프로토콜은 데이터 전송 중 오류를 방지하고, 빠르고 안정적으로 전달될 수 있도록 하는 기술적 약속입니다. 네트워크를 공부한다는 것은 이러한 다양한 프로토콜과 데이터 전송 방식을 이해하고 익히는 과정이라고 할 수 있습니다. 데이터를 적절히 나누어 전송하고, 이를 원래 정보로 복원하는 기술과 모델을 체계적으로 살펴보는 것이 핵심입니다.
OSI 7계층
데이터 전송 과정에서 기본적으로 알아야 할 점은 OSI 7계층에서 각 계층이 데이터를 처리할 때 고유의 헤더(Header)를 추가한다는 것입니다. 이 과정을 **캡슐화(Encapsulation)**라고 부릅니다.
데이터를 보낼 때는 7계층에서 시작하여 1계층으로 내려가며, 각 계층의 프로토콜이 정의한 헤더 정보가 차례대로 추가됩니다. 반대로 데이터를 받을 때는 1계층에서 시작해 7계층으로 올라가면서 각 계층에서 해당 헤더를 순차적으로 제거하며 원래의 데이터를 복원합니다.

데이터는 송신 호스트에서 수신 호스트로 이동하며 각 계층을 거칩니다. 송신 호스트에서는 데이터가 하위 계층으로 내려가면서 물리 계층을 제외한 모든 계층에서 헤더 정보가 추가됩니다. 반면, 수신 호스트에서는 데이터가 상위 계층으로 올라가며 각 계층에서 헤더를 하나씩 제거하고 이를 해석합니다. 최종적으로 물리 계층에서 실제 데이터 전송이 이루어집니다.
또한, 송신 호스트에서 수신 호스트로 데이터가 전달되는 과정에서는 중간에서 데이터를 전달하는 중개 노드를 반드시 거치게 됩니다. 이 중개 노드는 네트워크 상에서 데이터 흐름을 원활히 이어주는 중요한 역할을 수행합니다.

중개 시스템은 데이터가 목적지까지 정확히 전달될 수 있도록 경로 배정(Routing) 기능을 수행합니다. 이 기능은 네트워크 계층의 프로토콜에서 동작하기 때문에, 중개 노드는 네트워크 계층까지 존재합니다. 이러한 중개 노드를 **라우터(Router)**라고 하며, 라우터는 데이터 전달 과정에서 중요한 역할을 합니다.
- 자신에게 도착한 데이터의 헤더 정보를 해석하여 목적지 경로를 결정
- 데이터를 적절한 경로로 전달
- 다음 라우터로 데이터를 보내기 전에 헤더 정보를 수정
헤더를 분석하고 수정하는 과정은 라우터의 핵심 기능입니다. 특히, 라우터 양쪽에 위치한 네트워크의 종류가 다를 경우, 네트워크의 물리적 특성뿐 아니라 하위 계층의 헤더 정보도 다를 수 있기 때문에, 라우터는 이를 조정하는 역할도 합니다. 이러한 작업은 데이터가 다양한 네트워크 환경을 거쳐 목적지까지 도달하도록 돕는 중요한 과정입니다.
1. 물리 계층 (Physical Layer)
물리 계층은 데이터 전송의 가장 기본적인 역할을 담당하며, 데이터를 전기 신호로 변환해 전송 매체(케이블, 허브 등)를 통해 전달합니다. 이 계층에서는 신호의 물리적 전달에만 집중하며, 오류나 데이터 효율은 고려하지 않습니다. 리피터나 허브와 같은 장비를 사용해 신호를 증폭하거나 전송합니다.
- PDU: 비트(Bit)
- 프로토콜: RS-232C, Cable, Fiber, Modem
- 장비: 허브, 리피터
2. 데이터 링크 계층 (Data Link Layer)
데이터 링크 계층은 물리 계층에서 전달받은 데이터를 관리하며, 오류를 감지하고 수정을 요청해 신뢰성 있는 전송을 보장합니다. 프레임 단위로 데이터를 처리하며, MAC 주소를 기반으로 송수신 장치 간 데이터 전달을 제어합니다.
- 주요 기능:
- 프레임화(Framing): 데이터를 프레임 단위로 묶어 전달.
- 흐름 제어(Flow Control): 송수신 속도를 조율해 데이터 손실 방지.
- 오류 제어(Error Control): 오류를 검출하고 재전송 요청.
- PDU: 프레임(Frame)
- 프로토콜: Ethernet, WiFi, PPP
- 장비: 스위치, 브릿지
3. 네트워크 계층 (Network Layer)
네트워크 계층은 데이터를 목적지까지 가장 효율적으로 전달하기 위한 경로를 결정합니다. 라우터와 같은 장비가 라우팅 테이블을 이용해 최적의 경로를 계산하며, 패킷 단위로 데이터를 처리합니다.
- 주요 기능:
- 라우팅(Routing): 최적 경로를 결정하여 데이터 전달.
- 포워딩(Forwarding): 경로 설정 후 데이터 패킷 전달.
- 패킷 분할 및 재조립: 데이터 크기를 조정해 전달.
- PDU: 패킷(Packet)
- 프로토콜: IP, ICMP
- 장비: 라우터, L3 스위치
4. 전송 계층 (Transport Layer)
전송 계층은 송신지와 수신지 간 데이터를 신뢰성 있게 전달하는 역할을 수행합니다. 데이터 전송의 흐름 제어, 오류 복구, 데이터 분할 및 병합을 담당하며 TCP와 UDP 프로토콜을 통해 작동합니다.
- 주요 기능:
- 흐름 제어: 송수신 간 데이터 속도 조정.
- 오류 제어: 전송 오류 발생 시 데이터 재전송.
- 데이터 분할/병합: 큰 데이터를 작은 단위로 나누어 전송 후 복구.
- PDU: 세그먼트(Segment)
- 프로토콜: TCP, UDP
- 장비: 게이트웨이, L4 스위치
5. 세션 계층 (Session Layer)
세션 계층은 통신 세션을 관리하는 계층으로, 네트워크 간 상호작용을 설정하고 유지하며 종료하는 역할을 합니다. 또한 데이터 송수신 방식을 결정하고, 동기화 및 복구를 지원합니다.
- 주요 기능:
- 세션 설정 및 종료: 통신 세션 생성과 관리.
- 데이터 송수신 방식: 동시 전송(Duplex), 반이중(Half-Duplex), 전이중(Full-Duplex) 설정.
- 동기화: 데이터 전송 장애 발생 시 복구 지원.
- 프로토콜: SSH, TLS
6. 표현 계층 (Presentation Layer)
표현 계층은 데이터를 사람이 이해할 수 있는 형태로 변환하며, 파일 형식(png, jpeg 등)을 정의하고 데이터 암호화와 압축 작업을 수행합니다.
- 주요 기능:
- 데이터 변환: 수신 장치에서 데이터를 적절히 해석할 수 있도록 변환.
- 압축 및 암호화: 데이터 전송 효율성 및 보안 강화.
- 프로토콜: JPEG, SMB, MPEG
7. 응용 계층 (Application Layer)
응용 계층은 사용자와 가장 가까운 계층으로, 다양한 네트워크 응용 서비스를 제공하며 하위 계층에서 처리된 데이터를 사용자에게 전달합니다. HTTP, FTP, SMTP 등 다양한 프로토콜을 사용해 웹, 파일 전송, 이메일 등의 기능을 지원합니다.
- 주요 기능:
- 사용자 인터페이스 제공.
- 데이터 입력 및 출력 관리.
- PDU: 메시지(Message)
- 프로토콜: HTTP, FTP, SMTP, DNS
**PDU(Protocol Data Unit)**는 OSI 7계층에서 데이터 전송 시 계층별로 정의된 데이터 단위를 의미합니다.
2계층: 프레임(Frame) – MAC 주소 기반 데이터 전달3계층: 패킷(Packet) – IP 주소를 이용한 경로 설정4계층: 세그먼트(Segment) – 데이터 분할 및 신뢰성 보장
2~4계층은 데이터 전송과 포장 과정에서 PDU가 중요하게 사용됩니다.
반면, **5계층(세션 계층)**부터는 PDU가 명확히 구분되지 않고 데이터를 **메시지(Message)**로 간주합니다. 이는 5~7계층이 데이터 연결과 사용자 인터페이스에 초점을 맞추기 때문입니다. PDU의 차이를 이해하는 것은 데이터 전송 과정을 파악하는 핵심입니다.
OSI 7계층 예시
1️⃣ 모든 사람의 연결이 끊겼어요.
→ 원인 가능성:
- 사무실 전체 네트워크 장비, 즉 **라우터(3계층)**의 문제가 발생했을 가능성이 높습니다.
- 또는 ISP(인터넷 서비스 제공업체)에서 제공하는 광케이블 **회선(1계층)**에 문제가 생겼을 수 있습니다.
2️⃣ 다른 사람들은 문제없이 연결되어 있는데 나만 끊겼어요.
👉 사무실 내 내 자리만 인터넷이 안 되는 경우
- 2계층(데이터 링크 계층) 문제일 가능성이 높습니다. 예를 들어, 내 컴퓨터가 연결된 스위치 포트가 고장났거나 내 네트워크 어댑터가 비활성화된 경우입니다.
👉 화상회의 소프트웨어에서만 연결 문제가 발생하는 경우
- 이는 7계층(응용 계층) 문제일 확률이 큽니다. 화상회의 프로그램 자체의 버그나 서버 연결 오류일 수 있습니다.
3️⃣ 목소리는 잘 들리는데 화면만 멈췄어요.
→ 원인 가능성:
- **4계층(전송 계층)**의 문제가 있을 수 있습니다. 전송 중 데이터 패킷 손실이 발생해 비디오 데이터는 끊기고 오디오 데이터만 전달된 경우입니다.
OSI 7계층 왜 필요할까
- 복잡성 단순화
- 네트워크 통신 과정을 각 계층으로 나누어 관리하여 분할 정복(Divide and Conquer) 방식으로 효율적으로 문제를 해결.
- 계층 간 순차적 동작
- 데이터는 위, 아래로만 이동하며 계층을 건너뛰지 않음.
- 각 계층이 독립적으로 설계되어 한 계층의 변화가 다른 계층에 영향을 주지 않음.
- OSI 7계층의 필요성
- 표준화: 다양한 장비와 시스템 간 호환성 보장.
- 문제 해결: 계층별로 원인을 분리해 빠르게 분석 및 해결 가능.
- 유연성 및 유지보수: 독립적인 계층 설계로 기술 변경 및 유지보수가 용이.
OSI 7계층은 네트워크 통신을 체계적으로 표준화하여 효율성과 호환성을 높이고 문제 해결을 쉽게 만들어줍니다.
Reference
https://velog.io/@hidaehyunlee/posts
'CS > 네트워크' 카테고리의 다른 글
| 인터넷 네트워크 - IP(인터넷 프로토콜) (0) | 2023.08.21 |
|---|---|
| 인터넷 네트워크 - 인터넷 통신 (0) | 2023.08.21 |
