L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

Richet의 Tech Blog

네트워크

[네트워크] Switch란? (L2 ~ L7 Switch)

etloveguitar 2022. 5. 3. 21:48

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

Switch가 하는일은 경로 선택, 즉 Switching이다. Switching을 해주는 기기는 모두 Switch이기 때문에, 어떤 한 장치를 지칭하는 단어가 아니라는 점에 유의해야 한다. 대표적인 예로 Router는 기본적으로 IP Layer에서 스윗칭을 하는 기기다. 즉, 스위치는 라우터를 포함하는 개념이다. 이걸 왜 설명하지?라고 생각할 수 있겠지만 필자는 헷갈렸다..

네트워크를 도로로, 패킷을 자동차라고 생각했을 때, Switch는 교차로에 존재하고있다가, 그 교차로에서 routing table이라는 이정표를 보고 패킷이 가야할 경로로 switching해준다. 물론 이때 이 routing table을 적절한 알고리즘으로 계산하기 위해 자기들끼리 프로토콜을 가지고 최적화된 경로를 결정한다.

자 여기서 이제 스위치에 대해 알아야 할 용어들을 정리해보자

  • 스위치 : 교차로에 존재하면서, 스위칭을 하는 기기
  • 스위칭 : 경로를 선택하는 행위
  • 라우팅 테이블 : 스위치가 경로를 선택하기 위해 참고하는 이정표
  • 라우터 : L3스위치의 일종

정리하면 인터넷을 이루는 요소 중 가장 큰 역할을 하는 스위치인 라우터는 L3스위치의 일종이다. 그 외에도 다양한 종류의 스위치가 있으며, 본 글에서는 어떤 종류의 스위치가 있는지 다뤄보도록 하겠다.

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

다양한 종류의 switch들

이렇게 각 종류의 스위치들을 OSI 7계층에 따라 각각 다뤄보는 이유는 각 레벨에서의 스위치들이 다 위 사진처럼비슷하게 생겼는데, 하는 역할이 다르기 때문이다. 그리고 이 스위치들을 다룰 때 한 가지 주의할 점은 스위치의 상위 계층은 하위 계층의 기능을 모두 포함하고 있다는 점이다. 쉽게 말해 L4 스위치는 L1~L3 스위치들의 기능을 다 가지고 있다.

L1 스위치 : 허브, 더미허브

L1 스위치는 말 그대로 OSI Layer1 계층에서 작동하는 스위치를 의미한다. L1기능만 하는 스위치를 허브라고 부르는데, 인터페이스에 꽂혀있는 모든 기기들에게 자신에게 넘어온 데이터를 모두 전달한다.

L2 스위치 : 스위칭 허브

L2 스위치는 MAC주소를 기반으로 자신에게 연결된 기기들을 식별하여 프레임을 전달한다. L2스위치인 이유는 MAC주소가 OSI계층 중 2계층에 해당하기 때문이다.

L2 스위치는 ~프로토콜에 의해 동작하고, 해당 프로토콜의 동작 방식은 추후 다른 글에서 자세히 다뤄보도록 하겠다.

L3 스위치 : 라우터, 공유기

L3 스위치는 IP주소를 기반으로 자신에게 연결된 기기들을 식별하여 패킷을 전달한다. L3 스위치인 이유는 IP주소가 OSI계층 중 3계층에 해당하기 때문이다. L3스위치를 라우터라고 부르며, 앞서 말했듯 상위계층의 스위치는 하위 계층의 기능을 포함하기 때문이 라우터는 L2스위치의 기능을 포함하고 있다.

L4 스위치 : 로드밸런서

L4 스위치는 IP주소와 포트 번호를 기반으로 자신에게 연결된 서버들에게 요청을 전달하고, 서버 작업 결과를 대신 받아 클라이언트에게 전달한다. 흔히 L4 스위치를 로드밸런서라고 부르고, 부하를 분산해서 여러 서버들에게 전달하는 역할을 담당한다. 부하 분산 뿐만 아니라 한 서버에서 장애가 발생했을 때 Failover 기능(ACITVE-ACTIVE / ACTIVE-STANDBY)을 담당한다.

L4 스위치의 특징은 아래와 같다

1) 메시지의 content를 확인하지 않는다.

2) IP 주소와 Port번호만으로 패킷의 경로를 선택한다.

3) 로드밸런서의 NAT에 의해 src, dest IP주소가 변경된다.

L7 스위치 : 리버스 프록시, 보안스위치

L7스위치는 어플리케이션 영역의 스위치로, L4와 비슷하게 서버들의 로드밸런싱을 위해 사용된다. 하지만 L4 스위치와의 차이는 아래와 같다.

L4 스위치(L4 로드밸런서) : OSI 3 Layer의 IP주소와 4 Layer의 TCP/UDP포트 정보를 보고 스위칭

L7 스위치 (L7 로드밸런서): IP주소 + 포트번호 + L5~L7(Session, Presentation, Application) 패킷 payload까지 보고 스위칭 (예: HTTP/HTTPS헤더, payload정보, URL type, 쿠키 등)

쉽게 말해 L4 로드밸런서는 포트번호를 이용하여 트래픽을 분산처리한다면, L7 로드밸런서는 패킷에 적힌 URL, 쿠키정보 바이러스 패턴을 분석하는 등 더 정교한 로드밸런싱을 수행한다. 또한 L7 로드밸런서는 웹방화벽, UTM장비와 같은 보안스위치라고도 부른다.


자 이제 여러 종류의 스위치에 대해 다루어봤다. 여기까지는 정말 초초초초초 기본이고, 이제 각 스위치들이 어떤 기능을 하는지, 어떤 프로토콜로 동작하는지 등에 대해 탐구해 봐야한다. 

이번 글은 Intro정도로 생각하고, 추후 글들에서 스위치들의 세부 내용을 다뤄보도록 하겠다.

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

L2 Switch

- 패킷의 MAC주소를 읽어 스위칭 하며 데이터를 특정 포트로만 전송

- 브로드캐스팅에 의한 성능저하가 발생하는 단점이 있다.

Switch에 관한 공격 기법

대표적으로 Switch Jamming이 있다.

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

Switch Jamming이란 전파 방해를 의미한다. Switch가 공격을 받아 더미 Hub와 같이 동작하게 되는 것을 말한다.

즉, 스위치가 전달받은 패킷을 해당 MAC 주소로만 전달하는 기능이 방해 받아 모든 PC에 Broadcast 패킷을 전달하게 된다. 

기본적으로 Switch는 외부에서 전달 받은 Packet의 IP주소를 MAC 주소로 변경하여 해당 MAC 주소를 가진 단말기(PC, Server 등)로만 Packet을 전달한다. 이렇게 IP주소를 MAC 주소로 변경가능한 이유는 Switch에 IP주소와 MAC 주소를 매핑하는 매핑테이블(Mapping Table)이 존재하기 떄문이다. 

예를 들어 매핑 테이블의 공간이 10개이고 나의 PC, Server 등이 12개가 넘는다면 매핑 테이블의 공간이 부족할 것이다. 이런 경우는 매핑 테이블의 기능을 수행할 수 없다. 이럴 경우 Switch는 Broadcast신호를 날려 Hub처럼 동작한다.

즉, 통신 속도가 느려진다.

Switch는 가용성을 위해 고장안전(Fail Safe,Open) 정책을 사용하는데, 시스템 장애 발생 시 모든 기능을 허용한다는 뜻.

즉, Switch 매핑 테이블이 제 기능을 하지 못할 시 Broadcast 기능 수행

공격 시나리오 : 공격자가 만들어낸 임의의 ARP 패킷에서 Source Mac 주소를 위조 된 Source Mac 주소로 계속 변경하면서 지속적으로 네트워크로 흘려 보냄으로써 Switch의 Mac Address Table(매핑테이블)를 저장량보다 더 많은 테이블 정보가 쌓이면 오버플로우 현상이 일어난다. 그러면 Switch는 Fail Safe 정책으로 Hub처럼 Broadcast 통신을 한다. 그러면 Broadcast를 sniffing할 수 있는 환경이 만들어진다. 또한 신호가 느려진다.

[Hub란? 연결된 신호를 연결된 모든 포트의 노드에게 전달하는 중계 장치이다. 1계층 장비로 CSMA/CD를 사용한다. CSMA/CD는 먼저 보낸 신호가 먼저 도착하고 나머지 신호들은 대기하였따가 회선에 신호가 흐르지 않을 떄 보내게 되며 동시에 신호를 보낼 경우 충돌이 발생하여 신호를 재전송해주는 프로토콜이다.

즉, Collision Domain(충돌영역)을 나누지 모하고 한 PC가 Broadcast통신을 하면 Hub에 연결된 모든 PC, Server들은 Broadcast 패킷을 받게 된다. 그렇게 될 경우 Hub에 연결된 모든 네트워크에서는 충돌이 발생할 수도 있으며 속도가 저하된다. 장점은 1개의 인터넷 회선으로 여러 대의 PC, Server가 인터넷을 사용할 수 있다.(요즘은 거의 안 쓴다.)]

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu
Hub 생김새

Switch의 동작 방식

Learnig : 출발지 주소가 Mac Table에 없으면 Mac 주소와 포트 저장  - Mac Table과 관련

Flooding : 출발지 주소가 Mac Table에 없으면 전체 포트에 전달 - Broadcasting과 관련

Fowarding : 목적지 주소가 Mac Table에 있으면 목적지 포트로만 전달 - Unicasting과 과련

Filtering : 출발지가 목적지와 같은 세그먼트에 있는 경우에는 다시 세그먼트로 보내지 못하게 막음  - Collision Domain

(세그먼트 : 네트워크에서 Segment란 네트워크 케이블에 의해 만들어지는 Network Connection을 의미)

(도메인 :  Domain 단위로 네트워크를 나누게 되고 Collision은 전체 네트워크에서 발생하는 것이 아니라 Domain 단위에서 발생한다.)

Aging : Mac Table의 주소는 일정 시간이 지나면 삭제된다. -  Aging Timer와 관련

(일정 시간이후 Port 체크한다는 뜻)

Switch와 관련된 부가 기능 

VLAN(가상 랜) : 가상 랜 생성, 가상 랜 간 프레임 전송 구분 - 802.1q 관련

Link Aggregation(링크 애그리게이션) : 포트를 두 개 이상 묶어 대역폭과 가용성 증대 - 802.3ad 관련

Spanning Tree Protocol(스패닝 트리 프로토콜) : 2개 이상 스위치 연동 시 루프 구조 생성 차단(서로 자기들 끼리 계속 통신하는 걸 의미함. 무한 루프 백이라 생각하거나, 삼각형 꼭지점이 있으면 꼭지점 3개, 자기들끼리 계속 통신한다고 보면 된다.)

Port Mirroring(포트 미러링) : 특정 트래픽 분석 위해 트래픽을 다른 포트로 복사 - SPAN(Switch Port Analyzer)관련

Power over Ethernet(이더넷 전원 장치) : 포트에 전력을 인가하여 케이블 통해 AP등에 전송 - 802.af관련


VLAN

Virtual Local Area Network의 약자로 물리적 배치와 상관 없이 논리적으로 LAN을 구성할 수 있는 기술.

즉, 가상의 LAN 구역을 만드는 것

  장점

- Network를 세부화 시켜 과부하 감소

- 보안 강화(네트워크 그룹 설정 변경 및 이동 없이 VLAN 설정이 가능하므로 보안 유지)

- Network 구성 변경에 유연함(물리적 장비로 나눈것이 아니기 떄문에)

- Broadcast 도메인 분할

(VLAN은 서로 다른 네트워크 그룹이기 떄문에 브로드캐스트 패킷이 다른 VLAN으로 전송되지 않는다)

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu
VLAN10은 VLAN10안에서 통신한다.

- 비용 절감

VLAN 구성 방법 - Switch의 각 포트별로 VLAN을 할당하는 방법

예를 들어 1,2,3을 VLAN10에 4,5,6을 VLAN11에 각 각 설정하려면?

→ VLAN 장비 포트에 연결하면 자동으로 설정된다.

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

Trunk 

- 주로 스위치간을 연결할 때 사용

- 여러 개의 VLAN 프레임을 전송할 수 있는 링크

(= 각기 다른 VLAN이 데이터를 주고 받을수 있게 하는 라인 통로라고 생각하면 된다)

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

VLAN이 N개 일떄 스위치간 통로도 N개이다. Trunk는 VLAN이 N개 여도 하나의 통합 링크를 통해서 패킷을 보낸다.

어떤 VLAN에서 보낸 것인지 확인하기 위해 Trunk안에 Tagging을 넣어서 패킷을 보낸다. 

즉, Tagging은 자신의 VLAN정보를 Trunk에 넣는 것을 의미한다.

정리

- Trunk : VLAN간의 통신에 정보를 교환하기 위한 것

- Tagging : 해당 VLAN이 어디서 온 것인지 확인하기 위한 식별 정보 = Frame Tagging이라고 부른다.

Trunk의 필요성 

- Ethernet Switch Network의 확장성과 비용 절감을 위해 필요하다.

- VLAN ID는 같으나 물리적인 위치가 다른 VLAN 사이에 통신이 필요한 경우

- 여러 VLAN이 하나의 라우터와 하나의 물리 인터페이스를 공유 할 경우

- 여러 VLAN이 하나의 Server를 공유해야 할 경우

Trunk Protocol

- 802.1Q (표준)

- ISL(Cisco Protocol)


EtherChannel 

- 스위치간의 연결된 다수의 포트를 하나의 논리적인 포트(선으로)로 구성

예를 들어 3G 연결 통로와 3G 연결 통로가 존재하면 물리적 구성을 논리적으로 6G 통로로 만드는 것

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu
파란 색 처럼 선을 논리적으로 묶는 것

종류 

- LACP : IEEE(전자전기기술협회)에서 정의한 프로토콜 

- PAGP : Cisco Protocol


STP(Spanning Tree Protocol)

- 이더넷 프레임 장비들 사이에 Ethernet Frame Looping을 방지하기 위해 존재

루프가 발생하면 브로드캐스트, MAC 주소 불안정, 이중 프레임 수신 현상 발생

동작 방식

- 물리적으로 Loop 구조인 Network에서 특정 포트를 차단 상태로 바꾸어 놓아 논리적으로 Loop 발생을 방지

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

파란 색 화살표 형태로 무한 루프로 통신 되는 것을 중간에 논리적으로 끝는 것(빨강색)이다.

- Switch의 Port가 Down(신호가 끊기면) 차단 상태로 바꿔 놓은 특정 포트를 다시 전송 상태로 바꾸어 통신이 끊기지 않도록 해야 한다.

BPDU 설정 : STP에 의해 스위치간 서로 주고 받는 제어 프레임(어떤 Switch를 끊을지 선택할 때 참고하는 값들)

→ Root BID : 루트 브릿지에서 선출된 스위치 정보

→ Path Cost : 루트 브릿지까지 경로 비용

→ Bridge ID, Port ID : 나머지 스위치와 포트의 우선 순위

(우선 순위 : 낮은 숫자가 우선 순위를 가진다.)

TCN(Topology Change Notification) BPDU

→ 네트워크 내 구성 변경 시 통보

STP 상태 변화

- Disabled : 포트가 shut down인 상태로 데이터 전송 불가. MAC 학습 불가, BPDU 송수신 불가

- Blocking : 20초 후에 Listening 상태로 변경 부팅하거나, Disabled 상태를 Up 했을 때, 첫 번째 거치는 단계, BPDU만 송수신

- Listening : 15초 후에 Learnig 상태로 변경. Blocking 포트가 루트 또는 데지그네이티드 포트로 선정되는 단계 BPDU만 송수신

- Learnig : 15초 후에 Fowarding 상태로 변경. 리스닝 상태에서 특정 시간이 흐른 후 러닝 상태가 됨. MAC 학습 시작. BPDU만 송수신

- Forwarding : 러닝 상태에서 특정 시간이 흐른 뒤, 포워딩 상태가 됨. 데이터 전송 시작, BPUD 송수신

EX 1) Path Cost로 설정하는 방법(낮은 숫자가 우선 순위)

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

EX 2)

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

L3 Switching 

- Switch에서 이루어지는 라우팅(기본적으로 L2 Switch의 기능과 Layer 3 라우터 기능을 모두 갖춘 장비다)

- 기본적으로 서로 다른 VLAN ID 간에는 Router를 통하여 패킷을 전송하나 L3 Switch는 수신 된 Packet에서 L3에 해당하는 IP 정보 부분을 살펴보다 자신이 이미 알고 있는(캐싱되어 있는) 주소이면 Router를 통하지 않고 자신이 직접 하드웨어적으로 곧 바로 전송

즉, Packet Flow에서 첫 번쨰 Packet에 대하여 목적지 경로를 Router로 파악하고 이후 수신되는 Packet들은 자신이 Switch에서 직접 고속으로 포워딩 수행. 즉 캐싱 테이블이 있다.

주로 VLAN간에 연결통신을 제공한다.

그렇다면 Router와 L3 Switch의 차이는?

Router : Software 기반의 라우팅을 한다(CPU+Software) 

L3 Switch : Hardware 기반의 라우팅을 한다(ASIC chip : 특수(고객이 직접 특수 목적으로 주문) 목적 IC 칩)

최근에는 L3, Router의 차이가 거의 없다(기술의 발전으로)

L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu
Router vs L3 Switch
L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu
L2 vs L3
L2 스위치 다른 네트워크 - L2 seuwichi daleun neteuwokeu

HSRP(Host Standby Redundancy Protocol) :  Cisco전용 Gateway 이중화 프로토콜

- 하나의 네트워크에 여러 개의 Gateway를 사용 할 때 HSRP가 설정된 Active Router가 장애 발생 시 Standby Router가 Active Router로 동작하도록 구성하는 Protocol  (주 Routre: Active / 백업 Router: Standby)

VRRP가 표준(IBM)

Gateway 이중화란? 

- Host PC가 Default Router IP에 접속 못하는 상황을 대비하여 고안된 Protocol

즉, Host PC가 네트워크에 항상 접속하기 위해 만든 Protocol

순서(차례대로)

- 가상의 Router IP 할당

- 가상의 Router(각 각)에 우선순위 높은 Router가 Active가 되어 통신에 사용

- 나머지 Router는 Standby Router가 되어 Active Router를 주시하다 네트워크 문제가 생길 경우 Active Router가 된다.

HSRP기준 사용법

- L3 이상의 Switch에서 구성 가능

- UDP Port 1985 사용

- Hello mesage를 통하여 우선순위 설정

'인턴교육_엔큐리티(ncurity)' 카테고리의 다른 글

네트워크 기초 교육 - 4주차(UDP, TCP , 3Way Handshake, SLB)  (0) 2021.06.24
네트워크 기초 교육 - 3주차(Router동작, Router Protocol, NAT, DHCP )  (0) 2021.06.23
기초 직무 교육 - 2일차(재직증명서, 휴가 신청서, 메일작성법, 동영상 요약 등)  (0) 2021.06.16
기초 직무 교육 - 1일차(사내 인사, 오피스 투어, 기초 소양 교육)  (0) 2021.06.15
네트워크 기초 교육 - 1주차(네트워크, OSI 7 Layer, Frame, IP 프로토콜, Packet, CIDR(Subnet Mask))  (0) 2021.06.15