[네트워크] 스위치 동작 방식

yjkim97·2022년 2월 1일
0

네트워크

목록 보기
9/10
post-thumbnail

스위치 란❓

가장 기본적인 스위치는 2계층에서 동작하는 L2이다.
네트워크 망에서 가장 핵심장비이며 2계층 주소인 MAC 주소를 기반으로 동작한다.

역할

  1. 네트워크의 중재자
    네트워크 중간에서 패킷을 받아 목적지에게만 보내준다.
  2. 동시 통신, 패킷 충돌X
    여러 장비가 서로 간섭 및 패킷 충돌 없이 동시에 통신하도록 도와준다.
  3. 네트워크 효율성 UP
    통신을 위해 기다리거나 충돌로 인해 대기하는 문제를 방지하여 네트워크 전체의 통신 효율성이 향상된다.
  4. 어떤 장비가 어느 위치에 있는지 파악하고 통신이 시작되면 자신이 알고 잇는 위치로 패킷을 정확히 전송한다.
    이를 위해서 MAC 주소 테이블을 가지고 있다.

스위치는 전송하려는 패킷의 헤더 안에 잇는 MAC 주소를 확인하고 'MAC 주소 테이블' 에서 해당 주소가 어느 포트에 있는지 확인해 해당 패킷을 그 포트로만 전송한다.


⭐️ 동작 방식

스위치의 동작 방식은 아래와 같이 크게 3가지로 정리할 수 있다.

  • Flooding
  • Address Learning
  • Forwarding/Filtering

1. Flooding

플러딩은 스위치에 연결된 모든 포트로 패킷을 전달하는 방식을 말한다.

스위치는 처음 부팅하면 MAC 주소 테이블에 네트워크 관련 정보가 아무것도 없어 허브처럼 동작한다. 허브는 패킷이 들어온 포트를 제외하고 모든 포트로 패킷을 전달하는데 이러한 동작을 플러딩이라고 한다.

그렇다면 MAC 주소 테이블에는 언제 정보가 쌓이나?
💡 패킷이 스위치에 들어오면 해당 패킷의 MAC 주소를 보고 이를 학습해 MAC 주소 테이블에 저장한다.

MAC 주소를 학습한다고? 어떻게?
💡 보다 정확한 표현은 스위치는 MAC 주소 테이블을 만들고 유지를 하는데 이 과정을 Address Learning이라고 한다.

2. Address Learning

스위치가 목적지 포트로 적확히 포워딩하려면 MAC 주소 테이블을 만들고 올바르게 유지해야 하는데 이 과정을 어드레스 러닝이라고 한다.

러닝 과정
예시 : 출발지 MAC (AA-AA-AA), 스위치 Port : 4321

  1. 스위치에 [ 출발지 MAC (AA-AA-AA), 스위치 Port : 1 ] 정보를 가진 패킷이 들어왔다.
  2. 스위치는 MAC 주소 테이블에 출발지 MAC주소와 포트번호를 기록한다.
  3. 기록된 정보를 가지고 스위치 1번 포트에 AA-AA-AA주소를 가진 장비가 붙어 있다는 것을 습득한다.

위 러닝 과정을 보면 스위치의 Address Learning은 출발지 MAC 주소를 이용한다.
이로 인해 목적지 MAC 주소 필드만 사용되는 브로드캐스트나 멀티캐스트에 대한 MAC주소는 학습 할 수 없다.

❓ 브로드캐스트, 멀티캐스트 할 때도 출발지 필드에 데이터를 넣지 않나? 그걸로 학습 못하나? 왜 안된다고 하는거지?
💡 브로드캐스트, 멀티캐스트 동작시 패킷 정보를 알아보자.

3. Forwarding/Filtering

포워딩과 필터링은 스위치의 필수 기능이다.

패킷이 스위치에 들어온 경우 목적지 MAC를 확인할 후 MAC 주소 테이블을 통해 해당 포트로 전송하는 것을 포워딩이라고 하며, 다른 포트로는 패킷을 전송하지 않는 것을 필터링이라고 한다.

스위치에서는 이 기능을 여러 포트에서 동시에 수행 할 수 있다.

포워딩 필터링은 유니캐스트에 대해서만 작업을 수행한다.
Unknown 유니캐스트 : MAC 주소 테이블에 정보가 없으므로 수행 불가능
브로드캐스트, 멀티캐스트 : 출발지 MAC 주소를 사용하지 않으므로 수행 불가능

profile
어제는 🐸두꺼비 오늘은 😄YJ

0개의 댓글