스위치는 네트워크 장비로, 다양한 기기들을 서로 연결하여 데이터 패킷을 교환 하고, 네트워크 성능을 최적화 하는 역할을 합니다. 스위치는 OSI 2계층(데이터 링크 계층)에서 작동하며, MAC 주소를 기반으로 장치 간의 데이터 흐름을 제어합니다.
☑️ L1 스위치 (허브, 더미 허브)
가장 하위계층인 물리계층에서 작동하는 것으로 허브는 자신에게 꽃혀있는 모든 장비에게 데이터를 전부 전달한다.
☑️ L2 스위치 (스위칭 허브)
데이터 링크 계층에서 작동하며, 자신에게 꽃혀있는 모든 장비에게 데이터를 전달하는 허브와 달리 각 장비의 MAC 주소를 내부적으로 저장하고 있기 때문에, 들어온 패킷의 MAC 주소를 읽어 해당하는 장비를 찾아 전달해주는 장비를 뜻한다.
☑️ L3 스위치 (라우터, 공유기)
L3 스위치는 MAC 주소 뿐만 아니라 IP주소까지 알고 있다.
L3 스위치는 L2 스위치에 라우팅 기능이 추가된 장비로 고성능 하드웨어를 기초로 한다.
☑️ L4 스위치
여러 대의 서버를 한 대처럼 묶을 수 있는 부하 분산(로드 밸런싱) 기능을 제공한다.
프로토콜을 기반으로 하여 애플리케이션 별로 우선순위를 두어 스위칭한다.
즉, L4 스위치는 IP주소 뿐만 아니라 포트주소도 참고한다.
☑️ L7 (L5,L6 스위치)
보통 L7 스위치가 L5, L6의 기능까지 함께한다.
계층 HTTP의 URL, FTP 쿠키 정보 및 바이러스 패턴을 분석하여 보안에 더 유리하고 정교한 로드 밸런싱이 가능하다.
따라서 L7 스위치를 보안 스위치라고 부르기도 한다. (데이터 분석을 통해 DDoS 공격을 방어하고 패킷 패터링 등의 기능도 제공하기 때문)
컴퓨터 네트워크 상으로 들어오는 트래픽이 하나의 서버에 집중되지 않도록 서버의 기능을 분산 구성하고, 이를 통해 컴퓨터 자원을 나누는 일을 말한다.
로드밸런싱의 이점 : 애플리케이션 서버와 방문자 또는 클라이언트 간의 인터넷 트래픽을 지시하고 제어하기 때문에 애플리케이션의 가용성, 확장성, 보안 및 성능이 향상된다.
✅ L4 스위치
✅ L7 Switch
요약하자면 , 요청의 내용을 얼마나 깊이 분석하느냐 !!의 차이
L4 스위치의 경우 3 ~ 4계층에 속하는 IP 주소 및 TCP/UDP Port 정보를 보고 로드밸런싱하지만, L7 스위치의 경우 3 ~ 7계층에 속하는 IP 주소 및 TCP/UDP Port 정보, 패킷 내용까지 모두 보고 로드밸런싱 해주는 장비이다.
REST (Representational State Transfer)는 웹 서비스 설계 아키텍처의 하나로, 자원(Resource)을 정의하고 이를 HTTP 프로토콜을 통해 상태를 주고 받는 방식이다. 즉, 클라이언트와 서버 간의 상호작용을 규정하며, 웹의 기본 원칙과 패턴을 따르는 서비스 설계 방법론이다.
☑️자원(Resource)
자원은 웹 상에서 식별할 수 있는 모든 것(ex. 사용자, 게시물, 댓글, 상품)
☑️ 표현(Representation)
자원의 표현은 자원이 전송될 때, 그 자원의 상태를 어떻게 표현하는지에 대한 것 (자원의 상태를 클라이언트와 서버 간에 교환하는 것이 핵심)
일반적으로 JSON이나 XML 형태로 전송
☑️무상태성
서버가 클라이언트의 상태를 저장하지 않으며, 각 요청은 독립적이라는 의미
클라이언트는 요청 시 필요한 모든 정보를 포함하여 서버에 보내야 하며, 서버는 요청을 처리하고 필요한 응답을 반환
☑️계층 구조
REST 아키텍처는 계층적인 구조를 지향함
클라이언트는 서버와의 직접적인 통신 외에도, 프록시나 게이트웨이 같은 중간 계층을 통과하여 서버와 상호작용할 수 있음.
GET /api/users{userId}/posts