스위치란?
네트워크를 공부하다 보면 Switch라는 말을 자주 보게 된다. 스위치란 말 그대로 스위칭을 해주는 것 우리 말로는 어떠한 전환을 해주는 것이라고 보면 된다. 그리고 이전에 배운 OSI 7 계층을 기준으로 스위칭이 일어나는 위치에 따라서 L2(layer2) L3(layer3) L4(layer4) L7(layer7) 스위치라고 부른다. 가격은 L2가 가장 저렴하고 L7이 비싸다.
이번 글에서는 각 계층별 스위치가 어떻게 작동하는지 무엇이 있는지 살펴 보도록 한다.
L2 스위치
2계층인 DataLink 계층에서 작동하는 네트워크 장치로 2계층의 PDU인 frame의 Mac address를 사용하여 장치 간 통신을 하는 스위치이다.
L2 스위치 작동원리
1. MAC 주소 테이블
저 수많은 포트에 LAN선이 꽂히면 L2 스위치의 MAC주소 테이블에 각 host의 MAC주소가 기록된다. 이때 MAC주소는 테이블 공간 확보 및 오래된 네트워크 정보를 제거 하고자 일정시간(보통 300초) 정도 유지한다.
2. 프레임 전달(Frame Forwarding)
MAC 주소 테이블을 보면서 PDU인 frame을 해당 포트에 전달한다. 1:1 연결이므로 Unicast forwading으로 볼수 있다.
3. 학습(Learning)
MAC주소는 영구적으로 기억되지 않는다. 그러므로 출발지의 MAC주소를 지속적으로 학습한다.
4. 플러딩(Flooding)
MAC주소는 영구적으로 기억되지 않는다. 그러므로 도착지의 MAC주소를 모르면 frame을 모든 포트로 보낸다. 이러한 방식을 Broadcasting이라고 한다.
5. 필터링(filtering)
불필요한 트래픽을 줄인다. 예를들어 동일한 포트로부터 온 frame은 동일한 포트로 전달하지 않는다.
L2 스위치의 주요 기능
VLAN(Virtual Local Area Network)
OS의 가상메모리처럼 특정 A,B,C 포트를 하나로 묶어 네트워크를 구성할 수 있다. 이렇게 하면 Broadcasting의 범위를 조정할 수 있어 효율적으로 네트워크를 사용 할 수 있다.
L3 스위치 Router
3계층인 네트워크 계층에서 작동하는 네트워크 장치다. 3계층의 PDU인 packet을 보고 더 자세히는 packet 안에 있는 ip 주소를 보면서 스위칭을 한다. 사실 예전에는 L3에서 스위칭을 하는 L3 스위치가 있고 Router가 따로 있었는데, 인터넷을 찾아보니 현대에는 이 두개의 유의미한 차이는 없다고 한다. L3 스위치 = Router라고 봐도 무방
Router의 작동 원리
패킷수신
네트워크 장치를 통해 packet을 수신하고 목적지 IP 주소를 확인 후 라우팅 테이블을 조회한다.
라우팅테이블 조회
라우터는 라우팅 테이블을 참조하여 패킷의 목적지 네트워크에 대한 최적 경로를 찾고 라우팅 테이블에는 목적지 네트워크, 넷마스크, 게이트웨이, 인터페이스 정보가 포함되어 있다.
라우팅 테이블은 라우팅 프로토콜에 따라서 저장된다.
라우팅테이블 예시
Destination Network | Netmask | Gateway | Interface | Metric |
---|---|---|---|---|
192.168.1.0 | 255.255.255.0 | 192.168.2.1 | eth0 | 1 |
10.0.0.0 | 255.0.0.0 | 10.1.1.1 | eth1 | 5 |
0.0.0.0 | 0.0.0.0 | 192.168.3.1 | eth2 | 10 |
경로선택
테이블을 보고 최적을 경로를 선택하고 해당 경로가 없으면 기본 경로(default route)를 사용하거나 ICMP "네트워크 도달 불가" 메시지를 반환한다.
패킷전달
선택된 경로를 따라 다음 라우터(next hop)으로 전달하고 이때 TTL(Time To Live) 값을 1 감소시킨다. 받은 라우터에서 TTL 값이 0이면 받은 packet을 드랍한다.
Router의 주요 기능
패킷 포워딩(Packet Forwarding)
라우팅 테이블을 참조하여 적절한 경로로 패킷을 전달한다.
라우팅(Routing)
라우팅 프로토콜을 사용하여 네트워크간 최적의 경로를 결정하고 라우팅 테이블을 업데이트 한다. 사실 이 부분이 L2 스위치와 차이가 있는 부분이라고 생각한다.
네트워크 분할(Segmentation)
L2 스위치처럼 네트워크를 분할 할 수 있다.
네트워크 주소 변환(NAT, Network Address Translation)
NAT 기능을 제공한다. 우리가 사용하는 공유기를 생각하면 쉽다. 즉 공유기도 어떻게 보면 L3 스위치의 한 종류라고 볼 수있다.
방화벽 기능
출발지의 ip를 볼 수가 있다라는 말은 그 ip을 차단 할 수 있다는 말이다. 특정 ip를 차단하거나 허용된 ip만 접근 할 수 있도록 한다.
VPN(Virtual Private Network)
VPN 기능을 제공하여 안전한 원격 통신을 제공한다.
내용이 많이 길어져서 다음 블로그 글에 L4, L7 스위치에 대해서 알아보도록하겠다.
라우팅 프로토콜은 다음 기회에 한번 더 공부를 해봐야겠다.
'CS > 네트워크' 카테고리의 다른 글
RESTful API에 대해서 (0) | 2024.07.18 |
---|---|
HTTP의 역사 (0) | 2024.07.15 |
L2, L3, L4, L7 스위치 feat. 스위치, 로드밸런싱 #2 (0) | 2024.07.15 |
주소창에 google.com을 입력한다면? feat. DNS (0) | 2024.07.15 |
OSI 7계층에서의 데이터 흐름 (0) | 2024.07.11 |