정보보안 스터디 - 4주차 2일 - STP 프로토콜
스타폴로지 구조에서는 장점이 한곳에서 장애가 생겼을 때 바로 문제없이 다른 포트를 이용하면 된다는 점이지만
단점은 스위치1이 주변 스위치에게 플러딩 방식으로 브로드캐스트 arp를 보낼 때 발생하게 됩니다.
여러곳에 보내고 주변 스위치가 또다시 응답을 보내면 시계, 반시계 방향으로 루프가 발생한다는 점입니다.
이렇게 루프가 발생하면 CPU 사용률이 100% 가 되고 과부하가 옵니다.
여기서 arp 요청/응답은 현재 스위치의 mac주소를 담아 다른 스위치 mac주소를 학습하기 위한 요청 메세지입니다.
arp를 주고 받으면 arp 테이블에 학습했던 내용이 담기게 됩니다.
원인은
이중화 링크와
플러딩인데
근본적으로 루프를 방지하기 위해서 자동으로 루프방지를 해주는 STP 프로토콜이 있습니다.
STP(Spanning-Tree Protocol)
STP(Spanning-Tree Protocol)
-IEEE 802.1d Spanning-Tree Protocol
BPDU 메세지를 이용하여 모니터링을 실시하여 장애 발생 및 복구를 주기적으로 감시합니다.
ip주소 설정을 굳이하지 않더라도 포트가 up되면 자동으로 루프방지 blockin을 해주는 기능입니다.
평상시에는 논리적으로 막아놓고 장애상황이 왔을 때 열자는 개념입니다.
STP 파라메터 값
포트를 Blocking 할때, 우선순위를 매기기 위해서 사용하는 값들입니다.
1) 브리지 아이디
우선 순위 기본값: 32768
스위치 식별자 : MAC주소형식
2) Cost
스위치간 메트릭 비용. 값이 짧을수록 빠르고 우선순위에 가깝습니다.
Ethernet 10M 100
FastEthernet 100M 19
GigaEthernet 1000M 4
10GigaEthernet 10000M 2
3) Port-ID
128.[포트 번호]
Ex) F0/24 -> 128.24
STP 포트 유형
Designated Port(DP) : BPDU 송신 포트
Root Port(RP) : BPDU 수신 포트
STP를 이용한 포트 Blocking 과정
1. 루트 브리지 선출
브리지 아이디의 우선순위가 가장 낮은 것
브리지 아이디의 MAC주소가 가장 낮은 것
2. DP/RP
스위치끼리 서로 BPDU를 주고 받으면서 우선순위를 비교를 합니다.
루트 브리지가 DP / 받는 포트가 RP로 지정됩니다.
3. Blocking 포트
cost 값이 낮고, 브리지아이디(우선순위,mac주소)가 낮고, 상대 포트아이디가 높은
스위치 포트가 DP밖에 안보내는 루트브리지가 되고
그 반대인 스위치의 포트가 blocking이 되며 논루트 브리지가 됩니다.
STP 타이머
- Hello 타이머 : BPDU 전송 주기, 기본값 2초
- Forward Delay 타이머 : 스위치 포트가 Forwarding 상태로 전환되는데 필요한 시간, 기본값 15초
- Max Age 타이머 : Blocking 포트로 새로운 BPDU를 수신하면, 기존의 BPDU랑 비교하는 시간, 기본값 20초
하지만 기존의 STP의 단점은 Forward Delay 지연시간이 너무 길다는 점입니다.
shutdown같이 장애가 발생한 상황에서 다음 대체 포트를 사용해야될텐데
포트를 사용하려면 Listen > Learning > Forwarding이 될 때까지 기다려야합니다. 총 30초를 기다려야 하고 실시간으로 상황이 왔다갔다하는 중요한 서비스에서는 30초라는 시간이 너무 클 것 입니다.
만약 SW2와 SW3 사이의 링크가 끊어졌다면 서로 통신안하던 링크가 DP > RP로 변해야하기 때문에
Max age 타이머까지 50초나 더 기다려야 하기 때문에 심각한 상황입니다.
이 부분을 해결하기 위해서 Rapid STP가 나왔고
spanning-tree mode rapid-pvst로 모드를 바꿔줍니다.
스위치끼리는 RSTP가 가능하지만
스위치-PC,라우터 장치끼리는 RSTP를 지원하지않고 그냥 STP입니다.
그렇기 때문에 나온게 pastport이며 일대일 링크인 장치간 사용됩니다.
무시하고 일대다 trunk 환경의 연결에서 사용할 경우 일시적으로 루프가 발생될 수 있습니다.
근데 일대일 이면서 연결이 trunk다~ 하는 경우에는 spanning-tree pastport trunk 를 붙여주면 됩니다.
RSTP 환경 구성
기본 설정 및 관리자용 IP설정
SW1
int vlan 1
ip address 192.168.100.1 255.255.255.0
no sh
ip default-gateway 192.168.100.254
SW2
int vlan 1
ip address 192.168.100.2 255.255.255.0
no sh
ip default-gateway 192.168.100.254
SW3
int vlan 1
ip address 192.168.100.2 255.255.255.0
no sh
ip default-gateway 192.168.100.254
trunk 연결
SW1
int range f0/20, f0/24
switchport trunk encapsulation dot1q
switchport mode trunk
SW2
int range f0/22, f0/24
switchport trunk encapsulation dot1q
switchport mode trunk
SW3
int range f0/20, f0/22
switchport trunk encapsulation dot1q
switchport mode trunk
vtp를 통한 vlan설정
SW1, SW2, SW3
vtp domain cisco
vtp password cisco
SW1
vlan 11
name vlan_11
vlan 12
name vlan_12
vlan 13
name vlan_13
vlan 14
name vlan_14
확인:
show vtp status
show vlan brief
vlan access로 연결 (포트옮기기)
SW1
int f0/1
switchport mode access
switchport access vlan 11
int f0/2
switchport mode access
switchport access vlan 12
SW3
int f0/1
switchport mode access
switchport access vlan 13
int f0/2
switchport mode access
switchport access vlan 14
inter-vlan 라우터 설정
R1
int f0/0
no sh
int f0/0.1
encapsulation dot1q 1
ip address 192.168.100.254 255.255.255.0
int f0/0.11
encapsulation dot1q 11
ip address 10.1.11.254 255.255.255.0
int f0/0.12
encapsulation dot1q 12
ip address 10.1.12.254 255.255.255.0
int f0/0.13
encapsulation dot1q 13
ip address 10.1.13.254 255.255.255.0
int f0/0.14
encapsulation dot1q 14
ip address 10.1.14.254 255.255.255.0
Pastport 설정
SW1 - PC
int f0/1
spanning-tree pastport
int f0/2
spanning-tree pastport
SW3 - PC
int f0/1
spanning-tree pastport
int f0/2
spanning-tree pastport
SW2 - R
int f0/10
spanning-tree pastport
RSTP 설정
SW1, SW2, SW3
spanning-tree mode rapid-pvst