STP Blocking port 선출 전체 과정

  1. Root-Bridge 선출
  2. Forwarding Port 설정 (Designated Port & Root Port)
  3. Blocking Port 설정 (Non-designated port)

 

1. Root-Bridge 선출하기

- Root-Bridge 선출시 우선순위

Bridge-ID 낮은 순서(Bridge-ID = Priority + VLAN + MAC)

: Priority + Vlan 번호 낮은 순서 MAC-Address 낮은 순서

 

- 선출과정

  1. 네트워크 상에 있는 스위치들은 스위치에서 만든 BPDU 서로 주고 받아 정보를 학습한다
  2. BPDU안에 담겨있는 B-ID 비교하여 가장 낮은 값을 가진 스위치가 루트 스위치로 선출된다
  3. B-ID 우선순위는 기본적으로 32768 설정되어있기 때문에 대개 MAC주소가 낮은 스위치가 선출되게 된다

 

2. Forwarding port & Blocking port 설정하기

- STP Port 종류

  1. Designated Port (D.P)

: Root Bridge BPDU 다른 스위치들에게 전달하기 위해 지정된 포트 (Forward)

Root-Bridge 모든 포트가 DP 설정이 되어 Forward 상태가 된다

하나의 세그먼트당 하나의 DP 설정할 있다는 규칙을 가진다

  1. Root Port (R.P)

: Root Bridge로부터 BPDU 수신하는 포트 (Forward)

쉽게 말해 Non-Root Bridge 에서 Root Bridge 가는 가장 좋은 길의 포트이다

Non-Root Bridge 하나의 RP 설정할 있다는 규칙을 가진다

  1. Nondesignated Port

: 논리적으로 통신을 하지 못하게 막아두는 포트 (Block)

Alternate Port 또는 Non-DP라고 부름. BPDU 수신은 하지만 Frame 주고 받지는 못한다

DP RP 설정할 없는 포트는 Nondesignated port로서 Blocking 상태가 된다

 

- 포트 선출시 우선순위

  1. 낮은 Cost (대역폭에 따라 산출됨 - 대역폭이 클수록 Cost 낮음)

            PVST+                  RSTP

    -------------------------------------------

      속도   Cost             속도       Cost

      10G      2                10G     2000

      1G        4                1G       20000

      100M    19              100M   200000

      10M     100             10M     2000000

 

  1. 낮은 Sender Bridge-ID
  2. 낮은 Sender Port-priority

 

 

3. Priority 조정으로 Root Bridge Port 설정 변경하기

 

 

시나리오 : SW1, SW2, SW3 위와 같은 구조로 서로 연결되어있고 SW1 Root Bridge 설정되어 있다

 

- Root Bridge 변경하기

문제 : SW3 Root Bridge 변경하려고 한다

  SW3(Config)#Spanning-tree vlan 1 Priority 4096의 배수

  예제에서 priority 직접 작성하고 싶을때는 4096 배수를 쓰고있다.

  시스코에서는 vlan별로 STP 사용하기위해 vlan번호를 넣은 Extended B-ID 사용하기 때문이다

 

문제 : SW3 Root Bridge, SW1 후순위 Root Bridge 설정하려고 한다

  SW3(Config)#Spanning-tree vlan 1 root primary

  SW1(Config)#Spanning-tree vlan 1 root secondary

  간단한 명령어로 priority 조정할 있는데 명령어가 위와 같다

  root primary 해당 스위치가 root 있도록 priority값을 낮춰주고

  root secondary 기본설정보다는 낮게 primary보다는 높게 설정하여 후순위로 만들어주는 명령어이다

 

- Block Port를 바꾸고 싶을 때

  Cost 값 변경 (Config-if)#Spanning-tree vlan 1 cost 10

  Port Priority 값 변경 (Config-if)#Spanning-tree port-priority 160

 

 

'Network > Switch' 카테고리의 다른 글

Inter VLAN Routing  (0) 2014.09.29
[Config] STP Convergence Time 조정  (1) 2014.09.25
BPDU 구조  (0) 2014.08.21
Switch의 Loop방지기술 - STP  (2) 2014.08.21
[Config] VLAN 설정  (0) 2014.03.04

 

Spanning-Tree Protocol

 

스위치 네트워크를 이중화 구성할 경우, 여러가지 장애가 발생할 있다.  

그러한 장애의 원인은 바로 이중화 구성 때문이다. 그럼 장애를 없애려면 어떻게 해야할까 

너무나도 간단한 이야기지만 이중화 구성이 아니면 된다… 

 

              

 

그럼.. 이미 구성해 이중화 링크를 한군데 뽑아버리느냐?? 그건 아니다.  

물리적으로 포트를 분리시키는 것이 아니라 논리적으로 하나의 포트를 일시적으로 막아서 사용하는 것이다.  

이렇게 논리적으로 하나의 포트를 막아서 루프를 방지하는 기술이 바로 Spanning-Tree Protocol이다. 

 

 

 

 

STP 동작과정 

 

 

STP 동작시키면 서로 연결된 여러 개의 스위치들은 그들 하나의 반장을 뽑는다.  

반장을 우리는 Root Bridge라고 부른다.  

그리고 하나의 Root Bridge 제외한 나머지 스위치들은 Non-Root Bridge라고 한다.  

 

 

<Root Bridge 선출 과정>

1. 한 네트워크 상에 있는 스위치들은 네트워크의 정보 스위치의 정보들이 담겨있는 프레임인 BPDU 서로 주고 받는다 

    BPDU : 네트워크의 정보와 스위치의 정보가 담긴 프레임이다.  

 

2. BPDU안에 담겨있는 Bridge-ID 비교하여 가장 낮은 Bridge-ID 가진 스위치가 Root Bridge 선출된다. 

    Bridge-ID = Bridge-Priority + MAC address 

 

 

<STP에서의 Port 종류>

Designated Port : Root Bridge에서 보내는 정보를 다른 스위치들에게 전달하기 위해 지정된 포트

Root Port : Root Bridge 가는 가장 좋은 길의 포트.

Nondesignated Port : Block 포트라고 해도 되며, 논리적으로 통신을 하지 못하게 막아두는 포트.

 

 

<Port 선출 과정>

Port 선정될 유의해 야 되는

- Root Bridge 가진 포트는 모두 Designated Port 된다.

- 하나의 세그먼트당 하나의 Designated Port 가진다.

- Non-Root Bridge 하나의 Root Port 가진다.

 

Port 선출 비교하는 기준

1. 낮은 Cost (대역폭에 따라 산출됨 - 대역폭이 클수록 Cost 낮음)

2. 낮은 Sender Bridge-ID

3. 낮은 Sender Port number

 

 

 

 

STP 상태변화

 

Disabled 

포트가 고장나서 사용할 없거나, 관리자가 수동으로 shutdown 시킨 상태

- 데이터전송 x , Mac주소학습 x , BPDU 전달 x

 

Blocking

스위치를 처음 키거나, Disabled 포트를 살린경우 Blocking상태로 들어간다. 상태에서 다른 스위치들과 BPDU 주고 받으며 Root Bridge 선정하고 포트를 설정하는 등의 작업이 일어난다.

- 데이터전송 x , Mac주소학습 x , BPDU 전달 o

 

Listening

Blocking 상태에서 모든 선정작업이 끝나게 되면 Listening 상태로 넘어가며, 상태는 15초간 지속된다. 새로운 장비가 접속하게 되면 다시 구성정보들이 변경되며 다시 Blocking으로 돌아간다.

- 데이터전송 x , Mac주소학습 x , BPDU 전달 o

 

Learning

Listening 15초가 지나면 Learning상태가 되는데, 상태에서는 맥주소의 학습을 하여 맥주소 테이블을 만든다. 상태는 15초간 지속된다.

- 데이터전송 x , Mac주소학습 o , BPDU 전달 o

 

Forwarding

스위치 포트가 Learning 상태에서 변동사항 없이 15초가 지나게 되면 Forwarding상태가 된다. 상태에서는 드디어 데이터전송이 가능해지게 된다.

- 데이터전송 o , Mac주소학습 o , BPDU 전달 o

 

           

Listening, Learning, Forwarding 상태에서 Root port 또는 D.P에서 탈락되게 되면 바로 Blocking 상태로 전환될 있다.  또한 스위치 포트가 어떤 상태에 있던지 관리자에 의해 shutdown 되거나 고장으로 인해 다운되면 Disabled 상태로 전환 된다. 

 

 

 

 

'Network > Switch' 카테고리의 다른 글

STP의 Blocking port 선출과정  (1) 2014.08.21
BPDU 구조  (0) 2014.08.21
[Config] VLAN 설정  (0) 2014.03.04
[Config] Switch 장비 기본 설정  (0) 2014.02.28
VTP (VLAN Trunking Protocol)  (1) 2014.02.26

VLAN 이란?

  

 

VLAN이란 Virtual LAN 을 줄인 말로, 논리적으로 나눈 스위치 네트워크를 말한다.

스위치를 이용하여 네트워크를 나누면 다음과 같은 장점이 있다.

 

논리적으로 네트워크를 구분하기 때문에 네트워크 구성이 유연하다.

라우터를 사용하여 물리적으로 네트워크를 구성하면 네트워크 디자인이나 구조를 변경하려고 , 설비를 다시 해야 된다는 단점이 있어 쉽게 바꾸지 못한다. 하지만 스위치를 이용하여 논리적으로 구분하면 네트워크의 구조를 유연하게 변경할 있다

 

VLAN을 사용하면 네트워크의 보안성이 강화된다.

서로 다른 VLAN에 속한 장비들은 라우터나 L3 스위치같은 레이어 3 장비를 통해야만 서로 통신이 가능하다. 장비들이 모두 동일한 VLAN에 속했을 경우 통신 내용을 훔쳐보는 것은 매우 쉽다. 하지만 장비들을 서로 다른 VLAN으로 구분했을 경우 라우터를 통해야만 통신이 이뤄지기 때문에 라우터에 다양한 보완정책을 적용해서 보안성을 강화시킬 수 있다.

 

VLAN을 사용하면 스위치 네트워크에서 load balancing이 가능하다.

VLAN을 사용하지 않으면 STP에 의해서 이중화 된 구간중 한 포트가 차단되고 결과적으로 하나의 경로로만 통신이 이뤄진다. 하지만 VLAN을 사용할 경우는 이중화된 구간의 경로별로 VLAN을 구분하면 load balancing이 가능하다.

기능을 PVST(Per VLAN Spanning-Tree) 라고 부른다.

, 이는 128 까지만 지원이 된다. (129번째 VLAN 부터는 STP 지원이 안됨)

 

 

 

VLAN Membership

<VLAN은 서로 번호(ID)로 구분한다>

VLAN Membership으로 사용가능한 VLAN 번호는 1 ~ 4094 이다.

1) 1 ~ 1005까지는 nomal(일반) VLAN 

- 1 ~ 1001까지가 이더넷에서 사용가능한 VLAN 번호

- 1002 ~ 1005는 토큰링과 FDDI용으로 사용.

2) 1006 ~ 4094까지는 extended(확장) VLAN

- 확장VLAN 3500 이상의 스위치에서 사용가능하다

 

<VLAN Membership 할당방식>

Static

 : 스위치 포트 마다 VLAN 할당하는 방법으로, 어떤 PC 꼽던 해당 포트에 할당된 VLAN 적용되어진다.

  일반적인 기업들이 가장 많이 사용하는 방식으로, 대부분의 스위치에서 Static하게 설정한다.

  Static 방식은 한번 스위치에 VLAN 할당하면 바뀌는 사용자에 따라 관리할 필요가 없다는 것이 장점이다.

 

Dynamic

 : VMPS (VLAN Membership Policy Server) 사용하여 VLAN 관리한다.

  미리 VLAN PC MAC주소를 매칭시켜 저장해두고, 스위치에 접근했을 MAC주소를 확인하여 VLAN 할당하는 방식.

  이동이 자주 일어나거나, 사무실이 분산되어 있는 환경에서 사용한다.

 

<VLAN Link Mode 설정>

Access Mode

 : 특정 VLAN 할당하여 해당 VLAN 관련된 정보만 받을 있도록 설정하는 모드이다.

  예를 들어보면, VLAN 10에서 내보낸 Broadcast 메시지는 VLAN 10 할당된 Access 포트만 받을 있다.

  주로 사용자 PC 연결된 포트를 Access 설정한다.

 

Trunk Mode

 : 스위치에서 설정된 여러 VLAN 함께 지나다닐 있도록 설정하는 모드이다.

  여러 VLAN 정보를 실어야 하므로 특정 VLAN으로 할당할 없고, 주로 스위치간 연결에서 설정된다.

 

 

 

VLAN Encapsulation

<Trunking 이란>

스위치의 하나의 인터페이스를 Trunk Link 설정하여 다수의 VLAN 전송할 있도록 하는 방식이다.

VLAN 별로 링크를 따로 만들어주면 너무 많은 케이블과 인터페이스가 필요하게 된다. 경우, 하나의 인터페이스를 여러 개의 VLAN 지나다닐 있도록 설정해주면 되는데, 이를 Trunking이라고 한다.

 

<Trunking Encapsulation 이란>

VLAN 스위치에서만 사용되는 것이 아니라 여러 스위치로 확장해서 사용할 있고, 각각의 스위치들이 메시지가 어떤 VLAN에서 보낸것인지를 확인하기 위해 Tag 붙여서 사용한다. 이렇게 VLAN 정보를 확인할 있도록 표시해주는 방식을 Trunking Encpasulation 이라고 한다.

 

IEEE 802.1Q

- 표준 프로토콜

- Native VLAN 사용 가능

- QoS 지원

- 4Byte 작은 크기의 Tag 사용하여 VLAN 표시

- 오리지널 프레임이 변형된다

 

ISL(Inter Switch Link)

- 시스코 전용 프로토콜

- Native VLAN 사용 불가능

- 헤더 26Byte, CRC(풋터) 4Byte 30Byte 인캡슐레이션

- 오리지널 프레임이 변형되지 않는다

 

 

'Network > Switch' 카테고리의 다른 글

[Config] VLAN 설정  (0) 2014.03.04
[Config] Switch 장비 기본 설정  (0) 2014.02.28
VTP (VLAN Trunking Protocol)  (1) 2014.02.26
Native VLAN 이란  (4) 2014.02.26
Switch 기본개요  (1) 2014.01.05

 

Switch 가진 3가지 기능

 

1. Learning Address

스위치로 들어오는 프레임의 출발지 주소를 학습하여 스위치마다 가지고 있는 Mac address Table 저장한다.  

정보 덕분에 특정 호스트로 전달되는 프레임을 정확한 포트로 전달해 있게 된다. 

 

2. Forward/Filter Frames

스위치가 가지고 있는 Mac address Table 있는 특정 목적지 주소로만 프레임을 전달해주는 것을 Forwarding,  

그와 동시에 다른 곳으로는 뿌려지지 않도록 막아주는 것을 Filtering이라고 한다. 

스위치는 목적지 주소를 확인하여 자신의 Mac Table 정보가 없거나 Broadcast 메시지인 경우, 모든 포트로 Frame 복사하여 전달하는데 이를 Flooding이라고 한다.

 

3. Loop Avoidance

스위치는 이중화 구성으로 인해 발생될 있는 Loop 자동적으로 방지할 있는 기능이 있다.  

기능을 우리는 뒤에서 STP라는 기술로 배우게 된다. 

 

 

 

Switch의 Frame 전달

 

스위치가 Frame 전달하는 방식은 가지가 있다.

 

Cut-Through : 목적지 주소만 확인하고 에러검출은 하지 않아 Switching 속도가 빠르다.

Store and Forward : Frame 모두 검사하여 에러가 있는지 확인하여 정상이라면 전달하고 에러가

있으면 Drop시킨다. 속도가 느려질 있으나 장비의 성능이 좋으면 문제가 되지 않는다.

Fragment-Free : 가장 에러가 많이 발생하는 구간인 64byte까지만 에러검출을 , 이상이 없는 경우

나머지 부분도 에러가 나지 않았을 가능성이 높다고 판단하고 Frame 전달한다.

 

  

 

Switch의 Mac주소 학습

 

스위치가 호스트에게서 전달받은 프레임을 데이터화 하여 헤더를 확인한다.  

헤더의 내용 중에 출발지의 주소를 자신이 프레임을 전달 받은 포트번호와 연동하여 Mac table 저장한다.  

저장된 정보는 300 동안 유지되고 이를 Aging time이라고 한다.  

 

다른 호스트가 보낸 프레임안에 목적지주소로 적힌 Mac주소가 Mac table 있는 경우, 해당 포트로 전달해주고 다른 포트로 전달되지 않도록 한다.  

그리고 목적지 주소로 사용되었던 정보의 Aging time 다시 300초로 리셋된다. 

 

 

 

Switch 충돌방지는 어떻게 일어나는가?

 

1. Mac-table 이용한 Forwarding

스위치로 들어온 데이터의 헤더를 확인하여 목적지 주소를 자신의 Mac-table 비교한다. 

목적지에 대한 정보가 있는경우, 해당 포트로만 전송하고 다른 포트로는 전송하지 않고, 그럴 경우 아래에 있는 그림과 같이 각각의 통신이 서로에게 영향을 미치지 않아 충돌이 발생하지 않는다.  

 

 

 

2. Buffer 이용한 데이터 충돌 방지

위의 경우는 각각 다른포트로 통신이 일어나고 있으니 충돌이 발생하지 않았지만, 만약 같은 목적지 포트로 서로 다른 포트에서 데이터를 보낸경우, 받고 있는 데이터와 새로 보낸 데이터가 충돌이 일어나게 된다스위치는 이런 상황을 어떻게 처리하는지 알아보자.

 

 

3 포트로 전송하려는 데이터가 2번에서도 들어오고 1번에서도 들어오는 경우,

먼저 전송된 2번포트의 데이터를 3 포트로 전달해주고 뒤늦게 들어온 1 포트의 데이터는 버퍼에 저장해둔다. 2번에서 전송된 데이터를 모두 받으면 버퍼에 저장되어 있던 데이터를 3번으로 전송하기 시작한다.

이처럼 스위치에서는 같은 포트로 여러 데이터가 전달될 경우에는 버퍼라는 저장공간을 이용하여 데이터의 충돌을 방지하고 있다.

 

'Network > Switch' 카테고리의 다른 글

[Config] VLAN 설정  (0) 2014.03.04
[Config] Switch 장비 기본 설정  (0) 2014.02.28
VTP (VLAN Trunking Protocol)  (1) 2014.02.26
Native VLAN 이란  (4) 2014.02.26
VLAN 개요  (1) 2014.02.25

+ Recent posts