OSI 7 Layer: 네트워크 프로토콜의 완벽한 계층 구조 (OSI 7 계층)

인터넷과 네트워크는 현대 사회에서 더 이상 빠져서는 안 되는 중요한 부분입니다. OSI 7 Layer는 네트워크 프로토콜의 기본 구조로, 각 계층이 특정 기능을 담당하여 데이터 통신을 가능하게 합니다.

OSI 7 Layer란?

OSI (Open Systems Interconnection) 7 Layer는 네트워크 통신을 7개의 계층으로 나눈 모델입니다. 각 계층은 특정한 역할을 하며 데이터 전송을 위한 규칙과 프로토콜을 정의합니다.

네트워크 프로토콜의 표준화된 계층 구조를 제공하여 다양한 기기와 시스템이 효율적으로 통신할 수 있도록 합니다. 이 글에서는 OSI 7 Layer의 각 계층을 상세하게 알아보고, 네트워크 통신의 핵심 개념을 깊이 탐구하겠습니다.

Layer 1 물리 계층 (Physical Layer)

물리 계층은 OSI 7 Layer에서 가장 아래에 위치하며, 데이터의 물리적 전송을 담당하는 계층입니다. 이 계층은 전압, 주파수, 진폭 등의 물리적 신호를 이용하여 데이터를 전송하고, 데이터 매체와 전송 매체 간의 신호 변환 및 전송을 관리합니다.

Physical Layer

데이터의 물리적 전송 과정

  1. 비트 생성: 송신자는 데이터를 비트로 나타냅니다. 0과 1로 구성된 비트는 디지털 데이터를 나타내며, 이 비트는 신호로 변환되어 전송됩니다.
  2. 신호 변환: 송신자는 비트를 물리적인 신호로 변환합니다. 이때 전압, 주파수, 진폭 등의 특성을 사용하여 신호를 생성합니다.
  3. 신호 전송: 변환된 신호는 데이터 매체(케이블, 광섬유 등)를 통해 수신자로 전송됩니다. 신호는 매체를 통해 전파되며, 이 과정에서 감쇠 및 왜곡이 발생할 수 있습니다.
  4. 신호 감지: 수신자는 전송된 신호를 감지하고 디지털 비트로 복원합니다. 이 과정에서 노이즈나 왜곡이 있을 경우 에러가 발생할 수 있습니다.
  5. 비트 복원: 수신자는 신호로부터 디지털 비트를 복원합니다. 이를 통해 원래의 데이터 비트를 재생성하게 됩니다.

물리 계층의 주요 기능

  • 신호 생성과 인코딩: 디지털 데이터를 전송 가능한 물리적 신호로 변환합니다. 이때 디지털 데이터를 아날로그 신호로 변환하는 인코딩 기술이 사용될 수 있습니다.
  • 신호 전송과 케이블 관리: 데이터 신호를 매체를 통해 전송하고, 케이블 관리 및 연결을 통해 신호의 안정성과 품질을 유지합니다.
  • 신호 감지와 디코딩: 수신된 신호를 디지털 데이터로 복원하여 상위 계층으로 전달합니다. 이때 에러 검출 및 수정을 위한 메커니즘도 사용될 수 있습니다.
  • 허브와 리피터의 역할: 물리 계층에서는 허브와 리피터와 같은 장비가 신호의 증폭이나 재생을 수행하여 신호의 감쇠를 보상하고 전송 거리를 확장합니다.

물리 계층은 데이터의 실제적인 이동과 전송을 담당하여 네트워크의 하위 계층들에게 안정적인 신호를 제공합니다. 데이터의 물리적인 특성을 이해하고 관리함으로써 네트워크의 성능과 안정성을 확보할 수 있습니다.

Layer 2 데이터 링크 계층 (Data Link Layer)

데이터 링크 계층은 OSI 7 Layer에서 물리 계층 위에 위치하며, 인접한 노드 간의 데이터 전송을 관리하는 역할을 합니다. 이 계층은 프레임 구조를 정의하고 물리적인 주소인 MAC 주소를 사용하여 노드를 식별합니다. 또한 데이터의 신뢰성을 보장하기 위해 플로우 컨트롤과 에러 감지 기능을 수행합니다.

Data Link Layer

매체 접근과 프레임 구조

  • 매체 접근 제어: 여러 장치가 동시에 데이터를 전송하려고 할 때 충돌을 방지하기 위한 접근 제어 메커니즘을 구현합니다. CSMA/CD(Carrier Sense Multiple Access with Collision Detection)는 이러한 충돌을 감지하고 처리하는 기술입니다.
  • 프레임 구조: 데이터를 전송할 때 헤더와 트레일러를 포함한 프레임 구조를 사용합니다. 헤더에는 MAC 주소와 제어 정보가 포함되며, 트레일러에는 에러 감지에 사용되는 체크섬이 포함됩니다.

MAC 주소와 이더넷

  • MAC 주소: 물리적인 주소인 MAC(Media Access Control) 주소는 네트워크 상에서 장치를 식별하는 역할을 합니다. 이더넷 인터페이스마다 고유한 MAC 주소가 부여되며, 48비트 길이로 표현됩니다.
  • 이더넷: 이더넷은 가장 널리 사용되는 데이터 링크 프로토콜입니다. CSMA/CD 방식으로 매체 접근을 제어하며, 프레임 구조와 MAC 주소를 사용하여 데이터를 전송합니다.

플로우 컨트롤과 에러 감지

  • 플로우 컨트롤: 수신자와 송신자 간의 데이터 흐름을 조절하여 버퍼 오버플로우나 데이터 손실을 방지합니다. 슬라이딩 윈도우와 유형 방식의 플로우 컨트롤 메커니즘이 사용됩니다.
  • 에러 감지와 수정: 프레임의 전송 중에 발생할 수 있는 에러를 감지하고 수정합니다. 패리티 비트, CRC(Cyclic Redundancy Check) 등의 기술을 사용하여 에러를 검출하고 처리합니다.

데이터 링크 계층은 네트워크 상에서 인접한 노드 간의 신뢰성 있는 데이터 전송을 담당합니다. 충돌을 방지하고 에러를 감지하여 데이터의 정확성을 유지하며, MAC 주소와 프레임 구조를 통해 장치를 식별하고 데이터를 구분합니다. 이러한 기능들은 네트워크 통신의 핵심을 구성합니다.

Layer 3 네트워크 계층 (Network Layer)

네트워크 계층은 OSI 7 Layer에서 데이터 링크 계층 위에 위치하며, 다른 네트워크 간의 패킷 라우팅을 담당하는 중요한 계층입니다. 이 계층은 라우터를 통해 패킷을 전달하고, IP 주소를 사용하여 호스트를 식별합니다. 또한 패킷의 전달 경로를 결정하여 데이터가 목적지까지 안전하게 전달되도록 합니다.

Network Layer

패킷 라우팅과 라우터

  • 패킷 라우팅: 패킷 라우팅은 데이터 패킷이 출발지에서 목적지로 전달되는 경로를 결정하는 프로세스입니다. 라우터는 이러한 패킷 라우팅을 수행하며, 여러 경로 중 가장 효율적인 경로를 선택하여 패킷을 전달합니다.
  • 라우터의 역할: 라우터는 패킷의 헤더 정보를 분석하여 목적지를 파악하고, 다음 호스트나 라우터로 패킷을 전송합니다. 라우터는 라우팅 테이블을 사용하여 패킷의 최적 경로를 결정하며, 이를 통해 패킷이 네트워크를 효율적으로 통과할 수 있도록 합니다.

IP 주소와 서브넷팅

  • IP 주소: IP(Internet Protocol) 주소는 네트워크 상에서 호스트를 식별하는 역할을 합니다. IPv4의 경우 32비트로 표현되며, 네트워크 ID와 호스트 ID로 구성됩니다. IPv6는 128비트로 표현되며 주소 부족 문제를 해결하기 위해 도입되었습니다.
  • 서브넷팅: 네트워크를 더 작은 서브넷으로 나누는 과정을 의미합니다. 서브넷팅을 통해 IP 주소 공간을 효율적으로 사용할 수 있으며, 각 서브넷은 고유한 네트워크 ID와 범위의 호스트 ID를 가집니다.

라우팅 프로토콜과 ICMP 프로토콜

  • 라우팅 프로토콜: 라우터 간에 라우팅 테이블 정보를 교환하기 위한 프로토콜입니다. RIP(Routing Information Protocol), OSPF(Open Shortest Path First), BGP(Border Gateway Protocol) 등이 널리 사용되며, 네트워크의 크기와 요구사항에 따라 선택됩니다.
  • ICMP 프로토콜: ICMP(Internet Control Message Protocol)은 네트워크 상에서 발생하는 에러나 문제에 대한 메시지를 전송하는 프로토콜입니다. 라우터와 호스트 간의 통신을 지원하며, 예를 들어 ‘ping’ 명령은 ICMP 메시지를 사용하여 호스트의 동작 상태를 확인합니다.

네트워크 계층은 데이터의 경로 결정과 IP 주소를 통한 호스트 식별을 담당하여 인터넷상에서 데이터의 안전하고 효율적인 전달을 보장합니다. 패킷 라우팅과 IP 주소 설정은 네트워크 통신의 핵심이며, 라우팅 프로토콜과 ICMP 프로토콜을 통해 네트워크의 안정성과 관리를 지원합니다.

Layer 4 전송 계층 (Transport Layer)

전송 계층은 OSI 7 Layer에서 네트워크 계층 위에 위치하며, 논리적인 연결을 생성하여 신뢰성 있는 데이터 전송을 보장하는 역할을 합니다. 이 계층은 데이터의 분할 및 재조립, 흐름 제어, 오류 검출 및 복구를 수행하여 노드 간의 효율적인 통신을 지원합니다.

Transport Layer

전송 계층의 주요 기능

  • 데이터 분할 및 재조립: 큰 데이터를 작은 단위로 분할하여 전송하고, 수신 측에서 이를 재조립하여 상위 계층으로 전달합니다. 이러한 단위는 세그먼트(segment) 또는 데이터그램(datagram)이라고 불립니다.
  • 흐름 제어: 송신자와 수신자 간의 데이터 흐름을 조절하여 버퍼 오버플로우와 데이터 손실을 방지합니다. 슬라이딩 윈도우 기법을 사용하여 데이터의 전송 속도를 조절합니다.
  • 신뢰성 있는 데이터 전송: 데이터의 신뢰성을 보장하기 위해 에러 검출, 복구 및 재전송 메커니즘을 사용합니다. 대표적인 프로토콜로 TCP(Transmission Control Protocol)가 있으며, 3-way 핸드쉐이킹과 ACK/NAK 기반의 통신을 통해 데이터 전송의 정확성을 유지합니다.

TCP와 UDP

  • TCP (Transmission Control Protocol): TCP는 연결 지향적인 프로토콜로, 신뢰성 있는 데이터 전송을 지원합니다. 3-way 핸드쉐이킹을 통해 연결을 설정하고, 데이터의 순서를 보장하며, 에러 발생 시 재전송을 수행하여 데이터의 완전성을 유지합니다.
  • UDP (User Datagram Protocol): UDP는 비연결 지향적인 프로토콜로, 데이터 전송을 빠르게 처리합니다. 데이터의 신뢰성을 보장하지 않지만, 실시간 데이터 전송이 필요한 응용 프로그램에 적합한 프로토콜입니다.

포트 번호와 연결 관리

  • 포트 번호: 송신자와 수신자 간에 여러 응용 프로그램이 동시에 통신할 수 있도록 포트 번호를 사용하여 구분합니다. 포트 번호는 16비트로 표현되며, 출발지와 목적지 포트 번호로 통신을 식별합니다.
  • 연결 관리: TCP는 3-way 핸드쉐이킹과 4-way 핸드쉐이킹을 사용하여 연결을 설정하고 해제합니다. 연결 설정 단계에서 각종 매개변수를 협상하고, 연결 해제 단계에서 리소스를 정리합니다.

전송 계층은 데이터의 신뢰성 있는 전송과 흐름 제어를 통해 노드 간의 효율적인 통신을 지원합니다. TCP와 UDP의 선택은 데이터의 중요성과 전송 속도 요구에 따라 결정되며, 포트 번호와 연결 관리를 통해 여러 응용 프로그램 간의 통신을 관리합니다.

Layer 5 세션 계층 (Session Layer)

세션 계층은 OSI 7 Layer에서 전송 계층 위에 위치하며, 데이터 대화의 설정, 관리, 종료 등을 담당하는 역할을 합니다. 이 계층은 노드 간의 논리적인 연결을 생성하여 데이터의 흐름을 동기화하고, 다중 작업 환경을 지원하여 여러 응용 프로그램 간의 동시성을 관리합니다.

Session Layer

세션 계층의 주요 기능

  • 세션 설정과 종료: 세션 계층은 데이터 대화의 시작과 종료를 관리합니다. 데이터 전송을 위한 세션을 설정하고, 전송이 완료된 후 세션을 종료하여 리소스를 해제합니다.
  • 동기화와 체크포인팅: 세션 계층은 데이터의 동기화를 관리하며, 체크포인팅을 통해 데이터의 특정 지점에서의 상태를 저장하고 복구할 수 있습니다.
  • 다중 작업 관리: 여러 응용 프로그램이 동시에 데이터를 전송하고 받을 수 있는 환경을 제공하여 다중 작업을 관리합니다.

세션 계층의 기능 예시

  • 웹 서버와 클라이언트 간의 세션: 웹 서버와 클라이언트 간의 세션은 사용자의 로그인 상태와 같은 정보를 유지하고 관리하는 데 사용됩니다. 세션 계층은 클라이언트의 요청과 서버의 응답을 관리하여 사용자 경험을 향상시킵니다.
  • 온라인 게임 세션: 온라인 게임에서 여러 플레이어가 동시에 게임을 즐길 수 있도록 세션을 관리합니다. 세션 계층은 플레이어 간의 데이터 흐름을 조절하고, 게임 진행 상태를 동기화하여 일관된 게임 환경을 제공합니다.
  • 다중 작업 환경 관리: 여러 응용 프로그램이 동시에 작동할 때, 세션 계층은 각 응용 프로그램 간의 데이터 흐름을 조절하여 충돌이나 오류 없이 데이터를 교환하도록 지원합니다.

세션 계층은 데이터 대화의 설정과 관리를 통해 응용 프로그램 간의 원활한 통신을 지원합니다. 데이터의 동기화와 다중 작업 환경 관리는 세션 계층의 핵심 기능으로, 여러 응용 분야에서 활용됩니다.

Layer 6 표현 계층 (Presentation Layer)

표현 계층은 OSI 7 Layer에서 세션 계층 위에 위치하며, 데이터의 형식 변환, 암호화, 압축 등의 작업을 수행하여 서로 다른 시스템 간의 데이터 교환을 지원합니다. 이 계층은 데이터를 응용 프로그램이 이해할 수 있는 형태로 변환하고, 데이터의 보안 및 효율성을 강화하는 역할을 합니다.

Presentation Layer

표현 계층의 주요 기능

  • 데이터 형식 변환: 서로 다른 시스템이나 응용 프로그램 간에 데이터를 교환할 때, 데이터의 형식이 다를 수 있습니다. 표현 계층은 이러한 데이터의 형식을 변환하여 호환성을 확보합니다.
  • 암호화와 복호화: 데이터의 보안을 강화하기 위해 표현 계층은 암호화와 복호화 작업을 수행합니다. 암호화된 데이터는 불법적인 엑세스로부터 보호되며, 수신 측에서는 복호화하여 원본 데이터를 얻을 수 있습니다.
  • 압축: 데이터의 용량을 줄여 효율적인 전송을 지원하기 위해 압축 기술을 사용합니다. 데이터의 중복된 내용이나 불필요한 정보를 제거하여 데이터의 크기를 축소합니다.

MIME 및 데이터 변환

  • MIME (Multipurpose Internet Mail Extensions): MIME은 이메일과 같은 텍스트 기반 통신에서 다양한 형식의 데이터를 지원하기 위한 규약입니다. MIME은 텍스트, 이미지, 오디오, 비디오 등 다양한 데이터 유형을 지원하며, 표현 계층에서 데이터 형식 변환을 담당합니다.
  • 데이터 변환: 데이터의 형식 변환이나 문자 인코딩 등의 작업을 통해 데이터의 표현을 변환합니다. 예를 들어, 텍스트 데이터를 유니코드로 변환하거나, 이미지 데이터를 JPEG 형식으로 변환하는 작업이 이에 해당합니다.

표현 계층은 데이터의 형식 변환과 암호화, 압축과 같은 작업을 수행하여 데이터의 효율성과 보안성을 강화합니다. MIME와 데이터 변환은 서로 다른 데이터 유형을 처리하고 호환성을 유지하는 데 중요한 역할을 합니다.

Layer 7 응용 계층 (Application Layer)

응용 계층은 OSI 7 Layer에서 표현 계층 위에 위치하며, 최종 사용자와 응용 프로그램 간의 인터페이스를 제공하는 계층입니다. 이 계층은 사용자의 요구를 충족시키기 위해 다양한 응용 프로그램을 지원하며, 사용자가 데이터를 생성, 송수신하고 관리할 수 있도록 환경을 제공합니다.

Application Layer

응용 계층의 주요 기능:

  • 응용 프로그램 지원: 다양한 응용 프로그램을 위한 인터페이스를 제공합니다. 이메일 클라이언트, 웹 브라우저, 파일 전송 프로그램 등 다양한 응용 프로그램이 이 계층을 통해 네트워크를 활용할 수 있습니다.
  • 사용자 인터페이스: 최종 사용자와 네트워크 간의 상호 작용을 가능하게 하는 사용자 인터페이스를 제공합니다. 사용자는 응용 계층을 통해 데이터를 생성하고, 전송하며, 수신한 데이터를 해석할 수 있습니다.
  • 데이터 관리와 저장: 응용 계층은 데이터의 생성, 송수신, 저장 등을 관리합니다. 파일 전송, 이메일 보내기, 웹 페이지 접근 등 다양한 데이터 관리 작업을 지원합니다.

응용 계층의 기능 예시:

  • 웹 브라우저: 웹 브라우저는 응용 계층을 통해 사용자가 웹 페이지에 접근하고, 정보를 검색하며, 다양한 작업을 수행할 수 있도록 지원합니다.
  • 이메일 클라이언트: 이메일 클라이언트는 응용 계층을 통해 사용자가 이메일을 작성, 보내고, 받는 등의 작업을 수행할 수 있도록 합니다.
  • 파일 전송 프로그램: 파일 전송 프로그램은 응용 계층을 통해 사용자가 파일을 다른 사용자에게 전송하고, 수신받는 작업을 지원합니다.

응용 계층은 최종 사용자와 응용 프로그램 간의 다양한 기능과 상호 작용을 지원하는 중요한 계층입니다. 다양한 응용 프로그램과 사용자의 요구를 충족시키며, 데이터의 생성, 송수신, 관리 등을 관리하여 네트워크의 활용을 가능하게 합니다.

각 계층의 역할 및 기능


물리 계층:
물리 계층은 OSI 모델의 가장 아래에 위치하며, 데이터의 전기 신호로 변환하여 물리 매체를 통해 전송하는 역할을 합니다. 데이터를 비트로 분리하고 물리적인 매체를 통해 전기 신호로 변환하여 전송함으로써, 네트워크 장치 사이의 신호 송수신을 가능하게 합니다. 물리 계층의 기능은 데이터 전송의 기본 구조를 형성하며, 허브, 리피터 등의 장치가 사용됩니다.

데이터 링크 계층: 데이터 링크 계층은 인접한 노드 간의 데이터 전송을 관리하고, 에러 감지와 플로우 컨트롤을 수행합니다. 이 계층은 프레임 구조를 정의하고 물리적인 주소인 MAC 주소를 사용하여 노드를 식별합니다. 매체 접근 제어 메커니즘을 통해 충돌을 방지하고 데이터의 신뢰성을 보장하며, 이더넷과 같은 프로토콜이 사용됩니다.

네트워크 계층: 네트워크 계층은 데이터 패킷을 목적지까지 전달하기 위한 경로를 결정하며, 라우팅과 IP 주소 할당을 수행합니다. 패킷 라우팅을 통해 최적의 경로를 선택하여 데이터의 효율적인 전송을 보장하고, IP 주소를 사용하여 논리적인 호스트를 식별합니다. 네트워크 계층은 라우터와 같은 장치를 사용하여 데이터의 전달을 관리합니다.

전송 계층: 전송 계층은 노드 간의 신뢰성 있는 데이터 전송을 담당합니다. 데이터의 분할과 재조립, 흐름 제어, 오류 검출 및 복구를 수행하여 데이터의 안전한 전달을 보장합니다. TCP와 UDP 프로토콜을 통해 데이터의 신뢰성과 전송 속도를 관리하며, 데이터의 순서와 에러 검출을 지원합니다.

세션 계층: 세션 계층은 데이터 대화의 설정, 관리, 종료 등을 담당하여 응용 프로그램 간의 논리적인 연결을 생성합니다. 데이터의 동기화와 다중 작업 환경 관리를 지원하여 여러 응용 프로그램 간의 동시성을 관리하며, 세션 설정과 종료를 관리하여 데이터의 안정성을 유지합니다.

표현 계층: 표현 계층은 데이터의 형식 변환, 암호화, 압축 등의 작업을 수행하여 다양한 시스템 간의 데이터 교환을 지원합니다. 데이터의 형식 변환을 통해 호환성을 확보하고, 암호화를 통해 데이터의 보안을 강화하며, 압축을 통해 데이터의 효율성을 증대시킵니다.

응용 계층: 응용 계층은 최종 사용자와 응용 프로그램 간의 인터페이스를 제공하여 사용자의 요구를 충족시키는 역할을 합니다. 다양한 응용 프로그램을 지원하며 사용자 인터페이스를 제공하여 데이터의 생성, 송수신, 관리 등을 가능하게 합니다.

각 계층은 네트워크 통신의 특정 부분을 담당하여 모두 함께 동작하여 신뢰성 있는 데이터 통신을 구현합니다.

왜 OSI 7 Layer가 중요한가?

OSI (Open Systems Interconnection) 7 Layer 모델은 네트워크 통신의 표준화와 관리를 위해 중요한 역할을 합니다. 이 모델은 다양한 네트워크 장치와 프로토콜 간의 상호 작용을 기반으로 계층별로 분리하여 설계되어 있습니다. 그 결과 다음과 같은 몇 가지 중요한 이점이 있습니다.

1. 표준화와 호환성: OSI 7 Layer 모델은 네트워크 장치와 프로토콜 간의 표준화를 제공합니다. 각 계층은 특정 기능과 역할을 가지며, 이를 표준화하여 다양한 기업이나 개발자가 호환성을 유지하며 네트워크 장치와 프로토콜을 개발하고 구현할 수 있게 합니다.

2. 복잡성 감소: 계층별 분리로 인해 복잡한 네트워크 기술과 프로토콜이 단순한 모듈로 분리됩니다. 이는 개발과 유지 보수를 용이하게 하며, 오류 발견 및 수정을 더 효율적으로 수행할 수 있게 합니다.

3. 모듈화와 수정 용이성: 각 계층은 독립적인 기능을 수행하므로 하나의 계층을 수정해도 다른 계층에 영향을 미치지 않습니다. 이로써 네트워크 시스템의 개선과 확장이 용이하며, 새로운 기술의 통합도 간편해집니다.

4. 효율적인 문제 해결: OSI 7 Layer 모델은 각 계층별로 문제를 식별하고 해결하는 데 도움을 줍니다. 문제가 발생하면 해당 계층의 기능을 점검하여 원인을 파악하고 대응할 수 있습니다.

5. 네트워크 관리와 분석: 각 계층은 특정 기능을 수행하기 때문에 네트워크 관리자는 문제가 발생한 계층을 찾아 빠르게 대응할 수 있습니다. 또한, 네트워크 트래픽을 분석하고 최적화하는 데에도 도움을 줍니다.

6. 교육과 이해 촉진: OSI 7 Layer 모델은 네트워크의 작동 원리를 계층별로 분리하여 설명하므로, 네트워크 관련 교육 및 이해를 촉진합니다. 학습자들이 네트워크의 다양한 측면을 더 쉽게 이해하고 학습할 수 있습니다.

이러한 이유로 OSI 7 Layer 모델은 네트워크 업계에서 널리 사용되며, 네트워크 장치와 프로토콜을 표준화하고 관리하는 데 중요한 역할을 합니다.

결론

OSI 7 Layer는 네트워크 통신의 기반이 되는 중요한 모델입니다. 각 계층의 역할과 기능을 이해하고 이를 활용하여 네트워크 구성과 유지보수를 진행하면 더욱 효율적인 통신 환경을 구축할 수 있을 것입니다.

[Reference]
1. The OSI Model Layers from Physical to Application (lifewire.com)

[관련글] 네트워크 | Tech Hyeonker

댓글 남기기