본문 바로가기
Network

Cisco Switch 운영에 필요한 기본 개념

by 슬픈 야옹이 2023. 3. 23.

Switch - Bridge가 확장된 개념의 장치.

Switch와 Bridge는 작동 방식 및 알고리즘이 동일하다.

switch의 기본 기능 5가지

Learning
- 스위치를 거치는 패킷의 발신지 mac주소를 브릿지 테이블에 저장.

Flooding
- 스위치를 거치는 패킷의 목적지 mac주소가 테이블에 없으면
  연결된 모든 포트에 전송. (모르는 주소는 모든 포트로 전송)

Filtering
- 스위치를 거치는 패킷의 목적지 mac주소가 테이블에 있을 때, 목적지 mac주소의 위치가
  들어온 포트와 같은 포트면 스위치를 통과하지 않게 함.

Forwarding
- 스위치를 거치는 패킷의 목적지 mac주소가 테이블에 있고
  다른 네트워크(다른 포트)가 목적지면 해당 포트로 전달

Aging
- 시간이 지나 브릿지의 테이블이 가득 차고, 이 때 새로 Learning을 해야하는 상황이 생기면
  생성된지 가장 오래된 테이블 항목을 삭제한 뒤 새로운 항목을 추가함.


* Switch의 콘솔 케이블 연결은 일반적으로 USB to RJ45 방식임.
  RS232C로 되어있을 경우 별도의 컨버터가 필요하기도 함.
  케이블을 연결하면 시리얼 포트를 이용한 터미널 접속 프로그램을 이용해 접속 가능.




Switch는 역할 이름이라고 보면 되고, 여러 장치로 구현할 수 있다. 컴퓨터도 switch가 될 수 있다.
switch로만 쓰려고 컴퓨터를 사기엔 비싸니까 싼 가격의 전용 장비가 나오는 것. 라우터도 마찬가지.

그래서 사실상 특수 목적의 컴퓨터라 보면 된다.
즉 리눅스에 명령어 치는 것처럼 CLI 환경에서 configuration이 가능하다.


switch 명령어

copy running-config startup-config
- 현재 장치에 설정된 내용을 장치를 재부팅해도 유지하도록 함.

show interface [status | if_.. | vlan #]
- 내용을 보여줌.


BID
- 스위치 식별정보
- Bridge ID의 약자지만 Switch도 계승해서 쓴다.
- 64bit로 구성되며, Priority + mac addr로 결정된다.
- Priority는 임의로 수정 가능하며, 4096의 배수로만 설정 가능하다.
- BID가 작을수록 우선순위가 높다.


BPUD (Bridge Protocol Data Unit)
- 각 스위치는 부팅 후 2초마다 서로의 정보를 교환한다.
- 교환하는 정보는 Path cost, BID 등이 있다.
- 10개 이상의 BPDU에 에러가 발생하면 새로운 경로를 설정한다.

Path cost
- 해당 경로로 데이터를 전송하는 데 드는 비용
- 1000Mbps를 링크 대역폭으로 나눈 값.
- Fast ethernet(100Mbps)의 경우 1000/100이므로 Fa의 Path cost는 10.

- Gigabit ethernet(1000Mbps)는 1000/1000이라 Path cost는 1이어야 하지만,
  링크 속도가 점점 빨라지고 다양해져서 현재는 1Gbps의 Path cost를 4로 책정함.


네트워크에서 어떤 노드에서 다른 노드로 가는 Path cost는
그 경로의 Path cost를 모두 더한 값이다.


STP
- 루프를 도는 네트워크 구성을 확인해 루프가 발생하는지 확인하고 이를 제어하는 프로토콜.
- 미국에서 먼 거리에 연결된 스위치가 루프를 이루는지 물리적으로 직접 확인할 수 없으므로
  이를 확인해주는 프로토콜이 개발된 것이 시작.

STP를 지원하는 스위치는 많지 않다. 비싸다.

STP 알고리즘
1. 네트워크의 root 브릿지를 선정.(BID가 가장 작은 스위치로 선정) (나머지는 모두 non-root 브릿지가 됨)

2. 모든 non-root 브릿지는 하나의 root port를 가짐. 각 스위치의 root port를 결정한다.
root port는 스위치 기준으로 root 까지 가는 비용이 가장 낮은(가장 빠른) 포트.
비용이 동일한 경우 BID가 낮은 스위치로 연결된 포트로 선정.

3. Designated port (지정 포트)를 결정. Designated port는 모든 세그먼트가 하나씩 가짐.
각 세그먼트에서 root 브릿지까지 가는 비용이 가장 낮은 포트.

4. root port와 designated port를 제외한 모든 포트를 비활성화한다.

루프를 돌지 않게 되면 비활성화된 연결이 다시 활성화된다.
기존에 비활성화된 연결이 마치 백업 라인처럼 기능할 것 같지만,
이 연결이 실제로 이용되는 일은 없다. 기존 연결이 그 라인만 딱 날아가는 일은 없기 때문.


근데 사실 STP를 쓸 일이 있을까? 루프 안돌게 네트워크 짜면 되는데.
하지만 알고는 있어야 한다. 알고서 안 쓰는 것과 뭔지 모르는 것과는 차이가 크다.


BID 확인

show spanning-tree

BID 수정
spanning-tree vlan 1 priority 4096

spanning-tree vlan 1 root primary
(priority를 낮춰서 주변 스위치 중 BID를 가장 낮게 설정함)



VLAN

VLAN을 왜 쓸까?
한 스위치에 연결되어 있지만 네트워크 주소가 다른 노드들을 그룹화할때 쓴다.
다른 네트워크 주소끼리 쓸데없는 브로드캐스트 신호가 돌아다니는 것을 막기 위해.
대규모 네트워크에서는 이런 트래픽을 차단해주는 것이 의미가 있다.

VLAN을 설정하면 다른 VLAN끼리는 다른 스위치에 연결된 것처럼 완전히 독립적으로 동작한다.
VLAN으로 둘로 나누면 스위치 2개를 쓴 것과 같은 효과.

VLAN 명령어

show vlan
show interface status

vlan database
- vlan 설정으로 진입.

S1#vlan database
S1(vlan)#vlan 2 name vlan2
- vlan 설정으로 진입해서 vlan2라는 이름의 2번째 vlan을 만든다.


vlan ##
- 해당 번호의 vlan 설정으로 진입.
- 없으면 해당 번호로 새로 만든다.

switchport access vlan #
- 인터페이스 설정에서 실행한다.
- 설정중인 인터페이스를 해당 vlan에 할당한다.


switchport mode [access | trunk | dynamic]
- 인터페이스 모드 정의
access : 인터페이스가 속한 vlan에 대한 회선으로 사용
trunk : 모든 vlan에 속한 패킷이 지나갈 수 있도록 사용


vlan에 인터페이스 할당

S1(config)#interface fa0/2
S1(config-if)#switchport access vlan 2
S1(config-if)#switchport mode access

-인터페이스 설정에 진입해서 vlan2에 할당하고 access mode로 지정한다.

'Network' 카테고리의 다른 글

snort를 이용한 IDS 구축  (0) 2023.05.25