L4 스위치, L7 스위치 도대체 뭐 하는 녀석들인데!?
지금부터 어떤 역할을 하는지 낱낱히 파해쳐 보겠습니다.
네트워크를 연결하는 일을 하는 목적을 가진 기기입니다.
연결된 모든 기기로부터 패킷을 수신하고 적절히 처리해 다른 기기로 보내는 역할을 합니다. 즉, 네트워크 상에 연결된 두 디바이스가 서로 통신할 수 있도록 도와주는 장비입니다.
OSI 7계층을 아시나요?
스위치는 계층별로 패킷에서 알아낼 수 있는 정보가 다르고, 이러한 차이로 다른 역할을 수행하게 되는데요,
그 중에서도 IP와 Port 정보만 알 수 있는 L4 Switch, 대부분의 정보를 알 수 있는 L7 Switch가 가장 많이 쓰인다고 합니다.
먼저, L4 Switch에 대해 알아보죠.
L4 Switch는 OSI 4계층에 위치해 IP와 Port 정보를 이용합니다.
IP와 Port 정보만으로 무엇을 할 수 있을까요?
이 정보를 가지고 어디에 전달할지 결정하는 역할을 해요. Port를 구분할 수 있어 프로토콜(HTTP, FTP) 마다 다른 서버로 보내는 것이 가능하고, 실제 IP들을 하나의 가상 IP (Virtual IP)로 묶어서 처리할 수 있습니다.
잠깐! Virtual IP가 뭔데?
Virtual IP란 공유된 가상 IP로 스위치와 연결된 서버가 모두 가지고, VIP의 임시 주인을 정해 요청을 처리하도록 분산할 수 있도록 합니다.
내부의 VRRP라는 프로토콜로 임시 주인을 바꿔가며 분산처리를 한다고 하는데요, 사용자는 스위치가 가지고 있는 VIP 주소만 알면 되기 때문에 유용한 기능이 아닐 수 없네요.
자세한 내용은 https://run-it.tistory.com/44 에 잘 정리가 되어있으니 참고하시면 좋을 것 같아요!
이러한 기능을 로드밸런싱이라고 합니다.
왜 L4 스위치의 로드밸런싱 기능이 필요할까요?
만약 서버가 계속 추가된다면, 사용자는 서버에 각각 할당된 IP를 전부 알고 있어야합니다. 그리고 특정 서버로만 트래픽이 몰려들 수 있어요.
이럴 때 앞단에 L4 스위치를 설치해 로드밸런싱 기능을 이용하면 문제를 해결할 수 있습니다.
추가로 패킷의 송수신을 모니터링하고 트래픽 패턴을 분석해 QoS(Quality Of Service)를 적용함으로써 트래픽을 제어할 수 있습니다.
L7 Switch는 OSI 7계층에 위치해 TCP/UDP 패킷의 정보 뿐만아니라 페이로드(URL, 캐시, 쿠키)까지 분석해 요청을 분산해요.
당연하게도 L4 Switch에서 제공된 분산 처리 기능은 모두 포함하고 있습니다.
예를 들어서 다음과 같은 처리가 가능합니다.
www.naver.com/blog 와 www.naver.com/cafe 를 다른 서버가 처리하도록 설정 가능무엇보다도 L7 Switch는 복잡한 패킷을 분석하고 많은 기능을 제공하기 때문에 L4 Switch 보다 비싸요 😂
그리고 단순히 IP나 Port 정보만을 이용해도 부하 분산이 충분히 가능하다면 그 이상 패킷을 분석하는 L7 Switch는 리소스를 낭비하는 것이라고 생각합니다.
HTTP 요청 등 L7 계층의 정보가 필요한 경우 L7 Switch를, IP와 Port 정보만으로 충분하다면 L4 Switch를 이용하자.
https://run-it.tistory.com/44
https://code-lab1.tistory.com/321
https://www.juniper.net/kr/ko/research-topics/what-is-a-network-switch.html