Logic in Code,
Freedom in Travel.

인생 뭐 있나 사람 사는거 다 똑같지

Computer Science/Network

Computer Science/Network

[Network] Ubuntu DNS 네임서버의 TCP 튜닝: BIND9 적용 사례와 최적화 과정

DNS와 TCP, 그리고 성능의 병목DNS(Domain Name System)는 가볍고 빠른 UDP(User Datagram Protocol) 53번 포트를 주로 사용한다고 알려져 있다. 하지만 DNSSEC의 보급, IPv6 도입, TXT 레코드 등으로 인해 응답 패킷의 크기가 UDP의 제한인 512바이트(EDNS0 제외 시)를 초과하는 경우가 빈번해졌다. 이때 DNS는 신뢰성 있는 전송을 위해 TCP로 프로토콜을 전환(Fallback)한다.학교에서 배웠듯 TCP는 3-way Handshake를 통해 연결을 수립하고, 흐름 제어(Flow Control)와 혼잡 제어(Congestion Control)를 수행한다. 이는 데이터 무결성을 보장하지만, UDP 대비 오버헤드가 크다는 것을 의미한다. 트래픽이 몰..

2026. 1. 6. 13:18
Computer Science/Network

[Network] HTTP 1.1 vs HTTP 2.0 : 구조적 한계

웹 생태계의 복잡도가 증가함에 따라 HTTP 1.1 표준은 성능상의 한계로 HTTP 2.0 이 등장하였다. 요즘 회사에서도 (옆 팀에서) MSA 에 관한 주제로 많은 이야기를 하고 있으며 HTTP 2.0 이 언급되었다. 1. HTTP 1.1 의 한계: 직렬 처리의 병목HTTP 1.1은 기본적으로 텍스트 기반이며, 요청과 응답이 순차적으로 이루어지는 구조를 가진다. 이는 현대의 웹 환경에서 두 가지 치명적인 비효율을 야기했다.HOL Blocking (Head of Line Blocking)HTTP 1.1은 한 번에 하나의 요청만 처리 가능하다(Pipelining이 존재했으나 안정성 문제로 사장됨). 앞선 요청의 처리가 지연되면 후속 요청들이 모두 대기해야 하는 병목 현상이 발생한다.헤더의 중복 전송매 요청..

2025. 5. 13. 10:34