일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- #Swagger-codegen
- #Swagger
- 쿠버네티스 컨트롤러
- Redux
- AWS
- #api 문서화
- #스웨거
- fluentd
- #Swagger-editor
- javascript
- 쿠버네티스
- server
- Site Reliability engineering
- 프로세스 통신
- React.js
- 기술PM
- #Swagger-ui
- 프로세스
- 모두의캠퍼스
- SRE
- React
- docker
- 모캠
- Reducer
- IP
- 북딜
- ecs
- action
- 카카오게임즈
- Kubernetes
- Today
- Total
탕구리's 블로그
프로토콜(Protocol)? 그래서 그게 뭔데? 본문
시작하기 전에
해당 블로그에 작성되는 글은 주인장의 지극히 주관적인 생각이 다수이며, 대부분의 지식은 구글링을 통해 얻고 있기 때문에 옳지않은 정보가 있습니다.
잘못된 부분이나 수정해야 하는 부분이 있다면 과감히 덧글을 남겨주세요! 모르는게 많은 새싹입니다
오늘의 주제
오늘의 주제는 "프로토콜이 무엇인가?" 입니다. 네트워크를 공부하다 보면 프로토콜에 대한 이야기가 정말 많이 나오는데 의미는 알겠는데 정확히 마음에 와닿지를 않아서 정확히 이해하고 넘어가고자 주제로 선정하게 되었습니다.
프로토콜? Protocol?
위키 백과에는 "통신 프로토콜 또는 통신규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다." 라고 나와 있습니다. 정말 많은 곳에 위와 같은식의 설명이 나와있었습니다. 프로토콜의 예를 들어보면 두 사람이 대화를 하는데 한쪽은 영어로, 한쪽은 한국어로 말하게 되면 대화가 통하지 않을 것입니다.
컴퓨터도 마찬가지로 두개의 개체가 같은 프로토콜(위의 예를 통해선 사용하는 언어)을 사용하여 통신을 수행해야 정상적인 통신이 발생할 수 있습니다. 비단 언어 뿐만이 아니라 데이터가 어떤 과정과 절차를 통해서 송신했는지, 수신측에서는 어떻게 원래의 데이터로 복구할 수 있는지와 같은 약속도 포함됩니다.
프로토콜의 구성요소
프로토콜을 이루는 구성요소는 총 세가지 구문(syntax), 의미(semantic), 타이밍(timing) 입니다.
구문(syntax) : 데이터를 어떻게 구성할 지에 대한 형식, 구체적인 코딩 방법, 신호 레벨 등에 대한 형식을 규정
의미(sematic) : 데이터에 대하여 구체적으로 어떻게 제어할 것인지에 대한 처리 방법과 에러가 발생했을 때 어떻게 처리할 건가에 대한 정보를 포함한다.
타이밍(timing) : 통신이 이루어질 때 데이터를 주고 받을 속도에 대한 조절과 여러 데이터가 동시에 통신을 해야 할 경우 순서 관리를 위한 기법을 포함한다.
계층적 역할의 관점에서 보았을 때, 물리적인 역할을 하는 측면과, 논리적인 역할을 하는 두 가지 경우로 볼 수 있다.
- 물리적 측면 : 자료 전송에 쓰이는 전송매체, 접속용 단자 및 전송 신호, 회신 규격 등을 말한다.
- 논리적 측면 : 프레임의 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차등을 담는다.
프로토콜의 기능
'Conception > Computer Network' 카테고리의 다른 글
[OSI 참조모델과 TCP/IP 기초] #2 메시지 구조와 종류 (0) | 2019.03.19 |
---|---|
[OSI 참조모델과 TCP/IP 기초] #1 TCP/IP란? (0) | 2019.03.18 |
부하분산 Load Balancing (0) | 2019.03.07 |
[네트워크 개론] 네트워크 서비스 2편 - DNS (0) | 2019.02.28 |
[네트워크 개론] 네트워크 서비스 1편 DHCP (1) | 2019.02.27 |