이번 시간에는 Protocol, 프로토콜에 대해서 알아 보도록 하겠습니다. 특히, 시리얼 통신에서 사용되는 경우의 프로토콜에 대해 말씀을 올리겠습니다.
rs232c 포트를 이용한 시리얼 통신은 우선 가격이 매우 저렴하고 시스템 구성이 편하기 때문에 많이 사용되는 통신입니다. 그러나 가격 만큼이나 취약한 점이 많습니다. (1) 주위 노이즈 문제 뿐만 아니라 (2) 상대방 시스템 상태를 확인할 수 없다는 점입니다.
상대방 수신 상태?
예로 아래 그림은, 자료를 전송할 때, 상대방이 수신 준비가 되어 있는 상태였기 때문에 자료 시작부터 종료까지 모두 전송하고 받을 수 있었습니다.
그러나 시리얼 통신은 상대방의 상태를 알 수 없기 때문에 통신 상태가 위의 그림에서 처럼 항상 운이 좋다고 보장할 수 없습니다. 기껏 자료를 보내고 있는데, 상대방 시스템은 딴짓하다가 통신 포트를 쳐다보는 그 때부터 수신을 하기 때문에 아래의 그림에서 처럼 자료의 어느 부분부터 받기를 시작할 수 있고, 아니면 아예 자료 모두를 받을 수 없는 경우가 생깁니다.
노이즈 문제
거기에다가 앞서 말씀 드린 바와 같이 모든 통신에는 노이즈와 같은 외부로부터 항상 영향을 받기 때문에 자료의 변형이나 손실이 발생할 수 있기 때문에 빠르고 정확하게 통신하기 위해 많은 프로토콜이 연구하고 만들어 지고 있습니다.
아래의 동영상에는 이와 같은 문제를 해결하기 위한 몇가지 프로토콜에 대한 말씀을 드리면서 문제점을 함께 언급했습니다. 프로토콜에 대한 전반적이 말씀인 만큼 가벼운 마음으로 봐 주시면 감사겠습니다. ^^