관리 메뉴

효습

2.3 네트워크 기기 본문

CS

2.3 네트워크 기기

효효효효 2024. 9. 4. 01:26

2.3.1 네트워크 기기의 처리 범위

 

상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가

  • 애플리케이션 계층 : L7 스위치
  • 인터넷 계층 : 라우터 : L3 스위치
  • 데이터 링크 계층 : L2 스위치 브리지
  • 물리 계층 : NIC , 리피터 , AP

 

2.3.2 애플리케이션 계층을 처리하는 기기

 

L7 스위치

  • 스위치 : 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장치
  • L7 스위치는 = 로드밸런서
  • 서버의 부하를 분산하는 기기
  • 클라이언트로부터 오는 요청들은 뒤쪽의 여러 서버로 나누는 역할을 하며 시스템이 처리할 수 있는 트래픽 증가를 목표로 한다
  • URL , 서버 , 캐시 , 쿠키들을 기반으로 트래픽을 분산한다
  • 바이러스 , 불필요한 외부 데이터 등을 걸러내는 필터링 기능 또한 가지고 있으며 응용 프로그램 수준의 트래픽 모니터링도 가능
  • 만약 장애가 발생한 서버가 있다면 이를 트래픽 분산 대상에서 제외해야 함
    • → 정기적으로 헬스 체크(health check)를 이용하여 감시하면서 이루어짐

 

L4 스위치와 L7 스위치 차이

  • 로드밸런서는 L4에도 있음
  • L4 스위치는 전송 계층을 처리하는 기기
    • 스트리밍 관련 서비스에서는 사용할 수 없음
    • 메세지를 기반으로 인식하지 못하고 IP와 포트를 기반으로(특히 포트를 기반으로) 트래픽을 분산함
    • 로드밸런슷 4계층의 포트 주소를 확인하는 동시에 IP 주소를 변경할 수 있다
  • L7 로드밸런스(스위치)는
    • IP , 포트 외에도 URL , HTTP 헤더 , 쿠키 등을 기반으로 트래픽을 분산함
  • 클라우드 서비스에서
    • L7 스위치를 이용한 로드밸런싱은 ALB(Application Load Balancer) 이라고 함
    • L4 스위치를 이용한 로드밸런싱은 NLB(Network Load Balancer)이라고 함

 

헬스 체크

  • 전송 주기와 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것
  • L4 스위치 , L7 스위치 모두 헬스체크를 통해 정상적인 서버 or 비정상적 서버를 판별
  • 이때 서버에 부하가 되지 않을 만큼 요청 횟수가 적절해야 한다
  • ICMP(ping) - 단순히 서버가 살아있는지만 확인하는 방식 , 잘 사용하지 않음
  • TCP 서비스 포트 :가장 기본적인 방식은 로드밸런서에 설정된 서버의 서비스 포트를 확인하는 것
  • 웹 서비스를 할 때 , 서비스 포트까지는 TCP로 정상적으로 열리지만 웹 서비스에 대한 응답을 정상적으로 해주지 못하는 경우가 있음
    -> HTTP 상태 코드를 확인하는 방식으로 헬스체크 수행
  • 응답 콘텐츠 확인으로 헬스체크를 수행할 수 있다

 

 

 

 

로드 밸런서를 이용한 서버 이중화

  • 로드 밸런서의 대표적인 기능
  • 안정적인 서비스를 위해 2대 이상의 서버는 필수
  • 2대 이상의 서버를 기반으로 가상 IP를 제공하고 이를 기반으로 안정적 서비스를 제공한다
  • http 서비스는 서버 #1과 서버 #2 로 , https 서비스는 서버 #2와 서버 #3으로 부하분산 그룹을 나눔
  • 로드 밸런서에서 부하 분산 그룹을 만들 때에는 OSI 3계층 정보인 IP와 4계층 정보인 서비스 포트까지 지정함

 

 

부하 분산 알고리즘

 

라운드 로빈 (Round Robin)

현재 구성된 장비에 부하를 순차적으로 분산함. 총 누적 세션 수는 동일하지만 활성화된 세션 수는 달라질 수 있음

 

가중치 기반 라운드 로빈 (Weighted Round Robin)

라운드 로빈 방식과 동일하지만 각 장비에 가중치를 두어 가중치가 높은 장비에 부하를 더 많이 분산함.
처리 용량이 다른 서버에 부하를 분산하기 위한 분산 알고리즘

 

최소 접속 방식 (Least Connection)

  • 현재 구성된 장비 중 가장 활성화된 세션 수가 적은 장비로 부하를 분산함
  • 로드 밸런서에서는 서비스 요청을 각 장비로 보내줄 때마다 세션 테이블이 생성되므로 각 장비에 연결된 현재 세션 수를 알 수 있음 → 각 장비의 세션 수를 확인해 현재 세션이 가장 적게 연결된 장비로 서비스 요청을 보냄
  • 활성화 세션 수가 비슷하게 분산됨

가중치 기반 최소 접속 방식 (Weighted Least Connection)

최소 접속 방식과 동일하지만 각 장비에 가중치를 부여해 가중치가 높은 장비에 부하를 더 많이 분산함. 처리 용량이 다른 서버에 부하를 분산하기 위한 분산 알고리즘

 

해시 (Hash)

  • 해시 알고리즘을 이용한 부하 분산
  • 서버의 부하를 고려하지 않고 클라이언트가 같은 서버에 지속적으로 접속하도록 하기 위해 사용하는 부하 분산 방식 ( 알고리즘을 사용하기 때문에 항상 동일한 결괏값을 가지니까 )
  • 알고리즘에 사용되는 값들을 지정할 수 있음 . (출발지 IP 주소 , 목적지 IP 주소 , 출발지 서비스 포트 , 목적지 서비스 포트)
  • 세션을 유지해야하는 서비스에 적합한 분산 방식

 

로드 밸런서 동작 모드

 

트랜스패런트 모드 (Transparent)

  • 로드 밸런서가 OSI 2계층 스위치처럼 동작하는 구성
  • 로드 밸런서에서 서비스하기 위해 사용하는 VIP 주소와 실제 서버가 동일한 네트워크를 사용하는 구성
  • 원암과 인라인 구성 모두 가능
  • 기존에 사용하던 네트워크 대역을 그대로 사용하므로 로드 밸런서 도입으로 인한 IP 네트워크 재설계를 고려하지 않아도 된다
  • 트래픽이 로드 밸런서를 지나더라도 부하 분산 서비스를 받는 경우에만 4계층 이상의 기능을 수행한다
  • 부하 분산 서비스가 아닌 경우에는 기존 L2 스위치와 동일한 스위칭 기능만 수행 → L2 구조라 함
  • 출발지의 MAC 주소는 변경하지 않음

라우티드 모드

  • 로드 밸런서가 라우터 역할을 수행한다
  • 로드 밸런서를 기준으로 사용자 방향과 서버 방향이 서로 다른 네트워크로 분리된 구성
  • 원암과 인라인 구성 모두 가능
  • 보안 강화 목적으로 서버쪽 네트워크를 사설로 구성해 서버에 직접 접속하는 것을 막는 용도로 사용되기도 함
  • 출발지의 MAC 주소를 변경함

DSR 모드(District Server Return)

  • 사용자의 요청이 로드 밸런서를 통해 서버로 유입된 후에 다시 로드 밸런서를 통하지 않고 서버가 사용자에게 직접 응답하는 모드
  • 로드 밸런서에서는 응답 트래픽이 유입되지 않으므로 사용자가 요청하는 패킷에 대해서만 관여
  • 원암으로만 구성됨
  • 요청 트래픽만 로드 밸런서를 통해 흐르므로 로드 밸런서 전체 트래픽이 감소함 → 부하도 감소
  • 일반적인 서비스 트래픽인 경우 , 요청 패킷보다 응답 패킷의 크기가 더 크므로 로드 밸런서의 트래픽 부하 감소에 효과적
  • 서비스 응답이 로드 밸런서를 경유하지 않으므로 문제가 발생했을 때 , 문제 확인이 어려움
    • 사용자는 요청했던 IP 주소와 응답을 해주는 IP 주소가 다르므로 비정상적인 응답으로 간주하고 패킷을 처리하지 않을 수 있음
    • 이를 막기 위해 로드 밸런서는 서비스를 요청할 때 목적지 IP는 실제 서버 IP로 변경하지 않고 VIP 유지하고 MAC 주소만 변경함
    • 하지만 서버에서는 목적지 IP 주소와 일치하지 않으면 폐기되므로 루프백 인터페이스를 생성해 VIP 주소를 할당함
    • 서버에는 루프백에 설정된 IP 주소더라도 패킷을 수신할 수 있도록 함

 

2.3.3 인터넷 계층을 처리하는 기기

인터넷 계층을 처리하는 기기로는 라우터 , L3 스위치가 있다

라우터(router)

여러 개의 네트워크를 연결 , 분할 , 구분시켜주는 역할을 하며 , 다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를 최적화하여 최소 경로로 패킷을 포워딩 하는 라우팅 장비

 

  • 원격지로 쓸데없는 패킷이 전송되지 않도록 브로드캐스트와 멀티캐스트를 조절함
  • 불분명한 주소와 통신을 하는 경우 , 이를 버림

 

L3 스위치

  • L2 스위치의 기능과 라우팅 기능을 갖춘 장비
  • 라우터라고 봐도 무방
  • 하드웨어 기반의 라우팅 담당

 

구분 L2 스위치 L3 스위치
참조 테이블 MAC 주소 테이블 라우팅 테이블
참조 PDU 이더넷 프레임 IP 패킷
참조 주소 MAC 주소 IP 주소

 

 

2.3.4 데이터 링크 계층을 처리하는 기기

 

L2 스위치

  • 장치들의 MAC 주소를 MAC 주소 테이블을 통해 관리
  • IP 주소를 이해하지 못해 IP 주소를 기반으로 하는 라우팅은 불가능
  • 단순하게 MAC 주소를 읽어 스위칭하는 역할

 

브리지

  • 두 개의 근거리 통신망(LAN)을 상호 접속할 수 있도록 하는 통신망 연결 장치
  • 포트와 포트 사이의 다리 역할을 하며 장치에서 받아온 MAC 주소를 MAC 주소 테이블로 관리
  • 통신망 범위를 확장하고 서로 다른 LAN 등으로 이루어진 하나의 통신망을 구축할 때 쓰임

 

2.3.5 물리 계층을 처리하는 기기

 

NIC (Network Interface Card) = LAN 카드

  • 2대 이상의 컴퓨터 네트워크를 구성하는데 사용
  • 네트워크와 빠른 속도로 데이터를 송수신할 수 있도록 컴퓨터 내에 설치하는 확장 카드
  • 각 NIC는 고유의 식별번호인 MAC 주소를 가짐

 

리피터(repeater)

  • 약해진 신호 정도를 증촉하여 다른 쪽으로 전달하는 장치

 

AP(Access Point)

  • 패킷을 복사하는 기기
  • 예 - 와이파이

'CS' 카테고리의 다른 글

4.1 데이터베이스의 기본  (0) 2024.09.26
3.4 CPU 스케쥴링 알고리즘  (1) 2024.09.26
2.2 TCP/IP 4계층 모델  (0) 2024.08.27
2.1 네트워크 기초  (0) 2024.08.27
1-2. 프로그래밍 패러다임  (0) 2024.08.27