이 모델은 각각의 계층이 특정 기능을 담당하여 전체 네트워크 통신을 수행할 수 있도록 한다.
OSI 모델은 네트워크 프로토콜의 표준화와 상호 운용성을 높이기 위해 개발됐다.
1. 물리 계층 (Physical Layer)
역할
물리 계층은 데이터 전송의 물리적 매체를 담당합니다. 비트 스트림을 전기 신호, 광 신호 또는 무선 신호로 변환하여 전송하는 역할
또한, 물리 계층은 하드웨어 장치 간의 전기적, 기계적, 기능적 인터페이스를 정의
특징
전송 매체: 구리선, 광섬유, 무선 주파수 등 다양한 물리적 매체를 사용
신호 방식: 아날로그 신호와 디지털 신호 모두를 지원
전송 속도: 비트 전송 속도(bps, bits per second)를 사용하여 데이터 전송 속도를 측정
하드웨어 장치: 리피터, 허브, 네트워크 케이블, 모뎀 등이 있음
비트 동기화: 송신자와 수신자 간의 비트 동기화를 보장하여 데이터 전송의 신뢰성을 높임
2. 데이터 링크 계층 (Data Link Layer)
역할
데이터 링크 계층은 데이터 전송의 오류 검출 및 수정 기능을 제공하여 신뢰성을 보장
프레임 단위로 데이터를 전송하며, MAC 주소를 사용하여 물리적 주소 지정 및 접근 제어를 수행
특징
프레임 구조: 데이터를 프레임으로 캡슐화하여 전송
오류 검출 및 수정: CRC (Cyclic Redundancy Check) 등의 기법을 사용하여 오류를 검출하고 수정
흐름 제어: 데이터 흐름을 제어하여 네트워크 혼잡을 방지
하위 계층: 논리 링크 제어(LLC)와 매체 접근 제어(MAC)로 나눔
LLC (Logical Link Control): 논리적 링크 제어를 담당하여 여러 네트워크 프로토콜을 지원
MAC (Media Access Control): 물리적 주소 지정 및 매체 접근 제어를 담당
대표적인 프로토콜: Ethernet, PPP (Point-to-Point Protocol), Wi-Fi (IEEE 802.11) 등
3. 네트워크 계층 (Network Layer)
역할
네트워크 계층은 패킷 단위로 데이터를 전송하며, 경로 선택과 논리적 주소 지정을 담당
라우팅을 통해 패킷이 올바른 경로로 전달
특징
논리적 주소: IP 주소를 사용하여 논리적 네트워크 위치를 지정
라우팅 프로토콜: RIP (Routing Information Protocol), OSPF (Open Shortest Path First), BGP (Border Gateway Protocol) 등을 사용
패킷 포워딩: 목적지 주소에 따라 패킷을 전달
인터네트워킹: 다양한 네트워크 간의 연결 및 통신 가능
프래그멘테이션: 큰 패킷을 작은 조각으로 나누어 전송하고, 수신 측에서 다시 조립
4. 전송 계층 (Transport Layer)
역할
전송 계층은 세그먼트 단위로 데이터를 전송하며, 종단 간 통신을 담당
신뢰성 있는 데이터 전송을 위해 연결 설정, 흐름 제어, 오류 복구 기능을 제공
특징
프로토콜: TCP (Transmission Control Protocol, 신뢰성 있는 연결 지향형)와 UDP (User Datagram Protocol, 비신뢰성 있는 비연결형) 등이 있음
포트 번호: 애플리케이션을 식별하기 위해 사용됩니다. 예를 들어, HTTP는 포트 80, HTTPS는 포트 443을 사용
연결 설정 및 해제: 3-way 핸드셰이크(TCP)를 통해 연결을 설정하고, 4-way 핸드셰이크를 통해 연결을 해제합니다.
데이터 재전송: 손실된 세그먼트를 재전송하여 데이터의 완전성을 보장
흐름 제어: 송신자와 수신자 간의 데이터 전송 속도를 조절하여 네트워크 혼잡을 방지
5. 세션 계층 (Session Layer)
역할
세션 계층은 통신 세션을 설정, 유지, 종료합니다. 대화 제어 및 동기화 기능을 제공
특징
세션 관리: 대화 세션의 설정, 유지, 종료를 담당
동기화: 체크포인트를 설정하여 데이터 동기화를 보장합니다.
대화 제어: 반이중(half-duplex) 및 전이중(full-duplex) 통신 방식을 지원
동시성 제어: 여러 애플리케이션이 동시에 통신할 수 있도록 관리
6. 표현 계층 (Presentation Layer)
역할
표현 계층은 데이터의 형식 변환을 담당하여 상위 계층에서 사용할 수 있도록 함
암호화, 압축, 인코딩 기능을 제공
특징
데이터 포맷 변환: 데이터를 하나의 표현 형식에서 다른 형식으로 변환함. 예를 들어, ASCII에서 EBCDIC으로 변환
암호화: 데이터의 보안을 강화하기 위해 암호화 및 복호화를 수행함. 예를 들어, SSL/TLS 프로토콜을 사용
압축: 데이터 전송 효율성을 높이기 위해 압축 및 압축 해제를 수행함. 예를 들어, ZIP 압축을 사용
데이터 변환 프로토콜: JPEG, MPEG, GIF, PNG 등 다양한 멀티미디어 데이터 형식을 처리
7. 응용 계층 (Application Layer)
역할
응용 계층은 사용자가 네트워크 서비스에 접근할 수 있도록 인터페이스를 제공
응용 프로그램과 네트워크 간의 연결을 관리
특징
네트워크 서비스: 다양한 네트워크 서비스를 제공함. 예를 들어, 이메일(SMTP), 파일 전송(FTP), 웹 브라우징(HTTP), 원격 로그인(Telnet) 등
프로토콜: HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System) 등
사용자 인터페이스: 사용자가 네트워크 애플리케이션과 상호작용할 수 있는 인터페이스를 제공함. 예를 들어, 웹 브라우저, 이메일 클라이언트 등
데이터 입력 및 출력: 사용자가 입력한 데이터를 네트워크를 통해 전송하고, 수신된 데이터를 사용자에게 표시
요약 및 특징 비교
1. 물리 계층
역할: 전기적, 기계적, 기능적 인터페이스 정의 및 비트 스트림 전송
특징: 전송 매체, 신호 방식, 전송 속도, 하드웨어 장치
2. 데이터 링크 계층
역할: 프레임 단위 데이터 전송, 오류 검출 및 수정, MAC 주소 지정
특징: 프레임 구조, 오류 검출/수정, 흐름 제어, LLC와 MAC 하위 계층
3. 네트워크 계층
역할: 패킷 전송, 경로 선택 및 논리적 주소 지정
특징: 논리적 주소, 라우팅 프로토콜, 패킷 포워딩, 인터네트워킹
4. 전송 계층
역할: 세그먼트 단위 데이터 전송, 종단 간 통신, 신뢰성 보장
특징: TCP와 UDP 프로토콜, 포트 번호, 연결 설정/해제, 데이터 재전송, 흐름 제어
5. 세션 계층
역할: 통신 세션 설정/유지/종료, 대화 제어 및 동기화
특징: 세션 관리, 동기화, 대화 제어, 동시성 제어
6. 표현 계층
역할: 데이터 형식 변환, 암호화, 압축
특징: 데이터 포맷 변환, 암호화, 압축, 데이터 변환 프로토콜
7. 응용 계층
역할: 사용자와 네트워크 서비스 간의 인터페이스 제공
특징: 네트워크 서비스, 프로토콜, 사용자 인터페이스, 데이터 입력/출력
정리
OSI 모델은 네트워크 통신을 체계적으로 이해하고, 문제 해결 및 프로토콜 개발에 있어 중요한 역할을 한다. 각 계층은 독립적으로 동작하지만, 전체적으로 상호작용하여 안정적이고 효율적인 네트워크 통신을 보장한다. OSI 모델을 통해 네트워크 시스템의 복잡성을 단순화하고, 네트워크 프로토콜의 표준화와 호환성을 높일 수 있다.