20장
리다이렉션과 부하균형
HTTP 완벽 가이드
- 아꿈사 스터디 - 정민철
텍스트
HTTP 애플리케이션의 요구조건
▸신뢰할 수 있는 HTTP 트랜젝션 수행
▸여러 장소에 배포 => 실패할 경우 다른 장소 이용해 신뢰성
향상
▸지연 최소화
▸가까운 리소스 접근해 더 빨리 받음
▸네트워크 대역폭 절약
▸목적지 서버 분산
텍스트
리다이렉션
▸HTTP 메시지의 최종 목적지를 결정하는 기법
▸최적의 분산된 콘텐츠를 찾는 것을 도와주는 기법의 집합
▸부하균형과 공존 관계
▸목표: HTTP 메시지를 가용한 웹 서버로 가급적 빨리 보내는
것
▸리다이렉션 할 곳: 서버의 특성을 가진 모든 것
(서버, 프락시, 캐시, 게이트웨이 등)
텍스트
리다이렉션 프로토콜 개요
▸브라우저 애플리케이션: 메시지를 프락시 서버로 보내도록 설
정
▸DNS분석자: 메시지 주소를 지정할 때 사용할 IP 주소 선택
▸스위치와 라우터: 패킷의 TCP/IP 주소 검증에 근거해 라우팅
방법 결정
▸웹 서버: 요청이 다른 웹 서버로 가도록 함
텍스트
HTTP 리다이렉션
▸다른곳에 요청을 보내라고 알려주는 짧은 HTTP 메세지
▸최선의 가용 서버 결정 필요
▸클라이언트의 위치(IP주소) 및 서버와의 거리
▸대상 서버의 부하
▸단점
▸원 서버의 최적서버 결정 처리 부하
▸리다이렉트 서버 고장시 서비스 불가능
▸요청이 2번 필요해서 사용자가 더 오래 기다림
텍스트
HTTP 리다이렉션
텍스트
DNS 리다이렉션
▸DNS는 하나의 도메인에 여러 IP가 결부되는 것을 허용
▸DNS 분석자는 여러 IP주소를 반환하도록 설정/프로그래밍
가능
▸방식
▸DNS 라운드로빈: 상대 위치나 서버의 스트레스를 고려하
지 않음
▸다중주소와 RR 주소순환: DNS에서 lookup 할때마다 주소
순환, 부하 균형 효과
▸DNS 캐싱의 효과: 하나의 클라이언트 부하를 분산하지 못함
텍스트
DNS 리다이렉션
텍스트
DNS 기반 리다이렉션 알고리즘
▸부하 균형 알고리즘: 가장 로드가 적은 웹 서버를 위에 놓음
▸근접 라우팅 알고리즘: 지리적으로 가까운 서버의 IP주소 반
환
▸결합 마스킹 알고리즘: 건강상태 모니터링 및 장애 회피
▸단점: 결정을 내리는 정보가 local DNS서버의 주소
텍스트
DNS 기반 리다이렉션 알고리즘
텍스트
임의 캐스트 어드레싱
▸같은 IP주소를 가지고 백본 라우터의 최단거리 라우팅에 의지
▸단점: IP주소 충돌
텍스트
IP MAC 포워딩
▸L2장비: 특정 MAC 주소의 패킷을 받아 나가는 특정 MAC 주
소로 포워딩하는 방식
▸L4장비: IP + TCP port에 근거해 포워딩
▸단점: 서버나 프락시는 스위치와 한 홉 거리에 위치해야 함
텍스트
IP MAC 포워딩
텍스트
IP 주소 포워딩
▸L4장비가 패킷을 목적지 IP 주소의 변경에 따라 라우팅
▸장점: 목적지 주소가 한홉 거리에 있을 필요 없음
▸NAT라고도 불림
▸문제: 라우팅 대칭성, 패킷이 반드시 같은 스위치를 거쳐야 함
텍스트
IP주소 포워딩
텍스트
네트워크 구성요소 제어 프로토콜(NECP)
▸NE: 라우터, 스위치 등 네트워크 구성요소
▸SE: 웹서버, 프락시, 캐쉬 등 서버구성요소
▸NECP는 NE가 SE와 대화할 수 있게 해주는 역할
▸SE는 NE에게 부하균형 정보 제공
▸예외개념 지원
텍스트
텍스트
프락시 리다이랙션 방법
▸명시적 브라우저 설정
▸프락시가 고장이면 사용 불가능
▸네트워크 아키텍쳐 변경 전파 어려움
▸프락시 자동 설정
▸PAC 프로토콜 사용(자바스크립트)
텍스트
프락시 자동 설정
텍스트
웹 프락시 자동발견 프로토콜
▸WPAD: PAC 파일 자동 발견
▸WPAD알고리즘
▸DHCP
▸SLP (Service Location Protocol)
▸DNS에게 잘 알려진 호스트명
▸DNS의 SRV레코드
▸TXT 레코드의 DNS 서비스 URL들
텍스트
웹 프락시 자동발견 프로토콜
텍스트
캐시 리다이렉션 방법
▸WCCP 리다이랙션: 라우터와 캐시의 대화 관리
▸WCCP 동작
▸WCCP 지원 라우터 및 캐시가 포함된 네트워크 구성
▸라우터 및 캐시 집합이 WCCP그룹 구성
▸서비스 그룹 설정에 따라 HTTP요청을 캐시로 리다이렉션
▸그룹 라우터는 받은 요청을 캐시 중 하나를 선택해 보냄
▸라우터는 패킷을 캡슐화 하거나 MAC 포워딩을 통해 캐시로 전달
▸패킷을 캐시가 처리할 수 없는 경우 다시 라우터로 돌아옴
▸서비스 그룹의 구성원은 지속적으로 가용성 확인(하트비트 메세지)
텍스트
인터넷 캐시 프로토콜 (ICP)
▸캐시 클러스터링 프로토콜
▸캐시들이 형제 캐시에서 컨텐츠를 찾아볼 수 있게 해줌
▸UDP패킷을 이용해 HIT / MISS 메세지 교환
텍스트
인터넷 캐시 프로토콜 (ICP)
텍스트
캐시 배열 라우팅 프로토콜 (CARP)
▸서버의 배열이 하나의 논리적인 캐시처럼 보이게 관리해줌
▸ICP와의 차이점
▸ICP: 각각 중복된 엔트리를 허용하는 독립적인 캐시
▸CARP: 각 서버가 캐시 문서의 일부만을 가진 하나의 큰 서
버처럼 동작. 해쉬 함수로 컨텐츠 분산 및 접근
▸문제점: 하나가 사용 불능이 되면 컨텐츠를 재배치 해야 함
텍스트
캐시 배열 라우팅 프로토콜 (CARP)
텍스트
하이퍼텍스트 캐싱 프로토콜 (HTCP)
▸캐시 서버가 서로에게 문서의 존재 여부에 대한 질의를 할 수
있게 해줌

HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형

  • 1.
    20장 리다이렉션과 부하균형 HTTP 완벽가이드 - 아꿈사 스터디 - 정민철
  • 2.
    텍스트 HTTP 애플리케이션의 요구조건 ▸신뢰할수 있는 HTTP 트랜젝션 수행 ▸여러 장소에 배포 => 실패할 경우 다른 장소 이용해 신뢰성 향상 ▸지연 최소화 ▸가까운 리소스 접근해 더 빨리 받음 ▸네트워크 대역폭 절약 ▸목적지 서버 분산
  • 3.
    텍스트 리다이렉션 ▸HTTP 메시지의 최종목적지를 결정하는 기법 ▸최적의 분산된 콘텐츠를 찾는 것을 도와주는 기법의 집합 ▸부하균형과 공존 관계 ▸목표: HTTP 메시지를 가용한 웹 서버로 가급적 빨리 보내는 것 ▸리다이렉션 할 곳: 서버의 특성을 가진 모든 것 (서버, 프락시, 캐시, 게이트웨이 등)
  • 4.
    텍스트 리다이렉션 프로토콜 개요 ▸브라우저애플리케이션: 메시지를 프락시 서버로 보내도록 설 정 ▸DNS분석자: 메시지 주소를 지정할 때 사용할 IP 주소 선택 ▸스위치와 라우터: 패킷의 TCP/IP 주소 검증에 근거해 라우팅 방법 결정 ▸웹 서버: 요청이 다른 웹 서버로 가도록 함
  • 5.
    텍스트 HTTP 리다이렉션 ▸다른곳에 요청을보내라고 알려주는 짧은 HTTP 메세지 ▸최선의 가용 서버 결정 필요 ▸클라이언트의 위치(IP주소) 및 서버와의 거리 ▸대상 서버의 부하 ▸단점 ▸원 서버의 최적서버 결정 처리 부하 ▸리다이렉트 서버 고장시 서비스 불가능 ▸요청이 2번 필요해서 사용자가 더 오래 기다림
  • 6.
  • 7.
    텍스트 DNS 리다이렉션 ▸DNS는 하나의도메인에 여러 IP가 결부되는 것을 허용 ▸DNS 분석자는 여러 IP주소를 반환하도록 설정/프로그래밍 가능 ▸방식 ▸DNS 라운드로빈: 상대 위치나 서버의 스트레스를 고려하 지 않음 ▸다중주소와 RR 주소순환: DNS에서 lookup 할때마다 주소 순환, 부하 균형 효과 ▸DNS 캐싱의 효과: 하나의 클라이언트 부하를 분산하지 못함
  • 8.
  • 9.
    텍스트 DNS 기반 리다이렉션알고리즘 ▸부하 균형 알고리즘: 가장 로드가 적은 웹 서버를 위에 놓음 ▸근접 라우팅 알고리즘: 지리적으로 가까운 서버의 IP주소 반 환 ▸결합 마스킹 알고리즘: 건강상태 모니터링 및 장애 회피 ▸단점: 결정을 내리는 정보가 local DNS서버의 주소
  • 10.
  • 11.
    텍스트 임의 캐스트 어드레싱 ▸같은IP주소를 가지고 백본 라우터의 최단거리 라우팅에 의지 ▸단점: IP주소 충돌
  • 12.
    텍스트 IP MAC 포워딩 ▸L2장비:특정 MAC 주소의 패킷을 받아 나가는 특정 MAC 주 소로 포워딩하는 방식 ▸L4장비: IP + TCP port에 근거해 포워딩 ▸단점: 서버나 프락시는 스위치와 한 홉 거리에 위치해야 함
  • 13.
  • 14.
    텍스트 IP 주소 포워딩 ▸L4장비가패킷을 목적지 IP 주소의 변경에 따라 라우팅 ▸장점: 목적지 주소가 한홉 거리에 있을 필요 없음 ▸NAT라고도 불림 ▸문제: 라우팅 대칭성, 패킷이 반드시 같은 스위치를 거쳐야 함
  • 15.
  • 16.
    텍스트 네트워크 구성요소 제어프로토콜(NECP) ▸NE: 라우터, 스위치 등 네트워크 구성요소 ▸SE: 웹서버, 프락시, 캐쉬 등 서버구성요소 ▸NECP는 NE가 SE와 대화할 수 있게 해주는 역할 ▸SE는 NE에게 부하균형 정보 제공 ▸예외개념 지원
  • 17.
  • 18.
    텍스트 프락시 리다이랙션 방법 ▸명시적브라우저 설정 ▸프락시가 고장이면 사용 불가능 ▸네트워크 아키텍쳐 변경 전파 어려움 ▸프락시 자동 설정 ▸PAC 프로토콜 사용(자바스크립트)
  • 19.
  • 20.
    텍스트 웹 프락시 자동발견프로토콜 ▸WPAD: PAC 파일 자동 발견 ▸WPAD알고리즘 ▸DHCP ▸SLP (Service Location Protocol) ▸DNS에게 잘 알려진 호스트명 ▸DNS의 SRV레코드 ▸TXT 레코드의 DNS 서비스 URL들
  • 21.
  • 22.
    텍스트 캐시 리다이렉션 방법 ▸WCCP리다이랙션: 라우터와 캐시의 대화 관리 ▸WCCP 동작 ▸WCCP 지원 라우터 및 캐시가 포함된 네트워크 구성 ▸라우터 및 캐시 집합이 WCCP그룹 구성 ▸서비스 그룹 설정에 따라 HTTP요청을 캐시로 리다이렉션 ▸그룹 라우터는 받은 요청을 캐시 중 하나를 선택해 보냄 ▸라우터는 패킷을 캡슐화 하거나 MAC 포워딩을 통해 캐시로 전달 ▸패킷을 캐시가 처리할 수 없는 경우 다시 라우터로 돌아옴 ▸서비스 그룹의 구성원은 지속적으로 가용성 확인(하트비트 메세지)
  • 23.
    텍스트 인터넷 캐시 프로토콜(ICP) ▸캐시 클러스터링 프로토콜 ▸캐시들이 형제 캐시에서 컨텐츠를 찾아볼 수 있게 해줌 ▸UDP패킷을 이용해 HIT / MISS 메세지 교환
  • 24.
  • 25.
    텍스트 캐시 배열 라우팅프로토콜 (CARP) ▸서버의 배열이 하나의 논리적인 캐시처럼 보이게 관리해줌 ▸ICP와의 차이점 ▸ICP: 각각 중복된 엔트리를 허용하는 독립적인 캐시 ▸CARP: 각 서버가 캐시 문서의 일부만을 가진 하나의 큰 서 버처럼 동작. 해쉬 함수로 컨텐츠 분산 및 접근 ▸문제점: 하나가 사용 불능이 되면 컨텐츠를 재배치 해야 함
  • 26.
  • 27.
    텍스트 하이퍼텍스트 캐싱 프로토콜(HTCP) ▸캐시 서버가 서로에게 문서의 존재 여부에 대한 질의를 할 수 있게 해줌