일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LG Aimers 4th
- 딥러닝
- 분류
- Classification
- LG Aimers
- supervised learning
- LG
- deep learning
- 회귀
- AI
- 해커톤
- LLM
- PCA
- Machine Learning
- 티스토리챌린지
- 오블완
- 지도학습
- gpt
- 머신러닝
- regression
- OpenAI
- GPT-4
- ChatGPT
- Today
- Total
SYDev
[컴퓨터 네트워크] 9주차: 2계층 스위치, 스위칭 개념, VLAN 개념 본문
경희대학교 유인태 교수님의 컴퓨터네트워크 수업을 기반으로 정리한 글입니다.
2계층 스위치 - L2 스위치 초기 구성
- L2 스위치 -> 2계층에서 쓰이는 스위치
스위치 부팅 프로세스
- ROM 내의 POST(Power On Self Test) 프로그램 로딩 후 CPU, DRAM, FLASH 장치 테스트
- ROM 내의 부트 로더 소프트웨어 로딩 (Boot loader: 컴퓨터 시스템이 부팅되고 운영체제를 로드하고 실행하기 전에, 하드웨어 초기화, 시스템 구성, 운영체제 로딩을 담당)
- Boot loader에 의한 CPU, 물리 메모리가 매핑되는 위치, 메모리 양, 속도를 제어하는 CPU 레지스터 초기화
- Boot loader에 의한 시스템 보드 상의 플래시 파일 시스템 초기화
- 마지막으로 부트 로더는 디폴트 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를 사용하는 프로토콜 -> 원격 장치에 대한 보안 관리 연결
- SSH 지원 확인: show ip ssh -> 스위치가 ssh를 지원하는지 확인
- 스위치 이름 및 IP 주소 구성: hostname 및 ip address
- IP 도메인 구성: ip domain-name (도메인 이름) -> 전역 모드 명령으로 도메인 정의(ip 주소 대신 사용하는 이름)
- RSA 키 쌍 생성: crypto key generate rsa 전역 모드 명령 -> SSH 서버 활성화
- 사용자 인증 구성: username (ussername) secret (password) 전역 모드 명령
- SSH 버전 2 활성화: ip ssh version 2 전역 모드 명령
- 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가지 방법 중 하나로 프레임 전달
- Store-and-forwarding switching: 전체 프레임 수신 -> 프레임 유효한 지 확인 후 전달(특징: 프레임 오류 검사, 프레임 버퍼링) -> 메모리에 잠시 버퍼링해뒀다가 검사 이후 내보내니까
- Cut-throught switching 1 -> fastforward: 수신하는 프레임의 목적지 MAC 주소와 출력 포트가 파악되면 -> 즉시 프레임 전달(특징: 레이턴시(지연시간)가 10 마이크로초 미만이어야 하는 경우 사용, 서로 다른 속도를 갖는 입출력 포트는 지원 불가)
- 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: 두 개의 네트워킹 장치 간의 포인트-투-포인트 링크
트렁크 링크의 기능
- 한 개 이상의 VLAN 허용
- VLAN을 전체 네트워크로 확장/전개 -> 좌측 네트워크와 우측 네트워크가 전체 네트워크로 확장됨
- 기본적으로, 모든 VLAN을 지원 -> 추후 60번 VLAN이 생겨도 지원 -> 10번, 20번, 30번만 사용할 수 있도록 보안 강화도 가능
- 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)
- 스위치를 공장 기본 값으로 복구하기 위해서는 다음 단계를 거침
- 스위치 포트에 연결된 모든 데이터 케이블 분리
- startup-config 삭제
- vlan.dat 삭제
- 스위치 재시작
'3학년 1학기 전공 > 컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] 11주차 : 네트워크 보안, LAN 보안 개념, 스위치 보안 기술, ACL (0) | 2024.05.28 |
---|---|
[컴퓨터 네트워크] 10주차 : VLAN 활용, VLAN 트렁크, DTP, Inter-VLAN 라우팅 (0) | 2024.05.13 |
[컴퓨터 네트워크] 6주차: 거리-벡터 라우팅 프로토콜 (1) | 2024.04.12 |
[컴퓨터 네트워크] 5주차: 라우팅 개념과 정적 라우팅 구성 (1) | 2024.04.09 |
[컴퓨터 네트워크] 4주차: IP 주소 체계, IP 주소와 서브넷팅, DHCP, SLAAC (0) | 2024.04.07 |