💾 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계층인 응용 계층에 포함한 캡슐화와 역캡슐화 흐름의 전체 구성
- 우선 송신 측 컴퓨터에서 웹 사이트에 접속하려고 하면 응용 계층에서는 웹 사이트를 접속하기 위한 요청 데이터가 만들어진다.
- 다음으로 해당 데이터는 전송 계층에 전달되는데, 전송 계층에서 신뢰할 수 있는 통신이 이루어지도록 응용 계층에서 만들어진 데이터에 헤더를 붙인다. (캡슐화)
- 전송 계층에서 만들어진 데이터를 다른 네트워크와 통신하기 위해 네트워크 계층에서 헤더를 붙인다.
- 네트워크 계층에서 만들어진 데이터에 물리적인 통신 채널을 연결하기 위해 데이터 링크 계층에서 헤더와 트레일러를 붙인다.
- 트레일러란? 데이터를 전달할 때 데이터의 마지막에 추가하는 정보
- 데이터 링크 계층에서 만들어진 데이터는 최종적으로 전기 신호로 변환돼서 수신 측에 도착한다.
- 이처럼 필요한 데이터를 추가해 나가는 것을 캡슐화라고 한다.
- 수신 측은 각 계층의 헤더를 제거하면서 데이터를 전달한다. 데이터 링크 계층부터 순서대로 상위 계층으로 전달한다. (역캡슐화)
- 데이터 링크 계층의 헤더와 트레일러를 제거한 후에는 네트워크 계층의 헤더를 제거한다.
- 전송 계층의 헤더를 제거하고 모든 헤더가 제거된 데이터가 수신 측에 도착한다.
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)
- 출처
- 도서 [모두의 네트워크]
- https://www.ibm.com/docs/ko/aix/7.1?topic=management-transmission-control-protocolinternet-protocol
- https://aws.amazon.com/ko/what-is/osi-model/?trk=faq_card
- https://www.cloudflare.com/ko-kr/learning/ddos/glossary/tcp-ip/
- https://nordvpn.com/ko/blog/tcp-ip-protocol/
- http://www.ktword.co.kr/test/view/view.php?no=310