통신 프로토콜

위키백과, 우리 모두의 백과사전.

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

통신 시스템[편집]

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

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

네트워킹 프로토콜을 구현하기 위해 프로토콜 소프트웨어 모듈은 기계의 운영 체제에 구현 된 프레임 워크와 인터페이스된다. 이 프레임 워크는 운영 체제의 네트워킹 기능을 구현한다. 프로토콜 알고리즘이 휴대용 프로그래밍 언어로 표현될 때 프로토콜 소프트웨어는 운영 체제에 독립적일 수 있다. 가장 잘 알려진 프레임 워크는 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)

같이 보기[편집]