OSI 모델

songtofu·2024년 2월 20일
0

STUDY

목록 보기
1/4

개방형 시스템 상호 연결 모델(OSI)이란?

  • 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 국제 표준화 기구에서 만든 개념 모델.
  • 통신 시스템을 7개의 추상적 계층으로 나누며 각 계층은 다음 계층 위에 스택 된다.
  • 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신한다.

OSI 모델이 중요한 이유?

  • 사실 현대 인터넷은 OSI 모델을 엄격하게 따르지 않음. 그러나 여전히 네트워크 문제를 해결하는 데 유용. ex) 한 사람이 노트북에서 인터넷을 이용할 수 없게 되었거나 수천 명의 사용자가 이용하는 웹 사이트가 다운되었더라도, OSI 모델은 문제를 분석하고 문제의 원인을 분리하는데 도움이 된다.-> 특정 계층으로 문제를 좁혀 불필요한 작업 피함.

OSI 모델의 7가지 계층?

탑다운 방식

7. 응용 프로그램 계층

  • 사용자의 데이터와 직접 상호 작용하는 유일한 계층.
  • 소프트웨어 애플리케이션은 통신을 개시하기 위해 애플리케이션 계층에 의지한다. 그러나 클라이언트 소프트웨어 애플리케이션은 애플리케이션 계층의 일부가 아님!!!! 애플리케이션 계층은 소프트웨어가 사용자에게 의미 있는 데이터를 제공하기 위해 의존하는 프로토콜과 데이터를 조작함.
    ex) HTTP, SMTP(이메일)

6. 프레젠테이션 계층

  • 주로 데이터를 준비하는 역할로 애플리케이션 계층이 이를 사용할 수 있게 한다. = 애플리케이션이 소비할 수 있도록 데이터를 프리젠테이션한다.
  • 데이터의 변환, 암호화, 압축을 담당.
  • 서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, 이 계층은 수신장치의 애플리케이션 계층이 이해할 수 있는 구문으로 수신 데이터를 변환.
  • 장치가 암호화된 연결을 통해 통신하는 경우, 이 계층은 최종 송신자에게 암호화를 추가하고 최종 수신자에게 암호화를 디코딩하여 암호화 되지 않은 읽기 쉬운 데이터로 애플리케이션 계층을 제시할 수 있도록 하는 역할
  • 이 계층은 애플리케이션 계층에서 수신한 데이터를 계층에서 수신한 데이터를 계층 5로 전송하기 전에 압축하는 일도 담당. 전송할 데이터 양을 최소화해 통신 속도의 효율을 높이는 데 도움.

5. 세션 계층

  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당
  • 통신이 시작될 때부터 종료될 때까지의 시간 = 세션
  • 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장한다.
  • 또한, 이 계층은 데이터 전송을 체크포인트와 동기화 한다. ex) 100MB 파일 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정, 52MB가 전송된 후 연결이 끊어 지거나 충돌 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능.(체크 포인트가 없을 시 전체 전송을 처음부터 해야함)

4. 전송 계층

  • 두 기기 간의 종단 간 통신을 담당.
  • 전송 계층에서는 세션 계층에서 데이터를 가져와 3층으로 내보내기 전 세그먼트라고하는 조각으로 분할하는 일이 포함. 수신 기기의 전송 계층은 세그먼트를 세션 계층을 이용할 수 있는 데이터로 재조립해야한다.
  • 또한 흐름 제어 및 오류 제어 기능의 역할.
    - 흐름 제어: 연결 속도가 빠른 송신자가 연결 속도가 느린 수신자를 압도하지 않도록 최적의 전송속도 결정.
  • 전송 계층은 수신된 데이터가 완료되었는지 확인, 수신되지 않은 경우 재전송을 요청하여 최종 수신자에 대해 오류 제어를 수행.
  • 전송 계층 프로토콜에는 전송 제어 프로토콜(TCP) 및 사용자 데이터그램 프로토콜(UDP)이 있다.

3. 네트워크 계층

  • 서로 다른 두 네트워크 간 데이터 전송을 용이하게 하는 역할.
  • 서로 통신하는 두 장치가 동일한 네트워크에 있는 경우에는 필요없음.
  • 네트워크 계층은 전송 계층의 세그먼트를 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 세분화해 수신 장치에서 이러한 패킷을 다시 조립한다. 또한, 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는다(=라우팅)
  • 네트워크 계층 프로토콜 IP, 인터넷 제어 메시지 프로토콜(ICMP), 인터넷 그룹 메시지 프로토콜(IGMP), IPsec 제품군이 있다.

2. 데이터 연결 계층

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

1. 물리적 계층

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

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

ex) A가 B에게 이메일을 보내려함. A는 자신의 노트북에 있는 이메일 애플리케이션에서 메세지를 작성 후 '발송'을 누름.

  1. A씨의 이메일 어플리케이션이 이메일 메세지를 애플리케이션 계층으로 넘김

  2. 애플리케이션 레이어는 프로토콜(SMTP)을 선택하고, 데이터를 프레젠테이션 계층으로 전달

  3. 프레젠테이션 계층이 압축한 데이터는 세션 계층에 도달

  4. 세션 계층은 세션을 시작

  5. 데이터는 발신자의 전송 계층으로 넘어가 세그먼트로 나눠짐

  6. 이 세그먼트는 네트워크 계층에서 다시 패킷으로 나눠짐

  7. 이는 데이터 연결 계층에서 프레임으로 나눠짐

  8. 데이터 링크 계층은 해당 프레임을 물리적 계층으로 전달

  9. 물리적 계층은 데이터를 1과 0의 비트스트림으로 변환 후 물리적 매체(ex.케이블)를 통해 전송.

  10. B의 컴퓨터가 물리적 매체(ex.와이파이)를 통해 비트스트림을 수신하면, 데이터는 반대 순서로 계층을 지나게 된다. 패킷->세그먼트->데이터

  11. 그리고 마지막으로 세션 계층이 데이터를 프리젠테이션 계층으로 넘기면, 통신 세션이 종료된다.

  12. 이제 프리젠테이션 계층 압축 제거 후 원본 데이터를 애플리케이션 계층으로 넘긴다.

  13. 애플리케이션 계층은 사람이 읽을 수 있는 데이터를 B의 이메일 소프트웨어에 제공, B는 자기 노트북화면에서 이메일 소프트웨어를 통해 A의 이메일을 읽을 수 있음.

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

profile
읽으면 머리에 안들어와서 직접 쓰는 중. 잘못된 부분 지적 대환영

0개의 댓글