OSI 7계층 모델(OSI Reference Model) 이해하기
OSI(Open Systems Interconnection) 모델은 네트워크 통신을 7개의 계층으로 나누어 체계적으로 정의한 참조 모델. 이 모델을 통해 네트워크 설계, 구현, 문제 해결을 단계별로 접근할 수 있어, 다양한 프로토콜과 장비를 이해하는 데 큰 도움을 줌. 다음에서는 각 계층의 역할과 주요 기능, 대표적인 프로토콜 및 장비 예시를 단계별로 정리.
목차
- OSI 모델이란?
- 1계층: 물리 계층(Physical Layer)
- 2계층: 데이터 링크 계층(Data Link Layer)
- 3계층: 네트워크 계층(Network Layer)
- 4계층: 전송 계층(Transport Layer)
- 5계층: 세션 계층(Session Layer)
- 6계층: 표현 계층(Presentation Layer)
- 7계층: 응용 계층(Application Layer)
- OSI 모델의 활용 및 장점
- 참고문헌 및 링크
OSI 모델이란?
OSI 모델은 ISO(국제표준화기구)가 1984년에 제안한 네트워크 참조 모델로, 서로 다른 통신 시스템 간 호환성을 보장하기 위해 계층화된 구조를 정의함. 계층별로 독립적인 역할을 부여하여:
- 특정 계층의 프로토콜 혹은 장비를 변경해도 전체 시스템에 미치는 영향을 최소화
- 각 계층 간 인터페이스를 명확히 정의하여 모듈화된 설계가 가능
- 문제 발생 시 계층별로 원인을 좁혀나갈 수 있어 디버깅이 용이
와 같은 장점을 제공.
출처:
- ISO/OSI 모델 개요 (Wikipedia)
1계층: 물리 계층(Physical Layer)
역할
- 비트(bit) 전송 매체를 통해 실제 전기적·광학적·무선 신호로 데이터를 전달
- 전송 매체의 전기·기계적·절차적 특성을 정의하여, 송신 측과 수신 측 간에 물리적 연결을 제공
주요 기능
- 전기적 특성 정의: 전압 레벨, 전류, 케이블 유형(UTP, STP, 광섬유) 등
- 기계적 특성 정의: 커넥터 형태(RJ-45, SC 커넥터), 케이블 길이 제한, 케이블 구부림 반경 등
- 신호 인코딩/디코딩: 아날로그↔디지털 변환, 맨체스터 인코딩, NRZ 인코딩 등
- 데이터 비트 시계 동기화: 송신기와 수신기가 동일한 클럭 주파수를 공유하거나 복원
예시 프로토콜 및 기술
- Ethernet (10Base-T, 100Base-TX, 1000Base-T)
- Wi-Fi 물리 계층 (802.11a/b/g/n/ac/ax)
- Bluetooth 물리 계층 (BR/EDR, BLE)
- 광섬유 전송: 1000BASE-SX, 10GBASE-LR 등
- 직렬 통신: RS-232, RS-485
예시 장비
- 허브(Hub): 단순히 들어오는 전기 신호를 증폭하여 모든 포트로 재전송
- 리피터(Repeater): 신호를 증폭·재생성하여 전송 거리 연장
- 광 트랜시버(Transceiver): 광섬유 ↔ 전기 신호 변환
- 무선 액세스 포인트(AP): 무선 주파수(RF)를 이용해 데이터를 송수신
2계층: 데이터 링크 계층(Data Link Layer)
역할
- 인접 노드 간 프레임(Frame) 전송을 담당하며, 물리 계층 위에서 오류 검출·수정을 수행
- 물리 주소(MAC 주소)를 기반으로 노드 간 통신을 관리
주요 기능
- 프레이밍(Framing): 비트 스트림을 프레임 단위로 묶어 전송
- 주소 지정: MAC(Media Access Control) 주소로 송신/수신 노드를 식별
- 오류 검출/수정: CRC, 체크섬 등을 이용해 전송 중 발생한 오류 감지
- 흐름 제어(Flow Control): 수신 측 버퍼 오버플로우 방지 (예: Stop-and-Wait, Sliding Window)
- 매체 접근 제어(MAC): CSMA/CD(Ethernet), CSMA/CA(Wi-Fi) 등 공유 매체 접근 방식
하위 계층 구조
- MAC 서브계층: 물리 매체 접근 제어, 프레임 전송 순서 결정
- LLC 서브계층(IEEE 802.2): 흐름 제어, 오류 제어, 다중화
예시 프로토콜 및 기술
- Ethernet (IEEE 802.3)
- Wi-Fi MAC 프로토콜 (IEEE 802.11 MAC)
- PPP(Point-to-Point Protocol): 직렬 링크 상에서 프레임 구성 및 오류 제어 제공
- HDLC(High-Level Data Link Control): 동기식 직렬 전송 프레임 방식
예시 장비
- 스위치(Switch): MAC 주소 테이블을 기반으로 프레임을 특정 포트로 전달
- 브리지(Bridge): 서로 다른 LAN 세그먼트를 연결, 브로드캐스트 도메인 분할
- 네트워크 인터페이스 카드(NIC): 호스트 측의 물리 계층/데이터 링크 계층 구현
3계층: 네트워크 계층(Network Layer)
역할
- 호스트 간 패킷 전송을 담당하며, 상위 계층 데이터(세그먼트 혹은 데이터)를 패킷(Packet) 단위로 라우팅(Routing)
- 논리적 주소(IP 주소)를 사용해 네트워크 간 통신 경로를 결정
주요 기능
- 논리 주소 지정: IP 주소(IPv4, IPv6)를 기반으로 목적지 식별
- 라우팅(Routing): 적절한 경로 결정 및 최적화 (정적 라우팅, 동적 라우팅)
- 패킷 분할 및 재조립(Fragmentation & Reassembly): MTU(Maximum Transmission Unit) 초과 시 패킷 분할
- 트래픽 제어 및 과부하 관리: QoS(Quality of Service), 트래픽 쉐이핑(Traffic Shaping)
- 인터네트워크 연결: 서로 다른 네트워크 프로토콜 간 중계 (예: IPv4 ↔ IPv6 터널링)
예시 프로토콜
-
IP(Internet Protocol)
-
라우팅 프로토콜
- 거리 벡터 방식: RIP(Routing Information Protocol)
- 링크 상태 방식: OSPF(Open Shortest Path First), IS-IS
- 경계 게이트웨이 프로토콜: BGP(Border Gateway Protocol)
-
ICMP(Internet Control Message Protocol): 진단 및 제어 메시지(예: ping, traceroute)
-
ARP(Address Resolution Protocol): IP 주소 ↔ MAC 주소 매핑
예시 장비
- 라우터(Router): 패킷을 목적지 네트워크로 전달, 다양한 라우팅 테이블 관리
- 레이어 3 스위치(Layer 3 Switch): 스위칭과 라우팅 기능을 모두 제공
- 방화벽(Firewall): 패킷 필터링, 네트워크 접근 제어
4계층: 전송 계층(Transport Layer)
역할
- 송신 호스트와 수신 호스트 간 신뢰성 있는 데이터 전송(또는 비신뢰성 전송)을 제공
- 상위 계층(세션/표현/응용) 데이터(메시지 혹은 세그먼트)를 세그먼트(Segment) 단위로 포장 및 전송 제어
주요 기능
-
세그먼트화(Segmentation) 및 재조립(Reassembly): 큰 메시지를 적절한 크기의 세그먼트로 나누고, 수신 측에서 다시 조립
-
포트 번호를 통한 멀티플렉싱(Multiplexing) 및 디멀티플렉싱(Demultiplexing): 여러 애플리케이션 간에 하나의 네트워크 인터페이스 공유
-
신뢰성 있는 전송 (TCP)
- 연결 설정/해제: 3-way 핸드셰이크(Handshaking)
- 순서 제어: 순서가 뒤바뀐 세그먼트 재정렬
- 오류 검출 및 재전송: 체크섬, ACK(확인 응답), NACK(부정 응답)
- 흐름 제어(Flow Control): 슬라이딩 윈도우 기반
- 혼잡 제어(Congestion Control): 혼잡 상황 감지 시 전송 속도 조절
-
비연결형 전송 (UDP)
- 최소한의 오버헤드로 데이터그램을 빠르게 전달(예: 실시간 스트리밍, VoIP)
- 순서 보장, 오류 검출은 있으나, 재전송 및 연결 관리 기능은 없음
예시 프로토콜
- TCP(Transmission Control Protocol)
- UDP(User Datagram Protocol)
- SCTP(Stream Control Transmission Protocol): 멀티스트리밍과 멀티호밍 지원
- DCCP(Datagram Congestion Control Protocol): 비연결 스트리밍에 혼잡 제어 제공
예시 장비 및 소프트웨어
- 호스트 운영체제(OS): TCP/IP 스택 구현(Windows, Linux, macOS 등)
- 로드 밸런서(Load Balancer): TCP 연결 분배
- 프로토콜 분석기(Protocol Analyzer): TCP/UDP 패킷 분석(Wireshark)
5계층: 세션 계층(Session Layer)
역할
- **통신 세션(Session)**을 관리하며, 애플리케이션 간 대화(Dialogue) 설정, 유지, 종료를 담당
- 동기화 포인트(synchronization point)를 제공하여 데이터 스트림을 제어
주요 기능
- 세션 설정(Session Establishment): 송신/수신 애플리케이션 간 세션 식별자 교환
- 세션 유지(Session Maintenance): 중간 오류 시 재연결(Resynchronization)
- 동기화(Synchronization): 중요 데이터 전달 완료 시점마다 체크포인트(예: 트랜잭션 처리)
- 세션 종료(Session Termination): 정상 종료, 비정상 종료 시 처리
예시 프로토콜
- RPC(Remote Procedure Call)
- NetBIOS(NetBIOS Frames Protocol)
- PPTP(Point-to-Point Tunneling Protocol)
- LDAP(Session Layer의 일부 기능)
실제 TCP/IP 스택에서는 세션 계층 기능이 전송 계층(TCP)과 응용 계층(예: HTTP, FTP)에 분산되어 구현되는 경우가 많습니다.
6계층: 표현 계층(Presentation Layer)
역할
- 데이터 포맷 변환 및 암호화/복호화 기능을 제공
- 상위 계층(응용 계층)에서 사용하는 데이터 형식을 네트워크가 이해할 수 있도록 변환 하고, 반대로 수신 측에서 다시 복원
주요 기능
- 데이터 인코딩/디코딩: 예를 들어 텍스트 인코딩(ASCII ↔ EBCDIC)
- 데이터 압축(Compression)/압축 해제: 전송 효율성 향상 (예: JPEG, MPEG, ZIP)
- 암호화/복호화: 기밀성 보장을 위한 SSL/TLS 암호화 (예: HTTPS에서의 TLS Handshake)
- 형식 변환: 서로 다른 시스템 간 호환 가능 포맷으로 변환 (예: 빅엔디언 ↔ 리틀엔디언)
예시 프로토콜 및 기술
- SSL(Secure Sockets Layer)/TLS(Transport Layer Security)
- MIME(Multipurpose Internet Mail Extensions): 이메일 첨부 파일 형식 정의
- XDR(External Data Representation): 원격 프로시저 호출 데이터 표준화
- 압축 알고리즘: GZIP, LZ77, LZW
7계층: 응용 계층(Application Layer)
역할
- 사용자 애플리케이션과 네트워크 서비스 간 인터페이스를 제공
- 이메일, 파일 전송, 웹 브라우징 등 최종 사용자에게 필요한 기능을 수행
주요 기능
- 애플리케이션 서비스 제공: HTTP, FTP, SMTP 등 사용자 요구에 맞는 서비스
- 다중화(Multiplexing): 여러 응용 프로그램이 동시에 네트워크 자원을 공유할 수 있도록 지원
- 네트워크 가용 리소스 확인: DNS 조회, 디렉터리 서비스(LDAP) 등
- 사용자 인터페이스: CLI, GUI를 통해 사용자와 직접 상호 작용
예시 프로토콜
- HTTP/HTTPS (Hypertext Transfer Protocol(Secure))
- FTP(File Transfer Protocol)
- SMTP(Simple Mail Transfer Protocol)/POP3/IMAP
- DNS(Domain Name System)
- Telnet/SSH
- SNMP(Simple Network Management Protocol)
- DHCP(Dynamic Host Configuration Protocol)
- XMPP(Extensible Messaging and Presence Protocol)
예시 애플리케이션
- 웹 브라우저(Web Browser): Chrome, Firefox, Edge 등 (HTTP/HTTPS 기반)
- 이메일 클라이언트(Email Client): Outlook, Thunderbird (SMTP/IMAP/POP3)
- 파일 전송 프로그램: FileZilla (FTP, SFTP)
- 원격 접속 도구: PuTTY(SSH/Telnet)
- 네트워크 관리 도구: Zabbix, Nagios (SNMP)
OSI 모델의 활용 및 장점
-
문제 해결(문제 분할 접근)
- 네트워크 장애 발생 시, 해당 계층별로 기능을 점검 → 문제 원인 빠르게 파악
- 예: 연결 자체가 안 되는지(물리/데이터 링크), 올바른 IP가 할당되었는지(네트워크), 포트가 열려 있는지(전송), 어플리케이션 레벨 설정 확인 등
-
표준화 및 호환성 확보
- 계층별 표준 프로토콜 정의로 벤더 간 호환성 보장 (예: Ethernet은 A사의 NIC이 B사의 스위치와 통신 가능)
- 모듈화 설계 → 특정 계층 변경 시 다른 계층에 최소한의 영향
-
교육 및 이해도 제고
- 복잡한 네트워크 시스템을 계층별로 나눠 이해하기 쉽게 설명
- 네트워크 설계 시 각 계층별 요구사항을 분석하고 구현 전략 수립
-
확장성 및 유지 보수
- 새로운 프로토콜이나 기술이 등장해도 해당 계층만 교체하여 시스템 전체의 안정성을 유지
- 예: IPv4에서 IPv6로 이행 시 네트워크 계층만 교체하고, 상위/하위 계층은 그대로 유지
참고문헌 및 링크
- ISO/IEC 7498-1: Open Systems Interconnection — Basic Reference Model
- Wikipedia: OSI 모델
- RFC 1122: Requirements for Internet Hosts — Communication Layers
- Forouzan, B. A. (2017). Data Communications and Networking (5th Edition). McGraw-Hill Education.