ernest-o 2023. 11. 2. 15:55
728x90
반응형

▶스패닝 트리 알고리즘

Spanning Tree Protocol의 약자로 STP라고도 부른다. 스위치나 브리지에서 발생하는 루핑을 막아주기 위한 프로토콜인데,

스위치나 브리지 구성에서 출발지부터 목적지까지의 경로가 2개 이상 존재할 때 1개의 경로만을 남겨두고 나머지는 모두 끊어두었다가, 사용하던 경로에 문제가 발생하면 그때 끊어두었던 경로를 하나씩 살린다.

 

●브리지ID

브리지나 스위치들이 통신할 때 서로를 확인하기 위해 하나씩 가지고 있는 번호라고 생각하면 된다.

후니의 쉽게쓴 CISCO시스코 네트워킹 그림6-1 Bridge ID

브리지 ID는 16비트의 '브리지 우선순위'와 48비트의 'MAC주소'로 구성되어있다. 브리지 우선순위의 기본값(default)은 32768이고 범위는 0~65535다. MAC주소는 스위치나 브리지의 고유 값으로 브리지 우선순위 뒤에 붙는다.

 

  

스위치도 이 ID를 사용하지만 스위치ID라고 하지않고 그냥 브리지ID라고 한다. (원래 그렇다고해서 딱히 정확한 이유가 있는건지는 모르겠다.)

 

●Path Cost

말 그대로 '길을 가는데 드는 비용'이라고 할 수 있는데 네트워크 분야에서 길이란, 장비와 장비가 연결되어 있는 링크를 말한다. 즉, 브리지가 얼마나 가까이 그리고 빠른 링크로 연결되어 있는지를 알아내기 위한 값이다.

예를들어, 두 스위치가 10Mbps로 연결되어 있고 Path Cost는 1000Mbps를 둘 사이의 링크 대역폭으로 나눈값이라고 할때 Path Cost는 100이 된다

Path Cost는 링크의 속도(대역폭)가 빠르면 빠를수록 더 작은 값이 된다. 쉽게 말해서 링크 속도가 빠르면 그만큼 빨리 도착할 테니 Path Cost는 적게 든다고 보면 된다. 하지만 기가비트로 넘어가면 소수점으로 계산되기때문에 그냥 그런 경우 아래 표 IEEE와같이 아예 정수값으로 지정했다. 그래서 10메가,100메가 기가비트 정도는 외워두는 것이 좋다.

후니의 쉽게쓴 CISCO시스코 네트워킹 IEEE

그럼 실제 문제를 풀어보자.

후니의 쉽게쓴 CISCO시스코 네트워킹 그림6-3 스위치 사이의 Path Cost계산

위 사진과 같이 스위치C에서 A로 가는 Path Cost는 19이므로 스위치D에서 A로 가는 Path Cost는 38이 된다.

 

▶스패닝 트리 3가지만 기억하라.

1. 네트워크당 하나의 루트 브리지를 갖는다.

2. 루트 브리지가 아닌 나머지 모든 브리지는 무조건 하나씩의 루트 포트를 갖는다.

3. 세그먼트당 하나씩 의 데지그네이티드 포트를 갖는다.

추가적으로 스패닝 트리 프로토콜에서 루트  포트나 데지그네이티드 포트가 아닌 나머지 모든 포트는 다 막아버린다. 즉, 루트 포트와 데지그네이티드 포트를 뽑는 목적은 어떤 포트를 살릴지 결정하기 위한 것이다.

 

▶STP 순서 정하기

· 더 작은 Root BID를 가진 브리지를 선정
· 루트 브리지까지의 Path Cost 값이 더 작은 브리지를 선정
· 더 낮은 Sender BID를 가진 브리지를 선정
· 더 낮은 포트 ID를 가진 브리지를 선정

이 프로토콜에서 브리지들은 BPDU(Bridge Protocol Data Unit)라는 특수한 프레임을 사용하여 스패닝 트리 정보를 주고받는다다. BPDU는 브리지나 스위치가 부팅될 때 마다 각각의 포트로 2초마다 보내져, 브리지들 사이에서 누가 루트 브리지인지, 어떤 포트가 루트 포트나 데지그네이티드 포트가 될지 결정하는데 사용된다.

 

▶Root Bridge 뽑기

기본적으로 맨앞에오는 브리지 우선순위가 더 낮은값이 루트 브리지로 선정되지만 만약 모두 default값이거 같은 값이라면 뒤에어는 MAC주소가 더 낮은 값을 루트 브리지로 선정한다.

 

▶Non Root Bridge 뽑기

root bridge를 선정한 후 나머지 스위치들은 루트 포트를 뽑는다. 루트 포트는 로트 브리지에 가장 가까운 포트로, Path Cost가 가장 적게 드는 포트를 의미한다.

 

▶Designated Port 뽑기

  ▷브리지와 브리지로 연결된 세그먼트강 각각 한 개의 데지그네이티드 포트를 뽑아야 함

  ▷데이지그네이티드 포트는 스패닝 트리에서 어떤 포트를 풀어주고 막을지 결정

  ▷세그먼트상에서 Root Path Cost를 서로 비교해 더 작은 Root Port Cost를 가진 포트가 데지그네이티드 포트로 선정

후니의 쉽게쓴 CISCO시스코 네트워킹 그림6-14 데지그네이티드 포트 찾기

 

▶데지그네이티드 포트로 선정 과정

  ▷세그먼트 1: 스위치A의 E0 포트가 데지그네이티드 포트로 선정

  ▷세그먼트 2: 스위치A의 E1 포트가 데지그네이티드 포트로 선정

  ▷세그먼트 3: 두 포트의 Root Path Cost가 같은 경우 'STP에서의 힘 겨루기 4단계' 거침

 

▶STP 힘 겨루기 4단계

1. 누가 더 작은 Root BID를 가졌는가? => 동점
    두 스위치가 똑같은 루트 BID(32768.1111.1111.1111) 가짐

 

2. 루트 브리지까지의 Path Cost 값은 누가 더 작은가? => 동점
    Root Path Cost가 19로 동일

 

3. 누구의 BID(Sender BID)가 더  낮은가? => 스위치 B의 E1 포트 승
    Sender BID : 자기 지신의 BID
    스위치 B의 Sender BID : 32768.2222.2222.2222
    스위치 C의 Sender BID : 32768.3333.3333.3333
    따라서 스위치 B의 Sender BID가 더 낮음
스위치 B의 E1 포트가 데지그네이티드 포트로 선정

후니의 쉽게쓴 CISCO시스코 네트워킹 그림6-15 데지그네이티드 포트 찾기 완료

 

▶STP 5가지 상태 변화

  설명 데이터 전송 유무 MAC주소 배우나? BPDU 주고받나?
Disabled 포트가 고장나서 사용할 후 없거나 Shut Down 상태 x x x
Blocking 처음 켜거나 포트를 다시 살렸을 때 x x o
Listening 스위치 포트가 루트 포트나 데지그네이티드 포트로 변경 x x o
Learning 리스닝 상태에서 15초(default값)동안 버티면 x o o
Forwarding 러닝 상태에서 15초(default값)동안 버티면 o o o

● 5가지의 상태 변화를 통해 스위치나 브리지는 링크를 막고 열면서 스패닝 트리를 만듦

 


직접 구성해보기

 

사진1

  • 사진 1에서 스패닝 트리 구성하기

사진2

● 사진 2) 루트 브리지, 루트 포트, 데지그네이티드 포트 선출

    ○ 루트 브리지: BID가 가장 낮은 스위치C

사진3

● 사진 3) 포트 상태

    ○ Non Designated 포트는 Blocking 상태

    ○ Blocking 상태인 포트가 있는 곳은 링크가 모두 끊어짐

사진4

  • 사진 4) 완성된 스패닝 트리

▶스패닝 트리 문제 발생

  • 스위치 A, C간의 문제 발생
  • 스위치 C에 2초 후에 헬로패킷이 들어오지 않으면 맥스 에이지 동안 기다림 → 맥스 에이지 후 아무런 연락이 없으면 스패닝 트리 변경
  • 스위치 B가 루트 포트(스위치 B의 E0 포트)를 통해 받은 헬로패킷을 다시 데지그네이티드 포트(스위치 B의 E1 포트)를 통해 뿌리고 그 BPDU를 스위치 C의 E! 포트를 통해 받음
  • Blocking 상태인 스위치 C의 E1 포트를 루트 포트로 선정 → 스위치 C의 E0 포트는 Blocking 상태가 됨
  • 이때 스위치 C의 E1 포트는 블로킹에서 리능, 러닝을 거쳐 포워딩 상태로 됨

 

☆☆☆

한 링크가 끊어졌을 때 스패닝 트리 프로토콜을 이용해 다른 경로를 살리는데 걸리는 시간이 대략 50초 정도 소요

 

▶카타리스트 스위치

● PoE(Power over Ethernet)

  • 이더넷 케이블 위에 데이터와 전원을 같이 보내는 방식의 스위치
  • 저원 실어 보내는 이유 - 네트워크 케이블에 연결되어야 하는 장비에 또 하나의 전원 케이블을 연결하지 않더라도 네트워크 케이블에서 전원을 제공하기 위함

● SFP(Small FormFactor Pluggable)

  • 광케이블을 접속하기 위한 접속 방식 중 하나

● Dual Purpose Uplink

  • 연결을 광케이블로 하고 싶을 때는 SFP포트를 UTP연결 시 Base T포트 선택

 

▶카타리스트 스위치 구성

●스위치 디폴트 구성 확인

  • 스패닝 트리 프로토콜을 자동으로 활성화
# 스위치 default 구성 확인
# show inerface status

● 스위치 IP주소 세팅

  • 스위치의 경우 IP주소를 세팅하지 않아도 동작에 문제 없지만, 스위치를 제대로 관리하기 위해 세팅
# 유저모드에서 프리빌리지 모드로 변경
>enable

#프리빌리지드 모드에서 구성 모드로 변경
# configure terminal

# IP주소 세팅
# interface vlan 1
# ip address 132.168.100.1 255.255.255.0

● default 게이트웨이

  • 스위치가 붙어있는 라우터 인터페이스의 IP주소가 default 게이트웨이
# 디폴트 게이트웨이 구성
# ip default-gateway 192.168.1.1

● 스위치 포트의 속도와 Duplex세팅

# 속도 세팅
# speed 10

# duplex 세팅
# duplex half

 

▶MAC주소 저장 장소?

● 콜리전 도메인 막는 기능

  • 스위치나 브르지가 출발지에서 들어오는 MAC주소를 보고 그것을 자신의 MAC주소 테이블에 저장한 후, 그 주소 테이블에 있는 MAC주소를 찾으면 그쪽 포트로만 보내고, 나머지 포트는 막아준다.

● MAC주소를 저장하는 방식

1. Dynamic 방식

MAC주소 하나를 배우고 나면, MAC주소 테이블에 저장하고 사용한다. 이때 이 주소를 사용한지 300초(default)가 지나도록 다시 사용하지 않으면, 이 주소는 MAC주로 테이블에서 지워진다.

 

2. Permanent 방식

천년만년 절대 지워지지 않는 방식이다. 수동으로 MAC주소를 저장(스태틱 MAC주소)

 

▶가상의 랜(Virtual LAN)

virtual lan을 줄여서 VLAN이라고 부르는데 한 대의 스위치를 마치 여러대의 분리된 스위치처럼 사용하고, 또 여러 개의 네트워크 정보를 하나의 포트를 통해 전송할 수 있다. 따라서 하나의 스위치에 연결된 장비들도 브로드캐스트 도메인이 서로 다룰 수 있다.

후니의 쉽게쓴 CISCO시스코 네트워킹 그림6-36 가상 랜이 없는 구성

라우터는 스위치로 하나의 링크만을 이용해서 3개의 네트워크 정보를 보낼 수 있다.

 

▶ VLAN 개념

1. 허브나 브리지에서는 지원하지 않는 기능으로 VLAN은 스위치에서 지원하는 기능이다.

2. VLAN은 한 대의 스위치를 여러 개의 네트워크로 나누기 위해서 사용하는데 스위치가 VLAN으로 나누어지면 나누어진 VLAN 간의 통신은 오직 라우터를 통해서만 도메인이 가능하다.

 

▶VLAN에 2대의 스위치 구성

  • 스위치 안에 있는 각각의 스위치를 VLAN이라고 한다. 따라서 한 대의 스위치가 3개의 VLAN으로 나누어져있다.
  • 2대의 스위치는 패스트 이더넷 포트를 통해 연결한다.
  • VLAN1,2,3은 서로 통신 불가능하다. 서로 다른 네트워크이기 때문에 라우터를 통해서만 가능하다.
  • 같은 VLAN끼리는 스위치를 건너서도 통신이 가능하다.

 

▶트렁킹

모든 VLAN이 하나의 링크를 통해 다른 스위치나 라우터로 이동시키는 것

 

▶네이티브 VLAN

모든 VLAN 패킷에 각각 VLAN정보가 존재하지만, 네이티브 VLAN은 정보가 없다. 모든 스위치 네트워크에서 유일하게 한 개의 VLAN만을 네이티브 VLAN으로 세팅 가능.

 

▶VTP

VLAN Trunking Protocol의 약자로 VLAN 정보를 서로 주고받아 스위치들이 가지고 있는 VLAN 정보를 항상 일치시켜주는 프로토콜.(시스코만의 프로토콜)

 

▶VTP 간 주고받는 메세지 형

  1. Summary Advertisement

       VTP 서버가 자기에게 연결되어 있는 스위치들에게 5분마다 한번씩 전달하는 메시지

       자신이 관리하는 VTP 도메인의 구성에 대한 Revision 넘버를 보냄

  1. Subset Advertisement

       VLAN의 구성이 변경되었을 때나 VTP 클라이언트로부터 Advertisement Request 메시지를 받을 때 전송

  1. Advertisement Request

       클라이언트가 VTP 서버에 Summary Advertisement와 Sebset Advertisement를 요청하는 용도로 사용

 

▶VTP의 3가지 모드

1. VTP 서버 모드

· VLAN을 생성 및 삭제, 이름 변경, Configuration Revision Number 전달 등을 할 수 있다.

· VTP 도메이느이 나머지 스위치들에게 VTP 도메인 이름 설정, VLAN 구성 등을 할 수 있다.

· VTP 서버는 VTP 도메인 내의 모든 VLAN에 대한 정보를 NVRAM에서 관리한다.

 

2. VTP 클라이언트 모드

· VTP 서버가 전달해준 VLAN정보를 받고 다른 스위치에게 전달하는 것만 가능하다.

· VLAN 정보를 NVRAM에 저장하지 않기에 리부팅하면 모든 정보를 잃어서 VTP 서버에게서 다시 받아야 한다.

 

3. VTP 트랜스페어런트 모드

· VTP Transparent모드는 VTP 도메인 영역 안에 있지만 서버로부터 받은 메시지로 자신의 VLAN을 업데이트 하지 않는다.

· 직접 VLAN을 만들고 삭제할 수 있고 이 정보를 다른 스위치에게 전달하지 않는다.

· 서버로부터 받은 메시지를 전달해주는 역할만을 한다.

· 자신의 VLAN 정보를 NVRAM에 저장한다.

 

☆☆☆

VTP 도메인 이름은 VLAN을 새로 만들거나 변경하기 전에 먼저 만들어야한다.

Config Revision 값은 VLAN이 새로 만들어지거나 지워질 경우 1씩 올라가고 최초 값은 0이다.

 

▶VLAN 구성하는 명령어

#VTP 도메인 이름 설정
#vtp domain cisco

#VTP 모드 입력
#vtp mode server

#VTP 구성 확인
#show vtp status

#Fastethernat 0/1번을 트렁크로 세팅
#int fa 0/1
#switchport mode trunk

#트렁크 세팅 확인
#show interface fa0/1 switchport

 

▶VLAN 구성과 이해

서로 다른 VLAN에 속한 장치들이 통신할 수 있도록 한다.

 

방법:

  • VLAN은 네트워크를 논리적으로 분할합니다. 예를 들어, VLAN 1에 PC 1을, VLAN 2에 PC 2를 연결한다.
  • 스위치 포트 중 하나를 트렁크 포트로 설정하여, VLAN 간 통신을 라우터로 라우팅한다. 이 트렁크 포트는 여러 VLAN의 데이터를 전달할 수 있다.
  • 라우터에서는 인터페이스가 VLAN 별로 데이터를 수신하고 서로 다른 VLAN 간의 통신을 가능하게 한다.

 

스위치 설정

●기본설정

  ○ 스위치의 호스트 이름을 설정

  ○ 스위치에 관리 IP 주소와 서브넷 마스크를 할당

  ○ 디폴트 게이트웨이를 설정

●VTP설정

  ○ VTP 모드를 설정합니다 (예: Transparent)

  ○ VTP 도메인 이름을 할당

●트렁크 포트 설정과 VLAN 할당

  ○ 트렁크 포트를 설정하고, 해당 포트가 VLAN 데이터를 전달

  ○ 특정 포트를 특정 VLAN에 할당 (예: fa0/5를 VLAN 2에 할당)

 

▶ 서브 인터페이스와 라우터 설정

● 서브 인터페이스 개념

하나의 물리적 인터페이스를 논리적으로 여러 개로 나누어, 다수의 VLAN을 처리할 수 있게 하는 기술

●설정방법

  ○ 물리적 인터페이스(예: fa0/0)를 활성화

  ○ 서브 인터페이스(에: fa0/0.1, fa0/0.2)를 생성하고, 각각에 VLAN ID와 IP 주소를 할당

  ○ 이를 통해 라우터는 하나의 인터페이스를 사용하여 여러 VLAN에 접속할 수 있다.

 

▶라우터의 고급 구성

●IOS 버전에 따른 구성 차이

  ○ 예전 IOS 버전에서느 네이티브 VLAN(보통 VLAN 1) 설정이 별도의 서브 인터페이스 없이 주 인터페이스에 직접 적용

  ○ 새로운 버전에서는 서브 인터페이스를 통해 네이티브 VLAN을 설정

●네이티브 VLAN 설정 방법

  ○ 서브 인터페이스를 생성하고, VLAN ID(예: 1)와 IP 주소를 할당

  ○ 이 서브 인터페이스는 네이티브 VLAN의 트래픽을 처리

 

참고! 개인공부를 위해 간략하게 책 내용을 남긴 글입니다.

728x90
반응형