[L4/L7 스위치③] L4/L7 스위치의 미래
상태바
[L4/L7 스위치③] L4/L7 스위치의 미래
  • 조영철 파이오링크 부설연구소 소장
  • 승인 2002.11.25 00:00
  • 댓글 0
이 기사를 공유합니다

지난 2회에 걸친 연재에서 L4 스위치의 등장배경, 개념 및 서버 로드밸런싱, 파이어월/VPN 로드밸런싱, 네트워크 로드밸런싱, 캐싱 서버 리다이렉션, 필터링 기능에 대해 알아봤다. 이번 호에는 L4 스위치를 넘어서 L7 스위치의 개념, 동작원리, 활용 방법 등을 살펴본다. 편집자

L7 스위치 소개

이제 IT 업종에 종사하는 사람들 중에서 스위치를 모른다고 하는 사람은 거의 없을 것이다. 스위치의 포트에 UTP 케이블을 연결해 LED에 불이 들어오고, 인터넷이 잘 연결되면 ‘아! 스위치가 잘 동작하는 구나’라고 생각하면 그만일 정도로 간편해졌기 때문이다.

단순한 더미 이더넷 스위치나 언매니지드(Unmanaged) 기반의 100베이스-TX 스위칭 허브를 사용하는 독자라면 스위치가 아주 단순한 기능을 수행하는 장비라고 생각할 수 있다. 하지만, 좀더 IT계에서 네트워크 관리를 해본 사람이라면 자신이 사용하는 고급기능의 스위치에 대해 완벽히 알고 있다고 장담할 사람이 얼마나 될까? 매니지드(Managed) 기반의 L2 스위치만을 말하는 것은 아니다. 근래 들어 필수 불가결하게 업계에서 사용되는 L3/L4 스위치에 대해 그 다양한 기능과 사양(specification)을 온전히 이해하고 설정해 사용하는 사람은 흔치 않을 것이다.

L7 스위치로는 탑레이어 ‘앱스위치’, 라드웨어의 ‘웹서버디렉터’, 노텔의 ‘에이스디렉터’, 파운드리의 ‘서버아이언’, F5의 ‘BIG/IP HA+컨트롤러’ 등이 나와 있다. 국내 L4/L7 스위치 관련 제품에는 파이오링크의 ‘핑크박스1000/2000’ 시리즈가 있다. 이와 같은 L7 스위치는 기능 및 목적 시장이 천차만별이다. 이미 다양한 자료를 통해 알려졌듯이 L7 스위치는 컨텐츠를 인지해 스위칭하는 장비이다. L7 스위치는 미션크리티컬한 응용프로그램들(포인트캐스트[Pointcast], ERP 애플리케이션, FTP, NFS, VoIP 관련, 화상회의)의 관리 및 제어에 필요한 솔루션이다. 하지만, L7 스위치에 대해 좀 더 정확한 의미를 이해하는 것이 L7 스위치 제품을 선택하고 사용하는데 도움이 될 것이다.

L7 스위치의 개념

L7 스위치란 위에서 언급했듯이 컨텐츠를 인지해 원하는 포트로 전달하는 스위치를 말한다. 하지만 ‘컨텐츠’와 ‘인지’ 라는 말은 매우 광범위하고 애매모호한 기술용어이며 이 두 단어가 L7 스위치의 모든 기능을 내포한다고 보기는 어렵다. 혹자는 L4 스위치와 구별해 OSI 7 참조모델을 참고하면서 L5~L7의 패킷 데이터 영역을 분석해 스위칭하는 장비라고 설명하기도 한다. 이러한 설명은 매우 효율적이고, 적당한 설명이라고 생각한다. 필자의 경험으로 L7 스위치를 한 문장으로 표현하는 것은 어렵다. 하지만 현재 상용되는 L7 스위치가 가져야 하는 기본 기능은 아래와 같다.

- TCP/UDP 헤더 및 데이터의 일부를 분석하고 분류한다.
- HTTP URL 기반의 패킷 스위칭 기능을 수행한다.
- 세션별, 유저별, 혹은 응용별 QoS 정책을 지정할 수 있다.
- 응용프로그램 레벨의 로직 구성이 가능하다.

L7 스위치는 L3/L4 스위치의 기능을 대부분 포용하며, 최상 레벨의 스위칭 기능을 제공하는 것은 사실이지만, L7 스위치에 대해 몇 가지 오해의 소지는 존재한다. 아래 몇 가지 오해의 유형을 적는다.

- L7 스위치는 레이어 7 계층을 위한 스위치다.
- L7 스위치란 URL 기반 스위치다.
- L7 스위치는 모든 TCP/UDP 포트(0-65535)에 대한 인지가 가능하다.

L7 스위치는 L7 계층만을 다루는 것은 아니다. 스위치로서 동작하기 위해 기본적인 L2, L3 스위치 기능을 포함하고, 부분적으로 L4 스위치 기능을 지원한다. 엄밀히 말하면 현재 상용화된 L7 스위치는 레이어 5의 세션 계층 스위칭 역할에 충실하다고 말할 수 있고, 모든 애플리케이션들의 세션을 분류할 수 있는 것은 아니다.

한편, 현재 L7 스위치 장비는 웹 트래픽에 대한 패킷 구별 및 제어가 많은 부분을 차지하는 것이 사실이지만, L7 스위치 장비가 URL 만을 다루는 것 만은 아니다. 많은 응용 프로그램들은 멀티미디어 및 미션크리티컬한 데이터 전송을 위해 데이터를 가공하므로, 이러한 데이터에 대한 처리가 L7 스위치에 필요하다.

또한, L7 스위치가 모든 TCP/UDP에 기반한 응용프로그램을 분류하고 제어할 수 있는 것은 아니다. 일반적으로 널리 알려진 포트인 FTP, NFS, H.323, RTP 등에서 세션 처리가 가능하지만, 순간적으로 사용하는 임시 포트들을 분석하는 것은 매우 제한적이다. 또한, L7 스위치에서 QoS 기능을 지원하지만, 전문 QoS 장비들(시타라 네트웍스의 ‘QoS웍스’, 패킷티어의 ‘패킷쉐이퍼’, 넷리얼리티의 ‘와이즈왠’)에서 제공하는 트래픽 쉐이핑(shaping), 레이트 컨트롤(rate control) 등과 동일시 해서는 안 된다. 물론, 차후에 L7 스위치는 QoS 기능을 기본으로 제공하게 될 것이다.

L7 스위치의 동작원리

L7 스위치의 동작은 개념적으로 매우 단순할 수도 있다. 하지만, 그 내부의 패킷에 대한 분류 및 제어는 매우 난해하며 정교한 기술이라고 할 수 있다. 따라서, 세계적으로도 L7 스위치는 이미 성숙된 기술이 아니라, 지속적으로 개선되어지고 있는 기술이라고 할 수 있다.

L4 스위치에서는 L4 계층의 세션 단위(TCP 또는 UDP)로 부하분산을 수행한다. 단방향 프로토콜인 UDP를 제외하고, L4 계층의 가장 핵심적이며 광범위하게 쓰이는 프로토콜은 TCP이므로, L4 계층의 세션은 TCP 세션이라고 할 수 있다. 이러한 TCP 세션을 로드밸런싱하기 위해서는 처음 TCP 패킷을 받은 시점 즉, TCP SYN 패킷을 받은 시점에 즉시 리얼서버에 그 패킷을 할당하면 된다. TCP 세션이 성립되는 시점은 TCP SYN를 리얼 서버에서 받는 시점이 된다. 일단, 하나의 TCP 세션이 리얼서버에 할당되면 그 뒤의 모든 패킷들은 동일서버로 포워딩된다. 이러한 동작을 TCP 패킷의 흐름으로 표현하면 <그림 1>과 같다.

<그림1> L4 스위치의 TCP 세션 관리

<그림 1>과 같이 TCP SYN이 초기 시퀸스 번호(sequence number) 100으로 접속을 시도하면, L4 스위치는 서버1, 서버2 가운데 서버1 쪽으로 세션을 할당한다. 서버1은 TCP SYN의 응답으로 TCP SYN ACK를 전달한다. 이 패킷은 서버1에서 시작하는 시퀀스 번호 200과 확인 번호(ACK number) 101을 갖는다. 그 다음으로 클라이언트 측에서 ACK를 보냄으로써 클라이어트단과 서버1단 사이에 하나의 TCP 세션이 형성된다. 그 다음으로 클라이언트 단에서는 특정 응용(application)에 대한 요청정보(request data)를 보내고 받음으로써 응용계층에서의 데이터 전송이 가능하게 된다. 이러한 특정 응용의 요청으로는 HTTP, FTP, 텔넷, 이메일 정보 등이 될 수 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.