
시스템 안정성과 고가용성 구현 기술
가용성(Availability)의 이해
- 시스템의 정상 작동 시간 비율
- 계산식: (업타임) / (업타임 + 다운타임)
- 고가용성 목표: 99.999% 이상
- 업타임: 정상 운영 시간
- 다운타임: 서비스 중단 시간
결함 감내(Fault Tolerance)
- 문제 발생 시에도 기능 유지
- 완벽한 예방보다 지속적 운영에 초점
이중화/다중화 전략
기본 구성
- SPoF(Single Point of Failure) 제거
- 대상: 서버, 네트워크 장비, DB, 웹서버 등
운영 모드
- Active/Standby
- Active/Active
네트워크 이중화
- Windows: Teaming
- Linux: Bonding
- 다중 네트워크 인터페이스 통합
로드 밸런싱
기본 개념
- 트래픽 분산 처리
- 서버 가용성 향상
- 성능 최적화
로드 밸런서 유형
- L4 스위치: 전송 계층 정보 활용
- L7 스위치: 응용 계층 정보 활용
헬스 체크
- 서버 상태 주기적 모니터링
- 프로토콜: HTTP, ICMP
- 하트비트 메시지 활용
주요 알고리즘
- 기본 알고리즘
- 가중치 기반 알고리즘
- 가중치 라운드 로빈
- 가중치 최소 연결
- 서버 성능차 고려
HTTP 중간 서버의 이해
중간 서버의 역할과 위치
- 클라이언트와 오리진 서버 사이에 위치
- 네트워크 통신 중계 및 최적화
- 보안, 성능, 로드밸런싱 기능 제공
프록시 서버
특징
- 클라이언트의 메시지 전달 대리자
- 클라이언트 측에서 선택적 사용
- 클라이언트와 가까운 위치에 배치
주요 기능
- 캐싱을 통한 성능 향상
- 클라이언트 요청 필터링
- 접근 제어 및 보안 강화
게이트웨이
특징
- 오리진 서버 역할 수행
- 클라이언트에게는 오리진 서버로 보임
- 오리진 서버와 가까운 위치에 배치
주요 기능
- 프로토콜 변환
- 로드 밸런싱
- 캐싱 및 성능 최적화
- 보안 강화
아키텍처 비유
- 프록시: 클라이언트의 심부름꾼
- 클라이언트 대신 요청 처리
- 필요한 자원 획득 및 전달
- 게이트웨이: 오리진 서버의 경비
네트워크 보안과 암호화 기술
암호화의 기본 개념
- 암호화: 데이터를 판독 불가능한 형태로 변환
- 복호화: 암호화된 데이터를 원래 형태로 복원
암호화 방식
대칭키 암호화
- 동일한 키로 암호화/복호화
- 장점: 빠른 처리 속도
- 단점: 키 공유의 보안 문제
공개키(비대칭키) 암호화
- 공개키/개인키 쌍 사용
- 한 키로 암호화 시 다른 키로만 복호화 가능
- 키 쌍의 수학적 독립성
디지털 인증서
공개키 인증서(PKI)
- 공개키 신뢰성 보증 전자문서
- 인증기관(CA)에서 발급
- IdenTrust
- DigiCert
- GlobalSign
디지털 서명 과정
- 문서 해시값 생성
- CA 개인키로 해시값 암호화
- 서명값 생성
- 인증서와 함께 전송
HTTPS 프로토콜
구성요소
- SSL/TLS 기반 보안 통신
- HTTP에 암호화/인증 기능 추가
통신 단계
- TCP 연결 수립
- TLS 핸드셰이크
- 암호화 방식 협상
- 인증서 교환/검증
- 세션키 생성
- 암호화 통신 시작
TLS 핸드셰이크 주요 절차
- ClientHello: 지원 암호화 방식 제안
- ServerHello: 암호화 방식 선택
- 인증서 교환 및 검증
- Finished 메시지로 핸드셰이크 완료
무선 네트워크의 이해
전파와 주파수
- 전파: 무선 네트워크의 연결 매체
- 속도: 약 3×10^8 m/s
- 주파수 대역으로 신호 구분
- 자연적/인위적 전파 간섭 발생
Wi-Fi와 IEEE 802.11 표준
IEEE 802.11
- LAN용 무선 통신 표준
- 버전별 특징과 성능 차이
주파수 대역 비교
- 2.4GHz
- 장점: 장애물 투과율 높음
- 단점: 상대적 저속
- 5GHz
채널
- 주파수 대역의 세부 분할
- 간섭 방지를 위한 채널 분리
- 채널 번호로 구분
AP(Access Point)와 네트워크 구성
통신 모드
-
인프라스트럭처 모드
-
애드혹 모드
서비스 셋
- AP와 무선 기기들의 집합
- SSID로 네트워크 식별
- 비컨 프레임
- AP의 주기적 브로드캐스트
- SSID, MAC 주소 포함