Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[컴퓨터 네트워크] 9주차: 2계층 스위치, 스위칭 개념, VLAN 개념 본문

3학년 1학기 전공/컴퓨터 네트워크

[컴퓨터 네트워크] 9주차: 2계층 스위치, 스위칭 개념, VLAN 개념

시데브 2024. 5. 9. 01:37
경희대학교 유인태 교수님의 컴퓨터네트워크 수업을 기반으로 정리한 글입니다.

 

2계층 스위치 - L2 스위치 초기 구성

  • L2 스위치 -> 2계층에서 쓰이는 스위치

스위치 부팅 프로세스

  1. ROM 내의 POST(Power On Self Test) 프로그램 로딩 후 CPU, DRAM, FLASH 장치 테스트
  2. ROM 내의 부트 로더 소프트웨어 로딩 (Boot loader: 컴퓨터 시스템이 부팅되고 운영체제를 로드하고 실행하기 전에, 하드웨어 초기화, 시스템 구성, 운영체제 로딩을 담당)
  3. Boot loader에 의한 CPU, 물리 메모리가 매핑되는 위치, 메모리 양, 속도를 제어하는 CPU 레지스터 초기화
  4. Boot loader에 의한 시스템 보드 상의 플래시 파일 시스템 초기화
  5. 마지막으로 부트 로더는 디폴트 IOS 운영 시스템 소프트웨어 이미지를 찾아 메모리에 로딩 -> 이후 스위치에 대한 제어를 IOS에 넘겨줌

 

스위치 부팅 프로세스에 대한 추가 사항

  • IOS 운영 시스템은 startup-config를 참조하여 인터페이스를 초기화(startup-config 파일은 config.text 파일로 플래시에 존재)
  • 스위치는 BOOT 환경 변수 정보를 사용하여 자동으로 부팅을 시도 -> BOOT 환경 변수는 boot system 전역 모드 명령 사용하여 설정 

-> flash라는 저장 공간 내에 어떤 파일을 가지고 부팅하라

 

스위치 LED 표시등

  • 시스템 LED(SYST): 시스템 작동 여부 표시
  • 예비 전원 공급 장치 LED(RPS): Redundant Power Supply 상태 표시
  • 포트 상태 LED(STAT): 녹색 -> 포트 상태 모드(디폴트). 각 포트의 표시등으로 포트 상태 파악
  • 포트 듀플렉스 LED(DEPLX): 녹색 -> 포트 듀플렉스 모드
  • 포트 속도 LED(SPEED): 녹색 -> 포트 속도 모드
  • 이더넷 전원 공급 장치 LED(PoE): PoE를 지원하는 경우 표시 -> power of ethernet: 스위치로 다른 장치에 전원 공급 가능
  • 모드 버튼 -> 각 모드 간을 이동하는 데 사용

 

  꺼짐 녹색
(정상 상태)
깜박이는 녹색 호박색
(일반 사용자 
데이터를 
주고받는 모드는 X)
깜박이는 호박색 녹색/호박색 교차 점멸
RPS 꺼짐/ RPS 없음 RPS 준비 완료 RPS는 있지만
사용 불가능
(사용 불가능)
RPS 대기 또는
장애
(일시적 장애)
내부 PS 장애,
RPS에서
전원 공급
N/A
PoE 선택 안 됨,
문제 없음
선택됨 N/A N/A 선택 안 됨,
포트 문제 있음
N/A
이 아래는 사용자 장치가 연결된 일반 포트의 LED 상태
STAT 링크 없음 or 
셧 다운
링크 업 액티비티
(데이터 송수신)
루프 방지를 위해
포트 차단
루프 방지를 위해
포트 차단
링크 장애
DUPLEXT 하프- 듀플렉스
(한 쪽은 수신만)
풀-듀플렉스
(동시에 데이터를
주고받을 수 있음)
N/A N/A N/A N/A
SPEED 10Mbps 100Mbps 1000Mbps
(= 1Gbps) 
N/A N/A N/A
PoE PoE on PoE off N/A PoE 비활성화 장애로 인해
PoE 꺼짐
PoE 거부
(용량 초과)

-> 스위치에 어떤 장치 연결 -> 해당 장치가 무엇인지 파악하는 준비 단계 -> 이후 해당 포트를 정상적으로 동작

->> 정상 모드로 전환되기 이전까지의 시간동안 호박색 점등

 

 

L2 스위치 초기 구성 - 스위치 SVI 구성 명령

-> 스위치의 가상의 인터페이스 vlan 99 생성

-> ip주소 지정

-> default-gateway 설정

-> running-config의 내용 startup-config에 복사

 

 

스위치 포트 구성

이중(duplex) 통신

  • 전 이중(full duplex) 통신: 연결의 양단이 동시에 데이터를 송수신 -> 대역폭 효율성 향상
  • 양방향 통신 -> microsegmentation이 필요 -> 이는 스위치 포트에 하나의 장치만이 연결되어 해당 포트가 full duplex 모드로 동작할 때 생성
마이크로 세그먼테이션: 네트워크를 세그먼트로 나누고 세그먼트의 요구 사항을 기반으로 각 세그먼트에 보안 제어를 적용하는 것과 관련된 보안에 대한 접근 방식

https://www.paloaltonetworks.co.kr/cyberpedia/what-is-microsegmentation

 

  • full-duplex 모드로 동작하는 스위치 포트 -> 충돌 영역이 없음
  • half-duplex 통신 -> 단방향 통신 -> 충돌이 발생할 수 있음. -> 성능 문제 발생
  • 기가빗 이더넷10Gb NIC -> full-duplex 연결이 필요함
  • full-duplex 모드 -> NIC 충돌 감지 회로가 비활성화

 

물리 계층 스위치 포트 구성

  • duplex 및 speed 명령을 이용 -> 포트 모드 및 속도에 대한 수동 구성 가능
  • 일반 스위치 -> 모드/속도에 대한 기본 설정은 자동(auto)으로 되어 있음
  • mdix auto 인터페이스 구성 모드 명령 -> auto-MDIX 기능 활성화
  • 10/100Mbps인 경우 반(또는 전) 이중 동작, 1Gbps인 경우 전이중으로만 동작
  • 모드/속도 설정이 일치하지 않거나 자동 협상 실패 시 -> 연결성 문제 발생 가능

-> 인터페이스 구성 모드로 이동

-> duplex 모드 설정(수동)

-> 인터페이스 속도를 설정(수동)

-> auto-MDIX 기능 활성화(모드 및 속도가 자동 설정일 경우)

 

Telnet 원격 접속 이슈와 SSH 보안 원격 접속 구성 방법

  • Telnet: TCP 포트 23 사용 -> plain text를 주고 받아 안전하지 않음
  • SSH: TCP 포트 22를 사용하는 프로토콜 -> 원격 장치에 대한 보안 관리 연결
    1. SSH 지원 확인: show ip ssh -> 스위치가 ssh를 지원하는지 확인
    2. 스위치 이름 및 IP 주소 구성: hostname  ip address
    3. IP 도메인 구성: ip domain-name (도메인 이름) -> 전역 모드 명령으로 도메인 정의(ip 주소 대신 사용하는 이름)
    4. RSA 키 쌍 생성: crypto key generate rsa 전역 모드 명령 -> SSH 서버 활성화
    5. 사용자 인증 구성: username (ussername) secret (password) 전역 모드 명령
    6. SSH 버전 2 활성화: ip ssh version 2 전역 모드 명령
    7. vty 라인 구성: transport input ssh  login local 라인 모드 명령 -> 로컬 인증 설정

-> 오늘날 권장되는 비트 수는 1024 이상

-> rsa(공개키 암호시스템), crypto(암호화)

 

-> switch와 router에 성공적으로 텔넷 접속

 

스위칭 개념 - 프레임 전달

네트워킹에서 스위칭

1) 인터페이스를 통하는 프레임과 관련된 2가지 용어

  • Ingress: 외부 장치 -> 스위치 인터페이스 (입력)
  • Egress: 스위치 인터페이스 -> 외부장치 (출력)

2) 스위치: 목적지 MAC 주소를 기반 -> 프레임 출력 인터페이스 결정

  • 목적지 장치가 위치한 인터페이스 파악해야 함
  • 프레임의 출발지 MAC 주소를 해당 ingress 포트 정보와 함게 MAC address table(switching table 혹은 CAM(Content Addressable Memory) table)에 기록

3) 스위치: 트래픽을 수신한 인터페이스를 통해 해당 트래픽을 다시 전달 허용 X

-> 브로드캐스트 폭풍(broadcast storm) 방지

 

스위치의 프레임 포워딩 방법

  • 스위치는 ASIC(특정 용도용 반도체)에 있는 소프트웨어 사용 -> 매우 빠른 결정
  • 스위치는 프레임 수신 후 2가지 방법 중 하나로 프레임 전달
  1. Store-and-forwarding switching: 전체 프레임 수신 -> 프레임 유효한 지 확인전달(특징: 프레임 오류 검사, 프레임 버퍼링) -> 메모리에 잠시 버퍼링해뒀다가 검사 이후 내보내니까 
  2. Cut-throught switching 1 -> fastforward: 수신하는 프레임의 목적지 MAC 주소 출력 포트파악되면 -> 즉시 프레임 전달(특징: 레이턴시(지연시간)가 10 마이크로초 미만이어야 하는 경우 사용, 서로 다른 속도를 갖는 입출력 포트는 지원 불가) 
  3. Cut-throught switching 2 -> Fragment Free: 목적지 MAC 주소 확인 -> 프레임이 64바이트 이상인지 확인 -> 전달(runts 방지 효과)
runt -> 최소 이더넷 프레임 크기인 64바이트보다 더 작은 프레임

runt가 발생 -> collision이 발생한다는 의미

 

충돌 영역(collision domain)

  • 스위치 -> 충돌 영역 제거하고 혼잡을 감소시킴
  • 링크가 full deplex -> 충돌 영역 발생 X
  • 하나 이상의 장치가 half duplex -> 대역폭에 의한 경쟁 발생, 충돌 현상이 발생 가능
  • 오늘날 대부분의 장치 -> 이중 모드와 속도에 대한 기본 설정을 자동 협상(auto-negotiation)으로 사용

 

브로드캐스트 영역(broadcast domain)

  • 브로드캐스트 영역: LAN 상의 1계층 & 2계층 장치를 모두 포함
  • 3계층 장치(라우터)만브로드캐스트 영역 분리
  • L2 스위치: 브로드캐스트 트래픽 수신 -> 이를 인그레스 인터페이스를 제외한 모든 인터페이스로 플러드아웃 -> flooding
  • 브로드캐스트 증가 -> 혼잡 발생 & 네트워크 성능 저하
  • 1계층 or 2계층 장치 증가 -> 브로드캐스트 영역 bigger
  • 이런 문제를 해결해주는 개념 -> VLAN

 

VLAN

VLAN: 다른 유사한 장치와의 논리적 연결

  • 동일한 스위치다양한 장치 그룹 세분화
  • 조직을 더 쉽게 관리 가능
  • 브로드캐스트, 멀티캐스트, 유니캐스트개별 VLAN에서 분리
  • 각각의 VLAN -> 자신의 고유한 IP 네트워크 주소 범위 가짐
  • 브로드캐스트 영역 더 작게 관리 가능

-> 각각 다른 스위치에 의해 분리되어있지만, 논리적으로 묶을 수 있음

-> 반대로, 각각 기능적으로 다른 업무를 하는 그룹이 같은 스위치로 묶여있어도, 이를 나눌 수 있음

-> 브로드캐스트 영역 3개! -> it network, hr network, sales network

 

VLAN의 이점

  • 작은 브로드캐스트 도메인: LAN을 분할 -> 브로드캐스트 영역 수 감소
  • 보안성 향상: 동일한 VLAN 상의 사용자 간에만 통신 가능
  • IT 효율성 향상: 요구 사항이 비슷한 장치(ex: 학생과 교직원)를 그룹화 가능
  • 비용 절감: 스위치 하나여러 그룹 혹은 VLAN 지원 가능
  • 더 나은 성능: 브로드캐스트 영역이 작으면 -> 트래픽 감소 -> 대역폭 향상 효과 기대
  • 관리 간소화: 유사한 그룹 -> 유사한 애플리케이션, 네트워크 리소스 필요로 함

-> 서로 다른 VLAN이 통신하려면 라우터가 필요함

-> R1에는 모든 VLAN 트래픽을 주고받을 수 있도록 설정해야 함 

 

VLAN 유형

기본 VLAN(default VLAN)

  • VLAN 1 -> 기본 VLAN, 기본 네이티브 VLAN, 기본 관리 VLAN, 삭제 or 이름 변경 X
  • VLAN 1 삭제 불가능
  • 위와 같은 VLAN 1의 기본 기능 -> 다른 VLAN에 할당하는 것이 권장

-> 별도의 설정을 하지 않으면 VLAN 1에 속함

데이터 VLAN(Data VLAN)

  • 사용자 생성 트래픽 (이메일 및 웹 트래픽 등) 전용
  • 모든 인터페이스가 해당 VLAN에 할당 -> VLAN 1은 기본 데이터 VLAN

네이티브 VLAN(Native VLAN)

  • 트렁크 링크에만 사용됨 ->
  • 네이티브 VLAN 상의 VLAN을 제외한 모든 프레임 -> 802.1q 트렁크 링크에서 태그가 지정
2개 이상의 서로 다른 VLAN 트래픽을 전달하는 링크 혹은 포트 -> 트렁크 링크 or 트렁크 포트

단일 VLAN 연결 -> 액세스 모드

태그 -> VLAN 10, VLAN 20에서 10, 20을 의미? -> 802.1q 트렁크 링크에서 태그 지정!

Native VLAN? 
- 허브와 스위치를 함께 사용하던 환경
- 스위치는 VLAN 정보를 구분하기 위해 프레임에 tag 부착하여 전달
- 허브는 VLAN 구분하는 기능 X -> 프레임을 pc로 바로 전달 -> 일반적인 PC는 VLAN이 표시된 프레임 인식 불가능
- 허브로부터 받은 tag가 붙지 않은 데이터는 스위치에서 버려짐 -> VLAN이 나눠진 허브와 스위치 간의 통신 불가능 -> 태그가 붙지 않은 VLAN을 Native VLAN(default VLAN 1)으로 인식하여 통신이 가능하게 만듦

참고자료: https://bignet.tistory.com/22

 

관리 VLAN(Management VLAN)

  • SSH/Telnet 등 관리/제어용 트래픽에 사용
  • 사용자 트래픽과 섞이면 안 됨
  • 일반적으로, 2계층 스위치의 SVI VLAN(switched virtual interface) -> 관리 VLAN으로 사용(?)

 

음성 VLAN(voice VLAN)

  • 보장된 대역폭(음성 트래픽은 실시간 트래픽이기 때문), 높은 QoS 우선 순위(Quality of Service, 일반 트래픽보다는 빠르게 처리되어야 함), 혼잡 회피 능력, 150ms 미만의 지연시간 요구됨(사람이 실시간으로 대화하는 데에 문제 발생) -> 별도의 VLAN 필요
  • 전체 네트워크가 음성을 지원하도록 설계

-> IP Phone이 연결되면 -> F0/18에는 하나의 VLAN이 아니라 -> 음성 VLAN과 다른 data VLAN을 동시에 서비스?하는 모드로 포트가 동작

 

다중 스위치 환경의 VLAN

VLAN 트렁크

  • TRUNK: 두 개의 네트워킹 장치 간의 포인트-투-포인트 링크

트렁크 링크의 기능

  1. 한 개 이상의 VLAN 허용
  2. VLAN을 전체 네트워크로 확장/전개 -> 좌측 네트워크와 우측 네트워크가 전체 네트워크로 확장됨
  3. 기본적으로, 모든 VLAN을 지원 -> 추후 60번 VLAN이 생겨도 지원 -> 10번, 20번, 30번만 사용할 수 있도록 보안 강화도 가능
  4. 802.1q 트렁킹 지원

 

VLAN이 없는 네트워크

  • VLAN이 없으면 -> 스위치에 연결된 모든 장치 -> 유니캐스트, 멀티캐스트, 브로드캐스트 트래픽을 모두 수신

 

VLAN이 없는 네트워크

  • VLAN이 있으면 -> 유니캐스트, 멀티캐스트, 브로드캐스트 트래픽 -> VLAN으로 제한.
  • 3계층 장치가 없으면 -> 서로 다른 VLAN에 속한 장치 간 통신 불가능

 

태그(tag)를 이용한 VLAN 식별

  • IEEE 802.1q 헤더의 길이: 4byte
  • 태그 생성 시 -> FCS(오류 검사) 다시 계산 (FCS는 DstMac부터 Data까지의 field를 검사해서 오류 여부를 계산하는 건데, 그 사이에 Tag가 추가되었으니 다시 계산해야함)
  • 목적치 장치로 전송할 때 -> 태그 제거FCS를 원래 값으로 다시 계산

-> 출발지 맥주소와 Type/Length 사이에 tag 추가

-> tag: Type field + TCI(Tag Controll Information)

  • Type: 16진수 0x8100인 2바이트 필드, TPID(Tag Protocol ID)
  • Pri: User Priority -> 우선 순위를 지원하는 3비트 값
  • CFI(Canonical Format Identifier): 이더넷에서 토큰 링 프레임을 지원할 수 있는 1비트 값
  • VID: 최대 4096개의 VLAN을 지원할 수 있는 12비트 VLAN 식별자

 

네이티브 VLAN과 802.1q 태깅

  • 태깅은 일반적으로 모든 VLAN에 수행
  • 네이티브 VLAN은 허브가 연결된 통신의 경우 사용을 위해 설계(레거시 LAN에서의 사용 -> 레거시: 해당 기술이 등장하기 이전에 사용하던 기술? 정도로 이해)
  • 변경하지 않으면 -> VLAN1이 Native VLAN
  • 트렁크 링크 양단의 인터페이스 -> 동일한 네이티브 VLAN으로 구성
  • 트렁크는 개별적으로 구성 -> 별도의 트렁크에는 서로 다른 Native VLAN 사용하는 것이 가능 -> Native VLAN은 스위치-스위치의 1대1 관계이기 때문에 다르게 설정 가능

 

 

음성 VLAN 태깅

  • VoIP 전화기는 3-포트 스위치
  • 스위치는 Cisco Discovery Protocol(CDP)를 사용 -> IP Phoe에 음성 VLAN을 알림
  • IP Phone은 자체 트래픽(음성)에 태깅 -> cos(Class of Service)를 설정할 수 있음
  • IP Phone은 PC로부터의 프레임에 태깅을 할 수도, 하지 않을 수도 있음

 

VLAN 구성

Catalyst 스위치의 VLAN 범위

  • 스위치 2960과 3650 등은 4000개가 넘는 VLAN 지원 -> VID: 12bits = 2^12
일반 범위 VLAN 1-1005 확장 범위 VLAN 1006-4095
중소 규모 비즈니스에서 사용 서비스 제공업체에서 사용
1002-1005는 레거시 VLAN용으로 예약 Running-config에 구성
1, 1002-1005는 자동생성 -> 삭제 불가능 더 적은 VLAN 기능 지원
플래시 내의 vlan.dat 파일에 저장

-> vlan을 한 번 설정을 하거나 구성, 초기화하거나 변경을 하면
-> 반드시 데이터 파일을 건드려야 한다.

-> no VLAN 명령어를 사용해도, 해당 파일을 건드리지 않으면 VLAN은 사라지지 않는다.
VTP 구성을 필요로 함 -> 자동 X, 수동으로
스위치 간에 VTP(VLAN Trunking Protocol) 동기화 가능  

 

VLAN 생성 명령

  • VLAN은 전역 설정 모드에서 생성 가능, VLAN 세부 정보는 vlan.dat 파일에 저장
  • 유효한 VLAN-ID로 VLAN 생성: vlan vlan-id
  • VLAN을 식별할 고유한 이름 지정: name vlan-name
  • 이름 지정하지 않은 경우 -> IOS는 VLAN이라는 기본 이름에 4자리 숫자를 붙인 VLAN이름을 자동으로 지정 (ex: VLAN 20의 경우, vlan0020)

VLAN 포트 할당 명령

  • VLAN 생성 이후, 이를 원하는 인터페이스에 할당
  • 인터페이스 구성 모드로 이동: interface interface-id
  • 포트를 액세스 모드로 설정: switchport mode access
  • 포트를 VLAN에 할당: switchport access vlan vlan-id
  • VLAN이 지정된 인터페이스에 연결된 엔드 디바이스 -> 해당 VLAN에 대한 IP 주소 정보가 구성되어야 통신 가능
  • 액세스 모드 포트 -> 하나의 데이터 VLAN에만 할당 가능 -> IP Phone과 PC가 동일한 포트에 연결된 경우 -> 또 다른 하나의 음성 VLAN에 결합 가능

VLAN 정보 확인

  • show vlan
  • show vlan [brief | id vlan-id | name vlan-name | summary]
  • brief: VLAN 이름, 상태, 포트를 라인 당 하나의 VLAN에 대하여 표시 
  • id vlan-id: 식별된 VLAN ID 번호에 대한 정보를 표시
  • name vlan-name: 식별된 VLAN 이름에 대한 정보를 표시. vlan-name은 1~32자의 아스키 문자열
  • summary: VLAN 요약 정보를 표시

 

VLAN 포트 멤버십 변경

  • switchport access vlan vlan-id 명령 다시 입력
  • no switchport access vlan 명령 사용 -> 인터페이스를 VLAN 1에 다시 지정

 

VLAN 삭제

  • VLAN을 삭제하기 전에, 모든 멤버 포트를 다른 VLAN에 재할당
  • no vlan vlan-id 명령을 사용 -> VLAN 삭제
  • delete flash:vlan.dat 또는 delete vlan.dat 명령 사용 -> 모든 VLAN 삭제
  • 모든 VLAN을 삭제하는 경우 스위치를 재시작(reload)
  • 스위치를 공장 기본 값으로 복구하기 위해서는 다음 단계를 거침
  1. 스위치 포트에 연결된 모든 데이터 케이블 분리
  2. startup-config 삭제
  3. vlan.dat 삭제
  4. 스위치 재시작