4장. 스위치: 2계층 장비

장동민·2022년 6월 6일

✍ PDU(Protocol Data Unit) : 각 계층에서 헤더와 데이터를 합친 부분

  • 1계층 : 비트(Bits)
  • 2계층 : 프레임(Frame)
  • 3계층 : 패킷(Packet)
  • 4계층 : 세그먼트(Segment)
  • 5, 6, 7계층(애플리케이션에 해당하는 3개 계층) : 데이터(Data)

1. 스위치 장비 동작

스위치의 특징

  • 패킷을 동시에 여러 장비가 서로 간섭 없이 통신하도록 도와주는 장비
  • 전송하려는 패킷의 헤더 안에 있는 2계층 목적지 주소를 확인하고 MAC 주소 테이블에서 해당 주소가 어느 포트에 있는지 확인해 해당 패킷을 그 포트로만 전송

1-1. 플러딩

✍ 플러딩 : 스위치가 허브와 같이 모든 포트로 패킷을 흘리는 동작 방식

						부팅 후의 스위치. MAC 주소 관련 정보가 아무 것도 없다.
  • 패킷이 들어오면 도착지 MAC 주소를 확인하고 자신이 갖고 있는 MAC 주소 테이블에서 MAC 주소 테이블에 매칭되는 목적지 MAC 주소 정보가 없으면 모든 포트에 같은 내용의 패킷을 전송
  • 스위치는 LAN에서 동작하므로 자신이 정보를 갖고 있지 않더라도 어딘가에 장비가 있을 수 있다고 가정하고 이와 같은 작업 수행

				MAC 주소 테이블에 아무 정보도 없는 경우, 패킷을 모든 포트로 보냄(Flooding)
  • 스위치의 정상적인 동작이지만 이런 동작이 많아지면 스위치가 제 역할을 못함

1-2. 어드레스 러닝

✍ 어드레스 러닝 : MAC 주소 테이블을 만들고 유지하는 과정

			어드레스 러닝 작업. 출발지 MAC 주소와 들어온 포트 정보를 MAC 주소 테이블에 저장
  • 어드레스 러닝은 출발지 MAC 주소 정보를 이용
  • 패킷이 특정 포트에 들어오면 스위치에는 해당 패킷의 출발지 MAC 주소와 포트 번호를 MAC 주소 테이블에 기록
  • 출발지의 MAC 주소 정보를 사용하므로 브로드캐스트나 멀티캐스트에 대한 MAC 주소를 학습할 수 없음

1-3. 포워딩 / 필터링

✍ 포워딩 : 입력 포트로 부터 출력 포트로 패킷 전달
✍ 필터링 : 자신이 가진 MAC 테이블과 비교해 매치되지 않는 다른 포트로 해당 패킷을 보내지 않는 동작

										패킷의 포워딩과 필터링
                                        
  • 포워딩과 필터링을 통해 목적지로만 패킷이 전달되도록 동작
  • 다른 포트에서 기존 통신작업으로부터 독립적으로 동작
  • 일반적인 유니캐스트에 대해서만 포워딩과 필터링 작업을 수행

2. VLAN

2-1. VLAN이란?

✍ VLAN : 물리적 배치와 상관없이 LAN을 논리적으로 분할, 구성하는 기술

		한 대의 스위치를 여러개의 VLAN으로 분할할 수 있다. 별도의 스위치처럼 동작한다.
  • VLAN을 나누면 하나의 장비를 서로 다른 네트워크를 갖도록 분할한 것이므로 유니캐스트뿐만 아니라 브로드캐스트도 VLAN 간에 통신할 수 없음
  • 서로 다른 네트워크 간의 통신으로 3계층 장비가 필요

				서로 다른 VLAN 간의 통신이 필요한 경우, L3 장비의 도움이 필요하다.

				물리적으로 다른 층에 있는 단말이 하나의 VLAN을 사용해 동일한 네트워크로 묶을 수 있음

2-2. VLAN의 종류와 특징

  • 포트 기반 VLAN(Port Based VLAN) : 스위치를 논리적으로 분할해 사용하는 것이 목적인 VLAN
  • MAC 기반 VLAN(Mac Based VLAN) : 스위치에 연결되는 단말의 MAC 주소를 기반으로 VLAN을 할당하는 기술

									포트 기반 VLAN과 MAC 기반 VLAN

2-3. VLAN 모드(Trunk/Access) 동작 방식

					한 대의 스위치에서도 서로 다른 VLAN 간에는 통신할 수 없음

								태그 기능이 없는 VLAN 네트워크(Trunk)
                                
  • 여러 개의 VLAN이 존재하는 상황에서 스위치를 서로 연결해야 하는 경우, 각 VLAN끼리 통신하려면 VLAN 개수만큼 포트를 연결해야 함

  • 중/대형 네트워크에서 VLAN별로 포트를 연결하면 장비 간의 연결만으로도 많은 포트가 낭비

    			태그 포트(Tagged Port)를 이용한 스위치 간 연결, 한 개의 포트로 여러 VLAN 통신이 가능하다.
  • VLAN 태그 기능은 하나의 포트에 여러 개의 VLAN을 함께 전송할 수 있게 해줌

  • 태그(Tagged) 포트 또는 트렁크(Trunk) 포트라고 함

  • 태그 포트는 통신 시 이더넷 프레임 중간에 VLAN ID 필드를 끼워 넣어 이 정보를 이용

  • 태그 포트로 패킷을 보낼 시 VLAN ID를 붙이고 수신 측에서는 이 VLAN ID를 제거하면서 VLAN ID의 VLAN으로 패킷을 보냄

  • VLAN을 지정하는 필드가 추가되어 포트 낭비 없이 네트워크를 더 유연하게 디자인할 수 있음
  • 일반적으로 태그 포트는 여러 네트워크가 동시에 설정된 스위치 간의 연결에서 사용되며 하나의 네트워크에 속한 서버의 경우는 언태그로 설정

3. STP

3-1. 루프란?

✍ 루프(Loop) : 네트워크에 연결된 모양이 고리처럼 되돌아오는 형태
📌 루프 상황이 발생했을 때 네트워크가 마비되고 통신이 안되는 상황이 발생, 대부분 브로드캐스트 스톰으로 인한 문제

브로드캐스트 스톰

네트워크가 연결된 상태에서 단말에서 브로드캐스트를 발생시키면 스위치는 이 패킷을 패킷이 유입된 포트를 제외한 모든 포트로 플러딩을 함
플러딩된 패킷은 다른 스위치로도 보내지고 이 패킷을 받은 스위치는 패킷이 유입된 포트를 제외한 모든 포트로 다시 플러딩되어 루프 구조 상태에서 이 패킷이 계속 돌아가는 현상

								브로드캐스트 스톰이 발생하는 루프 구조

브로드캐스트 스톰 현상이 발생 시

  1. 네트워크에 접속된 단말의 속도가 느려짐(CPU 사용률 증가)
  2. 네트워크 접속 속도가 느려짐(거의 통신 불가능 수준)
  3. 네트워크에 설치된 스위치에 모든 LED들이 동시에 빠른 속도로 깜빡임

스위치 MAC 러닝 중복 문제

  • 스위치는 출발지 MAC 주소를 학습하는데 직접 전달되는 패킷과 스위치를 돌아 들어간 패킷 간의 포트가 달라 MAC 주소를 정상적으로 학습할 수 없음

								스위치 MAC 주소 중복 문제(Flapping)
  • 스위치에서 학습된 주소의 포트가 계속 변경되므로 스위치가 정상적으로 동작하지 못하고 패킷을 플러딩함
  • 루프 구성 포트 중 하나의 포트만 사용하지 못하도록 셧다운(Shutdown)되게 하여 루프를 예방할 수 있음

3-2. STP란?

✍ 스페닝 트리 프로토콜(Spanning Tree Protocol) : 루프를 확인하고 적절히 포트를 사용하지 못하게 만들어 루프를 예방하는 매커니즘

  • 스위치는 BPDU(Bridge Protocol Data Unit)라는 프로토콜을 통해 스위치 간에 정보를 전달하고 수집된 정보를 이용해 전체 네트워크 트리를 만들어 루프 구간을 확인
  • BPDU에는 스위치가 갖고 있는 ID와 같은 고유값이 들어가고 이런 정보들이 스위치 간에 서로 교환되면서 루프 파악이 가능해짐
  • 확인된 루프 지점을 데이터 트래픽이 통과하지 못하도록 차단해 루프를 예방

스위치 포트의 상태 및 변경 과정

  • Blocking
    • 패킷 데이터를 차단한 상태로 상대방이 보내는 BPDU를 기다림
    • 총 20초인 Max Age 기간 동안 상대방 스우치에서 BPDU를 받지 못했거나 후순위 BPDU를 받았을 때 포트는 리스닝 상태로 변경
    • BPDU 기본 교환 주기는 2초이고 10번의 BPDU를 기다림

  • Listening
    • 해당 포트가 전송 상태로 변경되는 것을 결정하고 준비하는 단계
    • 총 15초 동안 대기

  • Learning
    - 이미 해당 포트를 포워딩하기로 결정하고 실제로 패킷 포워딩이 일어날 때 스위치가 곧바로 동작하도록 MAC 주소를 러닝하는 단계
    - 총 15초 동안 대기

  • Forwarding
    • 패킷을 포워딩 하는 단계, 정상적인 통신이 가능

									기본 STP 상태 변화
                                    

									STP 상태 변화
  • STP가 활성화된 경우, 스위치 포트는 곧바로 포워딩 상태가 되지 않음
  • 부팅 시간이 매우 빠른 OS가 DHCP 네트워크에 접속 시 부팅 단계에서 IP를 요청하지만 스위치 포트가 포워딩 상태가 되지 않아 IP를 정상적으로 할당받지 못하는 경우가 많음

STP 동작 방식

✍ 루트 스위치 : 네트워크상에서 뿌리가 되는 가장 높은 스위치를 선출하고 그 스위치를 통해 모든 BPDU가 교환되도록 하는데 그 스위치를 루트 스위치라 함

  1. 하나의 루트(Root) 스위치를 선정

    • 전체 네트워크에서 하나의 루트 스위치 선정
    • 자신을 전체 네트워크의 대표 스위치로 적은 BPDU를 옆 스위치로 전달

  2. 루트가 아닌 스위치 중 하나의 루트 포트를 선정

    • 루트 브릿지로 가는, 경로가 가장 짧은 포트를 루트 포트라고 함
    • 루트 브릿지에서 보낸 BPDU를 받는 포트

  3. 하나의 세그먼트에 하나의 지정(Designated) 포트를 선정

    • 스위치와 스위치가 연결되는 포트는 하나의 지정 포트를 선정
    • 스위치 간의 연결에서 이미 루트 포트로 선정된 경우, 반대쪽이 지정 포트로 선정되어 양쪽 모두 포워딩 상태가 됨
    • 스위치 간의 연결에서 아무도 루트 포트가 아닐 경우, 한쪽은 지정 포트로 선정되고 다른 한쪽은 대체 포트가 되어 차단 상태가 됨
    • BPDU가 전달되는 포트

    					루트 포트와 지정 포트의 관계. BPDU가 지정 포트에서 나와 루트 포트로 들어간다.

4-3. 향상된 STP(RSTP, MST)

RSTP

✍ RSTP(Rapid Spanning Tree Protocol) : 2 ~ 3초로 절체 시간이 짧아 일반적인 TCP 기반 애플리케이션이 세션을 유지할 수 있게 됨

								일반 STP의 토폴로지 변경 시 과정
                                
  • 기존 STP에서는 토폴로지가 변경되면 말단 스위치에서 루트 브릿지까지 변경 보고를 보내고 루트 브릿지가 그에 대한 연산을 다시 완료함
  • 변경된 토폴로지 정보를 말단 스위치까지 보냄
  • 네트워크에 있는 모든 스위치까지 전파되는 예비시간까지 고려해야 하므로 정보를 확정하는 데 시간이 오래 걸림

								RSTP의 토폴로지 변화 과정
  • RSTP는 다양한 BPDU 메시지, 대체 포트 개념, 토폴로지 변경 전달 방식의 변화로 일반 STP보다 빠른 시간 내에 토폴로지 변경을 감지, 복구 가능

MST

✍ MST(Multiple Spanning Tree) : 여러 개의 VLAN을 그룹으로 묶고 그 그룹마다 별도의 스패닝 트리가 동작

  • 일반적으로 대체 경로의 개수나 용도에 따라 MST의 스패닝 트리 프로토콜 프로세스 개수를 정의
  • 리전 개념이 도입되어 여러 개의 VLAN을 하나의 리전으로 묶을 수 있음

스위치의 구조와 스위치에 IP 주소가 할당된 이유

스위치는 다음과 같이 나뉨

  • 컨트롤 플레인(Control Plane) -> STP나 텔넷, SSH, 웹과 같은 서비스 수행
  • 데이터 플레인(Data Plane) -> 패킷을 포워딩

스위치가 동작하는 데 IP는 필요없지만 일정 규모 이상의 네트워크에서 운영되는 스위치는 관리 목적으로 대부분 IP 주소가 할당됨

							스위치는 컨트롤 플레인과 데이터 플레인으로 나뉜다.
profile
나만의 데이터베이스

0개의 댓글