💾 CS

OSI 7계층, 캡슐화, 비캡슐화, PDU

별이⭐ 2024. 5. 10. 22:33

OSI 모델

💡 OSI 모델이란?

  • 에전엔 같은 회사의 컴퓨터끼리만 통신이 가능했고, 케이블을 연결하는 커넥터도 회사별로 달랐다.
    • 이런 일들이 있어서 공통으로 사용할 수 있는 표준 규격을 정해야만 했다.
    • ISO(International Organization for Standardization, 국제 표준화기구)에서 OSI 모델(Open Standards Interconnection model) 이라는 표준 규격을 제정했다.
  • 네트워크 통신 기능을 7개의 계층으로 나누는 개념적 프레임워크
  • 소프트웨어 및 하드웨어 구성 요소 전반에 걸쳐 모든 유형의 네트워크 통신을 캡슐화한다.
  • 장점
    • 복잡한 시스템에 대한 이해 공유
      • OSI 모델을 사용해 네트워크 시스템 아키텍처를 구성하고 모델링해 주요 기능에 따라 각 시스템 구성 요소의 운영 계층을 분리할 수 있다.
      • 추상화를 통해 시스템을 더 작고 관리 가능한 부분으로 분해해 시스템을 전체적으로 개념화하는 것을 더 쉽게 만든다.
    • 유연한 표준화
      • 낮은 수준의 네트워킹 및 프로토콜을 추상화해 시스템 설계 및 개발을 단순화한다.

💡 OSI 7계층

  • 데이터의 송수신은 컴퓨터에서 컴퓨터로 데이터를 전송하는 것이다.
  • 이때 컴퓨터 내부에서는 여러 가지 일을 하는데, 이런 일을 일곱 개 계층으로 나눠서 한다.
    • 일곱 개 계층(레이어)이 OSI 모델이다.
    • 통신할 때 데이터는 맨 위의 응용 계층에서 순차적으로 아래 계층으로 전달된다.
  • 데이터를 전송하는 쪽(송신 측)은 데이터를 보내기 위해 상위 계층에서 하위 계층으로 데이터를 전달한다.
    • 각 계층은 독립적이므로 데이터가 전달되는 동안에 다른 계층의 영향을 받지 않는다.
  • 데이터를 받는 쪽(수신 측)은 하위 계층에서 상위 계층으로 각 계층을 통해 전달된 데이터를 받는다.

계층 이름 설명
7계층 응용 계층
(Application Layer, 애플리케이션 계층)
이메일 & 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공한다.
6계층 표현 계층
(Presentation Layer, 프레젠테이션 계층)
문자 코드, 압축, 암호화 등의 데이터를 변환한다.
5계층 세션 계층
(Session Layer)
세션 체결, 통신 방식을 결정한다.
4계층 전송 계층
(Transport Layer, 트랜스포트 계층)
신뢰할 수 있는 통신을 구현한다.
3계층 네트워크 계층
(Network Layer)
다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정한다.
2계층 데이터 링크 계층
(Data Link Layer)
네트워크 기기 간의 데이터 전송 및 물리 주소를 결정한다.
1계층 물리 계층
(Physical Layer)
시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어한다.

 

 

캡슐화와 비캡슐화(역캡슐화)

💡 캡슐화와 비캡슐화(역캡슐화)

  • 컴퓨터 A에서 컴퓨터 B로 데이터를 보내려면 데이터의 앞부분에 전송하는 데 필요한 정보를 붙여서 다음 계층으로 보내야 한다.
    • 이 정보를 헤더라고 하는데 헤더에는 데이터를 전달받을 상대방에 대한 정보도 포함되어 있다.
    • 이처럼 데이터를 상대방에게 보낼 때 각 계층에서 헤더(데이터 링크 계층의 트레일러도 포함)를 붙여 나가는 걸 캡슐화라고 한다.
    • 한편 데이터를 받는 쪽에서는 헤더(트레일러)를 하나씩 제거해야하는데 이것을 역캡슐화라고 한다.

💡 캡슐화와 역캡슐화 흐름

  • 5계층(세션 계층)과 6계층(표현 계층)을 7계층인 응용 계층에 포함한 캡슐화와 역캡슐화 흐름의 전체 구성

  1. 우선 송신 측 컴퓨터에서 웹 사이트에 접속하려고 하면 응용 계층에서는 웹 사이트를 접속하기 위한 요청 데이터가 만들어진다.
  2. 다음으로 해당 데이터는 전송 계층에 전달되는데, 전송 계층에서 신뢰할 수 있는 통신이 이루어지도록 응용 계층에서 만들어진 데이터에 헤더를 붙인다. (캡슐화)
  3. 전송 계층에서 만들어진 데이터를 다른 네트워크와 통신하기 위해 네트워크 계층에서 헤더를 붙인다.
  4. 네트워크 계층에서 만들어진 데이터에 물리적인 통신 채널을 연결하기 위해 데이터 링크 계층에서 헤더트레일러를 붙인다.
    • 트레일러란? 데이터를 전달할 때 데이터의 마지막에 추가하는 정보
  5. 데이터 링크 계층에서 만들어진 데이터는 최종적으로 전기 신호로 변환돼서 수신 측에 도착한다.
    • 이처럼 필요한 데이터를 추가해 나가는 것을 캡슐화라고 한다.
  6. 수신 측은 각 계층의 헤더를 제거하면서 데이터를 전달한다. 데이터 링크 계층부터 순서대로 상위 계층으로 전달한다. (역캡슐화)
  7. 데이터 링크 계층의 헤더와 트레일러를 제거한 후에는 네트워크 계층의 헤더를 제거한다.
  8. 전송 계층의 헤더를 제거하고 모든 헤더가 제거된 데이터가 수신 측에 도착한다.

 

 

PDU(Protocol Data Unit)

💡 PDU란?

  • 프로토콜 데이터 단위
  • OSI 7계층 모델과 같이 계층화된 구조에서 같은 계층에 존재하는 두 통신 개체 간에 서로 주고 받게되는 헤더(제어 정보) 및 데이터(SDU, payload)가 합쳐진 캡슐화된 운반체

💡 PDU의 구성

  • PCI(Protocol Control Unit): 헤더 정보
    • 발신지 주소, 수신지 주소, 순서 번호, 오류 검출용 FCS 등
  • SDU(Service Data Unit): 실제 사용자 정보

💡 통신 계층 별 PDU의 다른 명칭

 

  • 데이터 링크 계층(2계층): 프레임(Frame)
  • 네트워크 계층(3계층): 패킷(Packet)
  • 전송 계층(4계층): 세그먼트(Segment)