본문 바로가기

IT 살이/04. 기술 - 인프라

네트워킹 장비 - 02. L2, L3, L4, L7 스위치

2015/10/27 - [01. 기술 - 인프라] - 네트워킹 장비 - 01. 허브, 스위치, 라우터

2015/10/27 - [01. 기술 - 인프라] - 네트워킹 장비 - 02. L2, L3, L4, L7 스위치

2015/10/27 - [01. 기술 - 인프라] - 네트워킹 장비 - 03. 백본 스위치

2015/10/28 - [01. 기술 - 인프라] - 네트워킹 기본 - 04. L4, L7 로드 밸런싱

2015/10/28 - [01. 기술 - 인프라] - 네트워킹 기본 - 05. LAN, WAN, VLAN

2015/11/05 - [01. 기술 - 인프라] - 네트워킹 기본 - 06. 프로토콜 개념

2015/11/08 - [01. 기술 - 인프라] - 네트워킹 기본 - 07. TCP/IP 4 계층 모델

2015/11/08 - [01. 기술 - 인프라] - 네트워킹 기본 - 08. 어플리케이션 계층 프로토콜 HTTP

2015/11/24 - [01. 기술 - 인프라] - 네트워킹 기본 - 09. TCP, IP, Ethernet 프로토콜 그리고 통신




스위치란 말을 많이 듣는다. L2, L3, L4, L7 스위치. "L"이 네트워크 OSI 레이어(Layer)를 말하는 것은 알겠는데 레이어와 무슨 관계가 있다는 것일까? 정확히 정리 좀 해 보자.


스위치는 "들어오는 패킷"을 스위칭하는 장비이다. 따라서 OSI 레이어에서 패킷이 "아래에서 위로 올라가는 과정"을 상상하면 편하다. 패킷이 아래에서 위로 올라오는 것을 그려보면, 해당 레이어에서 패킷으로부터 어떤 종류의 정보를 알 수 있는지 알게 된다. 

네트워크 카드로 들어오는 패킷의 구조는 다음과 같다( 왼쪽에서 오른쪽으로 이동한다고 상상하자).


구분 

7계층(Application) 

 4계층(전송계층)

 3계층(네트워크)

 2계층(데이터링크)

 프로토콜

 Application Protocol

 TCP/UDP

 IP

Ethernet 

 패킷구조

 최초 Payload

 DST PORT | SRC PORT

DST IP | SRC IP 

 SRC MAC | DST MAC


L2, L3 등은 OSI의 7 레이어 중 어떤 레이어에서 수행되는가에 따라 정의된 분류이다.각 레이어별로 얻을 수 있는 정보가 달라지고, 해당 정보를 이용해서 제공할 수 있는 기능 및 서비스도 달라지게 된다. 


■ L1 스위치 = 허브


L1 레이어에서 패킷으로부터 받을 수 있는 정보는 없다. 

받은 패킷은 연결된 모든 디바이스로 전달


■ L2 스위치 = 허브 +  α기능


 L2 레이어의 패킷으로부터 얻을 수 있는 정보 : 목적지 MAC 주소(Ethernet 주소)

α기능 

  • L2 스위치에는 연결된 디바이스들에 대한 MAC주소 테이블을 가지고 있다.
  • 패킷이 들어오면 그것의 목적지가 어디인지를 보고 그 목적지로 보내주는 역할만을 한다. 말 그대로 "스위치"일 뿐이다. 
  • 즉 L2 스위치는 들어오는 패킷의 MAC 주소와 연결된 디바이스들의 MAC 테이블을 비교해서 패킷을 해당 디바이스가 연결된 포트로 보내줄 뿐이다. 
  • 기본 스위치. 그냥 스위치라고 하면 L2 스위치를 말한다.
  • L2 즉 데이터 링크 레이어에서는 이더넷, 프레임릴레이, ATM같은 프로토콜을 사용하는데 L2 스위치는 이런 프로토콜들을 인식할 수 있다.          

■ L3 스위치 = L2 스위치 + α기능


 L3 레이어의 패킷으로부터 얻을 수 있는 정보 : 목적지 IP 주소

α기능 

  • 레이어 3( 네트워크 계층)에서 담당하는 프로토콜 IP와 관련된 기능
  • L3 레이어에서는 패킷에 포함된 IP를 이용할 수 있는데, 목적지 주소 즉 IP 주소를 참조하여 스위칭하는 장비
  • IP를 이용하면 로컬 네트워크와 외부 네트워크를 구분할 수 있다. 
  • 자신에게 온 패킷의 목적지 주소 IP를 통해서 내부 네트워크의 특정 디바이스로 보낼지 아니면 외부에 연결된 라우터로 보낼지를 인식할 수 있다. 

 L4 스위치 


 L4 레이어의 패킷에서 얻을 수 있는 정보 : IP정보, 포트 정보


L4 레이어는 패킷의 분할(segmentation)하고 받는쪽에서는 재조립(reassembly)를 하게 되는데, L3 네트워크 계층에서는 분할된 "개별적인 패킷"이 종단-대-종단 전달되도록 책임을 갖는 반면, L4 전송 계층은 "전체 메시지"의 종단-대-종단 전달 책임을 갖는다(end-to-end message delivery). L4 스위치에서는 소스의 IP, 목적지의 포트 정보를 이용해서 패킷을 분류하고 원하는 서버나 장비로 전송할 수 있는 능력을 가지고 있다. 이런 능력을 이용하면 소위 "로드 밸런싱" 구조를 만들 수 있다. 

상대편 노드가 어떤 상황이 되더라도 심지어는 상대 노드가 다운되더라도 "전체 메시지가 전달되도록 하는 책임"을 구현하려고 한다. 어디서 많이 들어본 시나리오 아닌가? 로드 밸런싱 구조이다. L4 스위치는 소스 IP와 목적지 포트를 이용해서 로드 밸런싱을 구현할 수 있다. 로드 밸런싱 구조는 L7 스위치로도 가능하다. 


■ L7 스위치


 L7 어플리케이션의 데이터에서 얻을 수 있는 정보 : IP,포트 정보, URL 정보, 쿠키, 페이로드 정보 등.


L7 스위치는 어플리케이션 레이어에서 얻을 수 있는 모든 정보를 바탕으로 로드 밸런싱을 구현할 수 있다. 예를 들어 HTTP 요청의 URL이 .asp로 끝나면 메인 웹 서버로 보내고, .jpg로 끝나면 이미지 서버로 보낼 수 있다.

로드 밸런싱뿐만 아니라 L7 스위치를 이용하면 패킷의 데이터까지 볼 수 있는 능력을 이용해서 보안을 향상시킬 수 있는 중요한 기능을 구현할 수 있다. 쉽게 말하면(그럴 능력밖에 안된다), 폭탄을 가지고 있는 데이터인지 아닌지까지 확인할 수 있는 능력을 가지고 있다는 것이다. 


 L4와 L7 로드밸런싱 비교


L4, L7 스위치를 비교하면 로드 밸런싱이라는 기능과 역할은 동일하나 패킷을 분석하는 인텔리전스가 다르다. 인텔리전스가 어떻게 다른지 즉 어떻게 로드 밸런싱을 구현하는지에 대한 자세한 내용은 아래 링크를 참조한다.

L4/L7 스위치 개요 (로드밸런서)


■ 라우터와 L3스위치 비교


라우팅(Routing)과 포워딩(Forwarding)이라는 개념이 있다. 인터넷같은 네트워크에서는 출발지부터 목적지까지 패킷을 보낼 수 있는 경로는 무수히 많다. 거쳐서 갈 수 있는 라우터의 갯수가 많다는 얘기다. 이렇게 많은 경로중에서 비용이 가장 적게 드는(가장 빨리 전송하 수 있는) 한 경로를 선택하는 것이 라우팅 알고리즘이다. 이렇게 라우팅 알고리즘을 이용해서 라우팅 테이블 및 최선의 경로를 결정하는 것을 라우팅(Routing)이라고 하고, 그 결정된 경로에 대한 정보를 저장해둔 테이블을 포워딩 테이블(Forwarding Table)이다. 라우팅 테이블(Routing table)도 있다. 라우팅 테이블, 포워딩 테이블에는 뭐가 있는지 아래 페이지를 참조한다. Routing Table, Forwarding Table.

전통적으로 스위치는 MAC주소를 이용해서 L2레이어에서 스위칭하고, 라우터는 IP 주소를 이용해서 L3 레이어에서  스위칭하는 것을 말했다. 

라우터의 이런 기능은 대부분 소프트웨어적으로 구현되어 있다. MAC의 경우는 보통 단순하지만 IP는 복잡해서 하드웨어로 구현하기가 까다롭기때문이다. 그런데, 하드웨어 기술이 나날이 발전하고 그러다 보니 하드웨어적으로 IP를 분석해서 경로를 결정해서 포워딩할 수 있게 되었다. 즉 하드웨어적으로 라우팅 & 포워딩하는 제품이 L3 스위치이다. 

라우터를 통한 라우팅은 소프트웨어를 이용하기 때문에 하드웨어를 통해서 IP헤더를 분석하는 L3 스위치에 비해서 속도가 느리다. 

L3 스위치는 포트로 패킷이 들어오면 먼저 IP 헤더를 분석하여 자신이 알고 있는 목적지 주소라면 라우팅을 통하지 않고 직접 전송하고 자신이 알지 못하는 IP 주소이면 라이팅을 통해서 목적지 포트를 알아낸다. 그 후 스위치는 이 정보를 캐시에 기록하여 같은 IP{ 주소를 가진 패킷을 수신하면 자신이 직접 빠른 속도로 전송한다. 

결론은 L3 스위치는 하드웨어를 이용해서 고속으로 패킷을 포워딩하는 라우터라고 볼 수 있겠다. 


■ 아이콘



 

L2 스위치(워킹그룹스위치)

 

L3 스위치

 

라우터

 

로드 밸런서(L4, L7)


아이콘 모양은 고정되 것은 아니다.  업체에서 제공하는 아이콘, 설계 툴에서 제공하는 아이콘 등이 다를 수 있다. 그러나 최대한 직관성을 갖추려 노력한다. 화살표는 패킷이 들어오고 나가는 것을 나타낸다고 했을때 그림을 보면 각 스위치의 기능과 의미가 아이콘으로 느껴지는 것 같기도 하다. 


 스위치 정리


L1 스위치 - 허브 - flooding

L2 스위치 - MAC이용한 스위칭

L3 스위치 - IP이용한 스위칭, 라우팅& 포워딩

L4 스위치 - 로드 밸런싱(포트 번호 이용)

L7 스위치 - 로드 밸런싱, 보안 기능( 트래픽 필터,VPN )


상위 레벨에서 동작하는 스위치는 하위 레벨 스위치의 기능을 가지고 있다. 예를 들어 L4 스위치는 L3, L2 스위치의 기능도 수행할 수 있다.


참조 : 

L2, L3, L4, L7 스위치란 무엇인가

Forwarding과 Routing