스패닝 트리 프로토콜
- 브릿지 ID와 Path Cost
- 브릿지 ID = 브릿지 Priority(2바이트) + 맥 어드레스(6바이트)
-
- 브릿지 Priority 범위: 0~65535
- 브릿지 Priority Default: 32768
- Path Cost: 브릿지/스위치가 얼마나 빠른 링크로 연결 되어있는지 알아내기 위한 값
- IEEE 802.1D에서 1000Mbs를 둘 사이 대역폭으로 나눈 값을 사용
- Ex) 100Mbps면 1000/100=10이 Path Cost
-
- 기억할 3가지
n 네트워크 당 루트 브릿지는 1개
n 논 루트 브릿지는 하나씩 루트 포트를 갖는다
n 세그먼트당 하나씩 데지그네이티드 포트를 갖는다
- 루트 브릿지: 스패닝 트리 프로토콜의 기준이 되는 스위치
- 루트 포트: 루트 브릿지에 가장 빨리 가는 포트
- 데지그네이티드 포트: 링크에 반드시 하나의 데지그네이티드 포트
- 위를 선정하는 총 4단계
n 1단계: 누가 더 작은 루트 브릿지 아이디를 갖는가?
n 2단계: 루트 브릿지까지 Path Cost가 누가 더 작은가?
n 3단계: 누구의 BID(Sender BID)가 더 작은가?
n 4단계: 누구의 PortID가 더 낮은가?
- BPDU(Bridge Protocol Data Unit): 스패닝 트리 정보를 스위치 끼리 주고 받기 위한 프레임 => Root BID, Path Cost, Sender BID, Port ID
스패닝 트리 프로토콜 단계
- 루트 브리지 뽑기: 가장 작은 BID를 갖는 스위치로 선정
n B와 C가 부팅 후 각자 루트 브릿지로 하여 BPDU 전송
n 둘 다 BID 비교하여 낮은 것을 루트 브릿지로 선정(B)
n C는 루트 브릿지 BID를 스위치 B로 바꿈
n A가 부팅을 시작
n A는 자신의 BPDU를 B와 C에 전송
n 비교하여 A가 더 낮으므로 A를 루트 브릿지로 선정
n B C 모두 A의 루트 브릿지BID로 바꿈
n 스위치 C를 만약에 루트로? => A보다 BID를 낮게 만듬
n #spanning-tree vlan 1 priority 100 => show spanning-tree
- 루트 포트 뽑기: 루트 브릿지에 가장 가까운 포트로 선정
n 루트 브릿지로의 Path Cost를 계산하여 낮은 포트를 루트포트로 선정
- 데지그네이티드 포트 뽑기: 세그먼트 당 하나의 데지그네이티드 포트
n 우선 루트 포트를 제외하고 루트 브리지까지의 Path Cost가 작은 것으로 선정
n 보통 루트 브릿지의 모든 포트가 데지그네이티드 포트
n 세그먼트 3에서 Path Cost가 만약 동일 하다면 힘겨루기 4단계 시행
u 1단계는 모두 동일하므로 무효
u 2단계는 모두 동일하므로 무효
u 3단계는 SenderBID가 낮은 것을 택하므로 B가 더 낮다. B를 데지그네이티드로
- 나머지 남은 포트는 ND로 선정(Non 데지그네이티드 포트) => 블록킹 됨
스패닝 트리 프로토콜 상태변화 5가지
- Disabled: 포트가 고장나거나 일부러 Shutdown한 상태
n Data 전송 x, 맥어드레스 배우지 x, BPDU 전송 x
- Blocking: 스위치 켜거나 Disabled를 살릴 때
n Data 전송 x, 맥어드레스 배우지 x, BPDU 전송 O
- Listening: Blocking 상태에서 루트 포트나 데지그네이티드 포트로 뽑힐 때
n Data 전송 x, 맥어드레스 배우지 x, BPDU 전송 O
- Learning: 리스닝 상태에서 포워딩 딜레이 15초 동안 상태 유지 후 러닝
n Data 전송 x, 맥어드레스 배움 O, BPDU 전송 O
- Forwarding: 러닝 상태에서 포워딩 딜레이 15초 동안 상태 유지 후 포워딩 block->forwarding은 총 30초 소요
n Data 전송 O, 맥어드레스를 배움 O, BPDU 전송 O
-
Hello Time: 루트 브리지가 Hello BPDU를 보내는 시간간격(2초)
Max Age: 루트 브리지로부터 Hello 패킷을 받지 못하면 Max Age 동안 기다린 후 구조 변경(20초)
Forwarding Delay: 블로킹 상태에서 포워딩 상태로 넘어 갈 때 까지 시간(포워딩 딜레이의 2배)
만약 스위치 C가 Hello 패킷을 받지 못하고 Max Age(20초)동안 기다린 후 그래도 들어오지 않는다면 스패닝 트리 구조를 변경하기 시작.
스위치 B는 hello 패킷을 루트 브릿지로부터 계속 받기 때문에 B의 데지그네이티드 포트로 뿌린다. C는 이것을 받는다.(블로킹 상태더라도 BPDU는 받을 수 있다.) 스위치 C는 블로킹 포트를 루트 포트로 선정한다. 이 포트는 (리스닝 -> 러닝-> 포워딩 30초) 포워딩으로 변하고 원래 루트 포트는 블로킹상태로 들어감 => 총 50초 이를 해결 => RSTP
Catalyst 2960-48PST-L
- 48포트
- P(Power over Ethernet): 이더넷 케이블에 데이터 뿐 아니라 전원도 실어서 보냄
- S: SFP, 광케이블 접속 방식 1Gbps 지원
- T: UTP 방식
Catalyst 2960-24PC-L
- 24포트
- P(Power over Ethernet): 이더넷 케이블에 데이터 뿐 아니라 전원도 실어서 보냄
- C: dual Purpose uplink, SFP2포트, 10/100/1000 base T 2포트를 가지고 2방식 선택
LED 책 참고
포트 현재 상태 명령어
enable -> show interface status
Ip 주소 설정 및 확인
Switch# Configure terminal
Switch(config) # interface vlan 1
Switch(config-if)# ip address 192.168.1.100 255.255.255.0
Switch(config-if)# exit
Switch(config)# exit
Switch#
Switch# show interface vlan 1
디폴트 게이트웨이 구성
Switch# Configure terminal
Switch(config)# ip default-gateway 192.168.1.1
포트 속도와 Duplex 설정
Switch# Configure terminal
Switch(config)# interface fastethernet 0/1
Switch(config-if)#speed ?
Switch(config-if)#speed 10
Switch(config-if)#duplex ?
Switch(config-if)#duplex half
맥 어드레스 저장 방식
- Dynamic 방식: 학습을 통해 자동으로 저장하는 방법, 300초 후 사용하지 않으면 삭제
- Permanent 방식: 맥어드레스 테이블에 영구히 저장하는 방식 수동설정(learning을 안함 메모리낭비)
맥어드레스 테이블 확인
Switch# show mac-address-table
Static Mac Address 설정
Switch(config)# mac-address-table static mac-addr vlan vlan-id interface interface-id
Switch(config)# mac-address-table static aaaa.aaaa.aaaa vlan 1 interface fastethernet 0/24
mac address aaaa.aaaa.aaaa가 vlan 1을 통하여 들어왔을 때 목적지 인터페이스로 f 0/24로
내보내라는 것을 static로 설정함
VLAN
- 하나의 스위치를 여러 대 분리된 스위치처럼 사용하여 여러 개 네트워크 장비 정보를 하나의 포트로 전송하는 방식
- 브로드캐스트 도메인을 나누어줌
VLAN 꼭 기억해야 할 몇가지
- VLAN은 스위치에서 지원
- VLAN은 한 대의 스위치를 여러 네트워크로 나누어 사용
- 브로드캐스트 도메인을 나눔
- 스위치 내 VLAN 간 통신은 라우터를 통해서만 가능
하나의 포트를 통해 여러 VLAN을 전송 하도록 하는 포트: 트렁크 포트
트렁킹: 여러 vlan 정보를 함께 보내는 방식. 이를 위해 인식자가 필요
트렁킹을 위한 인식자별 트렁킹 프로토콜
- ISL 트렁킹: 시스코 방식(스위치와 스위치, 링크/스위치와 라우터 간 링크에서 여러 vlan정보를 함께 전달하는 방식)
- IEEE802.1Q: 표준
n Native Vlan: VLAN 정보를 붙이지 않고 보내는 VLAN
VTP
- 스위치 들간에 VLAN 정보를 서로 주고받아 스위치들이 가지고 있는 정보들을 일치시켜주는 프로토콜
- VTP가 없다면 VLAN 추가할 때 모든 스위치의 VLAN 정보 변경 실시
- VTP가 있다면 자동으로 업데이트
VTP간 메시지
- Summary Advertisement: VTP 서버가 연결된 스위치들에게 5분마다 한번씩 보내는 메시지로 Revision Number를 보낸다. 이를 통해 최신 버전인지 아닌지 인식 VLAN 구성 변화시에도 5분이 아닌 즉시 전달
- Subset Advertisement: VLAN 구성 변경이거나 클라이언트로부터 Advertisement Request를 받았을 때 전송. 실제 VLAN 정보가 들어있다.
- Advertisement Request: 클라이언트가 VTP 서버에게 위 두 메시지를 요청하는 용도 Revision Number가 작거나 Subset Advertisement를 잃거나 스위치 리셋 됐을 때
VTP 3가지 모드
- VTP 서버 모드: VLAN 생성 삭제 이름 변경이 가능하고 나머지 스위치들에게 Configuration Revision Number와 VTP 도메인 이름, VLAN 구성을 전달 NVRAM(지워지지않음)
- VTP 클라이언트 모드: VLAN 정보를 받고 전달만 가능
- VTP 트랜스페어런트 모드: 자신 VLAN 업데이트 정보를 다른 스위치에게 알리지않고 단지 받은 VLAN 정보를 전달해주는 역할만 함. 한마디로 투명인간...
252 참고
VTP Pruning
- 트렁크를 이동하는 트래픽 중 갈 필요 없는 트렁크쪽으로 흘러가는 것을 막는 것
VLAN 구성하는 방법
- 1단계: VTP 도메인과 VTP 모드를 설정
n Enable
n Config t
n Vtp domain KPU
n Vtp mode server
n 나가서 sh vtp status
- 2단계: 트렁크 포트 설정(Fa 0/1로 트렁크 설정)
n Config t
n Int f 0/1
n Switchport mode trunk(해제 no switchport mode trunk)
n 나가서 sh int f 0/1 switchport
- 3단계: VLAN을 생성하고 VLAN에 포트를 배정
n Config – VLAN 모드
n Cofing t
n vlan 3
n name computer3
n int f 0/1(트렁크포트)
n switchport access vlan 3
n VLAN-CONFIGURATION 모드
n vlan database
n vlan 3 name computer3
n 나와서 int f 0/1
n Switchport access vlan 3
'네트워크' 카테고리의 다른 글
시스코 네트워킹 7장 정리 (0) | 2019.04.22 |
---|---|
시스코 네트워킹 5장 정리 (0) | 2019.04.21 |
시스코 네트워킹 4장 정리 (0) | 2019.04.20 |
시스코 네트워킹 3장 정리 (0) | 2019.04.20 |
시스코 네트워킹 2장 정리 (0) | 2019.04.20 |