태그: 네트워크
21편
-
TLS 프로토콜 심화 가이드 | 핸드셰이크·암호 스위트·TLS 1.3 키 유도
TLS 1.2와 1.3의 핸드셰이크 흐름 차이, 암호 스위트를 구성하는 키 교환·인증·대칭키·해시, 키 유도와 레코드 레이어, QUIC과의 결합, 인증서 체인 오류 진단과 mTLS 인증서 회전까지 설명합니다.
-
Docker 네트워킹 내부 — CNI·veth·브리지·iptables·서비스 디스커버리
Docker·Kubernetes 네트워크 내부: CNI와 libnetwork, veth·Linux bridge, 포트 매핑 iptables/nft, DNS·서비스 디스커버리, 프로덕션 패턴까지 실무 심화 정리.
-
CDN·Cloudflare 심화 — 엣지 캐시·Workers·애니캐스트·DDoS·프로덕션 패턴
CDN 엣지 캐시 알고리즘, Cloudflare Workers(V8 Isolate) 런타임, 애니캐스트 BGP 라우팅, DDoS 완화 계층, Cache-Control·SWR 등 프로덕션 패턴을 엔지니어 관점에서 정리합니다.
-
TCP 동작 원리: 3-way handshake, 흐름·혼잡 제어(CUBIC·BBR)와 소켓 디버깅
TCP 3-way handshake와 연결 종료, rwnd·cwnd 기반 흐름·혼잡 제어, Reno·CUBIC·BBR 알고리즘 차이를 설명하고 C++·Python·Node.js 소켓 예제와 RST·느린 전송 문제를 분석하는 디버깅 방법을 다룹니다.
-
I/O 멀티플렉싱 비교: select·poll·epoll·kqueue·IOCP와 C10K 문제
I/O 멀티플렉싱 정리. Blocking I/O의 한계에서 출발해 select, poll, epoll, kqueue, IOCP의 동작 방식과 차이를 코드와 성능 비교로 설명하고 C10K 문제 해결 방법을 다룹니다.
-
TCP 연결 상태 11가지: TIME_WAIT·CLOSE_WAIT가 쌓이는 이유와 netstat·ss 디버깅
TCP 11가지 연결 상태(LISTEN, SYN_SENT, ESTABLISHED, FIN_WAIT, TIME_WAIT 등)의 동작 원리와 상태 전이, netstat·ss로 상태를 확인하고 TIME_WAIT·CLOSE_WAIT 문제를 디버깅하는 방법을 정리합니다.
-
UPnP 동작 방식과 보안 문제: SSDP 기기 발견, SOAP 제어, IGD 포트 포워딩
UPnP가 SSDP 멀티캐스트로 기기를 찾고 SOAP으로 서비스를 제어하며 IGD로 공유기 포트를 여는 과정을 메시지 단위로 설명합니다. Python·Node.js·Go·miniupnpc 구현 예제와 알려진 보안 취약점, NAT-PMP·STUN/TURN 같은 대안도 비교합니다.
-
HTTP/1.1에서 HTTP/3까지: HOL 블로킹, 멀티플렉싱, 헤더 압축, QUIC과 0-RTT
HTTP/1.1의 HOL 블로킹이 왜 생기는지, HTTP/2가 멀티플렉싱과 HPACK으로 무엇을 해결했고 TCP 계층에서 남은 한계를 HTTP/3와 QUIC이 UDP 위에서 어떻게 풀었는지 TLS 핸드셰이크와 함께 설명합니다.
-
개발자를 위한 리눅스·맥 명령어 실전 가이드 | 네트워크·파일·프로세스·디버깅
포트가 이미 사용 중이거나 서버가 응답하지 않을 때 lsof·ss·curl로 원인을 좁히는 법부터 find·grep·awk·sed 파일 검색과 치환, tail·sort·uniq 로그 분석, 권한·압축 명령까지 리눅스와 macOS에서 바로 쓰는 예제로 모았습니다.
-
리틀 엔디안 vs 빅 엔디안: 네트워크 바이트 순서, CPU별 차이, 바이트 순서 변환
Little Endian과 Big Endian의 차이, 네트워크에서 Big Endian을 쓰는 이유, CPU 아키텍처별 엔디안, 바이트 순서 변환 방법과 파일 포맷·프로토콜에서의 실전 문제를 예제로 정리합니다.
-
FTP·SFTP·FTPS·SMB·NFS·SCP·rsync 비교: 동작 방식, 보안, 성능과 선택 기준
FTP, SFTP, FTPS, SMB, NFS, SCP, rsync의 동작 원리와 보안·성능을 비교합니다. OpenSSH 9의 scp→SFTP 전환, Windows 11 24H2의 SMB 서명 필수화, 최신 Samba에서 쓰면 안 되는 옛 튜닝 옵션, rsync 슬래시·--delete 함정까지 실무 기준으로 정리합니다.
-
UDP 프로토콜 실전 활용 | 저지연·DNS·게임·스트리밍과 QUIC 연결
연결 없이 데이터그램을 보내는 UDP의 헤더와 체크섬 구조, DNS·RTP·게임·statsd에서 UDP를 택하는 이유와 반례, QUIC이 UDP 위에서 연결 ID와 TLS 1.3으로 신뢰성을 구현하는 방식을 소켓 예제와 함께 설명합니다.
-
WebRTC 프로토콜 실시간 통신 | 시그널링·ICE·STUN/TURN·DTLS·SRTP 실전
WebRTC 연결이 SDP 시그널링, ICE 후보 수집, STUN·TURN을 통한 NAT 통과, DTLS 핸드셰이크, SRTP 미디어 암호화 순서로 성립하는 과정을 브라우저 JavaScript와 Python aiortc 예제로 설명합니다.
-
TCP vs UDP 전송 프로토콜 비교 | 신뢰성·지연·QUIC까지 선택 가이드
TCP와 UDP를 표로 외우는 대신 Wireshark 캡처에서 재전송·Dup ACK·손실이 어떻게 보이는지로 차이를 익히고, DNS·VoIP·게임·QUIC(HTTP/3)이 각각 어떤 이유로 전송 방식을 택했는지 실무 선택 기준으로 정리합니다.
-
HTTP vs FTP vs SSH 프로토콜 비교 | 용도·보안·파일 전송 선택 가이드
HTTP(S), FTP/FTPS, SSH(SFTP·SCP)의 포트·인증·암호화 방식과 채널 구조 차이를 비교하고, 웹 API·대용량 파일 전송·원격 서버 관리 상황별로 어떤 프로토콜을 고를지와 FTP에서 SFTP나 객체 스토리지로 옮기는 절차를 curl·OpenSSH 예제로 다룹니다.
-
FTP 프로토콜 실전 활용 | Active·Passive·FTPS·SFTP와 파일 전송 운영
FTP의 제어 채널과 데이터 채널이 따로 열리는 구조, Active와 Passive 모드에서 방화벽·NAT 때문에 전송이 실패하는 이유, lftp 클라이언트와 vsftpd chroot 설정, 평문 FTP 대신 FTPS나 SFTP로 옮길 때의 차이를 초급자 눈높이로 설명합니다.
-
SSH 프로토콜 보안 원격 접속 | 공개키·ProxyJump·포트 포워딩·OpenSSH 실전
SSH의 키 교환·호스트 검증·사용자 인증 흐름을 짚고, Ed25519 키와 ~/.ssh/config, ProxyJump와 에이전트 포워딩의 차이, 로컬·원격 포트 포워딩, SCP/SFTP, Permission denied·호스트 키 변경·ssh-rsa 거부 같은 오류 대응을 OpenSSH 기준으로 정리합니다.
-
HTTP 프로토콜: HTTP/1.1·HTTP/2·HTTP/3 차이, 연결 관리, 캐싱, 보안 실전
HTTP 메서드의 안전성과 멱등성, 상태 코드와 주요 헤더, HTTP/1.1·2·3의 프레이밍과 HOL 블로킹 차이, Keep-Alive와 연결 풀, Cache-Control·ETag 기반 캐시 검증을 프로덕션 관점으로 설명합니다.
-
C++ 소켓 프로그래밍 기초: TCP·UDP 서버와 클라이언트, 멀티 클라이언트 처리
socket, bind, listen, accept로 TCP 서버를 만들고 sendto, recvfrom으로 UDP 통신을 구현하는 기본 흐름을 코드로 따라갑니다. 멀티 클라이언트 처리, 간단한 HTTP와 채팅 서버 예제, Address already in use와 Broken pipe 에러의 원인과 대처도 다룹니다.
-
C++ 소켓 프로그래밍: TCP/UDP 구현, SO_REUSEADDR 같은 소켓 옵션, select·poll·epoll 비교
TCP 서버와 클라이언트를 에러 처리와 EINTR 재시도까지 포함해 구현하고, SO_REUSEADDR·SO_KEEPALIVE·TCP_NODELAY를 언제 켜는지 설명합니다. 논블로킹 소켓과 select·poll 멀티플렉싱, EADDRINUSE·ECONNRESET·EPIPE 같은 에러 대처도 다룹니다.
-
C++ 네트워크 에러 처리: errno 해석, 타임아웃, 지수 백오프 재시도, 서킷 브레이커, EINTR
프로덕션에서 간헐적으로 연결이 끊길 때 errno를 어떻게 해석하고 어떤 에러만 재시도할지 판단하는 법을 다룹니다. SO_RCVTIMEO·select·논블로킹 connect 타임아웃 비교, 지터를 섞은 지수 백오프, 서킷 브레이커, EINTR과 부분 send·recv 처리도 설명합니다.