-
기존 스위치는 L2스위치로 OSI2계층인 데이터링크 계층에서 MAC Adress 기반으로 동작하는 장비였다.
하지만 L2스위치에 L3장비인 라우터의 기능을 넣어 만든것이 L3스위치이다.
그럼 왜 라우터에 L2기능을 넣지않고 스위치에 넣었는가? 하면 비용 때문이다.
비싼 장비에 가벼운 기능 추가 = 그래도 비싸네.
값싼 장비에 추가 기능 추가 = 이건 좀 싸네.
가 된 것이다.
기존 L2스위치가 프레임단위로 데이터를 주고 받았기에 해당 단위안에 출발지 MAC, 도착지 MAC 주소가 포함되어 있었고 MAC테이블에 존재하지 않는 MAC주소라면 전송시 기본적으로 브로드캐스팅 방식으로 데이터를 전송한다.
L3스위치는 라우터와 같이 서로 다른 네트워크를 묶어 통신할 수 있으며 IP 패킷 단위로 처리하기 때문에 라우터의 역할을 일부 대신할 수 있게 되었다.
L4 스위치는 부하분산 로드 벨런서(LB)기능이 추가된 스위치이다.
로드 밸런싱은 직접 서버로 연결되지 않고 LB를 통해 트래픽을 분산시켜 한곳에만 사용자가 몰리는 것을 방지하는 기술이다. 또한 사용자는 LB를 통해서만 들어올 수 있으므로 공인IP가 필요치 않게 된다.(어차피 LB를 통해 사설IP로 접속할 태니까)
L4 스위치는 외부에서 접속시 사용되는 IP와 Port를 가지고 있는데 이것을 VIP(Virtual server IP)라 부른다.
이 VIP에 도달한 요청을 Pool에 연결하여 해당 된 Pool Member(IP와 Port가 모두 같아야한다. Port가 다르다면 다른 Pool이다)과 비교하여 통신한다.
동작 방식은 크게
Round Robin => 요청이 들어오는 대로 균등하게 분배. A서버, B서버, C서버가 있다면 첫번째 유저는 A, 다음은 B...로 부하분산
Least Connect => 서버마다 연결된 커넥션을 체크해서 가장 적은 서버로 부하분산
Weighted Least Connections => LC방식과 비슷하지만 서버 가중치에 따라 조절한다. 서버마다 사양이 일관적이지 않을때 사용한다.
Fastest Respones Time => 서버가 요청에 대해 응답하는 시간을 체크해 가장 빠른 서버로 부하분산
Souece Hash Scheduling => 사용자의 IP를 해싱한 후 그 결과에 따라 서버로 부하분산. 사용자의 IP는 고정되어 있기 떄문에 항상 같은 서버로 연결된다는 보장을 받음.
L7또한 로드벨런싱을 제공한다.
하지만 L4는 Port까지밖에 부하분산을 하지 못하지만 L7은 Data를 분석해 URL단위로 부하분산이 가능하다.
요컨데 L7스위치는 L4보다 섬세한 처리가 가능한 것이다.
가령 L4스위치는 웹페이지(80번 포트)에 접속한다면 해당 웹페이지 제공 서버에 부하분산하고, L7스위치는 웹페이지 중에 new칸에 접속하는 사람별로 부하분산이 가능한것이다.
L4 L7둘 다 로드밸런싱 기능을 제공한다는 공통점이있따.
그럼 왜 분리켰는가? 편하게 다 L4기능의 상위호환인 L7을 쓰면 편하지 않을까?
하면 용도에 맞게 사용하기 위함이다. 단순하게 포트(서버)에만 부하분산이 필요하다면 HTTP 헤더를 해석하는 것은 불필요한 리소스 낭비이며, 추가 기능은 곧 추가 비용으로 직결되기에 용도에 따라 구분한 것이다.
'네트워크' 카테고리의 다른 글
업링크 Uplink & 다운링크 Downlink (0) 2023.03.16 파이버 채널(Fibre Channel) (0) 2023.03.16 8. 네트워크 기초 - SSH, TELNET (0) 2023.02.21 7. 네트워크 기초 - Static NAT, Dynamic NAT, PAT, EIP(AWS) (0) 2023.02.20 6. 네트워크 기초 - ARP, GARP, Dynamin IP, Static IP (0) 2023.02.18 댓글