통신 프로토콜
통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다. 프로토콜은 형식, 의미론, 그리고 통신의 동기 과정 등을 정의하기는 하지만 구현되는 방법은 독립적이다. 이때문에 프로토콜은 하드웨어 또는 소프트웨어 그리고 때로는 모두를 사용하여 구현되기도 한다.
통신 시스템
[편집]네트워크 또는 다른 미디어를 통해 장치 간에 교환되는 정보는 통신 프로토콜 사양에서 설정할 수 있는 규칙 및 규칙에 따라 관리된다. 의사소통의 성격, 교환 된 실제 데이터 및 모든 상태에 따른 행동은 이 사양에 의해 정의된다. 디지털 컴퓨팅 시스템에서 규칙은 알고리즘 및 데이터 구조로 표현될 수 있다. 프로토콜은 알고리즘이나 프로그래밍 언어가 계산과 통신하는 것이다.
운영 체제에는 대개 공유 데이터를 조작하여 서로 통신하는 일련의 협력 프로세스가 있다. 이 통신은 프로세스 코드 자체에 내장될 수 있는 잘 이해 된 프로토콜에 의해 제어된다. 대조적으로, 공유 메모리가 없으므로 통신 시스템은 공유 전송 매체를 사용하여 서로 통신해야 한다. 전송은 반드시 신뢰할만한 것은 아니며 개별 시스템은 다른 하드웨어 또는 운영 체제를 사용할 수 있다.
네트워킹 프로토콜을 구현하기 위해 프로토콜 소프트웨어 모듈은 기계의 운영 체제에 구현 된 프레임 워크와 인터페이스된다. 이 프레임 워크는 운영 체제의 네트워킹 기능을 구현한다. 프로토콜 알고리즘이 휴대용 프로그래밍 언어로 표현될 때 프로토콜 소프트웨어는 운영 체제에 독립적일 수 있다. 가장 잘 알려진 프레임 워크는 TCP / IP 모델과 OSI 모델이다.
인터넷이 개발될 당시, 추상화 계층화는 컴파일러와 운영체제 설계 모두에 대한 성공적인 설계 접근법으로 입증되었으며, 프로그래밍 언어와 통신 프로토콜의 유사점을 감안할 때, 원래 단일체 식 네트워킹 프로그램은 협력 프로토콜로 분해되었다. 이것은 요즘 프로토콜 설계의 기초를 형성하는 계층화 된 프로토콜의 개념을 야기했다.
시스템은 일반적으로 단일 프로토콜을 사용하여 전송을 처리하지 않는다. 대신 프로토콜 스위트(protocol suite)라 불리는 일련의 협력 프로토콜을 사용한다. 가장 잘 알려진 프로토콜 제품군은 TCP / IP, IPX / SPX, X.25, AX.25 및 AppleTalk이다.
프로토콜은 그룹의 기능성을 기반으로 정렬될 수 있다. 예를 들어 전송 프로토콜 그룹이 있다. 기능은 레이어에 매핑되며 각 레이어는 응용 프로그램, 전송, 인터넷 및 네트워크 인터페이스 기능과 관련된 별개의 문제 클래스를 해결한다. 메시지를 전송하려면 각 계층에서 프로토콜을 선택해야 한다. 다음 프로토콜의 선택은 각 계층에 대한 프로토콜 선택기로 메시지를 확장함으로써 달성된다.
프로토콜의 예시
[편집]- HTTP : Hyper Text Transfer Protocol
- HTTPS : Hyper Text Transfer Protocol Secure
- FTP : File Transfer Protocol
- SFTP : Secure File Transfer Protocol
- Telnet : TErminaL NETwork
- POP3 : Post Office Protocol version 3
- SMTP : Simple Mail Transfer Protocol
- SSH : Secure Shell
- SSL : Secure Socket Layer
- SOAP : Simple Object Access Protocol
- ARP : Adress Resolution Protocol
프로토콜의 구성
[편집]프로토콜은 두 가지로 이루어져 있으며 물리적 측면과 논리적 측면으로 나뉜다.
- 물리적 측면: 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송 신호, 회선 규격 등.
- 논리적 측면: 프레임(Frame, 자료의 표현 형식 단위) 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등.
대표적인 프로토콜 정의 기관
[편집]- ISO(International Organization for Standardization)
- EIA(Electronic Industries Organization)
- IEEE(Institute of Electrical and Electronic Engineers)
- CCITT(Consultative Committee for International Telegraph and Telephone)
- IAB(Internet Activities Board)
같이 보기
[편집]이 글은 컴퓨터 과학에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |