L2 Switching
1.1. Layer 2 Switching 이란
- Input 포트를 통해 들어온 frame을 목적지 MAC 주소를 기반으로 output 포트를 통해 전송하는 것
- Switching 장비 전체가 Broadcast Domain이 됨
L2 Switching의 주요 기능
- Address Learning
- Switch 장비가 각 포트에 연결되어 있는 장치들의 MAC 주소를 파악하는 것
- MAC Database를 통해 포트-MAC 주소의 mapping 정보 관리
- Forward / Filter decision
- MAC database를 참조하여 input frame의 목적지 MAC 주소가 있으면 해당 포트로 frame을 Forward 하고 없으면 Filtering
- Loop Avoidance
- 동일 데이터의 flooding 현상 방지
- Broadcast Storm 현상 방지
Address Learning
- 처음 장비가 설치되거나 부팅되는 시점에서는 MAC Table은 비어있는 상태
- Switch 장비에 연결되어 있는 장치들의 MAC 주소에 대한 정보가 없으므로 Frame에 대한 Forward/Filter Decision 기능을 수행할 수 없음
- Input Frame을 Switch의 모든 포트로 Flooding
- 어떤 포트를 통해 Frame이 스위치 장비로 들어오면 Frame의 Source MAC Address 정보를 읽어서 MAC Table에 Port - MAC Address 정보를 저장
- 여전히 목적지 MAC 주소를 갖는 장치가 연결되어 있는 포트 정보를 알지 못하기 대문에 Frame이 들어온 포트를 제외한 모든 포트로 Frame을 Flooding
- 위의 과정을 거쳐 모든 포트에 대한 MAC Table이 완성되면 Input Frame에 대한 Forward/Filter Decision 기능 수행
Forward/Filter Decision
- Switch 장비의 모든 포트에 대한 MAC Database가 완성되면 효과적인 트래픽 관리 가능
- Input Frame의 목적지 MAC 주소를 MAC Database에서 찾으면 해당 포트로 Frame을 전송
- Input Frame을 모든 포트로 Flooding할 경우와 비교할 때, Frame이 해당 목적지 포트로만 전송되므로 백플레인에 대한 효율적 활용이 가능
- 불필요한 트래픽 생성을 방지
Redundant Topology
- Switch 장비의 이중화를 통한 Redundant Topology를 통해 네트워크 안정성을 향상 시킬 수 있음
Redundant Topology의 문제점
- Switch 장비가 이중화되고, 그 경로가 이중화되면서 네트워크 내에 생성되는 Loop가 문제점을 야기
- Broadcast Storm
- Multiple Frame Copies
- MAC Address Table Instability
- 네트워크 경로상에 Loop가 존재할 경우, 논리적으로 Loop를 제거하여 네트워크를 안정화 해야함
Spanning-Tree Protocol
- 네트워크내에 존재하는 Loop를 논리적으로 제거
- One Root Bridge per Network, One Root Port per Nonroot Bridge
- Root Birdge의 선택 과정
- 가장 낮은 Bridge ID를 갖는 장비가 Root Bridge가 됨
- Bridge ID = Bridge Priority + Bridge MAC Address
- Key Issue == Time Convergence
- Spanning Tree에 대한 재구성이 필요한 경우, 새로운 Spanning Tree가 완성될 때까지의 시간
- Spanning Tree 재구성이 필요한 경우
- Network Topology가 변경된 경우 => 새로운 Root Bridge 선택 후 STP 재구성
- Spanning Tree 경로상에 장애가 발생한 경우 => Root Bridge를 중심으로 STP 재구성
- Root Bridge에 장애가 발생한 경우 => 새로운 Root Bridge 선택 후, 선택된 Root Bridge를 중심으로 STP 재구성
Frame 전송 방식
- Cut-through
- 입력 프레임의 목적지 MAC 주소를 확인한 후, 해당 포트로 즉시 전송
- 장점 : 빠른 전송 속도로, 지연 시간이 중요한 환경에 유리
- 단점 : 오류 검사가 없어 손상된 데이터가 전송될 위험이 있음
- Store-and-Forward
- 전체 프레임을 메모리에 저장한 후, 오류를 검사하고 오류가 없으면 해당 포트로 전송
- 장점 : 데이터 무결성을 보장하여 신뢰성이 높음
- 단점 : 지연 시간이 상대적으로 길어질 수 있음
- Fragment Free
- 프레임의 처음 64바이트를 검사하여 오류를 확인한 후 전송
- 장점 : 빠른 전송 속도와 오류 방지 기능을 모두 제공하여 중간 정도의 신뢰성과 성능을 제공
- 단점 : 전체 프레임을 검사하지 않기 때문에 일부 손상된 데이터가 전송될 수 있는 가능성이 존재
L3 Switching
Switching vs Routing
- Switching
- Layer 2 Internetworking Technology
- MAC 주소 기반의 Frame Forwarding
- Routing
- Layer 3 Internetworking Technology
- Network 주소 기반의 Packet Forwarding
- 목적지까지의 Forwarding Path 결정
Layer 3 Switching 이란?
- Layer 3 Switcing = Layer 2 Switching + Layer 3 Routing
- Switch 장비 플랫폼에 Routing 기능 부가
Layer 3 Switching의 장점
- 고성능의 라우팅 성능 지원
- 스위칭 속도와 비슷한 라우팅 성능 지원
- 높은 대역폰 지원으로 네트워크 bottleneck 제거
- 간편한 관리 기능 지원
- 설치, 구성 및 관리가 용이
- 기 구성되어 있는 LAN 네트워크 장비 및 프로토콜과 호환
- 저렴한 구축 비용
Layer 3 Switcing vs Routing
Layer 3 Switching의 구현 기법
- Packet-by-Packet Routing
- 모든 패킷에 대한 라우팅 프로세싱 수행
- 모든 패킷을 Network Address 기반으로 전송
- Flow-base routing
- 최초의 패킷에 대해 라우팅 프로세싱 수행 및 Network Address 기반으로 전송
- 첫 패킷 이후의 패킷들에 대해서는 더이상의 라우팅 프로세싱 없이 MAC 주소 기반으로 동일한 목적지로 Forwarding
L4 Switching
L4 Switching의 대표적인 두 가지 기능
- QoS(Quality of Service)의 구현
- 어플리케이션의 중요도에 따라 우선 순위 결정
- Layer 4 Switch는 TCP/UDP 헤더의 포트값을 인식하여 서비스 별로 분류가 가능함
- 예를 들면, 전자우편에 비해 화상회의에 더 많은 대역폭을 제공할 수 있게 됨
- 어플리케이션의 중요도에 따라 우선 순위 결정
- SLB(Server Load Balancing) 기능의 구현
- Layer 4 정보를 기반으로 한 Server Load Balancing 기능 지원
- Server Farm 환경에서는 SBL 기능이 필수
- 다수의 서버로 동일 기능을 구현하고, 이러한 기능별 서버 그룹을 여럿 보유한 상황에서는 다수개의 서버간의 부하 분산 기능을 구현하는 것이 필수적
- Layer 4 스위치는 Layer 4 (예를 들면, TCP or UDP) 계층 정보를 바탕으로 각 기능별 서버군을 선택하고, 서버군내의 다수의 서버 사이의 부하 분산 기능을 지원
- 부하 분산을 통해 네트워크의 안정성 및 서비스 품질 향상 도모
- 현재 네트워크의 일반적인 형태인 TCP/IP 네트워크를 기반으로 다양한 SLB 솔루션 등장
Server Load Balancing 구현 방식
- 부하 분산 방식
- Round Robin
- 모든 서버에 균일한 횟수로 접속
- 서버의 부하 상태 등에 대한 고려 없이 일률적으로 부하를 분산함으로써 효과적인 부하 분산을 기대하기 어려움
- Weighted Round Robin
- 서버마다 가중치를 설정
- 서버의 처리 용량이나 디스크, 메모리 용량, connection speed 등에 따라 가중치 부여
- 가중치가 큰 서버에 장애가 발생한 경우, 가중치가 큰 만큼 많은 사용자들이 connection 설정에 실패할 수 있음
- Least Connection
- 가장 적은 Session을 처리하고 있는 서버를 우선적으로 접속
- Session 수가 많은 것이 바로 많은 부하를 의미하는 것은 아님
- Round Robin
L7 Switching
Web Switching 이란?
- 현재 인터넷 데이터의 대부분이라 할 수 있는 웹 데이터에 대한 부하 분산 기능을 강화
- IP 주소나 TCP/UDP 포트값 뿐만 아니라 URL이나 Cookie 정보 등을 이용하여 웹 데이터에 대한 보다 효율적인 부하 분산 기능 수행
- 서버들에 대한 부하 분산 기능, Firewall Load Balancing뿐만 아니라 http session에 대한 persistent를 유지하는 기능 추가
- 전자상거래의 지불 시스템과 같이 보안적인 요소가 가미되고, 세션 중단이 치명적인 경우에 대비
- Web Switching에 필요적인 기능
- Cookie 및 SSL session ID 등의 정보 이용
- Layer 4 Switching보다 확장된 개념
Cookie와 SSL ID를 이용한 persistent 유지
- HTTP session은 TCP를 기반으로 통신이 이루어 지므로, 본격적인 데이터 교환이 이루어지기 전에 TCP connection 설정을 위한 작업 필요
- Web Switching 장비에서 사용자 단말의 TCP connection 설정 요구를 중간에 가로채서 목적지 서버로 TCP connection 설정을 요구하는 한편 사용자 단말로는 TCP connection이 설정되었음을 알리는 Acknowledge 메시지를 보냄
- Web Switching 장비가 중심이 되어 사용자 단말에서 서버간 HTTP session이 끊기지 않도록 관리