본문 바로가기

Networking

9. 스위치

<<Router와 Switch의 차이점>>

================================================================================

- Router

    - Cisco IOS에 의존하는 소프트웨어 기반장비

    - 주소 : IPv4

    - 목적지 : Routing Table 참조

    - 특징 : 물리적 Interface로 Broadcase Domain을 명확하게 분할 가능

    - Routing 기능 보장


- Switch

    - Cisco IOS에 의존하는 하드웨어 기반장비 (거의 자신이 알아서 진행)

    - 주소 : Mac-address

    - 목적지 : Mac-address Table 참조

    - 특징 : Collision Domain을 분할 할 수 는 있지만 Broadcast Domain을 분할

             하지 못한다.

    - Routing 기능 비보장

================================================================================



<<Switch의 동작원리>>

================================================================================

- Unknown Unicast Frame

- Broadcast Frame

- Unknown Multicast Frame에 대해서 Flooding 실시

    * Flooding -> 들어온 포트외에 모든 포트에 뿌리기

    * 즉, 라우터와는 다르게 Switch는 모르는 주소가 들어오면 뿌려서 찾아준다!!!!


- Learning

- Flooding

- Filtering (받은 주소에게는 안보내기)

- Forwarding (어떤 데이터가 들어와서 나가는)

- Looping 방지 


================================================================================



<<VLAN - Virtual LAN>>

================================================================================

- switch는 collision Domain을 분할 할 수 는 있지만, Broadcast Domain은 분할 하지

  못한다.


- switch를 사용해서 Network을 분할 하는 기능


- 사용자가 늘어 날수록 Broadcase Traffic 도 증가 (문제)

- 해결책 : VLAN을 사용하여 물리적 분할이 아닌 논리적으로 Broadcast Traffic을

           줄일 수 있다.


- 장점

    - Broadcast Traffic을 줄일 수 있다.

    - 위치적 물리적으로 제한을 덜 받는다.

    - 일정부분의 보안 기능 (L2보안)



** L2 허브? => VLAN 기능을 지원하는 허브

** L3 스위치? => Routing 기능을 지원하는 스위치


================================================================================



<<VLAN - Inter-connect VLAN>>

================================================================================

- 라우터 한대로 여러 VLAN쓰기

    - SW 1 : VLAN10 / VLAN20 / VLAN30

    - SW 2 : VLAN10 / VLAN20 / VLAN30

    - SW 3 : VLAN10 / VLAN20 / VLAN30

    - SW 3 에 라우터 한대 달아서 라우터의 ethernet 인터페이스를 Subinterface를 사용

      하여 논리적으로 나누어 연결

    

1. SW3에 연결한 라우터에 Subinterface 설정

2. 라우팅 테이블 default 주소로 각 네트워크의 주소를 설정

   


================================================================================




<<Switch 관련 명령어>>

================================================================================

- 기본 설정

Switch(config)#vtp mode transparent

Device mode already VTP TRANSPARENT.


Switch(config)#no vlan 2-1000



- vlan 테이블 보기

Switch#sh vlan br

    -> 디폴트 vlan : 1 / 1002 / 1003 / 1004 / 1005

    -> 아무 설정없이 스위치들을 연결하면 같은 네트웍으로 통신이 되는 이유 

       기본 vlan 1이 디폴트로 설정되어있기 때문!


Switch#sh vlan br


VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4

                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8

                                                Fa0/9, Fa0/10

1002 fddi-default                     act/unsup

1003 token-ring-default               act/unsup

1004 fddinet-default                  act/unsup

1005 trnet-default                    act/unsup



================================================================================




<<Switch 관련 명령어- vlan 만들기>>

================================================================================

- vlan 생성

Switch(config)#vlan 10    (10번 한개 생성)

Switch(config)#vlan 100-150  (100~150 번까지 50개 생성)


- vlan 지우기

1. Switch(config)#no vlan 10 

2. privilage 모드에서 del VLAN.dat 라고 친다.. 오타 치면 flash날라간다!!



- 이더넷 포트 각 vlan에 할당

    - 이더넷 interface에 들어감

    - 모드를 access로 바꾸고

    - vlan 번호 설정


Switch(config-if)#int fa0/4

Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 40



- 여러 이더넷 포트 한꺼번에 설정하기

1) 연속된 포트

Switch(config)#int range fa0/1 - 3

Switch(config-if-range)#switchport mode access

Switch(config-if-range)#switchport access vlan 100


2) 불연속 포트

Switch(config)#int range fa0/4 , fa0/6 , fa0/8

3) 연속 + 불연속

Switch(config)#int range fa0/1 - 2 , fa0/9 - 10

================================================================================




<<Switch - Trunk>>

================================================================================

- switch사이에서 하나의 포트로 여러 vlan 통신 가능하게 하는 것을 Trunk 구성한다고 한다.

    - 원래 한 포트당 하나의 vlan만 다닐 수 있다.


- IEEE 802.1Q (표준 - dot1q)

- ISL (cisco 전용)

    -> 2950 장비에서는 지원안함


1) Trunk 방식선택

switchport trunk encapsulation [dot1q / ISL]

--> 2950 sw에서는 ISL을 지원안하므로 위 명령이 입력도 안됨

    할 필요없이 바로 trunk 설정!


2) Trunk 설정

switchport mode trunk


2-1) 수동 설정시 자동 협상 패킷 없애기 (쓸데없는 패킷 없애기) 

Switch(config)#int range fa0/11 - 12

Switch(config-if-range)#switchport nonegotiate

-> 주로 같은 장비에서는 DTP (Dynamic Trunk Protocol) 로 자동으로 Trunk를 잡는데


3) 확인법

sh int trunk

- sw 둘중 하나에서 12번 포트가 none이라고 나와야함

================================================================================



<<VTP - VLAN Trunking Protocol>>

================================================================================

- 동일 VLAN들 을 사용하는 SW마다 일일히 생성/수정..등 작업을 한SW에서 편하게

  하기 위해서 사용


1. Switch 간 Trunk 연결

2. VTP domain 일치

3. VTP password 일치


* 위 3가지 일치하면 자동 동작!


- 모드

Server      : VLAN 생성 O, 수정 O, 삭제 O, 전파 O, 중계 O, 일치 O

 

Clitent     : VLAN 생성 X, 수정 X, 삭제 X, 전파 X, 중계 O, 일치 O


Transparent : VLAN 생성 O, 수정 O, 삭제 O, 전파 X, 중계 O, 일치 X


- default는 Server다!


전파 : 나의 것을 

중계 : 남에게 받은것을

일치 : 변한것 알아서 일치


Client : Sever에서 만든거 중계, 일치

Transparent : 투명해서 없는 것처럼 동작, 자기 독자적으로 동작해겠다!



1) mode 변경

- vtp mode [s/c/t]

Switch(config)#vtp mode client


2) Domain 변경

- vtp domain [xxxx]

Switch(config)#vtp mode client


3) Password 설정

- vtp password [xxxxx]


4) 확인


Switch#sh vtp st

Switch#sh vtp status

VTP Version                     : 2

Configuration Revision          : 0

Maximum VLANs supported locally : 64

Number of existing VLANs        : 8

VTP Operating Mode              : Transparent

VTP Domain Name                 : cisco

VTP Pruning Mode                : Disabled

VTP V2 Mode                     : Disabled

VTP Traps Generation            : Disabled

MD5 digest                      : 0xFC 0x61 0xCD 0x20 0xB7 0x41 0xB4 0xBD

Configuration last modified by 0.0.0.0 at 3-1-93 02:05:10


- revision 넘버가 서로 동일해져야한다.

- 맨아래 0.0.0.0 은 전달받은 대상 sw의 ip주소인데 세팅안되어있으면 0.0.0.0으로

  표시한다.


- Sw의 ip주소 할당은 vlan 1에 들어가서 다음과 같이 설정!


Switch(config)#int vlan 1

Switch(config-if)#ip add 1.1.1.1 255.255.255.0


================================================================================



<<STP - Spanning tree Protocol>>

================================================================================

- looping?

  - broadcast stormp 이 발생 하거나

  - 잘못된 mac table 가 생성되거나

  - 같은 패킷이 다른 곳에서 다중송신되어 수신되거나


- 802.1D 로 명명됨

- 루프 방지를 위한 프로토콜


1) Root Bridge선출

     - 처음에 BPDU 보내어 Root Brige 선출

     - Root-ID 의 Priotry 보거나/ Mac address 보고 선출


2) Port 선출

    - DP : BPDU 송신

    - RP : BPUD 수신


3) Block port 선출 (닫을 포트 : AP라고 함)

    a) cost 낮은 값 port

    b) sender brige-ID

    c) Port-ID

   * root bridge 기준으로 효율적 전송을 위해

     root bridge에서 먼쪽 에서 block port가 선정 된다.


- BPDU   

    - Root-ID - Priority(32768+VLAN번호) 

              - Mac address

    - Cost 값

      (10M = 100, 100M = 19, 1G = 4, 10G = 2)

    - Port-ID (Port-Priority) : 128.x

    - Hello Time : 2초

    - Forward Time : 15초

    - Max-age : 20초

 

    ** Priority 값

        - 32768 이 default

        - 4096의 배수로 선정



- spaning tree Priority 값 바꾸기

ex)  Switch(config)#spanning-tree vlan 1 priority xxxx



- 장애 발생 경우 Block된 포트살아나는 과정

1) Root <-> Non brige사이가 끊어진후 Block이 된 포트 스위치 동작

    - Listening : 15초 (loop 가 도는지 확인하는 시간)

    - Learning : 15초 (대기시간, 정보모아? 열어줌 )

     ==> 30초


2) Root <-> backup brige사이가 끊어진후  Block이 된 포트 스위치 동작

    - Backup Bridge가 root가 되어 BPDU뿌림 

        - Non brige 는 Root/새로운 Root 로부터 BPDU받음 

        - 20초 동안 Block 하여 10개의 hello받아서 Root 판단

        - 새로 된 root를 다시 backup으로 돌린다.

    - Listening : 15초 

    - Learning : 15초

    ==> 그래서 총 50초



<<Per vlan Spaning Tree>>

- 하나의 Vlan당 하나의 Spaning Tree 지원

  spanning-tree vlan 10, 30, 50 priority 4096



<<Vlan 당 닫흰 포트 따로 정하기 - 일종이 로드분산>>

- Cost 값으로 하기

sw#1>

int fa0/11

Switch(config-if)#spanning-tree vlan 10,30,50 cost 50

int fa0/12

Switch(config-if)#spanning-tree vlan 20,40,50 cost 100

sw#2>

Switch(config-if)#spanning-tree vlan 10,30,50 cost 100

Switch(config-if)#spanning-tree vlan 20,40,50 cost 50


- Port-ID로 하기

sw#1>

int fa0/11

spanning-tree vlan 10,30,50 port-priority 64

int fa0/11

spanning-tree vlan 20,40,60 port-priority 128



- up




- Port fast : 루프 테스트 안하겠다. -> 바로 foward띄우겠다.

    -> 싱글 호스트 연결시에만!! 

ex1)

Switch(config)#int fa0/9

Switch(config-if)#spanning-tree portfast


ex2)

Switch(config)#spanning-tree portfast default

    -> 모든 포트 적용 ->위험!!!




- uplink fast : block이 있는 sw에서 살아있는 port가 죽으면

                block포트를 spanning tree없이 바로 살리겠다.

ex)

Switch(config)#int fa0/9

Switch(config-if)#spanning-tree uplink fast



- backbone fast : 모드 SW설정

    Root <-> backup brige사이가 끊어진경우 blocktime없이 바로하자..


================================================================================



'Networking' 카테고리의 다른 글

다산장비 Passwd 초기화  (1) 2015.06.06
10. DHCP  (0) 2015.01.24
8. NAT  (0) 2015.01.24
7. OSPF  (0) 2015.01.24
6. EIGRP  (0) 2015.01.24