(혼자 공부하는 네트워크) 07. 안정성을 위한 기술
07. 네트워크 심화 (380p~)
07-1. 안정성을 위한 기술 (382p~)
가용성(availability)
- 안정성 : 특정 기능을 언제든 균일한 성능으로 수행할 수 있는 특성
- 가용성 : 시스템이 특정 기능을 수행할 수 있는 시간의 비율(안정성의 정도)
- 업타임(uptime) : 정상 사용 시간
- 다운타임(downtime) : 정상 사용 불가능 시간
- 가용성 = (업타임) / (업타임 + 다운타임)
- 고가용성(High Availability; HA)
- 99.999% (five nines) : 1년간 다운타임 5.26분
- 결함 감내(fault tolerance) : 문제가 발생하더라도 기능할 수 있는 능력
이중화
- 이중화 : 이중으로 두는 기술 -> 백업 마련
- 백업 대상 : SPoF
- 단일 장애점(SPoF; Single Point of Failure) : 문제가 발생할 경우 시스템 전체가 중단될 수 있는 대상
- 이중화 구성
- 액티브/스탠바이(active-standby) : 한 시스템 가동, 다른 시스템 대기
- 페일오버(failover) : 액티브 시스템에 문제가 생기는 경우 스탠바이 시스템으로 자동 전환되는 기술
- 액티브/액티브(active-active) : 두 시스템 모두 가동
- 액티브/스탠바이(active-standby) : 한 시스템 가동, 다른 시스템 대기
- 다중화 : 여러 개 두는 기술 (이중화 확장)
- 티밍(teaming, Windows), 본딩(bonding, Linux) : 여러 NIC 를 다중화하여 하나의 인터페이스처럼 보이게 하는 기술
- 1Gbps NIC 3개를 액티브/액티브로 티밍하면 3Gbps 성능의 인터페이스 하나로 사용 가능
- 티밍(teaming, Windows), 본딩(bonding, Linux) : 여러 NIC 를 다중화하여 하나의 인터페이스처럼 보이게 하는 기술
로드 밸런싱
- 트래픽
- 주어진 시점에 네트워크를 경유한 데이터의 양
- 더 일반적 표현 : 주어진 시점에 특정 노드를 경유한 패킷의 양
- 로드 밸런싱(load balancing) : 트래픽의 고른 분배를 위해 사용하는 기술
- L4, L7 스위치
- 소프트웨어(HAProxy, Envoy, Nginx 등)
- 헬스 체크(health check) : 현재 요청에 대해 올바른 응답을 할 수 있는 상태인지 검사(로드 밸런서가 수행)
- cf. 하트비트(heartbeat) : 서버 간에 상태 체크
- 로드 밸런싱 알고리즘
- 라운드 로빈(round robin) : 순차적으로 부하 전달
- 가중치 라운드 로빈(weighted round robin) : 가중치 n인 곳에 n배의 부하 전달
- 최소 연결(least connection) : 연결이 적은 서버부터 우선적으로 부하 전달
- 가중치 최소 연결(weighted least connection) : 가중치 n인 곳에 n배의 부하 전달
- 라운드 로빈(round robin) : 순차적으로 부하 전달
프록시(proxy)
- 오리진 서버(origin server) : 흔히 알고 있는 서버
- 자원을 생성하고 클라이언트에게 권한 있는 응답을 보낼 수 있는 HTTP 서버
- 인바운드(inbound) 메시지 : 오리진 서버를 향하는 메시지
- 아웃바운드(outbound) 메시지 : 클라이언트를 향하는 메시지
- 중간 서버(프록시, 게이트웨이)
- 프록시(proxy) : 포워드 프록시(forward proxy)
- 클라이언트가 ‘선택한’ 메시지 대리자 (클라이언트 쪽에 가까움)
- 캐시 저장, 클라이언트 암호화 및 접근 제한 기능
- 게이트웨이(gateway) : 리버스 프록시(reverse proxy)
- 아웃바운드에 대해 오리진 서버 역할, 수신 요청을 변환하여 인바운드 서버에 전달 (서버 쪽에 가까움)
- 캐시 저장, 로드 밸런서로 동작 가능
- 프록시(proxy) : 포워드 프록시(forward proxy)
07-2. 안전성을 위한 기술 (394p~)
암호와 인증서
- 암호화(encryption) : 원문 데이터를 알아볼 수 없는 형태로 변경하는 것
- 복호화(decryption) : 암호화된 데이터를 원문 데이터로 되돌리는 과정
- 대칭 키 암호화(symmetric key cryptography)
- 암호화와 복호화에 동일한 키 사용
- 키 유출시 보안 상실
- 공개 키 암호화(public key cryptography), 비대칭 키 암호화(asymmetric key cryptography)
- 공개 키(public key) : 암호화를 위한 키. 유출 가능
- 개인 키(private key) : 복호화를 위한 키. 유출 안됨
- 과정 (호스트 A -> B)
- A -> B : 공개 키 요청
- B -> A : 공개 키 응답
- A -> B : 공개 키로 암호화한 데이터 전달
- B : 개인 키로 복호화한 데이터 확인
- 대칭 키 암호화에 비해 부하가 큼
- 세션 키(session key) 암호화 : 대칭 키 + 공개 키
- 공개 키로 대칭 키를 암호화
- 개인 키로 암호화된 대칭 키 복호화
- 대칭 키 안전하게 공유 + 대칭 키를 빠르게 암호화/복호화
- 인증서와 디지털 서명
- 공개 키 인증서(public key certificate) : 공개 키와 공개 키의 유효성을 입증하기 위한 문서
- 서명 값(signature) : 인증 기관의 공개 키에 대한 인증
- 인증서 내용의 해시 값(지문. fingerprint)을 CA의 개인 키로 암호화
- 해시 값 : 해시 함수(MD5, SHA-1, SHA-256 등)를 적용시킨 값
- 서명 값(signature) : 인증 기관의 공개 키에 대한 인증
- 인증 기관(CA; Certification Authority) : 인증서 발급 기관
- IdenTrust, DigiCert, GlobalSign 등
- 디지털 서명(digital signature) 과정
- 서버로부터 인증서 + 서명 값 수신
- 인증서와 서명 값 분리 -> 인증서 + 서명 값
- 서명 값은 ‘개인 키’로 암호화 했으므로 CA의 ‘공개 키’로 복호화 가능 -> 인증서 내용 해시 값
- 인증서에 해시 함수 적용 -> 인증서 내용 해시 값
- 두 값 비교 -> 일치한다면 공개 키 유효성 입증
- 공개 키 인증서(public key certificate) : 공개 키와 공개 키의 유효성을 입증하기 위한 문서
HTTPS: SSL 과 TLS
- SSL : Secure Socket Layer. 인증서 암호화 수행
- TLS : Transport Layer Security. SSL 계승
- HTTPS(HTTP over TLS) : SSL/TLS 사용 프로토콜. HTTP 메시지에 보안 적용
- TCP three-way handshake
- SYN, SYN + ACK, ACK
- TLS handshake
- 클라이언트 -> 서버
- ClientHello
- 지원되는 TLS 버전
- 암호 스위트(cipher suite) : 사용 가능한 암호화 방식과 해시 함수
- ex. TLS_AES(알고리즘)_128_GCM_SHA256(해시 함수)
- 키를 만들기 위해 사용할 클라이언트의 난수
- ClientHello
- 서버 -> 클라이언트
- ServerHello
- 선택된 TLS 버전
- 암호 스위트
- 키를 만들기 위해 사용할 서버의 난수
- Certificate : 인증서
- CertificateVerify : 디지털 서명
- Finished
- Application Data (TLS 1.3)
- ServerHello
- 클라이언트 -> 서버
- Finished
- Application Data (TLS 1.3)
- 클라이언트 -> 서버
- 암호화된 메시지 송수신 (Application Data)
- TCP three-way handshake
07-3. 무선 네트워크 (408p~)
전파와 주파수
- 전파(radio wave) : 3kHz ~ 3THz 사이의 진동수를 갖는 전자기파
- 통신에 사용되는 전파에는 주파수 대역이 정해져 있음(국가마다 다름)
와이파이와 802.11
- IEEE 802.11 : LAN 환경에서의 무선 통신 표준
- 주파수 대역
- 2.4GHz : 더 느리고 간섭 덜함
- 5GHz : 더 빠르고 간섭 더함
- 채널(channel) : 하위 주파수 대역(간섭 방지)
- 변조(modulation) : 정보를 원하는 형태의 신호로 변환하는 것
- 복조(demodulation) : 변조된 신호를 원래의 정보로 다시 변환하는 것
- 주파수 대역
- 와이파이(Wi-Fi)
- Wi-Fi Alliance 라는 비영리 단체의 브랜드 이름
- IEEE 802.11 표준을 준수하는 무선 LAN 기술
AP 와 서비스 셋
- AP(Access Point) : 무선 통신 기기들을 연결하여 무선 네트워크를 구성하는 장치
- 인프라스트럭처 모드(infrastructure mode) : AP 를 경유하여 통신이 이루어지는 무선 네트워크 통신 방식
- cf. 애드 혹 모드(Ad Hoc mode) : AP 간섭 없이 호스트 간 일대일로 무선 통신하는 모드
- 서비스 셋(Service Set) : 무선 네트워크를 이루는 AP 와 여러 장치들의 집합
- 서비스 셋 식별자(SSID; Service Set Identifier) : 서비스 셋 구분자. 와이파이 무선 네트워크(AP) 이름
- BSS(Basic Service Set) : 하나의 AP 로 구성된 무선 LAN
- ESS(Extended Service Set) : 여러 AP 로 구성된 무선 LAN
- 비컨 프레임(beacon frame) : AP 가 자신을 주기적으로 알리는 브로트캐스트 메시지
This post is licensed under CC BY 4.0 by the author.