OSI 모델이란?

개방형 시스템 간 상호 연결 모델은 네트워크 통신을 7개의 계층으로 나눕니다. 이러한 계층은 네트워크 문제를 식별하는 데 유용합니다.

Share facebook icon linkedin icon twitter icon email icon

OSI 모델

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • OSI 모델 정의
  • OSI 모델의 7개 계층 식별
  • OSI 모델을 통해 데이터가 전송되는 방법 알아보기

OSI 모델이란?

개방형 시스템 상호 연결(OSI) 모델은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 국제표준화기구가 만든 개념 모델입니다. 쉽게 표현하자면 OSI는 서로 통신할 수 있는 서로 다른 컴퓨터 시스템에 대한 표준을 제공합니다.


OSI 모델은 컴퓨터 네트워킹의 범용 언어로 볼 수 있습니다. 이 모델은 통신 시스템을 7개의 추상적 계층으로 나누며 하나의 각 계층은 마지막 계층 위에 스택됩니다.

 OSI 모델의 7가지 계층

OSI 모델의 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신합니다. DDoS 공격은 네트워크 연결의 다음과 같이 특정 계층을 표적으로 합니다. 애플리케이션 계층 공격은 계층 7을 표적으로 하며 프로토콜 계층 공격은 계층 3과 4를 표적으로 합니다.

OSI 모델이 중요한 이유는 무엇입니까?

최신 인터넷은 OSI 모델을 엄격하게 따르지 않음에도 불구하고(더 단순한 인터넷 프로토콜 제품군을 더 가깝게 따름), OSI 모델은 여전히 네트워크 문제를 해결하는 데 매우 유용합니다. 한 사람이 인터넷에서 노트북을 사용할 수 없든, 수천 명의 사용자를 위한 웹 사이트가 다운되었든, OSI 모델은 문제를 분석하고 문제의 원인을 분리하는 데 도움이 될 수 있습니다. 모델의 한 특정 계층으로 모델을 좁힐 수 있다면 불필요한 많은 작업을 피할 수 있습니다.

OSI 모델의 7가지 계층은 무엇입니까?

OSI 모델의 7가지 추상 계층은 탑 다운 방식으로 다음과 같이 정의할 수 있습니다.

애플리케이션 계층

7. 애플리케이션 계층

이 계층은 사용자의 데이터와 직접 상호 작용하는 유일한 계층입니다. 웹 브라우저 및 이메일 클라이언트와 같은 소프트웨어 애플리케이션은 통신을 개시하기 위해 애플리케이션 계층에 의지합니다. 그러나 클라이언트 소프트웨어 애플리케이션은 애플리케이션 계층의 일부가 아니라는 점이 명확하게 이루어져야 합니다. 더 정확히 말하면 애플리케이션 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 합니다. 애플리케이션 계층 프로토콜에는 HTTP뿐만 아니라 SMTP가 포함됩니다(간이 우편 전송 프로토콜은 이메일 통신을 가능하게 하는 프로토콜 중 하나임).

프레젠테이션 계층

6. 프레젠테이션 계층

이 계층은 주로 데이터를 준비하는 역할을 하여 애플리케이션 계층이 이를 사용할 수 있게 합니다. 즉, 계층 6은 애플리케이션이 소비할 수 있도록 데이터를 가다듬습니다. 프레젠테이션 계층은 데이터의 변환, 암호화, 압축을 담당합니다.


서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, 계층 6은 수신 장치의 애플리케이션 계층이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당합니다.


장치가 암호화된 연결을 통해 통신하는 경우 계층 6은 송신자의 끝에 암호화를 추가할 뿐만 아니라 수신자의 끝에 암호화를 디코딩하여 암호화되지 않은 읽기 쉬운 데이터로 애플리케이션 계층을 제시할 수 있도록 하는 역할을 합니다.


마지막으로, 프레젠테이션 계층은 애플리케이션 계층에서 수신한 데이터를 계층 5로 전송하기 전에 압축하는 일도 담당합니다. 이러한 작업을 통해 전송되는 데이터의 양을 최소화하여 통신 속도와 효율성을 향상할 수 있습니다.

세션 계층

5. 세션 계층

이 계층은 두 장치 사이의 통신을 열고 닫는 역할을 합니다. 통신이 열리고 닫히는 시간은 세션이라고 알려져 있습니다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장합니다.


또한, 세션 계층은 또한 데이터 전송을 체크포인트와 동기화합니다. 예를 들어 100MB 파일이 전송되는 경우 세션 계층은 5MB마다 체크포인트를 설정할 수 있습니다. 52MB가 전송된 후 연결이 끊기거나 충돌이 발생한 경우 마지막 체크포인트에서 세션을 재개할 수 있습니다. 이는 데이터를 50MB 이상만 전송하면 된다는 것을 의미합니다. 체크포인트가 없으면 전체 전송을 처음부터 다시 시작해야 합니다.

전송 계층

4. 전송 계층

계층 4는 두 장치 간에 엔드 투 엔드 통신을 담당합니다. 여기에는 세션 계층에서 데이터를 가져와 계층 3으로 전송하기 전에 세그먼트라고 불리는 덩어리로 분해하는 것이 포함됩니다. 수신 장치의 전송 계층은 세션 계층이 소비할 수 있는 데이터로 세그먼트를 재조립하는 역할을 합니다.


또한, 전송 계층은 흐름 제어 및 오류 제어 기능의 역할을 합니다. 흐름 제어는 연결 속도가 빠른 송신자가 연결이 느린 수신자를 압도하지 않도록 최적의 전송 속도를 결정합니다. 전송 계층은 수신된 데이터가 완료되었는지 확인하고 수신되지 않은 경우 재전송을 요청하여 수신하는 끝에서 오류 제어를 수행합니다.

네트워크 계층

3. 네트워크 계층

네트워크 계층은 서로 다른 두 네트워크 간의 데이터 전송을 용이하게 하는 역할을 합니다. 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않습니다. 네트워크 계층은 전송 계층의 세그먼트를 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 분해하여 수신 장치에서 이러한 패킷을 다시 조립합니다. 또한, 네트워크 계층은 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾으며 이는 라우팅이라고 알려져 있습니다.

데이터 연결 계층

2. 데이터 연결 계층

데이터 연결 계층은 네트워크 계층과 매우 비슷하지만, 데이터 연결 계층은 동일한 네트워크에 있는 두 개의 장치 간에 데이터 전송을 용이하게 합니다. 데이터 연결 계층은 네트워크 계층에서 패킷을 가져와서 프레임이라고 불리는 더 작은 조각으로 분해합니다. 네트워크 계층과 마찬가지로 데이터 연결 계층도 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당합니다(전송 계층은 네트워크 간 통신에 대해서만 흐름 제어 및 오류 제어를 담당함).

물리적 계층

1. 물리적 계층

이 계층에는 케이블, 스위치와 같이 데이터 전송에 곤련된 물리적 장비가 포함됩니다. 또한, 이 계층은 1과 0의 문자열인 비트 스트림으로 변환되는 계층입니다. 뿐만 아니라 두 장치의 물리적 계층은 1을 두 장치의 0과 구별할 수 있도록 신호 규칙에 동의해야 합니다.

OSI 모델을 통해 데이터가 전송되는 방법

네트워크를 통해 사람이 읽을 수 있는 정보를 장치 간에 전송하려면 데이터가 송신 장치에서 OSI 모델의 7가지 계층 아래로 이동한 다음 수신 끝에서 7가지 계층 위로 이동해야 합니다.


예를 들면 다음과 같습니다. 쿠퍼 씨는 팔머 씨에게 이메일을 보내고자 합니다. 쿠퍼 씨는 노트북의 이메일 애플리케이션에서 메시지를 작성한 후 ‘전송’을 누릅니다. 그의 이메일 애플리케이션은 이메일 메시지를 애플리케이션 계층으로 전달하고, 애플리케이션 계층은 프로토콜(SMTP)을 선택한 다음, 해당 데이터를 프레젠테이션 계층으로 전달합니다. 그런 후에는 프레젠테이션 계층이 데이터를 압축한 다음 세션 계층에 도달하고 세션 계층은 통신 세션을 초기화합니다.


그런 다음 데이터가 분할되는 발신인의 전송 계층에 도달한 후에 해당 세그먼트는 네트워크 계층에서 패킷으로 분해되고 이러한 패킷은 데이터 연결 계층에서 프레임으로 훨씬 더 작게 분해됩니다. 그런 후에 데이터 연결 계층은 해당 프레임을 물리적 계층으로 전송하고 물리적 계층은 데이터를 1 및 0의 비트 스트림으로 변환하고 케이블과 같은 물리적 매체를 통해 이를 전송합니다.


팔머 씨의 컴퓨터가 물리적 매체(예: wifi)를 통해 비트 스트림을 수신하면 데이터는 팔머 씨의 장치에서 동일한 일련의 계층을 통해 흐르지만 그 반대 순서로 흐릅니다. 먼저 물리적 계층은 1과 0의 비트스트림을 데이터 연결 계층으로 전달하는 프레임으로 변환합니다. 그런 다음 데이터 연결 계층이 네트워크 계층용 패킷으로 프레임을 재조립합니다. 그런 후에 네트워크 계층은 전송 계층용 패킷에서 세그먼트를 만들고 전송 계층은 해당 세그먼트를 하나의 데이터 조각으로 재조립합니다.


그런 다음에는 데이터가 수신자의 세션 계층으로 흘러 들어가고 세션 계층은 프레젠테이션 계층을 따라 데이터를 전달한 후에 통신 세션을 종료합니다. 그런 다음 프레젠테이션 계층이 압축을 제거하고 원시 데이터를 애플리케이션 계층까지 전달합니다. 그 후에는 애플리케이션 계층이 사람이 읽을 수 있는 데이터를 팔머 씨의 이메일 소프트웨어에 전달하고, 팔머 씨는 이메일 소프트웨어를 사용하여 자신의 노트북 화면에서 쿠퍼 씨의 이메일을 읽을 수 있게 됩니다.