[ 2024.08.27 TIL ] OSI 7 계층

박지영·2024년 8월 27일
0

Today I Learned

목록 보기
32/84

📘 OSI


[출처] https://medium.com/@sreekanth.thummala/osi-model-7-layers-dataflow-example-b711dbca5eff

📖 OSI 모델

📃 OSI 모델이란?

  • 개방형 시스템 상호 연결(Open Systems Interconnection)은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신 할 수 있도록 국제표준화기구(ISO)에서 만든 개념.

  • OSI는 네트워크 통신 기능을 7개의 추상적 계층으로 나누고 각 계층은 다음 계층 위에 쌓입니다.

  • OSI의 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신한다.

  • OSI 모델을 사용하는 모든 시스템이 모든 계층을 구현하는 것은 아니다.

📃 OSI 모델이 중요한 이유

  • 복잡한 시스템에 대한 이해 공유

    • 복잡한 네트워크 시스템 아키텍처를 구성하고 모델링 가능하다.

    • 주요 기능에 따라 각 시스템 구성 요소의 운영 계층을 분리할 수 있다.

    • 추상화를 통해 시스템을 더 작고 관리 가능한 부분으로 분해하는 기능을 한다.

  • 더 빠른 연구 및 개발

    • 서로 통신해야 하는 네트워크로 연결된 새로운 시스템을 만들 때 어떤 기술 계층을 대상으로 개발하는지 알기 쉽다.

    • 네트워크로 연결된 시스템을 개발하고 반복 가능한 일련의 프로세스 및 프로토콜을 활용할 수 있다.

  • 유연한 표준화

    • 레벨 간에 사용할 프로토콜을 지정하지 않고 프로토콜이 수행하는 작업을 지정한다.

    • 네트워크 통신 개발을 표준화하여 사전 지식 없이 시스템을 신속하게 이해, 구축 및 분해할 수 있도록 한다.

    • 세부 사항을 추상화하기 때문에 기술자가 모델의 모든 측면을 이해할 필요가 없다.

    • 낮은 수준의 네트워킹 및 프로토콜을 추상화하여 시스템 설계 및 개발을 단순화한다.

📖 OSI 7 계층

📃 OSI 7 계층의 각 계층

  • 물리 계층 (Physical layer)

    • 물리적 통신 매체와 해당 매체를 통해 데이터를 전송하는 기술.

    • bluetooth, NFC, 데이터 전송 속도 등

  • 데이터 링크 계층 (Data link layer)

    • 물리 계층이 이미 존재하는 네트워크를 통해 두 시스템을 연결하는 데 사용되는 기술이다.

    • 네트워크 계층에서 패킷을 가져와서 프레임이라는 단위로 세분화한다.

    • 데이터의 흐름 제어 및 오류 제어를 담당한다.

  • 네트워크 계층 (Network layer)

    • 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할을 한다.

    • 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 한다.

    • 통신하는 두 장치가 동일한 네트워크 내에 존재할 경우 네트워크 계층이 필요하지 않다.

    • 전송 계층의 세그먼트를 패킷이라 불리는 단위로 세분화하여 수신 장치에서 패킷을 다시 조립한다.

    • 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는데, 이를 라우팅이라한다.

  • 전송 계층 (Transport layer)

    • 데이터 패킷이 손실이나 오류 없이 올바른 순서로 도착하는 것이나 필요한 경우 데이터 패킷을 원활하게 복구하는 역할을 한다.

    • 일반적으로 사용되는 프로토콜은 전송 제어 프로토콜(TCP)과 사용자 데이터그램 프로토콜(UDP)가 있다.

    • 세션 계층에서 데이터를 가져와 세그먼트로 분할하는 일도 한다. 재조립도 수행

    • 흐름 제어 및 오류 제어의 역할도 수행한다. 전송 속도 결정, 재전송 요청 등

  • 세션 계층 (Session layer)

    • 한 세션에서 서로 다른 두 애플리케이션 간의 네트워크 조정을 담당한다.

    • 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다.

    • 데이터 전송 시 체크 포인트와 동기화를 지원한다.

  • 프레젠테이션 계층 (Presentation layer)

    • 데이터를 준비하는 역할을 하여 애플리케이션 계층이 이를 사용할 수 있게 한다.

    • 수신 장치의 애플리케이션 계층이 이해할 수 있는 구문으로 수신 데이터를 변환한다.

    • 데이터의 변환, 암호화, 압축을 담당한다.

    • HTML, JSON, CSV 등은 프레젠테이션 계층의 데이터 구조를 설명하는 모델링 언어이다.

  • 애플리케이션 계층 (Application layer)

    • 사용자의 데이터와 직접 상호 작용하는 유일한 계층이다.

    • 클라이언트는 통신을 개시하기 위해 애플리케이션 계층에 의지한다.

    • 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작하는 역할을 한다.

    • 주요 프로토콜은 HTTP, SMTP 등이 있다.

📌 [ 참고 사이트]

profile
신입 개발자

0개의 댓글