[네트워크] Switch 통신(동일 네트워크 환경)

Hyo Kyun Lee·2021년 7월 23일
0

네트워크

목록 보기
6/20

1-1. Switch 개념

device 주소(MAC)을 기반으로 통신하는 대표적인 2계층 장비

physical 계층의 허브를 보완한 장비입니다.

즉 기존 시간제한이 있는 통신을 제한없이 할 수 있고, 불특정 수신사자가 아닌 포트별로 수신자를 분류하여 해당 domain에 대해서만 통신이 가능한 장비입니다.

스위치에 라우팅 기능이 추가될 경우 L3 스위치가 됩니다.

1-2. Switch 동작방식

스위치는 목적지 주소를 MAC테이블에서 확인하여, 연결된 포트를 통해 프레임을 전달합니다.

해당 목적지 주소가 MAC테이블에 없으면 Learning하여 해당 주소를 저장하는데, 이때 Flooding-Broadcasting(모든 포트에 프레임 송신) 이후 Forwarding을 통한 1:1 통신을 진행하게 됩니다.

기본적으로 여러 Collision Domain으로 구성되어, 출발지가 목적지가 같은 동일 네트워크 대역에서는 다른 네트워크로 프레임을 전달하지 않습니다.

이때 테이블에 저장된 주소들은 일정 시간 동안만 저장되는 Aging의 특징을 가지고 있습니다.

1-3. Looping issue

Broadcast storm

같은 네트워크 대역에서 스위치에 연결된 경로가 2개 이상일 때 발생하는 기약없는 데이터 전달 오류입니다.

PC가 브로드캐스팅 패킷을 스위치에 전달하였을 때, 이 패킷을 전달받은 스위치들은 테이블 매칭 및 1:1 통신을 위해 Flooding을 먼저 진행하게 됩니다.

이때 스위치들끼리 Flooding된 프레임을 전달하기만 하여, PC가 요청한 ARP Req에 대한 응답을 완료하지 못할 경우 발생하게 됩니다.

1-4. STP

Spanning Tree Protocol

이러한 looping 오류를 방지하기 위해 고안된 알고리즘으로 STP가 있습니다.

STP는 하나의 프로토콜이며, Bridge Id 등 스위치 우선순위를 설정(부여받은 숫자가 낮을 수록 우선순위가 높음)하여 해당 포트를 통해 데이터를 주고받는 규약입니다.

쉽게 말해 스위치 간 path cost, 더 효율적인 전송이 가능한 경로를 특정하여 데이터 통신을 진행하는 기술입니다.

이 경로를 특정하기 위해 switch 별 통신 프로토콜을 정립해줘야 하며, 그 구성정보로 Root BID, Path Cost, Bridge ID, Port ID 가 있습니다.

2. 동작예시

2-1. STP 통신과정

Root Bridge, Root Port, Designated Port의 선정

- Root Bridge 선출과정

네트워크 당 1개를 선정하며, 데이터 통신의 입문 역할을 수행하게 됩니다.

각 Switch가 보유한 고유의 BID에서, 2Byte(우선순위) + 6Byte(MAC주소)에 기재된 정보를 기반으로 Root Bridge가 선정됩니다.

선정을 위해 별도 제어 전용 데이터인 BPDU(Bridge Protocol Data Unit), 제어프레임이 송수신됩니다.

위 조건에서는 BID가 가장 낮은 Switch 1(.1111)이 Root Bridge로 선정 됩니다.

- Root Port 선출과정

나머지 Switch들에 대해 Root Bridge와 가장 빨리 연결할 수 있는 문, 즉 Root Port를 선정하게 됩니다.

path cost를 최소화할 수 있도록 각 Switch에서 Root Bridge까지 경로 및 소요시간을 모두 고려해야하며, 반드시 1개를 선정해야 합니다.

위 조건에서는 Switch 2 : 1Gbps > 100Mbps (4 + 19 = 23)이 가장 빠른 경로이므로 P1이 Root Port, Switch 3 : 100Mbps (19)이 유일한 경로이므로 P0가 Root Port로 선정 됩니다.

- Designated Port 선출과정

각 링크(세그먼트, 연결되어 있는 체계)별 Root Bridge와 가장 빠르게 연결할 수 있는 포트를 Designated Port로 설정하게 됩니다.

링크의 속도, 즉 path cost가 우선순위 기준입니다. Root Bridge의 포트는 무조건 Designated Port로 설정됩니다.

위 조건에서는 Switch 1 : P0, P1이 Designated Port로, 링크 중 가장 path cost가 낮은(빠른) Switch 2 - Switch 3 링크에서 Root port인 P1을 제외한 Switch3 쪽 P1 포트가 Designated Port로 선정 됩니다.

선정 후

2-2. Looping 상태 해결과정

위 구성을 선정 후, 상태변화 및 상태정보를 나타내는 명령어/신호가 통신됩니다.
이때 Switch 포트는 STP 상에서 5가지 상태로 표현할 수 있습니다.

- Disabled

포트 shut down을 하여 data 전송이 불가능한 상태입니다. MAC learning 및 BPDU 모두 통신이 불가능합니다.

- Blocking

시스템 부팅, Disabled를 활성화 하였을때의 상태(Up)로, 명령 제어 프레임인 BPDU만 가능한 상태입니다(1단계).

- listening

15초 간 Blocking 포트들이 RP / DP로 선정되는 단계입니다. MAC learning 전 단계입니다.

- learning

15초 간 본격적인 통신 전에, MAC 주소를 table에 저장하는 단계입니다.

Port들은 Running state이지만 BPDU만 통신을 할 수 있는 상태입니다.

- Forwarding

모든 RP 및 DP 설정이 완료되어 데이터 전송이 시작되는 단계입니다.

위와 같은 흐름으로, Loop 상태 구조에서 Root Bridge / RP / ND(Non-Designated)가 설정되며 → 이 상태에서 Forwarding 시 DP / RP를 제외한 ND는 blocking 상태로 되어 논리적으로 단일 흐름으로 데이터가 통신됩니다.

이에 따라 Looping은 발생하지 않습니다.

0개의 댓글