Back
ESSAY번역
DEC 29, 2025

EP195: 모든 엔지니어가 알아야 할 일반적인 네트워크 프로토콜

원문: EP195: Common Network Protocols Every Engineer Should Know


이번 주 시스템 디자인 복습:

  • 모든 엔지니어가 알아야 할 일반적인 네트워크 프로토콜

  • 🚀 Learn AI in the New Year! Become an AI Engineer | Learn by Doing | Cohort 3

  • 8가지 인기 있는 네트워크 프로토콜

  • 마이크로서비스 개발을 위한 9가지 모범 사례


모든 엔지니어가 알아야 할 일반적인 네트워크 프로토콜

이메일에서 "보내기"를 클릭하거나 화상 통화에 참여할 때 실제로 무슨 일이 일어나는지 궁금해한 적이 있으신가요? 인터넷에서의 모든 클릭, 메시지, API 호출은 네트워크 프로토콜에 의존합니다. 네트워크 프로토콜은 데이터가 어떻게 이동하는지, 누가 통신할 수 있는지, 그리고 이 모든 것이 얼마나 안전하게 일어나는지를 정의합니다.

Common Network Protocols

기반에는 전송 프로토콜이 있습니다: TCP는 신뢰성 있는 전송을 보장하고, UDP는 속도를 우선시하며, QUIC는 UDP 위에서 두 세계를 결합합니다.

그 위에서 HTTP는 웹을 구동하고, TLS는 이를 보안하며, DNS는 이름을 주소로 변환합니다.

원격 접속이 필요하신가요? 그것이 바로 SSH입니다. 파일 전송은요? SFTP 또는 SMB입니다.

실시간 채팅과 미디어는요? WebSocket, WebRTC, MQTT가 데이터를 실시간으로 흐르게 합니다.

신원 확인과 접근 제어를 위해서는 OAuth와 OpenID가 인가와 인증을 처리합니다.

백엔드에서는 DHCP, NTP, ICMPv6, LDAP가 조용히 모든 것을 동기화하고, 주소를 할당하며, 검색 가능하게 유지합니다.

간단한 이메일(SMTP, IMAP)부터 암호화된 VPN(WireGuard, IPsec)까지, 이러한 프로토콜들은 인터넷을 연결하고 안전하게 유지하는 보이지 않는 언어를 형성합니다.

Over to you: 만약 하나의 프로토콜이 전 세계적으로 갑자기 작동을 멈춘다면, 어떤 것이 인터넷을 가장 먼저 망가뜨릴까요?


8가지 인기 있는 네트워크 프로토콜

네트워크 프로토콜은 네트워크에서 두 시스템 간에 데이터를 전송하는 핵심입니다.

8 Popular Network Protocols

  1. FTP (File Transfer Protocol) 별도의 제어 채널과 데이터 채널을 사용하여 클라이언트와 서버 간에 파일을 업로드하고 다운로드합니다.

  2. TCP (Transmission Control Protocol) 정확한 데이터 전달을 위해 3-way 핸드셰이크(SYN, SYN+ACK, ACK)를 사용하여 신뢰성 있는 연결을 설정합니다.

  3. UDP (User Datagram Protocol) 최소한의 지연 시간으로 가볍고 비연결성 패킷(요청과 응답)을 전송합니다. 빠른 전송에 이상적입니다.

  4. HTTP (HyperText Transfer Protocol) TCP를 사용하여 HTTP 요청과 응답을 통해 웹 리소스(HTML, 이미지)를 요청하고 수신합니다.

  5. HTTP/3 (QUIC) UDP 위에 구축되어, 데이터 스트림을 다중화하고 지연 시간을 줄여 더 빠르고 신뢰성 있는 연결을 가능하게 합니다.

  6. HTTPS (Secure HTTP) TCP 연결을 통해 공개 키와 세션 키를 사용한 암호화로 HTTP를 보호하여 웹 데이터를 안전하게 지킵니다.

  7. SMTP (Simple Mail Transfer Protocol) SMTP 서버를 통해 발신자로부터 수신자에게 이메일을 전송합니다. 이메일 전달에 일반적으로 사용됩니다.

  8. WebSocket HTTP 연결을 실시간 채팅과 같은 실시간 양방향 통신을 위한 전이중 채널로 업그레이드합니다.


한 장의 그림이 천 마디 말의 가치가 있습니다: 마이크로서비스 개발을 위한 9가지 모범 사례

9 Best Practices for Microservices

마이크로서비스를 개발할 때는 다음과 같은 모범 사례를 따라야 합니다:

  1. 각 마이크로서비스마다 별도의 데이터 저장소 사용

  2. 코드를 비슷한 성숙도 수준으로 유지

  3. 각 마이크로서비스마다 별도의 빌드

  4. 각 마이크로서비스에 단일 책임 할당

  5. 컨테이너에 배포

  6. 무상태 서비스 설계

  7. 도메인 주도 설계 채택

  8. 마이크로 프론트엔드 설계

  9. 마이크로서비스 오케스트레이션

Thank you for reading.

Based in Seoul
Since 2024