일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MariaDB
- Docker
- wget
- 설치
- 일반유저
- 변수
- 머클루트
- wsl
- 머클트리
- 블록체인
- npm
- Sequelize
- immer
- 자바스크립트
- 이더리움
- 시퀄라이즈
- 전역설치
- 우분투
- centos
- 라우터
- 리액트
- 리눅스
- 쉘스크립트
- 노드
- 벨로포터
- 리액트를 다루는 기술
- 솔리디티
- node.js 교과서 따라하기
- 깃허브
- 환경변수
- Today
- Total
코드코코
프로토콜이란? 본문
프로토콜(Protocol)이란?
통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다.
프로토콜의 기본 요소
- 구문(Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정
- 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
- 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
프로토콜 종류
계층 | 프로토콜 |
응용(Application) | HTTP, SMTP(메일송수신), FTP(파일-txt,image 등), Telnet, DHCP |
표현(Presentation) | ASCII, MPEG, JPEG, MIDI |
세션(Session) | NetBIOS, SAP, SDP, NWLink |
전송(Transport) | TCP, UDP, SPX |
네트워크(Network) | IP, IPX |
데이터 링크(Data Link) | Ethernet, Token Ring, FDDI, Apple Talk |
물리(Physical) | 없음 |
프로토콜의 기능
단편화(Fragmentation)와 재합성(Assembly)
단편화 : 송신 측에서는 긴 데이터 블록을 손쉽게 전송할 수 있도록 크기가 똑같은 작은 블록으로 나누어 전송
재합성 : 수신 측에서 쪼개진 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능
캡슐화(Encapsulation)
각 프로토콜에 적합한 데이터 블록을 만들려고 데이터에 정보를 추가하는 것
플래그, 주소, 제어 정보, 오류 검출 부호 등을 부착하는 기능
연결 제어(Connection Control)
비연결 데이터 전송(데이터그램)과 연결 위주 데이터 전송(가상회선)을 위한 통신로를 개설·유지·종결하는 기능
흐름 제어(Flow Control)
데이터양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
오류 제어(Error Control)
데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능
순서 결정(Sequencing)
연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기능
주소 설정(Addressing)
발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능
동기화(Synchronization)
두 통신 객체의 상태(시작, 종류, 검사 등)를 일치시키는 기능
다중화(Multiplexing)
하나의 통신로를 여러 개로 나누거나 회선 여러 개를 하나의 통신로로 변환시켜 다수의 가입자가 동시에 사할 수 있도록 하는 기능
전송 서비스(Transmission Service)
통신 객체를 사용하기 쉽도록 별도로 추가 서비스(패리티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공하는 기능
참조: https://computer-science-student.tistory.com/377
'이것저것' 카테고리의 다른 글
[Typescript] class (0) | 2022.06.20 |
---|---|
[OOP] Object-Oriented-Programming - 객체지향 프로그래밍 (0) | 2022.06.19 |
[SASS] Sass 7-1 Architecture (0) | 2022.06.18 |
MySQL VS mongoDB (0) | 2022.05.05 |