[CS] OSI 7계층 모델

OSI 7 계층이란?

OSI (Open Systems Interconnection) 7 계층 모델은 국제표준화기구(ISO)가 만든 네트워크 통신의 표준 참조 모델이다.
목적은 서로 다른 시스템 간의 통신을 계층화된 방식으로 표준화하여 쉽게 이해하고 설계, 구현, 디버깅할 수 있게 하는 것이다.

각 계층은 독립적이며 명확한 책임을 가지고 있으며, 위아래 계층과만 상호작용한다.

왜 나누어야 하고 OSI 7 계층을 알아야 할까?

  • 단계별로 정의한 이유는 통신 과정 속에서 장애가 발생한 경우, 다른 계층의 소트프웨어나 장비를 건들지 않고 통신 장애가 발생한 계층에서만 해결책을 강구할 수 있기 때문이다.

OSI 7 계층 구조 및 설명

1 계층: 물리 계층 (Physical Layer)

1. 핵심 개념

물리 계층은 데이터를 전기적, 광학적 또는 무선 신호로 변환하여 전송하는 역할을 한다. 이 계층은 데이터의 의미를 이해하지 않고, 오직 비트를 물리적인 신호로 전달하고 수신하는 것에만 집중한다.

2. 주요 기능

  • 비트(0과 1)의 신호 변환 및 전송
  • 전송 매체(케이블, 무선 등) 관리
  • 하드웨어 연결 및 전기적/기계적 특성 정의
  • 신호 인코딩 및 클럭 동기화

3. 데이터 단위

  • 비트 (bit)

4. 주요 장비 및 기술

  • 리피터, 허브, 케이블, 커넥터, 무선 안테나
  • RJ-45, 광섬유, 전기 신호 등

5. 예시

  • 0을 0V, 1을 5V 전압으로 바꿔 케이블을 통해 전송한다.
  • Wi-Fi 안테나를 통해 RF 신호로 데이터를 전송한다.

6. 요약정리

항목 설명
역할 비트 신호 전송
장비 케이블, 리피터, 허브
데이터 단위 비트
중요 개념 신호 변환, 전송 매체, 동기화

2 계층: 데이터 링크 계층 (Data Link Layer)

1. 핵심 개념

데이터 링크 계층은 직접 연결된 두 장치 간에 오류 없이 데이터를 전달하는 역할을 한다. 비트 스트림을 프레임 단위로 나누고, 오류 검출 및 흐름 제어를 수행한다.

2. 주요 기능

  • 프레이밍 (Frame으로 분리)
  • MAC 주소 기반의 통신
  • CRC 기반 오류 검출
  • 흐름 제어 및 충돌 감지 (CSMA/CD 등)
  • 매체 접근 제어

3. 데이터 단위

  • 프레임 (Frame)

4. 주요 장비 및 프로토콜

  • 스위치, 브리지
  • 이더넷, PPP, HDLC

5. 예시

  • 송신 측에서 데이터를 프레임으로 나누고 CRC를 추가하여 전송한다.
  • 스위치가 수신한 프레임의 MAC 주소를 기반으로 포트를 결정한다.

6. 요약정리

항목 설명
역할 인접 노드 간 오류 없는 데이터 전달
장비 스위치, NIC
주소 MAC 주소
데이터 단위 프레임

3 계층: 네트워크 계층 (Network Layer)

1. 핵심 개념

네트워크 계층은 데이터를 목적지까지 경로를 설정하고 전달하는 역할을 한다. 즉, 패킷이 여러 네트워크를 거쳐 전송되도록 라우팅을 담당한다.

2. 주요 기능

  • 논리 주소(IP 주소) 할당
  • 라우팅 및 경로 선택
  • 패킷 분할/재조립 (Fragmentation)
  • 혼잡 제어

3. 데이터 단위

  • 패킷 (Packet)

4. 주요 장비 및 프로토콜

  • 라우터
  • IP (IPv4, IPv6), ICMP

5. 예시

  • 라우터가 목적지 IP 주소를 확인하고 다음 홉으로 패킷을 전달한다.
  • ICMP를 통해 핑(ping) 신호를 보낸다.

6. 요약정리

항목 설명
역할 경로 설정 및 패킷 전달
장비 라우터
주소 IP 주소
데이터 단위 패킷

4 계층: 전송 계층 (Transport Layer)

1. 핵심 개념

전송 계층은 양 끝단(End-to-End) 간 신뢰성 있는 데이터 전송을 보장한다. 패킷 순서 보장, 오류 복구, 흐름 제어 등을 담당한다.

2. 주요 기능

  • 포트 번호 기반 통신
  • 연결 설정 및 해제 (TCP 3-way handshake)
  • 재전송, 오류 제어
  • 데이터 분할 및 순서 재조립

3. 데이터 단위

  • 앞의 계층들은 신호를 보내거나, 올바른 주소로 데이터와 신호를 보내는 역할에 초점이 맞춰있는데, 전송계층에서는 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 한다.
  • 양 끝단(End to end) 사용자들의 데이터 전송의 에러 복구 및 흐름 제어를 담당합니다. 따라서 신뢰성 있는 데이터를 주고받을 수 있도록 한다. 그렇기 때문에 상위 계층에서 데이터 전달의 유효성이나 효율성을 생각하지 않도록 한다.
  • 시퀀스 넘버 기반의 오류 제어 방식을 사용한다.
  • 전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful), 연결 기반(connection oriented)이다. (이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다.)
  • 세그먼트 (TCP) 또는 데이터그램 (UDP)

4. 주요 장비 및 프로토콜

  • 없음 (호스트 내 기능)
  • TCP, UDP

5. 예시

  • 웹 요청 시 클라이언트와 서버 간 TCP 연결이 설정된다.
  • UDP를 이용한 스트리밍 전송이 이루어진다.

6. 요약정리

항목 설명
역할 종단 간 신뢰성 있는 데이터 전송
주소 포트 번호
프로토콜 TCP, UDP
데이터 단위 세그먼트, 데이터그램

5 계층: 세션 계층 (Session Layer)

1. 핵심 개념

세션 계층은 통신을 위한 세션을 생성, 유지, 종료하는 기능을 제공한다.
중간에 연결이 끊겼을 때도 회복 가능한 통신 구조를 제공한다.

2. 주요 기능

  • 세션 설정, 동기화, 복구
  • 체크포인트 삽입
  • 세션 식별 및 인증

3. 데이터 단위

  • 주 지점 간의 프로세스 및 통신하는 호스트 간의 데이터가 통신하기 위한 논리적 연결을 담당한다.
  • TCP/IP 세션을 만들고 없애는 역할을 한다. (포트번호를 기반으로 통신 세션을 구성한다.)
  • 데이터 (Data)

4. 주요 장비 및 프로토콜

  • 일반적으로 소프트웨어 계층에서 처리
  • NetBIOS, RPC

5. 예시

  • 비디오 통화 중 일시 정지 후 다시 이어 보기
  • 로그인 세션 유지 기능

6. 요약정리

항목 설명
역할 세션 관리 및 동기화
기능 연결 유지, 복구
데이터 단위 데이터

 


6 계층: 표현 계층 (Presentation Layer)

1. 핵심 개념

표현 계층은 데이터의 형식과 인코딩을 정의하여, 서로 다른 시스템 간의 호환성을 보장한다. 암호화/복호화, 압축/해제 기능도 포함된다.

2. 주요 기능

  • 데이터 포맷 변환 (예: EBCDIC ↔ ASCII)
  • 데이터 암호화 및 복호화
  • 압축 및 해제

3. 데이터 단위

  • 데이터 표현에 대한 독립성을 제공하고 암호화하는 역할을 담당한다.
  • 표현 방식을 하나의 통일된 형식으로 변환하는 일종의 변환기 역할을 수행하는 계층이다.
  • 전송하는 데이터의 표현방식을 결정(ex. 데이터변환, 압축, 암호화 등)
    → 표현 방식이 다르면 통신을 하는데 어려움이 생길 수 있다.
  • 파일인코딩, 명령어를 포장, 압축, 암호화
  • 데이터

4. 주요 프로토콜

  • TLS/SSL, JPEG, MPEG, JSON, XML 등

5. 예시

  • HTTPS를 통해 암호화된 데이터 송수신
  • 영상 데이터를 MPEG 형식으로 압축하여 전송

6. 요약정리

항목 설명
역할 데이터 포맷 변환, 암호화
프로토콜 TLS, JPEG, XML
데이터 단위 데이터

7 계층: 응용 계층 (Application Layer)

1. 핵심 개념

응용 계층은 사용자가 실제로 네트워크 서비스를 이용하는 계층이다. 이메일, 웹 브라우징, 파일 전송 등과 관련된 기능을 직접 제공한다.

2. 주요 기능

  • 사용자 인터페이스 제공
  • 응용 서비스 처리
  • 파일 전송, 이메일, 웹 서비스 제공

3. 데이터 단위

  • 데이터

4. 주요 프로토콜

  • HTTP, FTP, SMTP, DNS, SSH 등

5. 예시

  • 웹 브라우저에서 HTTP 요청으로 웹 페이지 접속
  • 메일 클라이언트가 SMTP로 메일 전송

6. 요약정리

항목 설명
역할 최종 사용자 서비스 제공
프로토콜 HTTP, FTP, SMTP
데이터 단위 데이터

출처

이미지 출처 : https://tgkim.com/posts/OSI-7-Layer/