스위치 등장 배경
인터넷과 네트워크가 발당하면서 데스크탑도 급속하게 성장하였다.
급속히 향상된 데스크탑은 복잡한 응용 프로그램이 출현하면서 네트워크는 더욱 많은 대역혹을 필요로 했다.
과거의 허브와 라우터 기술로는 이러한 과중한 로드를 처리하기 어려웠다.
-> 브리지(스위치)의 등장
🌞 스위치
소프트웨어를 통해서 Frame을 처리 하여 효율성이 떨어진다.
한번에 한 Frame만 분석 및 포워딩한다.
Store-and-forward 방식으로 전달한다.
전이중 기능
하드웨어를 통해서 테이블을 작성하는 Learning과 포워딩을 수행한다.
여러 Data Path를 사용 할 수 있어 동시에 여러 프레임 처리
Cut-through 방식 사용
허브와 마찬가지로 네트워크 거리 제한을 극복하는 신호의 재생과 증폭의 기본적인 기능을 가지고 있다.
허브와는 달리 해당하는 포트로 패킷이 들어오면 단순하게 입력 포트 외에 모든 포트로 신호를 복사하여 보내지 않고 실제 전송하는 주소인 MAC을 보고 어떤 포트로 보내야 하는 지를 판단 하는 기능을 가지고 있다.
허브와 같이 하나의 내부 버스(공유매체)로 구성되어 있지 않고 스위칭 주고(Switching Fabric)로 내부에 통신하는 정보를 관리하고 제어한다. 이를 통하여 각 포트 당 동일한 속도를 보장한다. 기존의 허브 같은 경우는 하나의 길을 이용하기 때문에 충돌이 많이 발생 하였다.
스위치의 주요 기능 : Learning, Flooding, Forwarding, Filtering
스위치는 기본적으로 스위치가 가지고 있는 정보 (어떤 포트에 어떤 MAC이 존재하는지)에 따라 동작한다.
이 동작 과정은 이후에 스위치 STP(Spanning Tree Protocol)를 이해하는데 중요한 요소이다.
스위치가 처음부터 연결된 모든 컴퓨터의 MAC을 알고 있는 것이 아니며 MAC정보를 가져오기 위해 별도의 패킷을 생성하지 않는다.
포트를 통해서 입력되는 프레임들의 출발지 주소를 보고 메모리에 저장하는 Learning 과정을 통해 습득하게 된다.
MAC 정보가 없어 여러 포트로 다 보내는 경우는 "Flooding"이라는 용어를 사용한다.
🌞 계층별 스위치
3계층의 IP, IPX, Appletalk 정보를 기반으로 하는 Layer 3 스위치
기능 : 라우팅 경로 설정, 트래픽 Filtering
4계층의 TCP/UDP Port 정보를 기반으로 하는 Layer 4 스위치
기능
1) Load Balancing
2) Fail Over
로드를 분배하는 방법
Least Connections (최소 연결방정식) :
가장 클라이언트와의 연결이 적은 서버로 로드를 분배한다.
Hash Function (해쉬 함수) :
1) 특정주소(출발지 IP, 목적지 IP, 또는 둘다)를 함수에 넣어 입력값이 같은 경우 같은 서버로 분배한다.
2)인증이나, 인터넷 쇼핑몰처럼 하나의 클라이언트가 통신이 끝날 때까지 같은 서버로 보내줘야 하는 경우에 사용한다.
5 ~ 7계층의 응용계층의 프로토콜 정보를 기반으로 하는 Layer 7 스위치
HTTP서버의 경우 정적 컨텐츠를 처리하는 서버와, 동적 컨텐츠를 처리하는 서버로 나눌 수 있을 것이다. 이 때 데이터에 알맞은 서버를 지정해주기 위해서는 스위치가 7계층에서 다루는 데이터까지가 필요하게 된다.
클라이언트가 요청하는 HTTP 헤더의 내용 중 URL에 해당하는 부분을 구분하여 로드 밸런싱을 한다.
보안 역할로서의 Layer 7 스위치