Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

컴퓨터 네트워크 프로토콜 계층이란? 개념부터 5계층 구조까지

프로토콜이란 무엇인가?

프로토콜(Protocol)은 데이터 통신을 수행하는 통신 개체들이 서로 준수해야 하는 규칙들의 집합을 의미합니다.

프로토콜의 세 가지 구성 요소

  • 구문(Syntax) − 송수신할 데이터의 형식(format)을 정의합니다.

  • 의미론(Semantics) − 전송되는 각 비트 구간이 지니는 의미를 나타냅니다.

  • 타이밍(Timing) − 데이터가 언제 전송되는지, 그리고 어떤 속도로 전송되는지를 규정합니다.

인터넷에서 컴퓨터 간의 통신은 다양한 프로토콜에 의해 정의됩니다. 그중에서도 TCP(Transmission Control Protocol)와 IP(Internet Protocol)가 인터넷 통신의 기반을 이룹니다. 이 두 프로토콜을 합쳐 TCP/IP 프로토콜이라 부르며, 오늘날 대부분의 대규모 네트워크에서 표준으로 사용되는 체계입니다.

각 프로토콜을 계층별로 자세히 살펴보기에 앞서, 프로토콜 계층 구조 안에서 각 프로토콜이 서로 어떤 위치에 놓여 있는지 먼저 확인해 보겠습니다.

컴퓨터 네트워크 프로토콜 계층이란? 개념부터 5계층 구조까지

프로토콜 계층(Protocol Hierarchies)

프로토콜은 컴퓨팅 종단(endpoint) 간의 연결, 통신, 데이터 전송을 제어하거나 가능하게 만드는 표준입니다. 프로토콜은 하드웨어, 소프트웨어, 혹은 이 둘의 조합으로 구현될 수 있습니다.

일반적으로 네트워크 소프트웨어 설계의 복잡도를 낮추기 위해 대부분의 네트워크는 여러 개의 "계층(layer)"으로 구성됩니다. 계층의 수, 각 계층의 이름, 그리고 계층별 기능은 네트워크마다 다를 수 있습니다.

각 계층의 목적은 상위 계층에 특정 서비스를 제공하는 것이며, 동시에 그 서비스가 실제로 어떻게 구현되는지에 대한 세부 사항은 상위 계층으로부터 숨기는 것입니다.

한 기계의 n번째 계층은 다른 기계의 n번째 계층과 대화를 주고받습니다. 이 대화에서 사용되는 규칙과 관례를 통틀어 n계층 "프로토콜"이라고 부릅니다.

즉, 프로토콜이란 통신 당사자들이 통신을 어떤 방식으로 진행할 것인지 합의한 약속이라 할 수 있습니다.

5계층 프로토콜의 구조

5계층 프로토콜의 구조는 다음과 같습니다.

컴퓨터 네트워크 프로토콜 계층이란? 개념부터 5계층 구조까지

  • 1단계 − 서로 다른 계층에 존재하는 개체들을 피어(peer)라고 부르며, 피어들은 서로 다른 기계 위에 위치합니다.

  • 2단계 − 한 기계의 n계층에서 다른 기계의 n계층으로 데이터가 직접 전송되지는 않습니다.

  • 3단계 − 각 계층은 데이터와 제어 정보를 바로 아래 계층에 전달하며, 이 과정이 가장 아래 계층에 도달할 때까지 반복됩니다.

  • 4단계 − 1계층 아래에는 실제 통신이 이루어지는 "물리 매체(physical medium)"가 존재합니다.

  • 5단계 − 위 그림에서 점선은 가상 통신을, 실선은 물리적 통신을 나타냅니다.

  • 6단계 − 인접한 두 계층 사이에는 "인터페이스"가 있으며, 인터페이스는 하위 계층이 상위 계층에 제공하는 연산과 서비스를 정의합니다.

  • 7단계 − 시스템이 사용하는 프로토콜의 목록, 즉 계층당 하나씩의 프로토콜로 이루어진 집합을 "프로토콜 스택(protocol stack)"이라고 합니다.

이제 아래 그림을 통해 5계층 네트워크의 최상위 계층에 통신 서비스가 제공되는 과정을 살펴보겠습니다.

컴퓨터 네트워크 프로토콜 계층이란? 개념부터 5계층 구조까지

여기서,

  • 메시지 M은 5계층에서 실행 중인 응용 프로세스에 의해 생성되어, 전송을 위해 4계층에 전달됩니다.

  • 4계층은 메시지 M을 식별하기 위해 앞부분에 "헤더(header)"를 붙인 뒤, 그 결과를 3계층에 넘깁니다.

  • 많은 네트워크에서 4계층 프로토콜의 메시지 크기에는 제한이 없지만, 3계층 프로토콜에는 거의 항상 크기 제한이 존재합니다.

  • 따라서 3계층은 수신한 메시지를 작은 단위(패킷)로 분할하고, 각 패킷 앞에 3계층 헤더를 덧붙여야 합니다.

  • 이 예시에서 메시지 M은 M1과 M2, 두 부분으로 나뉩니다.

  • 3계층은 어느 출력 회선을 사용할지 결정한 후, 패킷을 2계층에 전달합니다.

  • 2계층은 각 패킷에 헤더와 트레일러(trailer)를 추가하고, 그 결과를 물리적 전송을 담당하는 1계층에 넘깁니다.

  • 수신 측 기계에서는 메시지가 계층을 거슬러 올라가면서 헤더가 하나씩 벗겨지고, 최종적으로 메시지 m이 5계층인 응용 계층에 도착하게 됩니다.