스위치란?
스위치는 네트워크 중간에서 패킷을 받아 필요한 곳에만 보내주는 네트워크의 중재자 역할을 한다.
- 스위치는 여러 대의 컴퓨터나 장치들이 서로 통신할 수 있도록 해주는 네트워크 장비이다.
- 스위치는 네트워크에 연결된 각 장치들의 MAC 주소를 인식하고, 해당 MAC 주소로 패킷을 전달한다.
- 이를 통해 네트워크의 효율성을 높이고, 불필요한 패킷 전송을 방지한다.
스위치는 한 대의 장비에서 논리적으로 네트워크를 분리할 수 있는 VLAN 기능을 가지고 있다.
- VLAN은 여러 대의 컴퓨터나 장치들을 하나의 그룹으로 묶어서, 서로 다른 네트워크로 분리하는 기능이다.
- 이를 통해 보안성을 강화하고, 네트워크의 효율성을 높일 수 있다.
스위치는 네트워크의 루프를 방지하는 스패닝 트리 프로토콜과 같은 기능을 기본적으로 갖고 있다.
- 스패닝 트리 프로토콜은 네트워크에서 발생할 수 있는 루프를 방지하는 기능이다.
- 루프는 네트워크에서 패킷이 반복적으로 전송되는 현상으로, 네트워크의 성능을 저하시키고, 네트워크 장애를 유발할 수 있다.
이렇게 스위치는 네트워크의 중재자로서 중요한 역할을 수행하며, 다양한 기능을 제공하여 네트워크의 효율성과 보안성을 높여준다.
여러 계층이 있는데 각 계층에서 헤더와 데이터를 합친 부분을 PDU라고 한다
나중 가면 이런 식으로 헤더가 계속 붙으면서 계층별로 차이가 나게 된다.
2계층 PDU의 명칭은 프레임이다. 3계층은 패킷. 이렇게 계층별로 부르는 데이터의 명칭이 다른데 간단히 정리해보겠다.
7 → 데이터
6 → 데이터
5 → 데이터
4 → 세그먼트
3 → 패킷
2 → 프레임
1 → 비트
스위치 장비 동작
스위치는 네트워크에서 통신을 중재하는 장비이다.
스위치가 없던 오래된 이더넷 네트워크에서는 패킷을 전송할 때 서로 경합해 그로 인한 네트워크 성능 저하가 컸다.
이런 경쟁을 없애고 동시에 여러 장비가 서로 간섭 없이 통신하도록 도와주는 장비가 스위치 이다.
스위치를 사용하면 여러 단말이 한꺼번에 통신할 수 있어 통신하기 위해 기다리거나 충돌 때문에 대기하는 문제 해결.
스위치의 핵심 역할
- MAC 주소 테이블 관리: 스위치는 MAC 주소 테이블을 관리하여, 네트워크에 연결된 각 단말의 MAC 주소와 해당 단말이 위치하는 인터페이스 정보를 매핑한다. 이를 통해 스위치는 패킷을 정확하게 전송할 수 있다.
- 패킷 전송: 스위치는 MAC 주소 테이블을 기반으로 패킷을 전송한다. 패킷을 수신하면, 해당 패킷의 목적지 MAC 주소를 확인하고, MAC 주소 테이블을 검색하여 목적지 단말이 위치하는 인터페이스로 패킷을 전송한다.
MAC 주소 테이블이 담고 있는 정보
- MAC 주소: 네트워크에 연결된 각 단말의 MAC 주소를 저장한다.
- 인터페이스: 해당 MAC 주소를 가진 단말이 연결된 인터페이스를 저장한다.
- Time to Live(TTL): MAC 주소 테이블의 유효 시간을 저장한다. TTL이 만료되면, 해당 MAC 주소 테이블은 삭제된다.
위와 같이 스위치는 MAC 주소 테이블을 관리하여 패킷을 정확하게 전송하며, 이를 통해 네트워크의 효율성을 높이고, 불필요한 패킷 전송을 방지한다.
이런 역할을 수행하기 위해 스위치는 MAC 주소와 포트가 매핑된 MAC 주소 테이블이 필요하다.
테이블에 없는 도착지 주소를 가진 패킷이 스위치로 들어오면 스위치는 전체 포트로 패킷을 전송한다.
패킷의 도착지 주소가 테이블에 있으면 해당 주소가 매핑된 포트로만 패킷을 전송하고 다른 포트로는 전송 X
크게 3 가지 단계를 통해 이 과정을 수행한다
플러딩(Flooding)
- 플러딩은 스위치가 수신한 패킷의 목적지 MAC 주소를 MAC 주소 테이블에서 찾지 못한 경우, 해당 패킷을 모든 인터페이스로 전송하는 방식이다.
- 이를 통해 스위치는 MAC 주소 테이블을 빠르게 학습할 수 있다.
어드레스 러닝(Address Learning)
- 어드레스 러닝은 스위치가 수신한 패킷의 출발지 MAC 주소와 목적지 MAC 주소를 학습하는 과정이다.
- 이를 통해 스위치는 MAC 주소 테이블을 구축하고, 이후에 동일한 패킷을 수신하면 MAC 주소 테이블을 참조하여 패킷을 전송한다.
포워딩/필터링(Forwarding/Filtering)
- 포워딩은 스위치가 MAC 주소 테이블을 참조하여 패킷을 목적지 인터페이스로 전송하는 과정이다.
- 필터링은 스위치가 MAC 주소 테이블을 참조하여 특정 MAC 주소를 가진 패킷을 차단하는 과정이다.
위와 같이 스위치는 플러딩, 어드레스 러닝, 포워딩/필터링을 통해 네트워크의 효율성을 높이고, 불필요한 패킷 전송을 방지한다.
VLAN
VLAN은 물리적 배치와 상관없이 LAN을 논리적으로 분할, 구성하는 기술이다.
규모가 있는 기업 같은 경우 부서마다 각기 다른 네트워크를 사용해야 하므로 분할을 해야 한다.
과도한 브로드캐스트로 인한 단말들의 성능 저하, 보안 향상을 위한 차단 용도, 서비스 성격에 따른 정책 적용과 같은 이유로 네트워크가 분리되어야 한다.
쉽게 예시를 들어보자
VLAN을 사용하여 여러 부서를 가상으로 분리하고, 각 부서에 할당된 포트를 구분하여 사용하는 방법에 대해 이해하기 쉽게 설명해보겠다.
예를 들어, 회사에 HR 부서, 엔지니어 부서, 서버실이 있고, 각 부서에는 PC, 서버 등의 장치가 연결되어 있다고 가정해보자.
이 경우, 물리적으로는 하나의 스위치에 모든 포트가 연결되어 있지만, VLAN을 사용하여 각 부서를 가상으로 분리할 수 있다.
먼저, 스위치의 모든 포트를 VLAN 1번으로 설정한다. 그리고 HR 부서와 엔지니어 부서에 각각 VLAN 2번과 VLAN 3번을 만든다.
그 다음, HR 부서와 연결된 포트를 모두 VLAN 2번으로 설정하고, 엔지니어 부서와 연결된 포트를 모두 VLAN 3번으로 설정한다.
이렇게 하면, HR 부서의 PC는 VLAN 2번에만 접근할 수 있고, 엔지니어 부서의 PC는 VLAN 3번에만 접근할 수 있다.
엔지니어 부서에서 인사 DB에 접근할려고 해도 인사는 2번이고 엔지니어는 3번 이므로 접근할 수 없는 것이다.
이를 통해, 각 부서의 보안성을 강화하고, 네트워크의 효율성을 높일 수 있다.
프레임이 스위치 쪽으로 들어오면, 스위치는 해당 프레임의 VLAN 번호를 확인하고, 해당 VLAN에 할당된 포트로만 프레임을 전송한다.
이러한 방식으로, 스위치는 여러 개의 VLAN을 관리하고, 각 VLAN에 할당된 포트를 구분하여 사용할 수 있다.
VLAN을 사용하면 물리적 구성과는 상관없이 네트워크를 분리할 수 있고 물리적으로 다른 층에 있는 단말이 하나의 VLAN을 사용해 동일한 네트워크로 묶을 수 있다.
VLAN의 종류와 특징
- 스태틱 VLAN(Static VLAN): 관리자가 직접 VLAN을 설정하는 방식이다.
- 다이내믹 VLAN(Dynamic VLAN): MAC 주소나 IP 주소를 기반으로 자동으로 VLAN을 할당하는 방식이다.
- 트렁크(Trunk): 여러 개의 VLAN을 하나의 인터페이스로 연결하는 방식이다.
- 서브인터페이스(Subinterface): 하나의 인터페이스를 여러 개의 VLAN으로 분할하는 방식이다.
VLAN 모드 동작 방식
- 액세스 모드(Access Mode): 스위치의 한 포트를 하나의 VLAN에만 할당하는 방식이다.
- 트렁크 모드(Trunk Mode): 스위치의 한 포트를 여러 개의 VLAN에 할당하는 방식이다.
- 더미 허브 모드(Dumber Hub Mode): 스위치의 한 포트를 모든 VLAN에 할당하는 방식이다.
위와 같이 VLAN은 다양한 종류와 특징을 가지고 있으며, VLAN 모드에 따라 동작 방식이 다르다.
이를 통해 네트워크의 효율성을 높이고, 보안성을 강화할 수 있다.
VLAN은 스위치 통신을 분할하는 기능 때문에 유니캐스트, 멀티캐스트, 브로드캐스트 모두 VLAN을 넘어가지 못한다.
일반적으로 VLAN이 다르다는 것은 별도의 네트워크로 분할한 것이므로 네트워크가 다르고 IP 주소 할당도 다른 네트워크로 할당되는 것이 일반적이다.
STP
배경 설명
과거에는 네트워크 구성에서 한 대의 장치가 고장 나면 전체 네트워크가 마비되는 문제가 있었다.
이러한 문제를 해결하기 위해, 여러 대의 장치를 연결하여 네트워크를 구성하는 방식이 도입되었다.
하지만, 여러 대의 장치를 연결하다 보니, 루프(Loop) 가 발생하는 문제가 발생했다.
루프는 네트워크에서 패킷이 반복적으로 전송되는 현상으로, 네트워크의 성능을 저하시키고, 네트워크 장애를 유발할 수 있다. 대부분 브로드캐스트 스톰으로 인한 문제이다
루프를 해결하기 위해, 브리지(Bridge) 라는 장치가 개발되었다.
브리지는 네트워크를 여러 개의 세그먼트로 나누고, 각 세그먼트 간의 통신을 중개하는 역할을 한다.
브리지를 사용하여 루프를 해결할 수 있었지만, 또 다른 문제가 발생했다. SPOF(Single Point of Failure) 이다.
SPOF는 네트워크에서 한 대의 장치가 고장 나면 전체 네트워크가 마비되는 문제를 말한다.
이러한 문제를 해결하기 위해, STP(Spanning Tree Protocol) 가 개발되었다.
STP는 네트워크에서 루프를 방지하고, SPOF를 예방하기 위한 프로토콜이다.
루프를 확인하고 적절히 포트를 사용하지 못하도록 만들어 루프를 예방하는 매커니즘이다.
전체적인 스위치 연결 상황을 파악해야 루프를 예방할 수 있다.
이를 위해 스위치는 BDPU라는 프로토콜을 통해서 스위치 간의 장보를 전달하고 이렇게 수집된 정보를 이용해 전체 네트워크 트리를 만들어 루프 구간을 확인한다.
BDPU에는 스위치가 갖고 있는 ID와 같은 고유값이 들어가고 이런 정보들이 스위치 간에 서로 교환되면서 루프 파악이 가능해진다.
이렇게 확인된 루프 지점을 데이터 트래픽이 통과하지 못하도록 차단해 루프 예방
스위치 포트의 상태 및 변경 과정
- Blocking: 포트가 아직 사용되지 않는 상태. 이 상태에서는 다른 포트와 통신할 수 없다.
- Listening: 포트가 Blocking 상태에서 벗어나, 다른 포트와의 통신을 준비하는 상태. 이 상태에서는 MAC 주소 테이블을 업데이트한다.
- Learning: 포트가 Listening 상태에서 벗어나, MAC 주소 테이블을 완성하는 상태. 이 상태에서는 수신한 프레임의 MAC 주소를 MAC 주소 테이블에 저장한다.
- Forwarding: 포트가 Learning 상태에서 벗어나, 다른 포트와 통신하는 상태. 이 상태에서는 MAC 주소 테이블을 참조하여 패킷을 전송한다.
STP의 동작 방식.
- 루트 브리지(Root Bridge) 를 선정한다. 루트 브리지는 네트워크에서 가장 낮은 우선순위를 가진 브리지이다.
- 루트 포트(Root Port) 를 선정한다. 루트 포트는 루트 브리지와 가장 가까운 거리에 있는 포트이다.
- 데지그네이티드 포트(Designated Port) 를 선정한다. 데지그네이티드 포트는 루트 브리지와 다른 브리지 간의 통신을 담당하는 포트이다. 지정 포트.
- 논-데지그네이티드 포트(Non-Designated Port) 를 차단한다. 논-데지그네이티드 포트는 데지그네이티드 포트가 아닌 포트이다.
이러한 방식으로, STP는 네트워크에서 루프를 방지하고, SPOF를 예방하여 안정적인 네트워크를 유지할 수 있다.
'Network' 카테고리의 다른 글
라우터/L3 스위치: 3계층 장비 -2 (36) | 2024.07.27 |
---|---|
라우터/L3 스위치: 3계층 장비 -1 (24) | 2024.07.04 |
HTTP와 HTTPS는 무슨 차이? (1) | 2024.05.12 |
네트워크 연결과 구성요소 (0) | 2024.04.24 |
네트워크 시작 (0) | 2024.04.22 |