스위치와 VALN

원래벌레·2022년 10월 16일
1
post-custom-banner

스위치 등장 배경

인터넷과 네트워크가 발당하면서 데스크탑도 급속하게 성장하였다.
급속히 향상된 데스크탑은 복잡한 응용 프로그램이 출현하면서 네트워크는 더욱 많은 대역혹을 필요로 했다.
과거의 허브와 라우터 기술로는 이러한 과중한 로드를 처리하기 어려웠다.

-> 브리지(스위치)의 등장

🌞 스위치


🌼 브리지와 이더넷 스위치의 동작비교

Bridge

  • 소프트웨어를 통해서 Frame을 처리 하여 효율성이 떨어진다.

  • 한번에 한 Frame만 분석 및 포워딩한다.

  • Store-and-forward 방식으로 전달한다.

이더넷 스위치

  • 전이중 기능

  • 하드웨어를 통해서 테이블을 작성하는 Learning과 포워딩을 수행한다.

  • 여러 Data Path를 사용 할 수 있어 동시에 여러 프레임 처리

  • Cut-through 방식 사용


🌼 허브 vs 스위치

  • 허브와 마찬가지로 네트워크 거리 제한을 극복하는 신호의 재생과 증폭의 기본적인 기능을 가지고 있다.

  • 허브와는 달리 해당하는 포트로 패킷이 들어오면 단순하게 입력 포트 외에 모든 포트로 신호를 복사하여 보내지 않고 실제 전송하는 주소인 MAC을 보고 어떤 포트로 보내야 하는 지를 판단 하는 기능을 가지고 있다.

  • 허브와 같이 하나의 내부 버스(공유매체)로 구성되어 있지 않고 스위칭 주고(Switching Fabric)로 내부에 통신하는 정보를 관리하고 제어한다. 이를 통하여 각 포트 당 동일한 속도를 보장한다. 기존의 허브 같은 경우는 하나의 길을 이용하기 때문에 충돌이 많이 발생 하였다.

  • 스위치의 주요 기능 : Learning, Flooding, Forwarding, Filtering


🌼 스위치 구조와 동작 원리

구조

  • Fabric 의 섬유같은 모양으로 여러 프레임이 한꺼번에 처리가 가능하게끔 설계됐다.

동작 원리

  • 스위치는 기본적으로 스위치가 가지고 있는 정보 (어떤 포트에 어떤 MAC이 존재하는지)에 따라 동작한다.

  • 이 동작 과정은 이후에 스위치 STP(Spanning Tree Protocol)를 이해하는데 중요한 요소이다.

Learning 과정

  • 스위치가 처음부터 연결된 모든 컴퓨터의 MAC을 알고 있는 것이 아니며 MAC정보를 가져오기 위해 별도의 패킷을 생성하지 않는다.

  • 포트를 통해서 입력되는 프레임들의 출발지 주소를 보고 메모리에 저장하는 Learning 과정을 통해 습득하게 된다.

  • MAC 정보가 없어 여러 포트로 다 보내는 경우는 "Flooding"이라는 용어를 사용한다.

Forwarding 과정

  • 해당되는 MAC 정보가 있을 경우 스위치는 해당되는 포트로만 보내는 포워딩을 하게 됨

Filtering

  • Learning이 된 정보에 따라서 필요시에는 필터링 작업이 수행된다.
  • Filtering이란 스위치가 목적지의 MAC주소를 알고 있고, 출발지와 목적지가 같은 세그먼트 상에 있는 경우 스위치를 통해 건너가지 않아도 통신이 가능하도록 스위치는 다리를 막는 필터링을 실시한다. 스위치의 이러한 필터링 기능 떄문에 허브와는 다르게 콜리전 도메인을 나누어 줄 수 있는 것이다.
    cf) 스위치는 기본적으로 같은 콜리전 도메인에 있는 A와 B에 대해서, A에서 B로 프레임을 보낸다고 하면, A에서 B로도 보내지만 프레임을 스위치에게도 보낸다.

🌞 계층별 스위치

Layer3 스위치

  • 3계층의 IP, IPX, Appletalk 정보를 기반으로 하는 Layer 3 스위치

  • 기능 : 라우팅 경로 설정, 트래픽 Filtering

Layer 4 스위치

  • 4계층의 TCP/UDP Port 정보를 기반으로 하는 Layer 4 스위치

  • 기능
    1) Load Balancing

    • 같은 컨텐츠를 가지고 있는 수많은 서버 HTTP, SMTP, POP3, DNS등을 대표해서 가상의 IP를 가지고 있다가, 등록된 서버들 중에서 제일 효과적인 서버로 트래픽을 분배하는 동작이다.
    • 똑같은 컨텐츠를 가진 여러 서버를 동시에 사용하여 외부에 사용자들이 봤을 때는 실제로 하나의 서버가 동작하는 것처럼 보이게 할 수 있다.

    2) Fail Over

    • 서버 상태를 계속 확인하고 있으므로 문제가 발생하여 서비스가 불가능한 서버가 발생하더라도 서비스에는 크게 지장을 초래하지 않는다.
    • 서버가 서비스를 할 수 없는 상태가 되면 L4 스위치는 서비스 불가능한 서버로는 클라이언트 트래픽을 보내지 않는다. 그리고 서버가 다운된 상태에서도 계속적으로 상태를 확인하여 다시 서비스가 가능해지면 클라이언트의 트래픽을 보낸다.
  • 로드를 분배하는 방법

    • Least Connections (최소 연결방정식) :
      가장 클라이언트와의 연결이 적은 서버로 로드를 분배한다.

    • Hash Function (해쉬 함수) :
      1) 특정주소(출발지 IP, 목적지 IP, 또는 둘다)를 함수에 넣어 입력값이 같은 경우 같은 서버로 분배한다.

      2)인증이나, 인터넷 쇼핑몰처럼 하나의 클라이언트가 통신이 끝날 때까지 같은 서버로 보내줘야 하는 경우에 사용한다.

Layer 7 스위치

  • 5 ~ 7계층의 응용계층의 프로토콜 정보를 기반으로 하는 Layer 7 스위치

  • HTTP서버의 경우 정적 컨텐츠를 처리하는 서버와, 동적 컨텐츠를 처리하는 서버로 나눌 수 있을 것이다. 이 때 데이터에 알맞은 서버를 지정해주기 위해서는 스위치가 7계층에서 다루는 데이터까지가 필요하게 된다.

  • 클라이언트가 요청하는 HTTP 헤더의 내용 중 URL에 해당하는 부분을 구분하여 로드 밸런싱을 한다.

  • 보안 역할로서의 Layer 7 스위치

    • Dos Attack 방어
    • HTTP, SMTP 헤더에 있는 Nimda, Codered 성 패킷을 차단한다.
profile
학습한 내용을 담은 블로그 입니다.
post-custom-banner

0개의 댓글