728x90
프로토콜이란?
프로토콜은 컴퓨터 네트워크에서 서로 다른 기종의 컴퓨터들이 통신하기 위해 미리 정해놓은 규약 및 통신 약속입니다. 이러한 규약은 데이터 전송의 효율성, 정확성, 신뢰성을 보장하기 위해 필요합니다.
프로토콜의 기본 요소
- 구문(Syntax)
- 데이터 형식, 부호화, 신호 수준 등을 정의합니다.
- 예: 데이터 포맷, 문자 인코딩, 신호의 전기적 특성 등.
- 의미(Semantics)
- 정보의 의미와 오류 검출, 수정을 위한 규정을 포함합니다.
- 예: 메시지 유형, 오류 검출 코드, 흐름 제어 등.
- 시간(Timing)
- 데이터 전송 속도와 메시지 순서 제어를 규정합니다.
- 예: 데이터 전송 속도 조절, 메시지 순서 결정, 시간 동기화 등.
프로토콜 종류와 계층
프로토콜은 네트워크 커뮤니케이션의 다양한 측면을 다루며, 일반적으로 계층 구조로 나타납니다. 이러한 계층화는 복잡한 네트워크 통신을 관리하기 위해 필요합니다. 주요 프로토콜 계층은 다음과 같습니다:
- 응용 계층(Application Layer)
- 사용자 데이터의 교환에 관련된 프로토콜을 정의합니다.
- 예: HTTP, SMTP, FTP, Telnet.
- 표현 계층(Presentation Layer)
- 데이터 포맷과 암호화를 관리합니다.
- 예: ASCII, MPEG, JPEG, MIDI.
- 세션 계층(Session Layer)
- 데이터 연결의 설정, 유지, 종료를 관리합니다.
- 예: NetBIOS, SAP, SDP, NWLink.
- 전송 계층(Transport Layer)
- 데이터 전송의 신뢰성을 보장합니다.
- 예: TCP, UDP, SPX.
- 네트워크 계층(Network Layer)
- 데이터 패킷의 라우팅을 담당합니다.
- 예: IP, IPX.
- 데이터 링크 계층(Data Link Layer)
- 인접한 노드 간의 프레임 전송을 관리합니다.
- 예: Ethernet, Token Ring, FDDI, Apple Talk.
- 물리 계층(Physical Layer)
- 비트 단위의 데이터 송수신을 담당합니다.
- 예: 케이블, 광섬유, 무선 전송 매체 등.
프로토콜의 기능
- 단편화(Fragmentation)와 재합성(Assembly)
- 긴 데이터 블록을 작은 블록으로 나누어 전송하고, 수신 측에서 재합성합니다.
- 캡슐화(Encapsulation)
- 데이터에 필요한 정보를 추가하여 프로토콜에 적합한 데이터 블록을 생성합니다.
- 연결 제어(Connection Control)
- 비연결 및 연결 지향 데이터 전송을 위한 통신 경로를 관리합니다.
- 흐름 제어(Flow Control)
- 데이터양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정합니다.
- 오류 제어(Error Control)
- 데이터 전송 중 발생하는 오류를 검출하고 정정합니다.
- 순서 결정(Sequencing)
- 연결 지향 데이터 전송에서 송신 측이 보내는 데이터 단위의 순서를 수신 측에 전달합니다.
- 주소 설정(Addressing)
- 데이터를 정확한 목적지로 전달하기 위한 주소를 명기합니다.
- 동기화(Synchronization)
- 통신 객체 간의 상태를 일치시킵니다.
- 다중화(Multiplexing)
- 하나의 통신로를 여러 개로 나누어 다수의 사용자가 동시에 사용할 수 있도록 합니다.
- 전송 서비스(Transmission Service)
- 추가적인 서비스를 제공합니다.
728x90