값지고 귀한 정보당~

 

 

 

출처 :

http://blog.n-nuri.com/category/?page=31

출처 : http://hubgo.com/


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

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

여기에서는 Layer 7 (L7) 스위치의 개념과 동작원리 및 활용 방법들을 소개합니다.
L7스위치는 그 기능 및 목적 시장이 대단히 다양합니다만, 기본적으로 콘텐츠를 인지하여 스위칭하는 장비로서 미션크리티컬한 응용 프로그램의(예를 들면, Pointcast, ERP Application, FTP, NFS, VoIP관련, 화상회의)관리 및 제어에 필요한 솔루션입니다. L7 스위치제품의 올바른 선택과 사용을 위해 보다 정확한 의미를 소개하도록 하겠습니다.



L7 스위치란 앞에서 언급하였듯이 콘텐츠를 인지하여 원하는 포트로 전달하는 스위치라고 말하곤 합니다. 하지만 “콘텐츠”와 “인지” 하는 말은 매우 광범위하고 애매모호한 기술용어이며 이 두 단어가 L7 스위치의 모든 기능을 내포한다고 보기는 어렵습니다. 혹자는 L4 스위치와 구별하여 OSI 7 참조모델을 참고하면서 L5-L7 layer의 packet의 데이타 영역을 분석하여 스위칭하는 장비라고 설명하기도 합니다. 이러한 설명은 매우 효율적이고, 적당한 설명이라고 생각합니다. 필자의 경험으로 L7 스위치를 한 문장으로 표현하는 것은 어렵습니다. 하지만 현재 상용되는 L7 스위치가 가져야 하는 기본 기능은 아래와 같습니다.
- TCP/UDP 헤더및 데이터(Payload)의 일부를 분석하고 분류합니다.
- HTTP URL 기반의 패킷 스위칭기능을 수행합니다.
- 세션별, 유저별, 혹은 응용별 QoS 정책을 지정할 수 있습니다.
- 응용프로그램 레벨의 로직구성이 가능합니다.

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

- L7 스위치는 Layer 7 계층을 위한 스위치입니다.
- L7 스위치란 URL-based 스위치입니다.
- L7 스위치는 모든 TCP/UDP port(0-65535) 에 대한 인지가 가능합니다.

L7 스위치는 L7계층만을 다루는 것은 아닙니다. 스위치로서 동작하기 위하여 기본적인 L2, L3 스위치 기능을 포함하고, 부분적으로 L4 스위치기능를 지원합니다. 엄밀히 말하면 현재 상용의 L7 스위치는 Layer 5의 세션 계층 스위칭 역활에 충실하였다고 말할 수 있고, 모든 application들의 세션을 분류할 수 있는 것은 아닙니다.

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

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



L7 스위치의 동작은 개념적으로 매우 단순할 수도 있습니다. 하지만, 그 내부의 패킷에 대한 분류 및 제어는 매우 난해하며 정교한 기술이라고 할 수 있습니다. 따라서, 세계적으로도 L7 스위치는 이미 성숙된 기술이 아니라, 지속적으로 개선되어지고 있는 기술이라고 할 수 있습니다.
일반적으로 클라이언트 단에서는 특정 응용(application)에 대한 요청정보(request data)를 보내고 받음으로써 응용계층에서의 데이터 전송이 가능하게 됩니다. 이러한 특정 응용의 요청으로는 HTTP 정보, FTP, telnet, email 정보등이 될 수 있습니다.

L7 스위칭기능은 이러한 특정 응용데이터에 따라 패킷의 경로와 서버의 할당을 결정하는 기능이라고 할 수 있습니다. 즉, TCP SYN 패킷을 검사하여 바로 서버로 할당하기 보다는 요청정보(request data)를 검사하여 서버로 할당하도록 해야 합니다. 이러한 콘텐츠 기반의 스위칭을 수행하기 위해서는 클라이언트와 서버단 사이에 TCP 세션을 형성을 잠시 보류할 필요가 있습니다.
L7 스위칭을 담당하는 장비는 클라이언트와의 TCP 세션을 잠시 보류시킨 상태에서 특정 요청정보가 전송되어 왔을 때, 이를 기반으로 서버쪽과 TCP 세션을 중계하는 역할을 담당하여야 합니다. 이러한 기능을 delayed binding 기능, tcp splicing 기능 혹은 tcp termination 기능이라고 부를 수 있습니다. Delayed binding 동작을 TCP 패킷의 흐름으로 표현하면 아래의 그림과 같습니다.

 
 

'web' 카테고리의 다른 글

L4 이야기  (0) 2007.09.29
L4 사용여부.  (0) 2007.09.29
L7 스위치 개념 및 동작원리  (0) 2007.09.29
L4스위치와 L7스위치의 차이점  (0) 2007.09.29
자바 - include 관련  (1) 2007.09.28
외부 컨텐츠를 가져오는 법  (0) 2007.09.28
Posted by 김용환 '김용환'

댓글을 달아 주세요