본문 바로가기
[Cloud & Infrastructure]/[Network]&[Server]

[Network] OSI 7계층

by 코드몽규 2022. 8. 3.
반응형

OSI 7 계층

개념 :  개방형 시스템 사호 연결 모델의 표준이다. 즉, 표준 프로토콜을 사용하여 통신할 수 있도록 국제 표준화 기구가 만든 모델이다. (Open Systems Interconnection Reference Model) 

* TCP/IP 4 계층 는 OSI 참조 모델을 기반으로 좀 더 효율적 사용을 위해 단순화시킨 것

중요한 이유:  TCP/IP 4계 층등 최신에는 더욱 간단한 인터넷 프로토콜을 통해 OSI모델을 무조건적으로 따르지는 않지만 OSI 모델은 여전히 네트워크에서 발생하는 오류를 해결하는데 많은 도움을 준다. 이슈가 발생한 원인을 세분화된 계층을 사용하여 특정 계층으로 좁힐 수 있으며 이 과정에서 많은 시간과 노력을 절약할 수 있다.

작동원리 

1.  OSI 7 계층은 물리, 데이터, 네트워크, 전송, 세션, 표현, 응용으로 나뉜다. 

2.  각 계층으로 데이터 전송 시 계층마다 해당 층을 인식할 수 있는 Header를 추가함 (캡슐화)

3.  각 계층에서 데이터 수신 시 해당층의 Header를 분리함 (디캡슐화)

 

OSI 7 계층 & TCP/IP 4계층

 

물리계층 (Physical Layer)

  • 7계층 중 1 계층에 해당하는 층으로 케이블, 스위치 등 데이터 전송과 관련된 물리적 장치를 포함한다.
  • 이 계층에서 데이터가 1과 0으로 구성된 문자열인 비트 스트림(bitstream)으로 변환된다.

데이터 연결 계층(DataLink Layer) (패킷 < ->프레임)

  • 데이터 계층은 네트워크 계층과 유사하지만, 동일한 네트워크에 있는 두기기 간의 전송을 담당한다는 점에서 차이점이 있다.
  • 네트워크 계층에서 패킷을 가져와 더 작은 조각인 프레임 단위로 나눈다. 
  • 네트워크 계층과 마찬가지로 네트워크 통신의 흐름 제어 및 오류 제어를 담당하기도 한다.

네트워크 계층(Network Layer) (세그먼트 <-> 패킷) 

  • 네트워크 계층은 두 개의 상이한 네트워크 간의 데이터 전송을 담당한다. (만약 통신 중인 두 대의 기기가 동일한 네트워크에 있다면, 네트워크 계층이 필요하지 않다.)
  • 네트워크 계층에서 발신자의 기기에서 전송계층의 세그먼트를 패킷이라는 더 작은 단위로 분리한 후 수신장치에서 다시 재조립합니다. 
  • 네트워크 계층은 데이터가 도달할 수 있는 최상의 물리적 경로를 파악한다. (라우팅)

전송 계층 (Transport Layer)

  • 전송 계층은 두 기기 간의 (종단) 통신을 담당한다. 세션 계층에서 데이터를 가져와서 네트워크 계층으로 보내기 전 세그먼트라고 하는 조각으로 분할하는 역할을 한다. 
  • 전송 계층은 흐름 제어 및 오류제어도 담당한다. 

세션 계층 (Session Layer)

  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당한다. 즉, 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다. 통신하는 동안 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방하기도 하며, 개방한 다음 리소스를 낭비하지 않기 위해 데이터 전송이 끝나면 즉시 닫을 수 있도록 보장해야 합니다.
  • 데이터 전송의 체크포인트를 설정할 수 있다.  예를 들어, 100mb 파일이 전송되는 경우 10mb마다 체크포인트를 설정할 수 있다. 만약 53mb가 전송된  후 연결이 끊어지거나 충돌이 발생하면 50mb 때 생성된 체크포인트부터 세션을 다시 시작할 수 있다.

프레젠테이션 계층 (Presentation Layer)

  • 프레젠테이션 계층은 데이터를 준비하는 역할을 담당한다. 즉, 데이터를 프레젠테이션 해서 데이터를 애플리케이션 층이 소비할 수 있도록 변환, 암호화, 압축을 진행한다.

응용 프로그램 계층 (Application Layer)

  • 응용 프로그램 계층은 데이터와 직접 상호 작용하는 유일한 계층이다. 
  • 웹 브라우저 및 이메일 클라이언트와 같은 애플리케이션은 통신을 애플리케이션 계층에 의지한다.
  • HTTP, SMTP 등의 프로토콜을 사용한다.

 

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

예시)

  쿠퍼 씨가 파머 씨에게 이메일을 보내려고 합니다. 쿠퍼 씨는 자신의 노트북에 있는 이메일 애플리케이션에서 메시지를 작성하고 '발송'을 누릅니다. 쿠퍼 씨의 이메일 애플리케이션이 이메일 메시지를 애플리케이션 계층으로 넘기면, 애플리케이션 레이어는 프로토콜(SMTP)을 선택하고, 데이터를 프레젠테이션 계층으로 전달합니다. 프레젠테이션 계층이 압축한 데이터는 세션 계층에 도달하고, 세션 계층은 세션을 시작합니다.

  이제 데이터는 발신자의 전송 계층으로 넘어가 세그먼트로 나눠지게 되며, 이 세그먼트는 네트워크 계층에서 패킷으로 다시 나눠지고, 이는 데이터 연결 계층에서 프레임으로 나눠집니다. 데이터 링크 계층은 해당 프레임을 물리적 계층으로 전달하며, 물리적 계층은 데이터를 1과 0의 비트스트림으로 변환하고 물리적 매체(예: 케이블)를 통해 전송합니다.

파머 씨의 컴퓨터가 물리적 매체(예: 와이파이)를 통해 비트스트림을 수신하면, 데이터는 반대 순서로 계층을 지나게 됩니다. 먼저 물리적 계층은 비트 스트림을 1과 0에서 프레임으로 변환해 데이터 연결 계층으로 넘깁니다. 데이터 연결 계층은 프레임을 패킷으로 재조립해 네트워크 계층으로 넘깁니다. 네트워크 계층은 패킷으로 세그먼트를 만들어 전송 계층으로 넘기고, 전송 계층은 세그먼트를 재조립해 하나의 데이터를 만듭니다.

  이제 데이터는 수신자의 세션 계층으로 흐르고, 세션 계층이 이 데이터를 프리젠테이션 계층으로 넘기면, 통신 세션이 종료됩니다. 이제 프레젠테이션 계층은 압축을 제거하고 원본 데이터를 애플리케이션 계층으로 넘깁니다. 애플리케이션 계층은 사람이 읽을 수 있는 데이터를 파머 씨의 이메일 소프트웨어에 제공하고, 파머 씨는 자기 노트북 화면에서 이메일 소프트웨어를 통해 쿠퍼 씨의 이메일을 읽을 수 있게 됩니다.

 

참고: https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/

 

 

반응형

댓글