Network 15

[NGINX 쿡북] 3. 트래픽 관리

데릭 디용기 님의 "NGINX 쿡북" 책을 정리한 글입니다.0. 소개웹 트래픽 컨트롤러: 트래픽 경로를 결정하고 여러 속성값을 이용해 흐름을 제어할 수 있음 기능특정 비율로 분기요청 빈도, 연결 수, 대역폭 등을 제한 1. A/B 테스트split_client 모듈트래픽을 특정 비율로 나누는 모듈 split_clients "remoteaddrAAA"remoteaddrAAA"variant { 20.0% "backendv2"; * "backendv1";}location / { proxy_pass http://variant}구성 요소설명"variant}구성 요소설명"{remote_addr}AAA"사용자 IP 주소 (remoteaddr)"AAA"variant요청을 분배할 변수20.0% "bac..

Network 2025.04.01

[NGINX 쿡북] 2. 고성능 부하분산

데릭 디용기 님의 "NGINX 쿡북" 책을 정리한 글입니다.0. 소개인터넷 서비스에서의 성능과 가용성현대의 인터넷 서비스의 사용자 경험은 높은 성능과 가용성이 필요함이를 위해 일반적으로 같은 시스템을 여러 대 운영하고 부하를 각 시스템으로 분산함 부하 분산개념설명Scale Out동일한 시스템을 여러 대 운영하여 부하를 분산시키는 방식부하에 따라 서버 수를 동적으로 조절함Stateless 아키텍처서버 간에 상태 정보를 공유 메모리에 저장하여 서버 간 독립성을 유지하는 아키텍처서비스의 효율성을 높아짐세션 관리상태 유지가 필요한 경우, 사용자가 같은 서버로 연결되도록 함쿠키값이나 라우팅을 추적하는 등의 방식으로 문제를 해결 서버 상태 감지방식설명패시브 방식사용자의 요청을 로드 밸런서가 받은 시점에 서버와의 연..

Network 2025.04.01

[NGINX 쿡북] 1. 엔진엑스 기초

데릭 디용기 님의 "NGINX 쿡북" 책을 정리한 글입니다. 0. 소개1. 데비안/우분투 리눅스 배포판에 설치하기2. 레드햇/센트OS 리눅스 배포판에 설치하기3. 엔진엑스 플러스 설치하기4. 설치 상태 점검하기5. 주요 설정 파일, 디렉터리, 명령어주요 파일과 디렉토리경로설명/etc/nginx/NGINX의 기본 설정이 저장된 루트 디렉토리/etc/nginx/nginx.conf기본 설정 파일 (다른 세부 설정 파일을 참조)/etc/nginx/conf.d/추가 설정 파일이 저장되는 디렉토리/var/log/nginx/로그 파일 저장 디렉토리 (access.log, error.log 포함) 주요 명령어명령어설명nginx -vNGINX 버전 출력nginx -V컴파일 옵션 및 모듈 정보 포함한 버전 출력nginx ..

Network 2025.04.01

[러닝 HTTP/2] 5. HTTP/2 프로토콜

스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다. 1. HTTP/2의 계층프레이밍 계층HTTP 프로토콜을 효율적으로 주고받기 위한 기능을 수행특징설명바이너리 프로토콜 사용HTTP/2는 텍스트 기반이 아닌 바이너리 프로토콜을 사용하여 효율적 전송헤더 압축반복적인 헤더 데이터를 압축하여 네트워크 효율성을 높임암호화데이터를 암호화하여 보안성을 강화 (기본적으로 HTTPS 사용)다중화하나의 연결을 통해 여러 요청과 응답을 동시에 처리하여 성능 향상 데이터 계층HTTP1.1 과의 호환성 유지실제 데이터 전송 2. 연결h2에서 모든 프레임과 스트림은 하나의 연결을 통해 전송됨 매커니즘 클라이언트가 연결을 시작새 연결 열기 or HTTP/1.1에서 Upgrader: h2cHTTP1.1에..

Network 2025.03.30

[러닝 HTTP/2] 4. HTTP/2로의 전환

스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다. HTTP/2로의 전환을 위해 고려해야 할 항목들1. 브라우저 지원대부분의 브라우저가 지원지원하지 않는 브라우저에서는 프로토콜 협상 절차가 무시되어 h1으로 되돌아와 인프라에 접속할 것 2. TLS로의 전환 대부분의 브라우저가 TLS로만 h2에 접속 가능함TLS 버전은 적어도 1.2 이상이여야 함 (RFC 7540의 9.2절 참고) 고려사항항목설명웹 서버 파악하기웹 서버의 인증서를 확보하고, 보안 설정을 점검함.인증서 확보CSR(인증서 서명 요청)을 생성하고, 도메인 소유권을 검증한 후, 인증기관에서 인증서를 구매함.개인키 보호하기개인키 저장 위치를 결정하고, 접근 권한을 제한하여 보호함.서버 부하 대비하기TLS 핸드셰이크를 ..

Network 2025.03.30

[러닝 HTTP/2] 3. 웹을 파헤치는 이유와 방법

스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다.1. 오늘날의 성능 문제페이지 내 수 백개의 개체, 수천 개의 도메인, 변동이 심한 네트워크, 광범위한 디바이스 기능이 존재하는 환경일관되고 빠른 웹 경험을 만들어 내는것은 쉬운 일이 아님사용자와의 상호작용을 원활하게 하기 위해 웹 페이지 렌더링 단계마다 내재된 문제를 이해하는것이 필요함 웹 페이지의 요청 과정브라우저에서 링크를 클릭해서 웹 페이지가 표시될 때까지 일어나는 일을 이해하는 것이 중요브라우저는 웹 페이지에 필요한 모든 정보를 반복적으로 요청하는 방식으로 일함 fetching단계설명1️⃣ Fetch Queue 추가가져올 URL을 fetch queue에 push2️⃣ DNS 조회호스트 이름(IP 주소) 조회3️⃣ TC..

Network 2025.03.30

[IBM Technology] What are DNS Zones And Records?

Terry Bernstein 님의 "What are DNS Zones And Records?" 강의를 정리한 글입니다. 1. DNS ZoneDNS 네임스페이스의 일부를 관리하는 영역해당 영역에 대한 DNS 레코드들을 포함네임서버(NS) 레코드를 이용해 하위 영역(서브존)으로 위임 가능 2. DNS Record특정 도메인에 대한 정보를 담은 레코드 (Resource Record Set) 구조[name] [class] [type] [value] www IN A 9.9.9.9 항목설명예시이름(Name)도메인 이름 또는 서브도메인www, subzone, mail클래스(Class)레코드 클래스 종류보통 IN(Internet) 사용IN타입(Type)레코드 종류A, NS, CNAM..

Network 2025.03.29

[IBM Technology] What is DNS?

Pooja Devarajan님의 "What is DNS" 강의를 정리한 글입니다. 1. 소개Domain Name System도메인 이름을 ip 주소로 변환하는 시스템 2. Domain과 IP 주소의 차이점Domain vs IP구분도메인 (Domain)IP 주소 (IP Address)정의사람이 이해하기 쉬운 웹 주소네트워크에서 사용되는 숫자로 된 주소예시example.com192.168.0.1목적사용자가 쉽게 기억하고 입력할 수 있도록 함장치 간 통신을 위해 고유하게 식별형식알파벳, 숫자, .(점) 포함 가능IPv4: 숫자로 이루어진 4개 블록 (A.B.C.D)IPv6: 16진수로 이루어진 8개 블록 (ABCD:EF01:2345:6789::1)사용 방식사용자가 웹사이트에 접속할 때 입력네트워크 장치(서버,..

Network 2025.03.29

[러닝 HTTP/2] 2. HTTP/2 맛보기

스티븐 루딘, 하비에르 가르사 님의 "러닝 HTTP/2" 책을 정리한 글입니다. 1. 서버 구동하기2. 인증서 발급받기 온라인 생성기자세 서명된 인증서. 시험용sslchecker 자체 인증서 생성자세 서명된 인증서. 시험용openssl 인증 기관을 통한 인증서 발급Let's EncryptTLS Everywhere 운동모든 웹 통신은 암호화되고 인증되어야 함무료로 취득하기 쉽고 자동화된 방식 TLS 인증서를 사용할 수 있게 하려는 목적 certbot 클라이언트 라이브러리발급 및 관리 절차를 자동화하여 처리 가능 예제 (Mac OS)brew install certbot 3. 첫 번째 HTTP/2 서버 구동하기 4. 브라우저 선택하기

Network 2025.03.29

[컴퓨터 네트워킹 하향식 접근] 3-3. 트랜스포트 계층: UDP

이석복 님의 KOCW 강의 "컴퓨터 네트워크"를 정리한 글입니다.* James F. Kurose님과 Keith W. Ross 님의"컴퓨터 네트워킹 하향식 접근" 책을 교제로 한 강의입니다. (책의 내용은 포함되지 않았습니다) 1. 비연결형 트랜스포트: UDPUDP 세그먼트 헤더+---------------------+---------------------+---------------------+---------------------+| Source Port | Destination Port | Length | Checksum |+---------------------+---------------------+----------------..

Network 2025.03.28