통신 프로토콜

컴퓨팅 시스템 간 메시지를 교환하는 시스템

통신 프로토콜 또는 통신 규약컴퓨터원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다. 프로토콜은 형식, 의미론, 그리고 통신의 동기 과정 등을 정의하기는 하지만 구현되는 방법은 독립적이다. 이때문에 프로토콜은 하드웨어 또는 소프트웨어 그리고 때로는 모두를 사용하여 구현되기도 한다.

통신 시스템 편집

네트워크 또는 다른 미디어를 통해 장치 간에 교환되는 정보는 통신 프로토콜 사양에서 설정할 수 있는 규칙 및 규칙에 따라 관리된다. 의사소통의 성격, 교환 된 실제 데이터 및 모든 상태에 따른 행동은 이 사양에 의해 정의된다. 디지털 컴퓨팅 시스템에서 규칙은 알고리즘 및 데이터 구조로 표현될 수 있다. 프로토콜은 알고리즘이나 프로그래밍 언어가 계산과 통신하는 것이다.

운영 체제에는 대개 공유 데이터를 조작하여 서로 통신하는 일련의 협력 프로세스가 있다. 이 통신은 프로세스 코드 자체에 내장될 수 있는 잘 이해 된 프로토콜에 의해 제어된다. 대조적으로, 공유 메모리가 없으므로 통신 시스템은 공유 전송 매체를 사용하여 서로 통신해야 한다. 전송은 반드시 신뢰할만한 것은 아니며 개별 시스템은 다른 하드웨어 또는 운영 체제를 사용할 수 있다.

네트워킹 프로토콜을 구현하기 위해 프로토콜 소프트웨어 모듈은 기계의 운영 체제에 구현 된 프레임 워크와 인터페이스된다. 이 프레임 워크는 운영 체제의 네트워킹 기능을 구현한다. 프로토콜 알고리즘이 휴대용 프로그래밍 언어로 표현될 때 프로토콜 소프트웨어는 운영 체제에 독립적일 수 있다. 가장 잘 알려진 프레임 워크는 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, 자료의 표현 형식 단위) 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등.
    • 폐쇄적인 프로토콜: 자사 장치들끼리 통신하기 위한 독자적인 통신 규약이며, 자세한 규격이 공개되어 있지 않아서 크래킹 위협에 상대적으로 안전하다. (보기: IBM의 SNA, SDLC 프로토콜)
    • 공개된 범용 프로토콜: 여러 장치들에 쓰이는 널리 알려진 규격이며, 규격이 널리 공개되어 있기 때문에 컴퓨터와 네트워크 크래킹에 취약한 편이다. (보기: 인터넷의 TCP/IP)

대표적인 프로토콜 정의 기관 편집

  • 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)

같이 보기 편집