공부용 블로그

Protocol_1주차(1) 본문

설계/Protocol

Protocol_1주차(1)

tomato212 2018. 5. 28. 21:53

2018.05.28(월)


[프로토콜 다이어그램 정리]


1. 통신 프로토콜이란? 


- 통신을 목적으로 하는 정보의 수신자와 송신자 사이의 약속


- 서로 다른 '시스템'에 있는 두 '개체'간의 데이터 교환을 원활히 하기 위한 일련의 통신에 대한 약속.

여기서 개체란 정보를 보내거나 받을 수 있는 사용자 프로그램, 데이터베이스, 이메일 등을 뜻하며, 

시스템은 하나 이상의 개체를 보유하고 있는 컴퓨터 네트워크를 의미한다.  


2. 통신의 목적


: 정확한 정보의 전송


3. 프로토콜에 포함된 내용


: 에러제어, 동기맞춤, 흐름제어, 상대방의 상호위치, 안정성 


4. 에러제어

: 정보를 전송하기 위해 정보를 전기적인 혹은 광학적인 형태로 변환 > 그 변환된 신호가 통신채널을 통해 흐름 > 이 때, 정상적인 신호의 흐름을 훼방놓는 여러가지 현상이 존재 > 이는 신호의 변형을 가져옴 > 신호변형은 정확한 정보의 전송을 방해 


즉, 신호의 전송중에 에러가 발생하게 되고, 통신 프로토콜에서는 이러한 에러가 발생했을때 어떻게 에러의 발생사실을 알아내고 손실된 정보를 회복할 것인가에 대한 절차가 사전에 약속되어 있어야 한다. 그러한 약속이 프로토콜의 일부가 된다.  


(ex. "잠깐 잘못들었는데 다시 얘기해줄래")


5. 동기맞춤

: 비트의 시간길이, 메세지의 시작지점 등 정보를 송수신할때의 사전약속



6. 흐름제어

: 송신측에서 정보를 너무 빠르게 보내면 수신측에서 이를 미처 소화하지 못해 손실을 가져오는 사태를 막기위한 방법


(ex. "잠깐 좀 천천히 얘기해줄래)


7. 상대방의 상호위치

: 통신하는 상호위치란 개방 시스템 상호 연결(Open System Interconection)에서 어느 계층에 속하느냐를 의미. 쉽게 말해 두 회사가 서로 거래할때 부장끼리냐 과장끼리냐에 해당 되는 것



* 안정성


8. 프로토콜의 종류


9. 프로토콜의 원리

: 통신하는 두 상대방이라는 표현은 OSI규약에서 실체(entity)라는 용어로 사용하고 있다. OSI에서 이 실체는 컴퓨터 내부에서 돌아가는 프로그램인 경우가 대부분이다. 

통신하는 실체가 사람이라면 프로토콜을 학습하지 않고도 돌발상황에 따라 자연스럽게 대처할 수 있지만, 지능이 전혀 없는 정보기기들은 통신할때 발생할 수 있는 모든 상황에 대해 일일이 이럴때는 이렇게, 저럴때는 저렇게 지시를 해놓아 마치 지능을 갖는 것처럼 만들어 주어야 한다. 

정보통신이 사람사이의 통신과 다른점은 지능이 없는 정보기기 사이의 통신이라는 점 이외에도 사람과 사람간의 통신이 1대1인것과 달리 1대다 혹은 다대다 인 경우가 많으므로 프로토콜 또한 이러한 경우까지 대비해서 만들어야 하므로 종류가 많고 복잡해질 수 밖에 없다.


여기서 말하는 정보통신이란 정보처리 및 모든 통신을 총칭하는 넓은 의미의 정보통신이 아니라 정보기기 사이의 통신을 의미한다. 

정보기기는 정보를 송수신할 수 있는 기기를 통칭하는 용어로서 컴퓨터만을 의미하지 않는다.

예를 들어 팩시밀리도 정보기기이며, 공해를 측정하여 공해 감시 센터로 전송하는 공해측정기나, 장마철에 한강의 수위나 유속을 홍수 통제 본부로 송신하는 수위 유속 측정기도 정보기기다. 따라서 이들 사이에도 모두 통신 프로토콜이 필요하다. 더 나아가 현존하는 모든 통신 관련 정보기기는 어떠한 형태든 프로토콜을 가지고 있다.




10. 프로토콜이 생겨난 이유

: 컴퓨터의 생산업체에 따라 서로 다른 컴퓨터 네트워크를 제공했음 > 사용자 입장에서 서로 다른 컴퓨터 간에 통신을 할 수 없는 불편함이 생김 > 이러한 환경은 한 회사에서 컴퓨터와 네트워크 장비를 사게 되면 이후로는 계속해서 해당 업체의 제품만을 써야하는 병페가 따르게 됨 > 결국 컴퓨터의 보급이 늘어나고 네트워크 호환성에 대한 요구가 증가하면서 표준화 문제가 부각 > 1978년 국제 표준화 기구인

ISO에서 네트워크 표준화 기준을 마련하게 됨


11. 프로토콜의 구성


12. 의미(semantics) : 비트에서 각 부분의 뜻을 가르키는 것으로 특정 패턴은 어떻게 해석되며, 그 해석에 기초하여 어떤 동작을 취할 것인가에 해당하는 영역


13. 구문(syntax) : 데이터 구조나 형식을 가르키는 것으로, 데이터가 어떤 순서로 표현되는지를 의미


14. 타이밍 : 언제 데이터를 전송해야 할 것인가, 얼마나 빨리 전송할 것인가를 나타냄 


15. OSI계층


16. OSI란 : Open System Inter-connection의 약자로 ISO(국제표준기구)에서 만든 모델이다.


초창기 여러 통신 업체들이 사용하는 장비들은 호환성이 없어 다른 업체의 장비들을 연결하여 사용하지 못했다.

따라서 국제표준기구인 ISO에서 OSI 참조 모델이라는 것을 발표한다.


이는 모든 시스템들의 상호 연결에 있어서 문제가 생기지 않도록 표준을 만드는 것이고 7개의 계층으로 구분된다.


17. OSI 7계층


18. 스트리밍 서비스 프로토콜 


19. 스트리밍 기술요소


20. 스트리밍 서비스 종류



*와우자 스트리밍 엔진(2주차때 보면됨)



[참고한 자료들]

http://huniv.hongik.ac.kr/~ginnie/communication/%C1%A4%BA%B8%C5%EB%BD%C503_%C7%C1%B7%CE%C5%E4%C4%DD.htm


http://www.itfind.or.kr/UWZIN/%EB%8B%A4%EC%96%91%ED%95%9C%20%ED%86%B5%EC%8B%A0,%20%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C%EC%9D%98%20%EC%9B%90%EB%A6%AC%EB%A5%BC%20%EC%9D%B4%ED%95%B4%ED%95%98%EC%9E%90.pdf

'설계 > Protocol' 카테고리의 다른 글

protocol_2주차(2) HLS(apple)  (0) 2018.06.08
protocol_2주차(1) WebRTC  (0) 2018.06.08
What is latency?  (0) 2018.06.02
Protocol_1주차(3)  (0) 2018.06.01
Protocol_1주차(2)  (0) 2018.05.30