Layered protocols

유석현(SeokHyun Yu)·2023년 4월 15일
0

분산 시스템

목록 보기
21/27
post-thumbnail

분산 시스템에서는 상호 프로세스 간 통신이 핵심이다.

이 통신은 항상 기본 네트워크에서 제공하는 저수준 메시지 전달(low-level message passing)을 기반으로 한다.

현재 컴퓨터 네트워크의 통신 기능을 사용하여 대규모 분산 애플리케이션을 개발하는 것은 매우 어렵다.

세 가지 널리 사용되는 통신 모델이 있다.

첫째는 원격 프로시저 호출(Remote Procedure Call, RPC)이다.

이 모델은 메시지 전달의 복잡성을 숨기는 것을 목표로 한다.

둘째는 메시지 지향 미들웨어(Message-Oriented Middleware, MOM)이다.

이 모델은 고수준 메시지 큐 모델을 사용한다.

셋째는 데이터 스트리밍이다.

이 모델은 다양한 타이밍 제약 조건에 따라 연속적인 메시지 흐름을 지원할 수 있다.

또한 멀티캐스트는 데이터 전파를 위한 혁신적이고 우아한 솔루션이다.


Layered protocols

분산 시스템에서의 통신은 공유 메모리의 부재로 인해 모두 메시지를 송수신하는 것에 기반한다.

통신하는 프로세스 간의 합의는 여러 측면에서 필요하다. 이는 전송되는 비트의 의미, 0비트와 1비트를 나타내기 위해 사용되는 전압, 수신자가 메시지의 마지막 비트를 어떻게 알 수 있는지, 메시지가 손상되거나 손실된 경우 수신자가 어떻게 감지할 수 있는지, 숫자, 문자열 및 기타 데이터 항목의 길이와 표현 방법 등이 포함된다.

이러한 합의는 다양한 수준에서 필요하다. 국제 표준화 기구(ISO)는 각 수준을 명확하게 식별하고 표준 이름을 부여하며, 각 수준이 어떤 작업을 수행해야 하는지를 지침으로 제공하는 참조 모델인 개방 시스템 상호 연결 참조 모델(Open System Interconnection Reference model, OSI 모델)을 개발했다.

OSI 모델은 현재 사실상 사용되지 않는다. 그러나 기본 모델 자체는 컴퓨터 네트워크를 이해하는 데 매우 유용하다. 이 모델은 전송 및 수신되는 메시지의 형식, 내용 및 의미를 규정하는 표준 규칙을 위해 설계되었다. 이러한 규칙은 프로토콜로 형식화된다.

통신은 일반적으로 연결 지향 프로토콜(예: 전화)비연결 지향 프로토콜(예: 편지)로 나뉜다. OSI 모델은 일곱 개의 계층으로 구성된다.

송신 측 절차는 다음과 같다. 소스 기계의 프로세스가 메시지를 구성하고, 응용 계층에서 메시지를 소스 기계의 응용 계층으로 전달한다. 응용 계층 소프트웨어는 메시지 앞에 헤더를 추가하고, 결과적으로 생성된 메시지를 하위 계층으로 전달한다. 메시지가 하위 계층에 도달하면 실제로 메시지를 전송한다.

수신 측 절차는 다음과 같다. 수신된 메시지가 상위 계층으로 전달되고, 각 계층은 자체 헤더를 제거하고 분석한다. 마지막으로 메시지는 대상 프로세스에 도달한다. 각 계층의 헤더에 있는 정보는 해당 계층의 프로토콜에 사용된다.

계층화된 프로토콜의 장점은 각 계층이 다른 계층과 독립적으로 작동하고 변경될 수 있다는 것이다. 예를 들어, 두 회사 간의 통신에서 사장님들은 우편 서비스를 통해 명령을 내리고 비서들은 서로를 거슬러 통신하도록 한다. 그러나 우편 서비스가 저하되면 두 비서는 상사들에게 거지 않고 이메일을 통해 통신하도록 결정할 수 있다. 상사들은 결정에 영향을 주지 않고 메시지 내용을 변경할 수 있다.

profile
Backend Engineer

0개의 댓글