본문 바로가기

정보통신시스템

정보통신공학과 통신학과, 정보처리기사 등 정보통신시스템 요약정리 19. 프로토콜의 필요성과 기본 구조

반응형

19. 프로토콜의 필요성과 기본 구조

 

가. 프로토콜의 필요성
최근 인터넷의 확산과 정보통신 기술의 발달로 인해 새로운 멀티미디어 서비스가
급증하고 있으며, 이들 서비스를 제공하기 위해 사용되는 다양한 통신망 및 관련 장치
들은 세계 각 국의 많은 기업에서 고유한 형태의 규격으로 개발되어 운용되고 있는 실
정이다. 그 결과 이들 통신망 및 관련 장치들 간에 상호 호환이 되지 않을 경우 통신이
불가능하게 되고, 이를 해결하기 위해 별도의 중간 접속장치를 사용하거나 전체 시스
템을 바꿔야 하는 문제점이 발생하게 되며, 그에 따른 많은 비용이 낭비되는 결과를 초래한다.
따라서 이와 같은 통신환경에서 원격으로 연결되어 있는 서로 상이한 시스템 간에
호환이 가능하도록 해주는 일련의 규정이나 절차가 필요한데, 이러한 통신규약을 프로
토콜(protocol)이라고 한다. 이것은 통신망에 접속되는 모든 장치가 [그림 2-7]과 같
이 어느 장치와도 통신이 가능하도록 개방형 시스템(open system)이 되어야 함을 의
미한다. 개방형 시스템은 컴퓨터, 단말기, 사용자 프로그램 패키지, 데이터베이스 시
스템, 통신장비 등 다양한 통신 개체들이 될 수 있다. 한편, 프로토콜의 출현에 따라

이를 체계화하고 표준화하는 것이 필연적이며, 이를 수행하기 위한 다수의 국내외 표
준화 기관이 활동하고 있다.

개방형 시스템의 상호 연결

나. 프로토콜의 기본 구조
통신 시스템은 일반적으로 여러 유형의 하드웨어와 소프트웨어들로 구성되는데, 프
로토콜은 하드웨어 인터페이스에 관한 조건뿐만 아니라 소프트웨어적인 프로그램도
포함하고 있다. 초기에 개발된 통신 프로토콜은 단일 프로그램을 사용하기 때문에 다
른 시스템과의 프로토콜 호환성을 유지하며 연동하기 위해서는 시스템의 통신기능뿐
만 아니라 통신 서비스의 추가 변경과 유지보수에 큰 어려움이 있었다. 이것은 초기에
시스템을 구성할 때 프로토콜을 일치시키지 않을 경우 새로운 시스템을 도입할 때마다
추가적인 비용이 요구되고, 비효율적인 시스템 구성 환경이 될 수 있다.
따라서 네트워크 규모의 증가와 정보전송 수요의 다양화 그리고 소프트웨어와 하드
웨어 장비가 증가되는 환경에서는 효율적인 정보 전달을 위해 프로토콜의 기능이 분화
되고 복잡해질 수밖에 없기 때문에 이러한 환경적인 요구를 만족하기 위해서는 프로토
콜 계층화 개념이 필요하게 되었다. 프로토콜의 계층화 설계는 여러 유형의 통신 기능
및 서비스를 관련 기능모듈별로 분리하여 수직적 계층으로 기능을 분할하는 것이다.
이를 통해 독립적인 각 계층 내의 기능변경이 가능하고, 다른 시스템의 동일 계층 간
에 프로토콜 일치 시 동등(peer) 계층 간 통신이 가능하며, 대규모 통신시스템 기능의
명확한 정의가 가능해진다. 또한 계층 간 기능의 중복성 회피로 프로토콜의 효율이 향
상되고, 계층 간 독립성 유지로 확장성과 신뢰성 있는 통신이 제공될 수 있으며, 상이
한 기종 간의 통신 시 보다 나은 상호 호환성을 제공해 준다. 계층화시킨 프로토콜 모델로서 대표적인 것은 국제표준화기구(ISO : International Standards Organization)에서 제안한 개방시스템 상호접속(OSI : Open System
Interconnection) 7계층 모델이 있다.
이와 같이 다수가 이용하는 통신환경에서는 프로토콜의 역할이 무엇보다도 중요하
다. 프로토콜을 구성하기 위해서는 일반적으로 데이터의 사양, 부호화 방법, 전기적
신호의 전압 레벨 등에 대하여 정의된 형식(syntax), 오류제어와 동기 및 흐름제어 등
의 각종 제어절차에 관한 정보를 정의한 의미(semantics) 그리고 송수신측 양 단의 통
신 시스템과 망간의 속도 및 순서 등에 대하여 정의한 타이밍(timing) 등 3가지 요소
가 필요하다. 또한 프로토콜을 표현하기 위해서는 프로토콜의 형태(format), 타이머
또는 카운터 등의 파라미터(parameter), 동작 상태(state), 동작 절차(procedure) 등
이 사용된다. 여기서 프로토콜 형식에는 오류 제어 의미를 포함하는 전송제어 내용이
나 처리 내용이 담겨 있어야 한다.


다. 프로토콜의 기능
하위계층은 상위계층에서 만든 긴 메시지의 효율적 전송을 위해, [그림 2-8]과 같이
보다 작은 길이의 데이터 블록으로 나누는 분할(fragmentation) 기능과 분할된 데이
터 블록을 다시 원래의 메시지로 합성하는 재조립(reassembly) 기능이다. 통신을 행
하는 두 실체(entity) 사이에 미리 약속되어진 전송 데이터 형식을 프로토콜 데이터 단
위(PDU : Protocol Data Unit)라고 한다.

데이터 블록의 분할과 재조립

또한, [그림 2-9]와 같이 사용자 데이터에 제어정보(송·수신측 주소, 오류검출 코
드 등)를 첨가하는 것을 캡슐화(encapsulation)라고 하고, 반대로 이를 제거하는 것을
캡슐해제(decapsulation)라고 한다. 즉 상위계층에서 전달 받은 PDU에 자신의 계층
에 해당되는 기능이 수행되도록 각종 제어정보를 덧붙이는 것이 캡슐화이며, 여기서
덧붙여지는 제어정보를 프로토콜 제어정보(PCI : Protocol Control Information)라
고 한다. PCI는 사용자 데이터 정보의 앞 쪽에 주로 위치하고, 일부 계층에서는 뒤 쪽
에도 위치한다. 앞 쪽에 있는 PCI를 헤더(header)라 하고, 뒤 쪽에 있는 PCI를 트레
일러(trailer)라 한다.

그리고 통신을 원하는 송·수신측 실체(entity) 간에 데이터 전송을 위한 연결 제어
(connection control)가 필요하다. [그림 2-10]과 같이 데이터를 전송하기 전에 미리
가상회선(virtual circuit)의 설정을 통해 데이터를 전송하는 연결형(connectionoriented) 서비스가 있고, 반면에 사전에 어떠한 연결도 없이 데이터가 전송되면서 교
환노드에서 경로선택이 이루어지는 비연결형(connectionless) 서비스가 있다.

연결형 서비스의 연결제어

이밖에도 통신 네트워크상에서 데이터의 양이나 전송속도를 조절하기 위한 흐름제
어(flow control) 기능, 정보의 신뢰성을 위해 데이터 전송 시 발생한 오류를 검색하
고 복구하는 오류 제어(error control) 기능, 송신측에서 보내진 순서대로 수신측에
데이터를 전달하는 순서 제어(sequence control) 기능, 통신하는 송·수신측의 두 실
체 간에 초기화 상태와 검사 전 상태 및 종료 상태 등 명확히 정의된 상태를 두고 통신
의 개시와 종료 등을 유지하는 동기화(synchronization) 기능 등이 있다.

반응형