L4
1. 로드밸런싱(서버 부하 분산)
-
외부에서 들어오는 모든 요청은 L4 스위치를 거쳐야 하며, L4 스위치가 서버들에게 적절히 나누어 준다.
-
TCP, UDP, HTTP 같은 프로토콜의 헤더를 분석하여 이를 바탕으로 부하 분산을 실시한다.
헤더에 어떤 내용이 있길래? - 참고 2 확인
-
Source IP나 Dest IP를 NAT(네트워크 주소 변환)하여 보낼 수 있다.
NAT: https://aws-hyoh.tistory.com/145
2. 3-way handshake
클라이언트와 서버가 3-way handshake를 거쳐 논리적 연결을 할 때, 이 또한 L4 스위치를 통해 실시된다.
필요한 이유
L4 스위치를 중심으로 네트워크가 분리되어 있다. 서버의 게이트웨이는 반드시 L4 스위치로 지정된다.
- 문제 상황(dns 기반으로 이해하기)
- 처음에 설정한 서버가 1대라면 문제가 없지만 서버가 2, 3, 4대씩 늘어나면 이 서버로 접속해주세요~ 라고 공지해야 할까? 공지를 한다해도 고르게 분산되는지는 장담할 수 없다. 이때 필요한 것이 로드밸런싱이며 서버 말고 L4 스위치에 모든 요청을 전달하고 L4 스위치가 서버들에게 요청을 그대로 전달하도록 만든다.
- 이제 서버가 가지고 있던
공인 IP
가 L4 스위치에게 넘어가며, 서버는 내부 IP(사설 IP)
만을 가지게 된다. 따라서 L4 스위치는 외부 접속용 공인 IP 1개
와, 서버 통신용 사설 IP 1개
를 가지게 되었다.
- 장점: 서버의 IP를 알 수 없으니 서버에 직접 접속할 방법이 사라져 외부에서 서버에 악의적인 트래픽 공격을 할 수 없게 되었다.
- L4 스위치는 사실, IP 주소 뒤에 포트 번호를 가지고 있다. (Layer 4의 Port). 하나의 서버에서 웹 서비스를 제공하더라도 포트 종류별로 다양한 웹 서비스를 제공할 수 있다. IP 주소만으로는 어느 Port에 접속해야할 지 알 수 없기 때문에 l4 스위치에서는 외부에서 접속할 IP + Port까지 명시해주어야 한다.
ref)
참고 글 1
참고 1: L3 vs L4
- L3:
IP 주소
로 스위칭(Layer 3)
- L4:
IP+Port
로 스위칭(Layer 4)
- L4 스위치는 TCP/UDP 특성을 이용/제어하여 클라이언트와 서버의 논리적 연결을 생성하는 역할도 함.(3way handshake)
- 3way handshake 수행 시에 사용자와 서버 사이 중간에 L4 스위치가 존재한다면 3way handshake에 필요한 패킷(SYN, SYN/ACK, ACK)을 대신 전달(Forwarding) 또는 자신이 송수신자가 되어 그 패킷을 주고 받음. 이때 L4 로드밸런싱은 Forwarding만 한다. (L7에서는 프록시 역할이 더 큼)
참고 2: L4 vs L7 로드밸런싱의 차이
- L4: Layer 7의 프로토콜(HTTP, DNS, FTP)에 간섭하여 로드밸런싱을 수행할 수 있으며, 프로토콜의 헤더에 필요한 정보를 삽입할 수도 있다.
- L7: Layer 4 + Layer 7 모두를 수반하는 기능. 이때 L4 스위치는 TCP/UDP 헤더뿐만 아니라 layer 7의 프로토콜의 헤더를 제어할 수도 있음. 이때 Forwarding보다 중개자(Proxy) 역할이 훨씬 크다. 다시 말하면 client와 3way handshake를 맺고, 서버랑도 한번 더 맺는 것.
헤더를 제어한다는 의미에는 예를 들어 이런 경우가 있다.
사용자의 인터넷 브라우저에 따라 제공되는 웹 페이지를 다르게 하고 싶은데 이를 L4 스위치에서 처리 가능하다. 들어온 요청의 HTTP 헤더의 User-agent 헤더에서 브라우저 종류를 확인한 후 각각 다른 URL로 Forwarding 시키는 것이다.
3. L4 스위치의 이중화
이중화는 Active-Active보다 Active-Standby 운용 사례가 더 많다. 후자가 이중화 구성과 운용에 있어 난이도가 더 낮다고 한다.
Inline은 제쳐두고, One-Arm에서의 이중화를 살펴보면 모든 장비를 2개씩. L4 스위치도 2개씩. 그리고 이 L4 스위치 간 VLAN으로 연결되어 서로 정보를 공유한다.
L3(=router)
l3 스위치와 라우터의 차이에 대한 의견이 분분한데, 사실 차이가 없다고 봐도 된다.
1. 패킷 전달 기능
원래는 ip 주소를 이용해 패킷을 전달하는 기능만 갖도록 L3스위치가 구현되어 왔지만, 최근 기술의 발달로 인해 Dynamic Routing 프로토콜 등을 L3 스위치에도 장착함으로써 라우터의 역할도 함께 한다.
라우터는 최적의 경로를 파악할 수 있는 능력. 외부 망과의 통신이 가능하다.
L2
- Layer 2에서 Frame의 MAC 주소를 참고해 데이터를 전달함.
- 같은 네트워크 대역에서만 가능하며, L2 스위치가 해당 네트워크의 MAC 주소를 테이블로 저장하고 있음
BackBone Switch
정확히는 백본 스위치가 아니라 그냥 백본이 맞다.
단순하게 보면 다양한 네트워크를 상호 연결하는 컴퓨터 네트워크의 일부이며, 중추다.