Post

OSI 모델

OSI 모델

OSI 모델은 다양한 통신 시스템이 통신할 수 있도록 국제표준화기구에서 만든 프로토콜로 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다. 오늘은 이러한 OSI 모델에 대해 알아보자. 😉

애플리케이션 계층

  • 사용자의 데이터와 직접 상호 작용하는 계층
  • 웹 브라우저 및 이메일 클라이언트와 같은 애플리케이션은 통신을 위해 애플리케이션 계층을 이용

application-layer

프레젠테이션 계층

  • 주로 데이터를 준비하는 역할을 하여 애플리케이션 계층이 데이터를 사용할 수 있게 함
  • 애플리케이션 계층에게 데이터를 전송할 때 암호화
  • 세션 계층에 데이터를 전송하기 전에 압축

presentation-layer

세션 계층

  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당
  • 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 함

session-layer

전송 계층

  • 두 기기 간의 종단 간 통신을 담당
  • 세션 계층에서 데이터를 가져와서 네트워크 계층으로 보내기 전에 세그먼트라고 하는 조각으로 분할
  • 네트워크 계층에서 패킷을 전달받을시 전송 계층은 세그먼트를 세션 계층이 사용할 수 있는 데이터로 재조립

transport-layer

네트워크 계층

  • 서로 다른 두 네트워크 간 데이터 전송을 제공한다.
  • 전송 계층의 세그먼트를 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립한다.
  • 데이터가 표적에 도달하기 위한 최상의 물리적 경로를 찾는 라우팅을 한다.

network-layer

데이터링크 계층

  • 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 제공한다.
  • 물리 계층의 오류 수정도 처리한다.
  • 네트워크 계층에서 패킷을 가져와서 프레임이라고 불리는 더 작은 조각으로 세분화한다.

data-link-layer

물리 계층

  • 케이블, 스위치 등 데이터 전송과 관련된 물리적 장비가 포함된다.
  • 1과 0의 문자열인 비트 스트림으로 변환되는 계층이다.

physical-layer

계층별 데이터 헤더

  • 전송 계층(세그먼트)
    • 소스 및 대상 포트 번호: 송신 및 수신 애플리케이션을 식별
    • 제어 플래그: 세그먼트의 목적을 나타탬(예: SYN(연결 요청), ACK(응답), FIN(연결 종료 요청 ))
    • 체크섬: 헤더와 데이터의 오류를 확인하는 데 사용
  • 네트워크 계층(패킷)
    • 버전: IP 프로토콜 버전(예: IPv4)
    • 헤더 길이: IP 헤더의 크기
    • 전체 길이 : 헤더와 데이터의 길이
    • TTL(Time to Live): 패킷의 수명을 제한
    • 프로토콜: 사용된 전송 계층 프로토콜(예: TCP, UDP)을 나타냄
    • 체크섬: 헤더와 데이터의 오류를 확인하는 데 사용
    • 소스 및 대상 IP 주소
  • 데이터링크 계층(프레임)
    • 대상 및 소스 MAC 주소: LAN에 있는 발신자와 수신자의 하드웨어 주소
    • EtherType: 전송되는 프로토콜(예: IPv4, IPv6)을 나타냄

osi-data

그렇다면 실제로 2개의 컴퓨터가 데이터를 주고받을 때 무슨 일이 일어날까? 🧐

컴퓨터 2대가 이메일 데이터를 주고받을 때 동작 방식 ❗️

Transmit Data

  1. 애플리케이션 계층(컴퓨터 A): 컴퓨터 A의 이메일 애플리케이션이 이메일 메시지를 생성한다.
  2. 프레젠테이션 레이어(컴퓨터 A): 이메일은 프레젠테이션 레이어에 의해 처리되며, 이 계층은 이메일 메시지를 표준 형식으로 변환하거나, 보안을 위해 암호화하거나, 크기를 줄이기 위해 압축할 수 있다.
  3. 세션 레이어(컴퓨터 A): 세션 레이어는 컴퓨터 B와 통신 세션을 설정한다.
  4. 전송 계층(컴퓨터 A): 전송 계층에서는 이메일 메시지가 보다 쉽게 ​​전송될 수 있도록 더 작은 세그먼트로 분할한다. 이 계층은 또한 소스 및 대상 포트 번호, 제어 플래그, 오류 검사를 위한 체크섬과 같은 정보를 추가한다.
  5. 네트워크 계층(컴퓨터 A): 각 세그먼트는 패킷으로 패키징된다. 네트워크 계층은 컴퓨터 A와 컴퓨터 B의 IP 주소, TTL 및 기타 정보를 포함하는 자체 헤더를 추가한다.
  6. 데이터 링크 계층(컴퓨터 A): 패킷은 프레임으로 나누어진다. 데이터 링크 계층은 MAC 주소 및 오류 확인 정보가 포함된 데이터를 추가한다.
  7. 물리 계층(컴퓨터 A): 프레임은 비트 스트림으로 변환되어 물리적 매체(예: 이더넷 케이블 또는 Wi-Fi)를 통해 전송된다.

Receive Data

  1. 물리 계층(컴퓨터 B): 컴퓨터 B는 물리적 매체를 통해 비트 스트림을 수신한다.
  2. 데이터 링크 계층(컴퓨터 B): 비트 스트림은 프레임으로 재조립된다.
  3. 네트워크 계층(컴퓨터 B): 프레임은 패킷으로 재조립된다. 네트워크 계층은 대상 IP 주소를 읽어 패킷이 올바른 장치에 도달했는지 확인한다.
  4. 전송 계층(컴퓨터 B): 패킷은 세그먼트로 재조립되며, 모든 세그먼트가 올바른 순서로 도착했는지 확인한다.
  5. 세션 레이어(컴퓨터 B): 세션 계층은 순차적 데이터 수신을 관리하고 이를 프레젠테이션 계층으로 전달한다.
  6. 프레젠테이션 레이어(컴퓨터 B): 이메일 메시지가 전송된 방식에 따라 메시지의 암호를 해독하거나 압축을 풀 수 있다.
  7. 애플리케이션 계층(컴퓨터 B): 마지막으로 컴퓨터 B의 이메일 애플리케이션은 메시지를 수신하여 수신자에게 표시한다.

how-osi-works

This post is licensed under CC BY 4.0 by the author.