개인/리눅스

OSI 7계층 각 계층의 특징과 역할

OmeGa2 2020. 1. 31. 18:06

OSI 7 계층 모델

OSI 모형은 국제표준화기구인 ISO에서 개발한 것으로 컴퓨터 네트워크 프로토콜 디자인과 통신을 7 계층으로 나누어 정의했다. 이 모델은 각 프로토콜을 기능별로 구분하기 쉽게 나눈 것이다.

 

각 계층은 서로 독립적이며 하위계층의 기능만을 이용할 수 있다. 상위계층으로는 기능을 제공하며 최하위 계층인 물리계층부터 최상위에는 응용계층으로 구성된다.

 

통신 / 전달 기능

▶ 통신 기능 : 응용, 표현, 세션 (상위 3 계층)

▶ 전달 기능 : 전송, 네트워크, 데이터링크, 물리 (하위 4 계층)

OSI 7 계층은 크게 통신과 전달 기능으로 나뉜다. 

통신 기능을 주로 하는 상위 3 계층에서는 응용프로그램과의 통신관리와 동기화 서비스를 유지하는 기능, 데이터의 번역을 통해 일관되는 데이터 전송 및 암호화와 압축 기능 등 데이터 통신을 위한 여러 기능들이 주를 이루고 있다.

 

전달 기능에 해당하는 하위 4 계층에서는 송신 측과 수신 측의 연결을 설정한다거나 데이터가 전달되는 최적의 경로 설정과 오류제어, 에러 제어, 데이터 손실을 막기 위한 흐름 제어 등의 역할을 수행하며 대부분이 데이터가 무사히 수신 측에 도착할 수 있도록 도와주는 역할을 한다.

 

사용자가 프로그램을 이용해 데이터를 전송할 경우 OSI 7계층에서 이동경를 봤을 때 최상위 응용계층에서 최하위 물리계층으로 내려간다. 이후 전송매체를 통해 다른 장치로 전송되면 다시 물리계층에서 응용계층으로 올라가 다른사용자가 데이터를 받게 된다. 

(응용계층 →  물리계층) ▶ 저장매체 ▶ (물리계층 →  응용계층)

 

 

1 계층 물리 (최하위)

 

전송 단위와 역할

▶ 전송단위 : bits

 프로토콜 : RS-232, 10 BASE-T, DSL 등

 관련 장치 : 허브와 리피터

 

▶ 역할 : 전송매체를 통한 데이터 전송 및 데이터의 신호변환

물리계층은 전송매체를 통해 실제로 데이터를 전송하는 부분이다. 하드웨어 장치들의 연결을 위해 케이블과 같은 기계적인 항목과 전압이나 신호와 같은 전기적인 부분에 대해 특성을 규정하는 역할을 한다.

 

데이터를 전송하기 위해 전송매체에 대한 기계, 전기적 특성에 대해 세부사항을 정의하면서 전송되는 다른 장치에 데이터의 신호변환 등을 담당한다.

 

 

 

2 계층 데이터링크

 

전송 단위와 역할

▶ 전송단위 : 프레임(frames)

 프로토콜 : Ethernet, 토큰링, ATM 등

 관련 장치 : 브리지나 스위치

 

▶ 역할 : MAC 주소를 사용하며 신뢰성 있는 정보를 전송하기 위한 역할을 수행한다.

            (오류제어, 순서 제어, 흐름 제어 등)

상위계층인 네트워크 계층에서 받은 데이터를 프레임이라는 단위로 구성하고 필요한 정보를 추가한 뒤 아래 물리계층으로 전달한다. 

 

인접한 두 시스템 간의 전송을 담당하는 데이터링크 계층은 디지털 장비의 고유한 물리 주소인 MAC 주소를 사용하며 데이터의 정확한 송수신을 위한 전송 제어와 오류제어, 데이터 전송 시 순서 제어와 데이터 손실을 막기 위해 양을 조절하는 흐름 제어와 같은 정보를 필요에 따라 추가한다.

 

 

 

3 계층 네트워크

 

전송 단위와 역할

▶ 전송단위 : 패킷 (packet)

 프로토콜 : IP, ICMP, ARP, RIP, IGMP 등

 관련 장치 : 라우터

 

▶ 역할 : 데이터 전송 시 경로제어 및 인터네트워킹

데이터를 패킷단위로 분할해서 전송하는 네트워크 계층에서 주된 역할은 최적의 경로를 선택하는 것이다. 데이터가 수신 호스트에 도착하기 위해 여러 시스템을 거치는데 이때 올바른 경로를 선택할 수 있도록 하는 라우팅 기능을 지원한다.

 

경로 선택 이외에도 트래픽이 한 곳으로 몰리지 않도록 제어하며 패킷의 분할과 병합 및 두 개 이상의 네트워크를 연결하는 인터네트워킹 등의 역할을 하기도 한다.

 

 

 

 

4 계층 전송

 

전송 단위와 역할

▶ 전송단위 : 세그먼트 (segments)

 프로토콜 : TCP, UDP 등

 

▶ 역할 : 송신 측과 수신 측의 연결 설정 및 유지

말 그대로 데이터 전송에 관한 서비스를 제공하는 계층으로 송/수신 측의 실질적인 연결을 설정하고 신뢰성 있는 통신이 가능하도록 한다.

 

전송계층에서는 전체 메시지의 전송을 책임진다. 송/수신 프로세스 간의 연결을 설정한 뒤 오류 복구나 흐름 제어를 통해 안전하게 전체 메시지가 전달될 수 있도록 지원한다.

 

 

 

5 계층 세션

 

전송 단위와 역할

▶ 전송단위 : data

 프로토콜 : SSL, TLS, NetBIOS 등

 

▶ 역할 : 응용프로그램들 간의 통신관리 및 동기화 유지

응용프로그램들 간의 통신을 주로 관리하는 세션 계층에서의 핵심 역할은 동기화이다. 응용프로그램들 사이의 접속을 설정하고 유지하며 데이터 전송 시 동기점을 제공해서 오류 발생 시 데이터를 재전송하거나 복구할 수 있다.

 

세션 계층의 주요 기능으로는 다중화, 오류 복구, 데이터 교환 등이 있다. 이를 이해하기 쉬운 방법으로는 로그인이 있다. 우리는 로그인을 통해 다양한 응용프로그램과 세션을 이루면서 데이터를 주고받는다. 여러 프로그램에 동시에 로그인할 수도 있으며 로그아웃할 때까지 통신관리 및 동기화가 이루어진다.

 

 

 

6 계층 표현

 

전송 단위와 역할

▶ 전송단위 : data

 프로토콜 : SMB, AFP 등

 

▶ 역할 : 데이터의 번역 및 암호화

표현 계층은 데이터의 표현방식에 관한 서비스가 이루어진다. 송/수신자가 서로 다른 문자를 사용하는 경우 번역해서 일관된 데이터 전송으로 인해 서로 이해할 수 있도록 돕는 역할을 한다.

 

이외에 암호화된 데이터의 해독을 수행하고 필요에 따라 데이터의 압축 기능을 제공하기도 한다.

 

 

 

 

 

7 계층 응용 (최상위)

 

전송 단위와 역할

▶ 전송단위 : data

 프로토콜 : HTTP, SMTP, POP3, DNS, SSH 등

 

 역할 : 응용프로그램과 연계하여 사용자의 편리한 환경 제공

사용자에게 직접 제공되는 서비스나 프로그램은 대부분 응용계층에 해당한다.

 

응용 애플리케이션이라고도 불리며 사용자의 명령에 따라 특정 작업을 수행하는 소프트웨어나 인터페이스를 제공하는 여러 프로토콜 등 다양한 범주에서 정보를 처리하는 역할을 수행한다.