OSI모델?

OSI 모델이 뭐길래 네트워크 파트에서 가장 먼저 소개할까요?

OSI(Open Systems Interconnection, 개방형 시스템 상호 연결)란 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나눠서 설명하는 모델입니다.

 

OSI 모델은 네트워크 통신의 복잡한 프로세스를 간단한 계층으로 분리하여 네트워크가 작동하는 방식을 설명합니다.
이런 계층적 접근 방식은 작업과 책임을 별개의 계층으로 나누어 네트워크 통신의 복잡성을 단순화하고, 초보자가 데이터 전송과 관련된 다양한 기능을 더 쉽게 파악할 수 있도록 해줍니다.
결과적으로 OSI 모델은 (실제 프로토콜은 종종 레이어 간의 경계를 모호하게 만들기 때문에)항상 실제 네트워크를 완벽하게 표현하는 것은 아니지만 특정 프로토콜과 기술을 탐구하기 전에 네트워킹 원리를 배울 수 있는 훌륭한 출발점 역할을 합니다.

OSI 7계층

OSI 7계층의 각 계층은 네트워크를 통해 데이터를 전송(통신)하는 것과 관련된 특정 작업을 담당합니다. 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공하기 때문에 상위 계층의 프로토콜이 제대로 동작하기 위해서는 하위의 모든 계층에 문제가 없어야 하죠. 그리고 데이터를 전송하는 측의 송신 호스트와 수신 호스트의 모든 계층이 정상적으로 동작하여야 인터넷 통신이 성공적으로 이루어지게됩니다.

출처:  '데이터통신', 오창환 저, 한국학술정보(주)

데이터를 보낼 때(전송)는 7계층에서 1계층으로, 반대로 데이터를 받을 때(수신)는 1계층에서 7계층을 거치게 됩니다.
전송 시에는 각 계층에서 자체 정보를 추가하고( Encapsulation) 수신 시에는 각 계층에서 해당 정보를 제외한 정보(Decapsulation)를 다음 계층으로 올려보내줍니다.

Encapsulation과 Decapsulation 하는 이유

각 계층에서의 추가된 정보는 통신을 성공적으로 수행하기 위해 필요합니다.
예를 들어 데이터가 목적지로 이동할 때, Network Layer에서 IP헤더에 있는 프로토콜 정보를 이용해 데이터가 TCP인지 UDP인지 식별한 후 그에 따른 처리를 Transport Layer에서 수행할 수 있도록 정보를 담아 전달하는 것이죠.
그리고 추가되는 데이터는 헤더라고 불리며 다음과 같은 정보를 담고 있습니다. 실제 데이터는 헤더를 제외한 부분이 됩니다.

  • 주소 지정: 각 층은 해당 범위에 필요한 주소 정보를 추가합니다 (예: 데이터 링크 계층에서의 MAC 주소, 네트워크 계층에서의 IP 주소).
  • 제어 정보: 각 층은 데이터 흐름, 오류 감지, 순서 지정 등을 관리하기 위해 제어 비트나 플래그를 추가할 수 있습니다.
  • 프로토콜별 정보: 각 층의 다른 프로토콜은 해당 수준에서의 데이터 해석 및 처리에 필요한 고유한 정보를 추가합니다.
    이렇게 추가된 정보는 수신측에서는 필요가 없기때문에 수신된 데이터를 바르게 해석하고 처리하기 위해서 제거됩니다. 결과적으로 각 계층이 다른 계층이 필요한 정보를 이해할 필요 없이 특정 역할과 기능에 집중할 수 있도록 보장합니다.

물리 계층(Physical Layer)

출처:  '데이터통신', 오창환 저, 한국학술정보(주)


최하위 계층, 기기들 간의 물리적 연결
케이블, 연결기, 전압 등 데이터 전송의 하드웨어 측면을 정의
실제로 데이터 비트를 물리적으로 전송하는 역할
→ 데이터를 전기적인 신호( 1과 0의 문자열인 비트 스트림)로 변환해서 주고받는 기능만 수행

데이터 링크 계층(DataLink Layer)

출처:  '데이터통신', 오창환 저, 한국학술정보(주)

 

인트라 네트워크 통신( 동일한 네트워크 장치 간 데이터 전송)에서 흐름 제어 및 오류 제어

네트워크 계층에서 패킷을 가져와서 프레임이라고 불리는 더 작은 조각으로 세분화

헤더: 맥(MAC) 주소

-맥(MAC, Media Access Control ) 주소 : 컴퓨터 간 데이터를 전송하기 위한 컴퓨터의 물리적 주소

네트워크 계층(Network Layer)

출처:  '데이터통신', 오창환 저, 한국학술정보(주)

 

전송 계층의 세그먼트를 송신자의 장치에서 패킷이라고 불리는 더 작은 단위로 세분화하여 수신 장치에서 이러한 패킷을 다시 조립
데이터 패킷의 경로설정(라우팅) 및 전달

네트워크 관리자가 직접 주소를 할당

데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층헤더: IP 주소

전송 계층(Transport Layer)

출처:  '데이터통신', 오창환 저, 한국학술정보(주)


종단 간 통신에서의 신뢰 보장 + 연결 속도가 빠른 송신자가 연결 속도가 느린 수신자를 압도하지 않도록 최적의 전송 속도를 결정  →  상위 계층들이 데이터 전달의 유효성이나 효율성을 신경쓰지 않도록 해줌

상위 계층에서 받은 데이터를 작은 패킷(세그먼트라고하는 조각)으로 분할하고, 목적지에서 다시 조립
네트워크 간 통신에서 오류검출 및 복구와 흐름제어를 통한 신뢰성 담당 및 중복검사 등을 수행
TCP (Transmission Control Protocol) 및 UDP (User Datagram Protocol)와 같은 프로토콜 작동
헤더: 포트 번호

포트 번호 : 디바이스에 있는 여러 프로세스 중 자기가 가야 할 프로세스를 구분하기 위해 필요한 번호

세션 계층(Session Layer)

출처:  '데이터통신', 오창환 저, 한국학술정보(주)

두 기기 사이의 통신을 시작하고 종료 관리, 동기화, 오류복구 명령 관리

TCP/IP 세션을 만들고 없애는 역할
헤더: TCP/IP 세션

표현 계층(Presentation Layer)

출처:  '데이터통신', 오창환 저, 한국학술정보(주)


서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, 수신 장치의 애플리케이션 계층이 이해할 수 있는 구문으로 수신 데이터를 변환

데이터 형식의 차이, 암호화 및 해독, 압축을 다루어 서로 다른 시스템 간의 호환성을 유지
헤더: 암호화/복호화, 데이터 포맷팅, 압축/압축해제

응용 계층(Application Layer)

출처:  '데이터통신', 오창환 저, 한국학술정보(주)


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

소프트웨어 응용 프로그램 간의 통신을 위한 프로토콜과 인터페이스를 포함
이메일, 파일 전송, 웹 브라우징 등 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행
헤더: 응용 프로그램별 헤더와 사용자 데이터

 

출처 및 참고자료

위키백과, OSI 모형

CLOUDFALRE, OSI 모델이란?

GitHub Reposiroty, SSAFY 테크 콘서트, OSI 7 layer, by jeonghwan.dev@gmail.com 

'CS(computer Science) > CS 공부' 카테고리의 다른 글

TCP/IP와 작동원리  (0) 2023.12.15
캐시 (Cache)  (0) 2023.11.26
ERD(Entity Relationship Diagram, 개체 관계도)  (0) 2023.11.13

+ Recent posts