지난 글에 이어 원래 알아보고자 했던 스위치에 대한 글이다.
이전 글을 읽고 오면 좋다.
라우터(Router)란?
스위치(Switch)와 스위칭(Switching)에 대해 자세히 이해하려면
라우터에 대한 개념도 필수적으로 잡아야 한다.
이전 글에서 간단하게 소개했지만 좀 더 알아보자.
아래에서 소개할 스위치는 '내부 네트워크'간의 통신만이 가능한 한계점이 존재한다.
그래서 기술과 문명의 발달로 탄생한 수많은 네트워크를 이어주는 인터넷(Internet)을 구축하려면
스위치로는 어림도 없다.
내부와 외부 네트워크 신호를 구분할 줄 아는 라우터만이 외부 네트워크와의 통신을 가능하게 한다.
그래서 라우팅(Routing) 기능은 서로 다른 네트워크를 연결하는 기능을 뜻한다.
이전에 OSI 7계층에 대해 알아본 글에서,
MAC 주소를 이용하여 스위칭(Switching)을 하는 2계층(데이터 링크 계층)의 장비는 L2 스위치, 즉, 스위치이고,
IP 주소를 이용하여 스위칭(Switching)을 하는 3계층(네트워크 계층)의 장비는 L3 스위치, 즉, 라우터를 뜻한다.
또한 라우터는 QoS(Quality of Service)와 같은 네트워크 관리 기능을 제공하기도 한다.
그럼 스위치 대신 모두 라우터를 쓰면 더 좋은 것 아닌가?
응, 아니다.
일단 라우터가 겁나 비싸다.
또한 스위치는 대부분의 설정이나 기능 등이 자동이기 때문에 관리나 사용이 쉬운 반면,
라우터는 일일이 수동으로 만져줘야 하는 까다로운 녀석이기 때문이다.
그래서 요즘에는 외부 네트워크 통신도 되고 QoS 기능도 되는
스위치 + 라우터를 합친 스위치도 나온다고 한다.
스위치(Switch)란?
역시나 이전 글을 읽고 온 사람이라면 알겠지만 다시 짚고 넘어가자.
스위치는 네트워크 회선과 서버 컴퓨터를 연결하는 네트워크 장비이다.
한 포트로 들어오는 패킷을 자신과 연결된 장치에게 전달하는 점에서 허브와 유사한 역할을 하나,
위 그림처럼 신호(패킷)를 모든 포트로 전달하는 허브에 비해
스위치는 신호를 필요로 하는 포트로만 전달한다.
따라서 스위치에서는 불필요한 트래픽이 감소하게 되며,
이는 곧 네트워크에서의 데이터 전송 속도의 향상으로 이어진다.
이같은 동작을 위해서는 자신에게 들어오는 신호의 목적지를 정확하게 알아야 하는데,
그래서 스위치에서는 자신과 연결된 장비들의 MAC 주소와 그 장비가 연결된 포트를 기억해 두었다가,
자신이 아는 MAC 주소로 트래픽의 목적지가 설정되어 있으면 해당 포트로 트래픽을 전달한다.
그리고 만약 데이터를 보낸 장비의 MAC 주소가 처음 보는 주소라면,
해당 포트와 MAC 주소를 기억해두었다가
다른 장비가 그 MAC 주소로 데이터를 보내면 기억해두었던 포트로 데이터를 보내기도 하고,
데이터를 보낸 장비의 MAC 주소는 알고 있는 주소인데
데이터의 목적지 MAC 주소가 처음 보는 주소라면 모든 포트로 데이터를 뿌려버린다.
이처럼 스위치는 허브보다는 더 똑똑하며,
신호를 필요로 하지 않는 포트로는 데이터를 전달하지 않기 때문에
Collision Domain을 나누는 데 사용할 수 있다.
참고로, OSI 7계층 중 3계층에서 사용하는 라우터에 붙어있는 네트워크 포트 수가 부족할 때
따로 연결해서 사용하는 기계가 바로 L3 스위치이기도 하다.
L1, L2, L3, L4, L5, L6, L7 스위치란?
ISO라는 국제표준화기구에서 발표한 OSI 7계층이라는 것이 있다(관련 글).
말 그대로 7개의 층으로 나누어져 있는데,
L1(1계층)부터 L7(7계층)까지 각 층에서 사용되는 스위치에 대해 알아보고자 한다.
보통 어떤 주소를 다루는가에 따라(ex. MAC 주소, 프로토콜 주소, 세션 프로토콜,...) 스위치를 구분하며,
상위 계층(숫자가 높은 층)의 스위치는 하위 계층의 기능을 포함하고 있다.
하나씩 자세히 알아보자.
L1 스위치 (허브, 더미 허브)
가장 하위 계층인 1계층(물리 계층)에서 작동하는 녀석으로,
이전 글에서 알아보았던 허브(혹은 더미 허브)를 L1 스위치라고 한다.
허브는 자신에게 꽂혀있는 모든 장비에게 데이터를 전부 전달한다.
L2 스위치 (스위칭 허브)
가장 흔히 볼 수 있는 스위치인 L2 스위치는 2계층(데이터 링크 계층)에서 작동하며,
보통 스위칭 기능이 있는 스위칭 허브를 사용한다.
스위칭 허브란,
자신에게 꽂혀있는 모든 장비에게 데이터를 전달하는 허브와는 달리
각 장비의 MAC 주소를 내부적으로 저장하고 있기 때문에,
들어온 패킷의 MAC 주소를 읽어 해당하는 장비를 찾아 전달해주는 장비를 뜻한다.
OSI 7계층에 대한 글을 읽었다면,
L2(2계층)는 MAC 주소와 밀접한 관련이 있다는 것을 떠올리며
'그래서 스위칭 허브를 사용하는구나'하고 연관 지을 수 있다.
다른 방식에 비해 저렴하면서 성능은 높고 간단한 구조와 신뢰성이 높다는 장점이 있지만,
패킷에 의해 성능 저하가 발생하는(즉, 라우팅이 불가능한) 단점이 있다.
L3 스위치 (라우터, 공유기)
보통 3계층(네트워크 계층)은 라우팅 기능을 하는 층으로,
라우터는 네트워크 패킷을 연결해주는 통로 역할을 하며 대역폭 확장이 주 기능이다.
그래서 L2 스위치는 MAC 주소까지만 알았다면,
L3 스위치는 MAC 주소뿐만 아니라 IP 주소까지 알고 있다.
즉, L3 스위치란 L2 스위치에 라우팅 기능이 추가된 장비로,
그렇기 때문에 고성능 하드웨어를 기초로 하며, 스위치 자체에도 IP 주소가 할당되어 있다.
가정에서 많이 사용하는 공유기도 L3 기능과 WIFI 기능을 포함하고 있다.
보통 이러한 공유기를 AP 장비라고도 부르기도 하는데,
기업용으로 미친 성능과 가격을 갖고 있는 L3 스위치와는 달리
보통 가정용으로 사용하는 공유기는 성능과 가격이 합리적이다.
L4 스위치
4계층(전송 계층)은 외부에서 들어오는 모든 요청을 먼저 받아들이는 계층이다.
여기서 L4 스위치가 활약을 하는데, 그러한 요청들을 먼저 받아 내부의 서버들에게 적절히 분산시켜준다.
즉, L4 스위치의 주요 역할은 여러 대의 서버를 한 대처럼 묶을 수 있는 부하 분산(로드 밸런싱) 기능을 제공하는 것이다.
프로토콜을 기반으로 하여 애플리케이션 별로 우선순위를 두어 스위칭을 한다, 이 말이다.
그래서 L4 스위치는 IP 주소뿐만 아니라 Port 정보도 참고한다.
예를 들어, 웹 서비스를 하나 만들었는데,
공인 IP(125.125.12.5)를 갖고 있는 웹 서버 한대로 모든 요청을 처리한다고 가정하자.
사용자가 늘어남에 따라 트래픽이 감당이 안되어 서버를 증설했는데,
해당 서버의 IP는 125.125.12.6이다.
그럼 우리의 웹 서비스를 이용하는 사용자들에게
125.125.12.5 서버 말고 125.125.12.6 서버로도 접속해달라고 공지를 올려야 할까?
전혀 아니다.
이럴 때 필요한 것이 로드 밸런싱(부하 분산)으로,
사용자들에게 요청할 필요도 없고 일일이 서버에게 요청을 전달할 필요도 없다.
당연히 보안성은 말할 것도 없이 좋다.
이러한 훌륭한 기능을 하는 L4 스위치는,
하나의 서버가 죽어 서비스가 중단되는 경우 다른 서버로 해당 서비스를 대체하는
ACTIVE-ACTIVE / ACTIVE-STANDBY 기능도 한다.
하지만 설정이 많이 복잡하다는 단점이 있다.
L7 스위치 (L5 스위치, L6 스위치)
보통 L7 스위치가 L5, L6 기능까지 같이 하기 때문에 L7 스위치 하나만 알면 된다.
애플리케이션 영역인 7계층(응용 계층) 역시 4계층처럼
일반적으로 스위치로 들어온 패킷을 적절한 서버로 전송해주는 로드 밸런싱을 위해 스위치를 사용하는데,
L4 스위치와는 차이가 있다.
먼저, L4 스위치의 경우 3~4계층에 속하는 IP 주소 및 TCP/UDP Port 정보를 보고 스위칭하지만,
L7 스위치의 경우 3~7계층에 속하는 IP 주소 및 TCP/UDP Port 정보, 패킷 내용까지 모두 보고 스위칭해주는 장비이다.
또한, L4 스위치의 경우 TCP/UDP Port를 이용하여 로드 밸런싱(트래픽 분산처리)을 하지만,
L7 스위치의 경우 7계층 HTTP의 URL, FTP 쿠키 정보 및 바이러스 패턴을 분석하여
보안에 더 유리하고 정교한 로드 밸런싱이 가능하다(ex. Traffic filter, Security, VPN 등).
그래서 L7 스위치를 보안 스위치라고 부르기도 한다.
데이터 분석을 통해 DDoS 공격을 방어하기도 하고 감염 패킷 패터링 등의 기능도 제공하기 때문이다.
예시로 알아보는 스위치 기능
위와 같은 상황을 가정해보자.
한 가지 문제점이 있는데 뭘까?
바로 보안 문제이다.
먼저 상황 파악을 해보자.
L3 스위치를 통해 사용자는 다른 대역대의 사용자와 네트워킹이 가능해진다.
(ex. 192.168.10.0대의 사용자와 192.168.100.0대의 사용자 간 통신 가능)
피시방이라면 상관없겠지만, 만약 회사라고 가정해보면,
내부 사용자가 마음먹으면 상대방 네트워크로 진입하기 쉬워진다는 문제점이 발생한다.
모든 네트워크가 하나로 묶이게 되기 때문이다.
따라서 보안을 위해 아래처럼 네트워크를 분리시켜야 한다.
L2 스위치를 두 개 추가함으로 네트워크 간 통신을 막을 수 있게 되었다.
즉, 공공망 사용자와 시스템 관리 사용자,
그리고 일반 사용자 간의 네트워크는 차단되었다.
끝!
'Study > Network' 카테고리의 다른 글
[Network][장비] Hub(허브), Bridge(브릿지), Switch(스위치), Router(라우터), Gateway(게이트웨이)란? (0) | 2021.12.01 |
---|---|
[Network] 웹 브라우저에 www.google.com / www.naver.com 을 입력했을 때 벌어지는 일들에 대해 (2) | 2021.09.08 |
[Network] OSI 7계층 & TCP/IP 모델 (0) | 2021.08.09 |
[Network] IP 주소에 대해 - (3) 서브넷 마스크 (Subnet Mask) (0) | 2020.12.06 |
[Network] IP 주소에 대해 - (2) IP 주소 분류, 구분 방법 (0) | 2020.12.04 |