-
스위치 : 스위치는 연결된 장치들의 IP와 MAC 주소를 모두 테이블 형태로 가지고, 원하는 목적지에 데이터 패킷을 전송하는 장치
스위치 기능 스위치 기본 기능3가지
1) Address learning
→ Layer-2 Switch와 Bridge는 Interface에 수신된 각 frame의 Source address Source address정보를 MAC database MAC database에 등록한다.
source 주소 + 인입 port -> MAC_address_table 학습
학습 안되는 Data = multicate, broadcast ->발신자는 항상 1 – 보내는 자신 1:1(unicast), 1:n(multi), 1:all(borad)
2) Forward/filter decision
→ Interface에 Frame이 수신되었을 때, 스위치는 수신지 하드웨어의 어드레스를 참조하고 MAC database에서 exit interface를 찾는다.
micro ssegmentation – mac table 참조해서 송 수신자가 확정되면 두 포트로만 자료가 송수신된다..
3) Loop avoidance
→ Redundancy를 위하여 스위치 간의 다중 연결을 구성한 경우 네트워크 루프가 발생할 수 있다. STP (Spanning-Tree Protocol)는 네트워크 루프를 방지하고 Redundancy Redundancy를 허용한다.
*Redundancy : 이중화
스위치의 이중화 이유
→ 스위치를 이용하여 통신망을 구축할 때 통신망의 신뢰성 제공을 위해 이중화 구조(Redundant Topology)를 사용한다.
이중화 구조란 망과 망을 연결하기 위해 2개의 스위치를 사용하는 방법으로 물리적인 에러 (스위치고장(스위치 고장, 링크고장)링크 고장)가 발생해도 통신망이 정상적으로 운영될 수 있는 장점을 가지고 있지만, 이중화 구조에는 3가지 문제점(looping)이 내재되어 있다.
스위치의 이중화 시loop 발생원인
→ 브리지 또는 스위치 장비들의 기본 특성이 Transparent로, 들어오는 프레임 입력 포트를 제외하고, 그 프레임을 복사하여 다른 모든 포트로 보내기 때문에 발생
-Switch 기본 특성 – Transparent bridge – L2 frame- 변경이 안된다. 이유는 단말상황에 맞게 변화해야 해서
-router – not transparent L3 – ip packet을 deilvey , ttl 값을 -1처리
Transparent특성으로 인해 3가지의 문제점이 발생
1) 브로드캐스트 스톰 (Broadcast Storm)
- 스위치로 구성된 구내망 내에 루프가 발생 되어 Broadcast frame이 넘쳐나는 현상.
- 하나의 패킷이 Broadcasting 되어 수신되고, 이를 다시 하나 이상의 수신자에 의해 또다시 Broadcasting 되어 나타나는 폭주 상태
2) 중복 프레임 수신 (Multiple Frame Copies)
하나의 프레임이 두개의 스위치에 각각 도착한 경우 (이때의 프레임은 Unicast이다) 똑같은 프레임이 두 경로 모두에게 전송 / 수신되는 현상.
3) MAC Address Table 불안정 현상 (MAC Database Instability)
동일한 MAC 주소에 대해서 테이블에 저장하는 값이 수시로 바뀌는 불안정 현상이 발생.
스위치의 looping 방지 방법 → STP Protocol 사용
STP Protocol의 의미
→ STP(Spanning Tree Protocol)는 중복된 Link를 발견하여 중복된 Link의 한 Port를 Stand-by Mode(Blocking)로 하여 Bridging Loop을 방지하고, Link Failure 등 Topology에 변화가 발생하는 경우 Blocking port를 Forwarding State로 바꾼다.
즉, STP는 두 개 이상의 경로가 생기면 하나를 자동으로 막아두었다가 기존 경로에 문제가 생기면 막아놓은 경로를 풀어서 데이터를 전송하는 알고리즘이다.
STP 위 그림과 같이 스위치 3개가 연결되어있으면 중복 경로가 생긴다. 이때 Switch 1번에서 2번으로가는 경로를 stand by(Blocking) 상태로 만들어 looping을 방지한다.
STP 만약, 기존경로인 Switch 2번에서 0번으로 가는 길을 Shutdown 시키면 stand by(Blocking) 상태였던 Switch 1번과 2번 사이의 경로가 활성화 되어 통신이 가능하다.
STP의 Blocking → Forwarding 상태 변화 의미
→ Blocking : Frame을 Forwarding하지 않는다. 스위치가 켜질때의 Default Mode이다. Blocking State .Blocking State에서도 BPDU는 수신된다(Blocking Port (Blocking Port에서 BPDU를 송신하지는 않는다.)
→ Max Age : Bridge Failure, Link Failure 등 Topology에 변화가 생겨 스위치가
루트브리지로부터 BPDU(Default 2초= Hello Time)를 수신하지 못하면 Max Age Timer(Default 20 초) 동안 BPDU를 기다리는 시간을 갖는다. 이 기간 동안에도 BPDU를 수신하지 못하면 Listening Mode로 이행한다.
→ Listening : 모든 수신되는 BPDU를 체크하여 Spaning Tree Recalculation을 하여, 스위치의 Blocking Port가 Forwarding State 되는 경우 Loop이 발생하지 않는지를 확인한다. Default로 15초의 시간이 할당된다.(Forward Delay)
→ Learning : 향후의 Forwarding을 위해 Mac Address를 Learning하여 Filter Table을 재구성한다. Default로 15초의 시간이 소요된다. (Forward Delay)
→ Forwarding : Frame을 Forwarding 한다.
→ Topology의 변화로 인하여 Blocking Mode에서 Forwarding State로 이행하는데는 Default로 50초의 시간이 필요하며 이 기간동안에는 프레임이 Forwarding 되지 못한다.
Blocking → Listening → Learning → Forwarding
Max Age(20초) Forward Delay(15초) Forward Delay(15초)
BPDU(Bridge Protocol Data Unit)
BPDU Port Fast
- 포트를 포트 패스트로 설정하면 BPDU 대기, 습득 과정 없이 곧바로 포워딩 상태로 포트를 사용 가능하다.
- 포트 패스트를 설정한 포트에 스위치가 접속되면 루프가 생길 수 있어 별도로 해당 포트에 BPDU가 들어오자마자 포트를 차단하는 BPDU 가드 같은 기술을 함께 사용되어야 한다.
- 포트가 루프를 형성할 수 있는 토폴로지의 일부인 경우 포트는 결국 STP 차단 모드로 전환됩니다.
- PortFast는 일반적으로 에지 포트에서 구성되므로 포트가 STP BPDU를 수신해서는 안 됩니다.
BPDU Guard
- 종단장치와 연결된 포트는 BPDU가 송신될 필요가 없는데 송신을 하게 되면 트래픽 과부하가 생길 수 있다. 그것을 방지하기 위해 스위치에서 포트를 통해서 BPDU를 수신했을 때 해당 포트를 자동으로 Shutdown 시켜버린다. ( 주로 종단장치 포트에 설정됨 )
CST(Common Spanning Tree)
- 일반 스패닝 트리 프로토콜 불리는 명칭이다.
- VLAN 개수와 상관없이 스패닝 트리 한 개만 동작하게 된다.
ex) STP, RSTP
PVST(Per Vlan Spanning Tree)
- CST의 한개의 포트와 회선만 사용되어서 먼 거리로 통신할 수 있다는 단점을 보완하기 위해 개발되었다.
- VLAN마다 다른 스패닝 트리 프로세스가 동작하므로 VLAN마다 별도의 경로와 트리를 만들 수 있게 된다.
- VSTP(Vlan STP)를 사용한다.
- BPDU의 Prioity(2byte)를 Prioity(4bit) + VLAN(12bit)로 나눠서 사용한다.
-> 이렇게 되면 VLAN에 따라서 Root Switch, Priority, Blocking 등 바뀔 수가 있다.
RSTP(Rapid Spanning Tree Protocol) (현재 사용)
- 이중화된 스위치 경로 중 정상적인 경로가 문제가 생겨 백업 경로를 활성화하는데 시간이 너무 오래 걸리는 문제를 해결하기 위해 RSTP가 개발되었다.
- 빠른 시간 내에 토폴로지 변경을 감지, 복구할 수 있다.
- 2~3초로 절체 시간이 짧아 일반적인 TCP 기반 애플리케이션이 세션을 유지할 수 있다.
- 새로운 BPDU를 받으면 연결된 Port를 잠시 Block하고 기존에 알고 있는 Root보다 더 BID가 낮으면 바로 Root Port로 만든다.
- 기본적인 구성과 동작 방식은 STP와 같지만 BPDU 메시지의 8개 비트를 모두 활용해 다양한 정보를 주위 스위치와 주고받을 수 있다.
- 기존 STP는 토폴로지가 변경되면 변경 보고를 보내고 받고, 보내고 받고 하면서 시간이 오래 걸렸지만 RSTP는 토폴로지 변경이 일어난 스위치 자신이 모든 네트워크에 토폴로지 변경을 직접 전파할 수 있다.
RSTP 설정 spanning-tree mode rapid-pvst 명령을 입력하여 기존 STP 를 RSTP 로 변경
RSTP 확인 show spanning-tree active 를 입력하여 Vlan1번이 RSTP로 변경된 것을 확인 할 수 있다.
MST(Multiple Spanning Tree)
- CST와 PVST의 단점을 보완하기 위해 개발되었다.
- 여러 개의 VLAN을 그룹으로 묶고 그 그룹마다 별도의 스패닝 트리가 동작한다.
- PVST의 장점인 로드 셰어링 기능도 함께 사용할 수 있다.
- 리전 개념이 도입되면서 여러 대의 VLAN을 하나의 리전으로 묶고, 리전 하나가 스패닝 트리가 된다.
UplinkFast(지금은 안씀)
- 직접 Link 단절시 30초의 수렴 시간이 필요하다. 이 경우 Block 상태의 포트가 위치한 Switch에서 Uplinkfast를 사용하면 즉시 Forwarding 상태로 전환이 가능하다.
- Uplinkfast가 설정된 Switch의 경우 자동으로 Bridge Priority와 Path Cost가 증가하게 된다.
- Uplinkfast는 반드시 Blocking 상태의 포트가 위치한 Switch에서 설정해야 하고, 실수로 Root Bridge에 설정하는 경우 Bridge priorty 값이 증가되면서 Root Bridge 권한을 잃을 수 있다.
Backbonefast(지금은 안씀)
- 간접 링크가 단절됐을 때 새로운 루트 브리지의 BPDU와 기존 루트 브리지의 BPDU를 비교하는 시간, Max-Age Timer 20초를 생략한다.
- BPDU를 한번 비교하고 바로 Listening 상태로 전환한다.
- 다음은 Backbonefast를 설정하는 명령어다. Backbonefast는 STP 환경에 속해있는 모든 스위치에서 설정해야 한다.
VLAN(Virtual LAN)
Router를 사용하지 않고 Layer2 Switch Layer2 Switch를 사용하여 스위치 내에서 여러 개의 상이한 서브넷을 만들 수 있다.
Layer2 Switch를 사용하여 생성되는 서브넷을 VLAN(Virtual LAN)이라 하며, 같은 VLAN에 속하는 포트는 Broadcast를 Share하며(Broadcast Domain), 동일한 IP Subnet에 속한다.
기본적으로 VLAN 소속이 다른 노드간에는 통신이 불가하며 VLAN간에 통신을 가능하게 하려면 라우터 또는 라우팅 모듈을 사용하여야 한다.
Vlan 장점
1) 브로드캐스트를 제어(Broadcast Control) 할 수 있다.
2) 보안(Security)을 제공한다.
3) 라우터로 브로드캐스트 도메인을 나누는 것에 비해 네트워크의 유연성 및 확장성(Flexibility and Scalability)을 제공한다.
4) broadcast traffic 제한
VLAN 생성 방법
# vlan 10
# name sales
# vlan 20
# name maketing
# vlan 30
# name HR
Vlan 생성 Vlan 10, 20, 30 번이 생겨난것을 확인 할 수있다.
→ VLAN Access
# int range f0/2, f0/4 (ex포트)
# switchport mode access
# switchport access vlan 10
# int range f0/3, f0/5 (ex포트)
# switchport mode access
# switchport access vlan 20
# int range f1/2, f1/4 (ex포트)
# switchport mode access
# switchport access vlan 20
[ 나머지 스위치들도 위와 같이 해당 포트에 vlan 설정을 해준다. ]
Vlan 할당 show vlan명령을 사용하여 vlan이 연결된 모습을 확인
Vlan10에 Fa7/1포트가 연결
Vlan20에 Fa2/1포트가 연결
Vlan30에 Fa3/1포트가 연결
Trunk
→ Trunk는 다수의 VLAN 트래픽이 하나의 스위치 포트로 통신될 수 있도록 공유된 링크를 말한다.
→ 만약 Access로만 설정할 수 있다고 하면, 서로 다른 스위치에 설정된 동일한 VLAN의 통신을 위해서 스위치간 연결 시 VLAN 개수만큼 케이블을 별도로 구성해야 할 것이다. 하지만 Trunk를 사용하면 스위치에 설정된 모든 VLAN의 프레임은 하나의 포트로만 전달될 수 있다.
Trunk Protocol : isl, 802.1q(dot1q)
Trunk 설정방법
Switch(config)#interface fa 0/4
Switch(config-if)#switchport trunk encapsulation dot1q # 통신 방식으로 dot1q 채택
Switch(config-if)#switchport mode trunk # 트렁크 모드 활성화
* 트렁크 - 다수의 vlan 정보를 하나의 전송로로 전송 시키는 기술이다.
* 주로 vlan 설정된 스위치 = 스위치, 스위치 = 라우터 간의 사용
EtherChannel
EtherChannel이란 다수의 Ethernet Link를 하나의 논리적인 Link로 묶어 사용하는 기술로서 Link상에서의 Load Sharing과 Fault Tolerance를 지원하게 합니다. 아울러 Bandwidth의 확장이라는 장점을 제공하기도 합니다.
EtherChannel은 다수의 Ethernet Adaptor 또는 Switch의 Interface들을 활용하여 구성할 수 있으나 주로 대용량 Traffic을 처리해야 하는 서버에서 이 기술을 적용하고 있습니다.
EtherChannel은 2계층 또는 3계층 인터페이스로 동작 시킬수 있으며 Access 포트 및 Trunk 포트로 사용 할 수 있습니다.
EtherChannel 장점
- 같은 속성의 물리적인 Link들을 모아 하나의 논리적인 Link로 사용합니다.
- Bandwidth의 확장으로 성능 개선에 도움이 됩니다.
- 논리적인 Link를 대상으로 필요한 configuration 작업 수행합니다.
- Switch-level에서의 Traffice load balancing이 가능합니다.
- 물리적인 Link들 사이에서 Redundancy가 가능합니다.
EtherChannel설정 방법
1)스위치와 스위치 사이에 cross cable 연결
2)각 스위치 양단에 포트번호확인
3)스위치에 연결된 방향이 다르면 ch를 다르게 해야한다
Switch(config)#interface range fa0/4, fa0/8
Switch(config-if-range)#channel-group 1 mode desirable
Switch(config)#interface range fa0/5, fa0/9
Switch(config-if-range)#channel-group 2 mode desirable
4) port설정
Switch(config)#interface port-channel 1
Switch(config-if)#switchport mode trunk
Switch(config-if)#interface port-channel 2
Switch(config-if)#switchport mode trunk
EtherChannel 구성예시
VTP
→ VTP(Vlan Trunking Protocol), 연결된 스위치들끼리 VLAN 정보를 주고 받아 자동으로 동기화하게 해주는 프로토콜이다.
VTP 사용 조건
<VTP Domain Name 설정>
스위치에 VTP는 기본적으로 동작이 되고 있는 상태이며 끌 수가 없는 프로토콜이다. 그러나 초기에 아무 설정도 하지 않으면 VLAN정보를 동기화 하지 않는데, 이는 스위치간 도메인 이름이 설정되어 있지 않기 때문이다. 따라서 VTP를 사용하여 VLAN정보를 동기화 하기 위해서는, 스위치들의 VTP 도메인 이름을 같도록 설정해야 한다.
<스위치 간 Trunk Port 설정>
VLAN 정보를 공유하기 위해 VTP메시지를 보내는데, 이 메시지는 Trunk에서만 전달될 수 있다. 따라서 스위치간 링크가 만약 Access로 설정이 되어있거나, Trunk 설정이 아직 되지 않은 경우라면 VTP 메시지를 주고 받을 수 없다.
<VTP Password 일치>
VTP 프로토콜을 이용하여 무분별하게 정보를 받아올 수 있기 때문에 안전장치인 비밀번호를 설정해놓는 경우가 있다. 만약 도메인 이름은 동일한데 비밀번호가 같지 않다면 VTP메시지를 통한 동기화를 할 수가 없다. 따라서 비밀번호를 설정해놓은 경우에는 동기화를 할 모든 스위치에 비밀번호가 같도록 해야한다.
VTP MODE
1) VTP server mode
- Create/Delete VLANS
- Send Advertisements
- Forward Advertisements
- Synchronize
- Save
VTP server ==> VLAN 설정을 직접 할 수 있고, 설정한 내용을 다른 스위치로 전송한다. 스위치 기본 모드로 설정되어 있다.
2) VTP client mode
- Just Resive and Synchronize
- Forward Advertisements
- Not Save
VTP client ==> 서버로부터 받은 VLAN 정보로 동기화 하며, 스스로 VLAN을 설정할 수 없다.
3) VTP transparent mode
- Create/Delete VLANS
- Not Send Advertisements
- Not Synchronize
- Forward Advertisements
- Save
VTP transparent ==> 스스로 VLAN을 설정할 수 있으나 다른 스위치로 전송하지 않으며, 받은 정보로도 동기화 하지 않는다.
[전체적인 설정방법]
1) VTP 설정 ( Virtual Trunk Protocol )
2) 트렁크 포트 설정
3) VLAN 생성
4) VLAN Access
5) Router 설정
1) VTP 설정 ( config mode 에서 설정 가능 )
[sw1]
# vtp domain VTP
# vtp password 1234
# vtp mode server
[sw2, sw3]
# vtp domain VTP
# vtp password 1234
# vtp mode client
2) 트렁크 포트 설정
[ SW(1,2,3) 모두 트렁크 포트에 들어가 설정한다.]
# int f0/3
# switchport trunk encapsulation dot1q
# switchport mode trunk
3) VLAN 생성 - VTP 를 통해 vlan 생성/삭제/추가 정보를 전달받으므로 sw1 번에서만 설정한다.
[sw1]
# vlan 10
# vlan 20
# vlan 30
4) VLAN Access
[sw1]
# int range f0/2, f0/4
# sw mo acc
# sw acc vlan 10
[ 나머지 스위치들도 위와 같이 해당 포트에 vlan 설정을 해준다. ]
5) Router 설정
# int f0/0
# no sh
# int f0/0.10
# encapsulation trunk dot1q 10
# ip add 192.168.10.62 255.255.255.192
# int f0/0.20
# encapsulation trunk dot1q 10
# ip add 192.168.10.126 255.255.255.192
# int f0/0.20
# encapsulation trunk dot1q 10
# ip add 192.168.10.192 255.255.255.192
'고병재' 카테고리의 다른 글
NFS (0) 2021.09.16 ACL(ing) (0) 2021.09.16 리눅스 기본 명령어 (0) 2021.09.16 Window Server 구성, HPE Server구성, Esxi설치 과제 (0) 2021.09.14 Router 정리 (0) 2021.09.13