본문 바로가기
컴퓨터

[티라노] 프로토콜이란?

by tyrannojung 2020. 9. 30.
반응형

안녕하세요 tyrannoCoding입니다.

 

 

프로토콜이란?

 -정보의 송 수신 또는 네트워크에서 정보를 신뢰성 있고, 안전하게 주고받기 위해 사전에 약속된 규약 및 규범입니다.

이종의 시스템 간에도 통신이 가능하게 하기 위해 만든 일련의 표준 협약이며, 예를 들면 언어의 차이를 극복하기 위해 국제 공용어가 필요하듯이 네트워크에서도 프로토콜이 필요합니다.

 

 

 

 

프로토콜 구성 요소

 -프로토콜의 구성요소는 총 3가지가 있습니다.

 

1. 구문 (Syntax) - 데이터의 형식(Format), 부호화(Coding),  신호 레벨(Signal Levels)을 정의하며, 데이터 구조와 순서에 대한 표현 한다.

 

 -데이터의 형식은 아날로그, 디지털 , 부호화는 Unicode, ASCII, 신호 레벨은 0과 1의 전압 세기 등 을 정하여 어떻게 표현할지 구문을 만듭니다.

 

ex) 어떤 프로토콜에서는 프레임의 처음 8비트는 송신지의 주소를 나타내고, 다음 8비트는 수신지의 주소를 나타냅니다.

 

2. 의미(Semantics) - 해당 패턴에 대한 해석과 그 해석에 따른 전송 제어, 오류 수정 등에 관한 제어 정보 규정.

 

 -전송 제어는 동기화, 전송 정지 및 재개, 완료 , 재전송 등의 신호를 정하며 오류 수정은 데이터 무결성 검사 방법, 패리티 비트, crc, ppp 등을 정하여 의미를 이루며, 데이터의 각 항목이 무엇을 뜻하는지, 문장의 의미는 무엇인지와 같은 내용적 측면을 말합니다.

 

ex) 데이터 전송에 대한 오류 제어는 PPP에서 CRC와 같은 방식을 사용하고 있음.

 

3. 타이밍(Timing) - 두 객체 간의 통신 속도 조정, 메시지의 전송 시간 및 순서 등에 대한 특성

 

 -데이터 송수신 동작 방식을 정의한 것으로 무엇을 전달할지 보다는 어떻게 전달할 지에 초점을 맞춥니다. 송신과 수신 측의 전달 속도를 제어하거나 초기 연결을 위한 신호의 지속시간, 신호의 순서 등을 정하여 타이밍을 이룹니다. 

 

ex) 해당 패턴에 대한 해석과 그 해석에 따른 전송 제어, 오류 수정 등에 관한 제어 정보 규정

 

 

프로토콜 전송 방식

 -전송하고자 하는 데이터 프레임의 구성에 따라 문자 방식, 바이트 방식, 비트 방식으로 구분할 수 있습니다.

 

1. 문자 전송 방식 - 전송 데이터의 처음과 끝을 알기 위해 특정 문자를 사용하는 방식입니다.

 

 -전송 제어 문자 ETX, STX, EOT, BSC 등의 특수문자를 사용하여 데이터 프레임의 시작과 끝을 나타내는 방식입니다.

 

*EOT - 전송의 종료 및 데이터 링크의 초기화

*BSC - 점대점 또는 다중점 접속 형식의 네트워크를 지원하는 범용 데이터 링크 제어 방식

 

2. 바이트 방식 - 데이터 프레임의 헤더에 전송 데이터 프레임의 문자 개수, 메시지 수신 상태 등의 제어 정보를 삽입하여 전송하는 방식입니다.

 

 -대표적인 프로토콜로 DDCM이 있습니다.

 

*DDCM - 반이중 전이중(송수신이 동시에 가능함  ex. 전화) 통신만 지원하며 동기(고속) 비동기(저속) 전송을 모두 지원함.

 

3. 비트 방식 - 정보의 처음과 끝을 임의의 정의된 비트열( 예: HDLC에서의 Flag-"01111110")을 사용하여 전송하는 방식입니다.

 

 -데이터 프레임의 시작과 끝을 나타내는 고유한 비트 패턴(플래그)을 삽입하여 전송하는 방식으로 대표적인 프로토콜로 SDLC, HDLC가 있습니다.

 

*SDLC - 비트 방식의 프로토콜이며 전송방식은 단방향 반이중 전이중 통신을 모두 지원한다.

*HDLC - 70년대부터 사용된 OSI 표준 데이터링크 제어 비트 방식의 프로토콜이며 단방향 반이중 전이중 통신을 모두 지원한다. 전송효율이 좋아 고속 전송이 가능하다.

 

 

프로토콜의 기능

1. 단편화와 재결합

 

단편화 - 응용 계층의 연속적인 비트 스트림 메시지를 하위 계층에서 작은 블록으로 나눔.

             메세지 -> 패킷 -> 프레임 -> 비트단위로 전송

 

재결합 - 단편화된 데이터를 받아 다시 하나로 합치는 기능. 

 

 -송신 측에서 전송할 데이터를 전송에 알맞은 일정 크기의 작은 블록으로 자르는 것을 단편화라고 하며, 단편화를 통해 세분화된 데이터 블록을 프로토콜 데이터 단위라고 합니다. 데이터를 단편화하여 전송하면 전송 시간이 빠르고, 통신 중의 오류를 효과적으로 제어할 수 있습니다. 다만 너무 작은 블록으로 단편화할 경우 재결합 시 처리 시간이 길어지고, 데이터 외에 부수적인 데이터가 많아 지므로 비효율적입니다.

 

2. 연결 제어

 

비연결형 데이터 전송 - 데이터를 송수신하는 개체 간에 논리적인 연결 없이 데이터를 전송 (ex 데이터그램)

 

연결형 데이터 전송 - 데이터를 송수신하는 개체간에 논리적 연결을 맺은 후 데이터를 전송 ( ex 가상 회선)

 

3. 흐름 제어

 

 -송신 측 개체 간에 데이터의 양이나 속도를 조절하는 기능이며, 송신 측과 수신 측의 속도 차이나 네트워크 내부 문제 등으로 인한 정보 유실 방지 역할을 합니다. 

 

정지 -  대기 흐름 제어 ( 수신 측의 확인 신호(ACK)를 받기 전에 데이터를 전송하지 않음 )

슬라이딩 윈도우 기법 - 확인 신호를 수신하기 전에 데이터의 양을 미리 정해주는 기법

 

4. 에러 제어

 

 -정보 전송 시 채널이나 네트워크 요소의 불완전성으로 데이터나 제어 정보가 파손되는 경우에 대비하는 기법입니다. 프레임의 순서를 검사하여 오류를 찾고, 프로토콜 데이터 단위를 재전송합니다. 

 

패러티 검사 코드 방식 - 패리티 비트의 이상 유무 검출.

순환 잉여도 검사 - 다형식 코드를 이용하여 오류 검출

 

5. 동기화

 

 -두 개체 사이에 정보를 송수신할 때, 초기화 상태 종료 상태 등의 동기를 맞추는 것입니다.

송수신 간에 서로 한 비트의 시간 길이가 다르면 전송된 신호를 유효한 정보로 변환할 수 없습니다.

 

6. 순서화

 

 -데이터를 단편화하여 전송할 때, 데이터들이 올바른 순서로 전송되기 위하여 필요한 기능이며, 연결 중심의 데이터 전송에만 사용됩니다.

 

HDLC의 FCS 필드 - 프레임 순서 검사

 

 

핵심요약

 -프로토콜이란 통신을 위해 합의된 통신 규칙이나 약속들의 집합

반응형

댓글