프로토콜이란?
프로토콜 (Protocol)
--
프로토콜은
컴퓨터 네트워크에서 서로 다른 시스템(장치) 간에 데이터를 주고받기 위한 규칙과 절차를 정의한 의사소통 방식이다.
간단하게 말하면
장치들이 서로 원활하게 통신할 수 있도록 공통적으로 사용하는 "언어", "규칙" 같은 것이다.
즉, 네트워크에도 언어와 유사한 개념으로 사용한다.
위 그림처럼 A에서 B로 데이터(정보)를 전달하고자 한다.
그러기 위해서는 A는 보낼 데이터를 패킷으로 구성하여 전달해야 한다. (패킷 교환 방식)
(보통 택배를 비유해서 설명한다.)
- 전달한 데이터(페이로드)를 택배 상자(패킷)에 담는다.
- 배송 주소와 같은 정보(헤더 or 트레일러)를 택배 상자(패킷)에 붙인다.
- 완성한 택배 상자(패킷)를 택배 기사(네트워크 장비 or 중간 노드)를 통해 전달한다.
여기서 고려해야 하는 경우가 있다.
- 해당 패킷에 붙여진 목적지 주소와 같은 정보(헤더)를 중간 노드(네트워크 장비)들이 모두 알아볼 수 있어야 한다.
- 패킷을 받는 B가 해당 패킷안에 담긴 데이터를 읽을 수 있어야 한다.
- 중간 노드(네트워크 장비)들도 서로 같은 언어를 사용해야 한다.
- 만약 A가 작성한 패킷의 헤더를 네트워크 장비가 알아볼 수 없다면 해당 패킷을 어디로 보내야 하는지 모른다.
- 만약 A가 보내려는 패킷의 페이로드(데이터)를 수신자인 B가 알아볼 수 없다면 보낸 의미가 없다.
위와 같은 문제들을 해결하기 위해서는
서로 자기만의 언어를 개별적으로 사용하는 것이 아닌
공통된 언어 및 규칙을 정해서 사용해야 한다.
즉, 네트워크 상에서 노드 간에 정보를 올바르게 주고받기 위해서 같은 프로토콜을 사용하면 된다.
일반적으로 여러 프로토콜을 같이 사용한다.
대표적인 프로토콜
- HTTP (HyperText Transfer Protocol)
- HTTPS (HTTP Secure)
- TCP (Transmissioin Control Protocol)
- UDP (User Datagram Protocol)
- IP (Internet Protocol)
- FTP (File Transfer Protocol)
- SMTP (Simple Mail Transfer Protocol)
HTTP
웹에서 클라이언트(주로 브라우저)와 서버 간에 데이터를 주고받는 데 사용되는 프로토콜로,
텍스트, 이미지, 비디오 등 다양한 웹 콘텐츠를 전송할 수 있으며,
요청과 응답 형식으로 통신이 이루어진다.
HTTPS
HTTP에서 보안을 강화한 프로토콜로
SSL이나 TLS를 통해 데이터를 암호화하여 전송한다.
주로 웹사이트에 로그인하거나 민감한 정보를 주고받을 때 사용한다.
TCP
데이터 전송의 신뢰성을 보장하는 프로토콜로
송신자와 수신자 간에 연결을 설정하고 데이터가 정상적으로 전송되었는지 확인한다.
UDP
TCP와 달리 연결을 하지 않고 데이터를 전송하는 프로토콜로
빠른 전송이 필요한 경우 사용된다.
다만 오류 검출이나 재전송 기능이 없기 때문에, 데이터가 손실될 가능성이 있지만,
속도가 중요한 스트리밍에서 자주 사용된다.
IP
인터넷 상에서 데이터를 전송하기 위한 기본적인 프로토콜로,
각 데이터 패킷에 송신자와 수신자의 IP 주소를 부여하여 목적지까지 데이터를 전달한다.
(TCP와 함께 사용될 때 TCP/IP라고도 부른다.)
FTP
파일을 서버와 클라이언트 간에 전송하는 데 사용하는 프로토콜로
주로 대용량 파일을 전송하거나 다운로드할 때 사용된다.
SMTP
이메일을 전송하기 위한 프로토콜로,
메일 서버 간에 이메일을 주고받는 데 사용된다.
--
'CS > 네트워크' 카테고리의 다른 글
[OSI 물리 계층, 데이터 링크 계층] 스위치 (0) | 2024.11.12 |
---|---|
[OSI 물리 계층, 데이터 링크 계층] 허브 (+ 반이중/전이중, CSMA/CD) (1) | 2024.11.11 |
[물리 계층, 데이터 링크 계층] 이더넷 (+ IP주소와 MAC주소의 차이) (0) | 2024.11.10 |
OSI 7계층 모델 (+ TCP/IP 4계층 모델) (6) | 2024.11.09 |
네트워크 (기본 개념) (0) | 2024.11.07 |