TCP와 UDP 외에도 여러 유사한 개념과 프로토콜이 있다.
프로토콜과 개념은 네트워크 통신의 다양한 요구사항을 충족시키기 위해 개발됐다.
각 프로토콜은 특정 상황과 요구사항에 맞게 최적화되어 있으며, 네트워크 환경에서 중요한 역할을 한다.

IP (Internet Protocol)
IP(Internet Protocol)
- 인터넷 프로토콜은 데이터 패킷을 목적지로 전달하기 위한 주소 지정 및 경로 설정을 담당
- IP는 두 가지 주요 버전인 IPv4와 IPv6로 구성
IPv4
- 널리 사용되는 주소 체계로 32비트 주소
- 약 43억 개의 주소를 지원
IPv6
- IP 주소 부족 문제를 해결하기 위해 개발된 128비트 주소 체계로 사실상 무한대에 가까운 주소를 제공
ICMP (Internet Control Message Protocol)
ICMP
- 주로 네트워크 상태를 점검하고 오류를 보고하기 위해 사용되는 프로토콜
- `ping` 명령어와 같이 네트워크 연결 상태를 테스트하는 데 사용
`ping` 명령어
- 네트워크 상태를 점검하고 진단하기 위해 사용되는 기본적인 네트워크 유틸리티
- ICMP(Internet Control Message Protocol)를 사용하여 대상 호스트에 대한 연결 상태를 확인
- 사용자는 특정 IP 주소나 도메인 이름에 대한 네트워크 연결이 가능한지, 그리고 응답 시간(latency)이 어느 정도인지를 확인할 수 있다.
`ping` 명령어의 작동 방식
1. ICMP Echo Request
- 명령어를 실행하면, 사용자의 컴퓨터는 대상 호스트(예: 서버, 라우터)에게 ICMP Echo Request 메시지를 전송
2. ICMP Echo Reply
- 대상 호스트는 이 메시지를 수신하고, ICMP Echo Reply 메시지로 응답
3. 응답 시간 측정
- 사용자의 컴퓨터는 Echo Request를 보낸 시간과 Echo Reply를 받은 시간을 계산하여 왕복 시간(Round-Trip Time, RTT)을 측정
- 네트워크의 지연 시간을 확인
`ping` 명령어 출력 예시
PING google.com (172.217.11.174): 56 data bytes
64 bytes from 172.217.11.174: icmp_seq=0 ttl=115 time=22.8 ms
64 bytes from 172.217.11.174: icmp_seq=1 ttl=115 time=23.1 ms
64 bytes from 172.217.11.174: icmp_seq=2 ttl=115 time=22.9 ms
64 bytes from 172.217.11.174: icmp_seq=3 ttl=115 time=23.0 ms
--- google.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 22.8/22.9/23.1/0.1 ms
HTTP/HTTPS (HyperText Transfer Protocol/Secure)
HTTP
- 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 프로토콜
- 텍스트, 이미지, 비디오 등을 전송
HTTPS
- SSL/TLS 암호화가 추가된 프로토콜
- 보안이 강화되어 데이터를 안전하게 전송
FTP (File Transfer Protocol)
FTP
- 네트워크를 통해 파일을 전송하기 위한 표준 프로토콜
- 파일 업로드와 다운로드를 지원하며, 일반적으로 사용자 인증이 필요
SMTP (Simple Mail Transfer Protocol)
SMTP
- 이메일 전송을 위한 프로토콜
- 메일 서버 간의 이메일 전송을 관리하며, 클라이언트에서 메일 서버로의 이메일 전송도 처리
POP3/IMAP (Post Office Protocol version 3/Internet Message Access Protocol)
POP3
- 이메일 클라이언트가 메일 서버에서 이메일을 가져와 로컬에 저장하는 프로토콜
- 이메일을 서버에서 다운로드한 후 서버에서 삭제할 수 있다.
IMAP
- 이메일 클라이언트가 메일 서버에 이메일을 유지한 상태에서 접근하고 관리하는 프로토콜
- 여러 장치에서 이메일을 동기화할 수 있다.
DNS (Domain Name System)
DNS
- 도메인 이름을 IP 주소로 변환하는 시스템
- 사용자가 기억하기 쉬운 도메인 이름을 입력하면 해당 도메인에 연결된 IP 주소를 반환
SSH (Secure Shell)
SSH
- 네트워크를 통해 원격 시스템에 안전하게 접근하기 위한 프로토콜
- 데이터 전송을 암호화하여 보안을 강화
WebSocket
WebSocket
- 클라이언트와 서버 간의 양방향 통신을 위한 프로토콜
- HTTP 연결을 통해 초기 핸드셰이크를 수행한 후, 지속적인 양방향 데이터 전송이 가능
- 실시간 애플리케이션에 주로 사용
MQTT (Message Queuing Telemetry Transport)
MQTT
- IoT(Internet of Things) 장치 간의 통신을 위해 설계된 경량 메시지 전송 프로토콜
- 저전력 및 대역폭이 제한된 환경에서 효율적으로 동작
RTP (Real-time Transport Protocol)
RTP
- 실시간 오디오 및 비디오 데이터를 전송하기 위한 프로토콜
- VoIP, 비디오 회의 등에서 사용
QUIC (Quick UDP Internet Connections)
QUIC
- Google이 개발한 UDP 기반의 전송 계층 프로토콜
- TCP와 유사한 신뢰성 있는 데이터 전송을 제공하면서도 지연 시간을 줄이는 데 초점을 맞추고 있다.
- HTTP/3에서 사용된다.
'CS' 카테고리의 다른 글
모놀리식 vs. 마이크로서비스 아키텍처 (0) | 2024.05.30 |
---|---|
WebRTC와 시그널링 (0) | 2024.05.23 |
소켓(Socket) 통신 (0) | 2024.05.16 |
UI/UX 용어 (0) | 2024.05.09 |
프로세스 스케줄링 알고리즘 (1) | 2024.04.30 |