네트워크

스위치::2계층 장비 - 1 (플러딩, 어드레스 러닝, 포워딩/필터링)

우잉~ 2024. 11. 15. 17:08

스위치는 2계층 주소인 MAC 주소를 기반으로 동작한다.

네트워크의 아주 핵심 장비라고 할 수 있다.

 

네트워크 중간에서 패킷을 받아 필요한 곳에 보내주는 네트워크의 중재자 역할을 한다.

 

이런 스위치는 패킷을 전달하는 중재자 역할 외에도 다른 기능을 가지고 있는데 정리하자면 아래와 같다.

 

 

1. 네트워크 통신 중재 기능

2. 네트워크 분리 기능 (VLAN)

3. 네트워크 루프 방지 기능 (스패닝 트리 프로토콜, STP)

 

스위치 장비의 동작 방법

스위치를 사용하면 동시에 여러 단말이 한꺼번에 통신할 수 있다. → 패킷을 보내기 위해 기다리거나 충돌로 인한 대기 시간을 감소하여 네트워크 성능이 대폭 향상하였다.

 

누가 어느 위치에 있는지 파악하고, 실제 통신이 시작되면 자신이 알고 있는 위치로 패킷을 정확히 전송하는 것이 스위치의 핵심 역할이다. →  MAC 주소 테이블을 보유하고 있기 때문에 단말의 위치를 알 수 있다.

 

* MAC 주소 테이블: MAC 주소와 단말이 위치하는 인터페이스 정보를 매핑한 테이블

MAC 주소 테이블 예시

 

 

플러딩

스위치를 처음 부팅하였을 때는 네트워크 관련 정보도 없고, MAC 주소 테이블도 존재하지 않는다. → 중재자 역할을 못하고 허브처럼 동작(패킷 브로드캐스팅)한다.

스위치가 허브처럼 모든 포트로 패킷을 보내는 동작을 플러딩이라고 한다.

부팅 직후 아무 정보도 없는 스위치

 

플러딩을 통한 MAC 주소 테이블 학습이 진행된다.

 

 

어드레스 러닝

처음으로 생성된 스위치는 플러딩을 통해 단말의 MAC 주소를 알아내고 인터페이스 주소와 매핑하여 MAC 주소 테이블을 만든다.

이렇게 MAC 주소 테이블을 만들고 유지하는 과정을 어드레스 러닝(Address Learning)이라고 한다.

어드레스 러닝은 패킷의 출발지 MAC 주소 정보를 이용한다.

 

패킷이 특정 포트에 들어오면 출발지  MAC 주소와 포트 번호를 MAC 주소 테이블에 기록하게 된다.

* ARP와 MAC 주소 테이블은 일정 시간 동안 지워지지 않는다! → 에이징 타임(Aging Time)이라고 한다. 에이징 타임은 MAC 주소 테이블이 단말의 ARP보다 길기 때문에 이더넷 네트워크를 플러딩 없이 효율적으로 운영할 수 있다!

출발지 MAC 주소와 포트 정보를 MAC 주소 테이블에 저장한다.

 

* 스위치는 어드레스 러닝 작업으로 MAC 주소를 확인하여 테이블에 저장 + 사전에 미리 정의된 MAC 주소 정보를 사용하여 패킷을 처리하고 스위치 간 통신을 한다. 특히 사전에 미리 정의된 MAC 주소는 대부분 스위치 간 통신을 하기 위해 사용된다.

* 스위치에서 MAC 주소 테이블을 보고 싶다면 show mac address-table 명령어를 이용하면 된다!

 

 

포워딩/필터링

여태까지 스위치에 대해서 이야기했다.

[스위치의 동작 과정]

1. 스위치에 패킷이 들어왔을 때, 도착지 MAC 주소를 확인

2. MAC 주소 테이블과 패킷을 비교하고, 정보가 맞다면 해당 포트로 패킷을 보낸다.(=포워딩 한다.)

 

스위치의 동작 과정에서 패킷 정보와 딱 맞는 포트로 보낸다란 뜻은 결국 다른 포트로는 해당 패킷을 보내지 않는다라는 이야기다. 이를 필터링이라고 한다.

 

스위치는 패킷을 보내는 포워딩, 보내지 않는 필터링 작업을 통해 여러 포트에서 동시에 수행될 수 있으며, 통신이 다른 포트에 영향을 미치지 않는다는 장점을 가지고 있다. → 매우 독립적이다!

 

스위치의 포워딩과 필터링

 

포워딩/필터링 작업은 일반적인 유니캐스트에 대해서만 작업을 수행한다.

 MAC 주소 테이블에 정보가 없을 경우에만 플러딩 동작을 진행한다. (예: 브로드캐스트, 언노운 유니캐스트, 멀티캐스트)