스위치 (Switch)

네트워크를 연결하는 일을 하는 목적을 가진 기기

자신과 연결된 모든 기기에서 들어오는 패킷을 수신하고, 패킷을 적당한 기기로 보내는 일을 합니다.

OSI 7 계층에서 어느 계층까지 다루는지를 기준으로 스위치의 카테고리를 나눕니다.

 

L4 스위치

  • OSI 4계층
  • IP + Port
  • Port 구분이 가능하므로 프로토콜(HTTP, FTP)마다 다른 서버로 보내는 것이 가능
  • 실제 IP들을 하나의 가상IP(Virtual IP, VIP)로 묶어서 처리할 수 있음
    • VIP를 통해 요청받은 작업을 여러개의 서버로 분산
    • VIP를 통해 연결된 서버가 다운되어도 자동으로 다른 서버가 해당 역할을 하도록 전환하는 failover 기능 지원

  • → 포트 기반 스위칭 지원, VIP를 이용해 로드 밸런싱

 

L4 스위치가 필요한 이유

사용자가 늘어나 서버가 계속 추가되는 상황이 있다고 생각해보면

서버마다 다른 IP 주소가 할당될 것인데 사용자들은 어떻게 접속해야 할까? 🤔

 

서버가 2대면 공지를 해서 해결할 수도 있겠지만, 서버의 수가 3대 이상으로 계속 늘어난다면?

부하 분산도 고려하지 않을 수가 없다!

 

→ 서버에게 요청을 전달할 필요없이 L4 스위치에 모든 요청을 전달하고, L4 스위치가 서버들에게 요청을 그대로 전달함

 모든 요청을 L4가 받기 위해, L4 스위치가 공인 IP를 갖게 되고, 모든 사용자들은 이 공인 IP로 요청을 보내게 된다!

 

추가로 L4 스위치는 4계층의 네트워크 계층에서 사용되며 포트 번호를 함께 사용함

포트 정보를 통해 하나의 서버에서 웹 서비스를 제공해도 포트 종류별로 다양한 웹 서비스를 제공할 수 있음!

따라서 L4 스위치에는 외부에서 접속할 IP에 Port를 함께 명시해주어야 함!

 

L7 스위치

  • 애플리케이션 영역, 즉 HTTP Request 요청 내용까지 판단
  • L4가 사용하는 IP + Port 뿐만 아니라, URI 정보, 쿠키 등을 모두 판단해 유연하게 네트워크 밸런싱을 함
    • 예1) L4 스위치에서 제공하는 기능 모두 포함, 프로토콜(Port)별로 다른 서버에 할당
    • 예2) www.naver.com/blog 와 www.naver.com/cafe 를 다른 서버가 처리하도록 설정 가능
    • 예3) URI, 쿠키, 바이러스 패턴 등을 분석해 특정 트래픽을 받지 않도록 필터링 가능
    • 예4) 패킷의 데이터 부분, payload를 분석해 DDoS 같은 공격 완화 가능
회사에서 공유기(사설 IP)를 사용하는 경우 → 한 회사의 모든 요청 IP가 같음
- L4 스위치는 IP+Port가 같기 때문에, 모든 요청을 한 서버에 할당
- L7 스위치는 IP+Port에 HTTP Request를 이용해 분산시키므로 적절하게 분산 가능

 

결론

  • L4 스위치 : 포트 기반으로 패킷 처리
  • L7 스위치 : 포트 + 페이로드(데이터) 기반으로 데이터 처리, 세션을 분리하고 자신이 철저하게 클라/서버로 동작

페이로드 기반으로 패킷을 처리하는 L7는 더 유연한 처리가 가능 (URL 정보로 패킷을 처리한다든지 등 섬세한 컨트롤 가능)

L4에 비해 분석할 정보가 많아 로드 밸런싱 작업이 어렵고 무거워져 성능 좋은 L7 장비는 가격이 매우 비싸다..

 

 

 

참고 사이트

https://aws-hyoh.tistory.com/65

https://jiwondev.tistory.com/189

https://kchanguk.tistory.com/181

+ Recent posts