OSI 모델의 7 계층
OSI 모델이란 무엇인가
개방형 시스템 상호 연결(OSI, Open System Interconnection) 모델은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 국제표준화기구에서 만든 개념 모델이다. 쉽게 표현하자면, OSI는 서로 다른 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다.
OSI 모델은 컴퓨터 네트워킹의 범용 언어로 볼 수 있고, 이 모델은 통신 시스템을 7개의 추상적 계층으로 나누며 각 계층은 다음 계층 위에 스택된다.
OSI 모델의 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신한다. DDos 공격은 네트워크 연결의 특정 계층을 표적으로 하는데, 응용 프로그램 계층 공격은 L7을 표적으로 하며 프로토콜 계층 공격은 L3와 L4를 표적으로 한다.
OSI 모델이 중요한 이유
현대 인터넷이 OSI 모델을 엄격하게 따르지 않고 더 단순한 인터넷 프로토콜 제품군을 따르지만, OSI 모델은 여전히 네트워크 문제를 해결하는데 아주 유용하다. 한 사람이 노트북에서 인터넷을 이용할 수 없게 되었거나 수천 명의 사용자가 이용하는 웹 사이트가 다운되었더라도, OSI 모델은 문제를 분석하고 문제의 원인을 분리하는데 도움이 될 수 있다. 모델의 어느 특정 계층으로 문제를 좁힐 수 있을 경우 불필요한 많은 작업을 피할 수 있다.
OSI 모델의 7가지 계층이란?
OSI 모델의 7가지 추상 계층은 탑 다운 방식으로 다음과 같이 정의할 수 있다. 이미지 출처
L7: Application Layer
이 계층은 사용자의 데이터와 직접 상호 작용하는 유일한 계층이다. 애플리케이션 계층은 특정 유형의 애플리케이션 자체와 표준화된 통신 방법과 관련이 있는데, 예를 들어 브라우저는 HTTPS를 사용하여 통신할 수 있고, HTTP 및 이메일 클라이언트는 POP3 및 SMTP(간이 전자 우편 전송 프로토콜)을 사용하여 통신할 수 있다.
L6: Presentation Layer
이 계층은 애플리케이션이 소비할 수 있도록 데이터를 프레젠테이션 하는데, 주로 데이터를 준비하는 역할을 하여 애플리케이션 계층이 이를 사용할 수 있게 한다. 예를 들어 HTML, JSON, CSV가 있다.
L6는 데이터의 변환, 암호화, 압축을 담당한다 서로 통신하는 두 개의 통신 장치가 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, L6는 수신 장치의 L7이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당한다.
장치가 암호화된 연결을 통해 통신하는 경우, L6는 최종 송신자에게 암호화를 추가할 뿐만 아니라 최종 수신자에게 암호화를 디코딩하여 암호화되지 않은 읽기 쉬운 데이터를 L7에 전달하는 역할을 한다. 마지막으로, L7에서 수신한 데이터를 L5로 전송하기 전에 압축하는 일도 담당하는데, 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는 데 도움이 된다.
L5: Session Layer
두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층이다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다. NFS(Network File System)와 SMB(Server Message Block)은 L5에서 일반적으로 사용되는 프로토콜으로, 네트워크 상에서 파일을 공유할 때 전송 과정에서 세션을 설정하고 관리하는 역할을 수행한다.
NFS: 주로 Unix/Linux 환경에서 사용되는 네트워크 파일 시스템 프로토콜이다. 네트워크 상의 컴퓨터들이 원격 파일을 로컬 파일처럼 사용할 수 있게 한다.
SMB: 윈도우 네트워크에서 주로 사용하는 프로토콜로, 파일 및 프린터와 같은 네트워크 자원에 대한 공유를 관리한다.
L5는 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장한다.
또한 L5는 데이터 전송을 체크포인트와 동기화한다. 예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있다. 52MB가 전송된 후 연결이 끊어지거나 충돌이 발생하면 마지막 체크포인트에서 세션을 재개하는 것이 가능하기 때문에 50MB의 데이터만 더 전송하면 된다. 체크포인트가 없으면 전체 전송을 처음부터 다시 시작해야 한다.
L4: Transport Layer
L4는 두 기기 간의 종단 간 통신을 담당한다. 여기에는 L5에서 데이터를 가져와서 L3로 보내기 전에 세그먼트라고 하는 조각으로 분할하는 일이 포함된다. 수신 기기의 L4는 세그먼트를 L5가 이용할 수 있는 데이터로 재조립해야 한다.
L4는 또한 흐름 제어 및 오류 제어 기능의 역할도 한다. 흐름 제어는 연결 속도가 빠른 송신자가 연결 속도가 느린 수신자를 압도하지 않도록 최적의 전송 속도를 결정한다. L4는 수신된 데이터가 완료되었는지 확인하고 수신되지 않은 경우 재전송을 요청하여 최종 수신자에 대해 오류 제어를 수행한다. L4에는 TCP 및 UDP가 있다.
L3: Network Layer
L3는 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 L3가 필요하지 않다. L3는 L4의 세그먼트를 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 세분화하여 수신 장치에서 패킷을 다시 조립한다. 또한, 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데 이를 라우팅이라고 한다. L3 프로토콜에는 IPv4, IPv6가 있다.
L2: Data Link Layer
L2는 L3 계층과 매우 비슷하지만, L2는 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 한다. L2는 L3에서 패킷을 가져와서 프레임이라고 불리는 더 작은 조각으로 세분화한다. L3와 마찬가지로 L2도 인프라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당한다.
이더넷은 이 수준의 표준을 보여주는 예이다. 보통 두 하위 계층인 MAC(매체 접근 제어) 계층과 LLC(논리 링크 제어) 계층으로 나뉜다.
L1: Physical Layer
이 계층에는 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다. 또한 1과 0의 문자열인 비트스트림으로 변환되는 계층이다. 뿐만 아니라 두 장치의 물리적 계층은 신호 규칙에 동의해서 두 장치의 1과 0이 구별될 수 있어야 한다.
Bluetooth, NFC, 데이터 전송 속도 등 채널과 밀접하게 관련된 기술 및 지표에 대한 표준이 포함된다.
즉, 네트워크를 통해 사람이 읽을 수 있는 정보를 장치 간에 전송하려면 데이터가 송신 장치에서 OSI 모델의 7 계층 아래로 이동한 다음 최종 수신자에서 7 계층 위로 이동해야 한다.