Switch

파이리·2023년 7월 26일

네트워크 기초

목록 보기
6/26
post-thumbnail

스위치는 스위칭을 하는 장비입니다. 데이터가 스위치를 거칠 때, 스위치는 데이터의 목적지를 파악하여 적합한 경로로 스위칭을 해주게 됩니다.

스위치 : L2

  • 스위치는 동시에 여러 장비가 서로 간섭없이 통신하도록 도와준다.
  • 여러 단말이 한번에 통신할 수 있어 통신을 위해 기다리거나 충돌로 인한 지연이 해결되어 네트워크 전체 효율이 높아진다.
  • 스위치는 전송하려는 패킷의 헤더 안에 있는 2계층 목적지 주소를 확인 후 MAC 주소 테이블에서 해당 주소가 어느 포트에 있는 확인 후 그 포트로만 패킷을 전송한다.
  • MAC 테이블에 없는 도착지 주소를 가진 패킷이 들어오면 스위치는 전체 포트로 패킷을 전송한다.

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

  1. 플러딩

    스위치를 부팅하면 그 시점에는 네트워크 관련 정보를 가지고 있지않다. 이 시점에서 스위치는 자신의 역할을 하지 못하고 허브처럼 동작한다. 즉, 패킷이 들어온 포트를 제외한 모든 포트에 패킷을 전달한다. 이러한 동작 방식을 플러딩(Flooding)이라고 한다.

  2. 어드레스 러닝

    플러딩 과정에서는 MAC 테이블에 아무런 정보가 없기 때문에 스위치가 제 역할을 하지 못한다. 스위치가 제 역할을 하기 위해서는 패킷의 도착지 MAC 주소를 확인해 정확한 도착지 포트로 보낼 수 있어야 한다. 따라서 이러한 정보를 MAC 주소 테이블에 기록하고 유지해야한다. 이러한 과정을 어드레스 러닝이라고 한다.

    어드레스 러닝은 패킷의 출발지 MAC 주소 정보를 이용한다. 패킷이 특정 포트에 들어오면 스위치는 해당 패킷의 출발지 MAC 주소와 포트 번호르를 MAC 주소 테이블에 기록한다.

  3. 포워딩 / 필터링

    • 포워딩 : 패킷이 스위치에 들어왔을 때 도착지 MAC 주소를 확인 후 MAC 테이블과 비교해 맞는 정보가 있으면 해당 포트로 패킷을 넘겨주는 것.
    • 필터링 : 포워딩 도중 다른 포트르로는 해당 패킷을 보내지 않는 것.

    스위치에서 포워딩과 필터링 작업이 여러 포트에서 동시에 진행될 수 있다. 이는 통신이 다른 포트에 영향을 주지 않기 때문이다.

    라우터

    라우터는 3계층에서 동작하는 여러 네트워크 장비와 대표격으로 이름처럼 경로를 지정해주는 장비이다.

    과거에는 라우터는 소프트웨어로 구현하고 스위치는 하드웨어로 구현하는 형태로 구분하거나 했지만, 기술의 발전으로 라우터와 L3 스위치를 구분하기는 어렵다.

    라우터의 동작 방식의 역할

    라우텅는 대략적으로 다음과 같은 차례로 동작을 한다.

    1. 경로 지정 : 다양한 경로수입 후 최적의 경로를 라우팅 테이블에 저장한 뒤 패킷이 들어오면 도착지 IP 주소를 라우팅 테이블과 비교해 최선의 경ㄹ로 패킷을 내보낸다.
    2. 브로드 캐스트 컨트롤 : 들어온 패킷의 목적지 주소가 라우팅 테이블에 없으면 패킷을 버린다.
    3. 패킷 포워딩 과정에서 기존 2계층 헤더 정보를 제거 후 새로운 2계층 헤더를 만든다.

    경로 지정

    라우터는 패킷이 들어오면 패킷의 도착지 IP주소를 확인해 경로를 지정해 패킷을 포워딩해주어야 한다. 이때 경로를 어떻게 지정해주는지이다.

    그렇기에 라우터가 경로지정을 하기위해서는 우선 경로 학습이 필요한데 그 방법은 다음과 같다.

    • IP 주소를 입력하며 자연스럽게 인접 네트워크 정보를 얻는 방법
    • 관리자가 직접 경로 정보를 입력하는 방법
    • 라우터끼리 서로 경로 정보를 자동으로 교환하는 방법

    브로드캐스트 컨트롤

    • 라우터는 패킷을 원격지로 보내는 것이 목표기이에 3계층에서 동작하고 분명한 도착지 정보가 있을때만 통신을 허락한다.
    • 라우터는 바로 연결되어 있는 네트워크 정보를 제외하고 경로 습득 설정을 하지 않으면 패킷을 포워딩할 수 없다.

    프로토콜 변환

    • 라우터의 또 다른 역할로 서로 다른 프로토톨로 구성된 네트워크를 연결하는 것이다. ( 이는 대부분의 네트워크가 이더넷을 사용하면서 줄어든 역할이다.)
    • 라우터에 패킷이 들어오면 2계층까지의 헤더 정보를 벗기고 3계층 주소를 확인 후 2계층 헤더 정보를 새로 만들어 외부로 내보낸다.

    경로 지정

    라우터가 패킷을 처리할 떄 다음 두가지를 수행한다.

    • 경로 정보를 얻어 경로 정보를 정리하는 역할
    • 정리된 경로 정보를 기반으로 패킷을 포워딩하는 역할

    홉-바이-홉과 넥스틑 홉

    현재 출발점부터 도착점까지 모든 경로를 한번에 이동하지않는다. 인접한 라우터까지만 경로를 지정 후 인전 라우터에서 최적의 경로를 다시 파악해 라우터로 패킷을 포워딩한다.

    이처럼 라우팅을 한 단계씩 뛰어넘는다는 의미로 홉 바이 홉 라우팅이라고 부르고, 인접한 라우터를 넥스트 홉이라고 한다.

    여기서 넥스트를 홉을 지정할 때 일반적으로 세 가지 방법을 사용할 수 있다.

    • 다음 라우터의 IP를 지정하는 방법
    • 라우터의 나가는 인터페이스를 지정하는 방법
    • 라우터의 나가는 인테페이스과 다음 라우터의 IP를 동시에 지정하는 방법

    라우팅 테이블

    • 라우터는 출발지와 상관없이 목적지 주소와 라우팅 테이블을 비교해 포워딩 경로를 결정한다.
    • 라우팅 테이블을 만들 땐 목적지 주소만 수집한다.
    • 패킷이 들어오면 목적지 주소를 확인해 패킷을 넥스트 홉으로 포워딩한다.
    • 라우팅 테이블에는 목적지 주소와 넥스트 홉 IP / 나가는 로컬 인터페이스를 저장한다.

    라우팅

    라우터가 경로 정보를 얻는 방법으로 세 가지가 있다.

    1. 다이렉트 커넥티드

      IP주소를 입력할 때 사용된 IP 주소와 서브넷 마스크를 통해 네트워크 주소 정보를 알 수 있다. 라우터나 PC에서는 이 정보로 해당 네트워크에 대해 라우팅 테이블을 자동으로 만든다.

      해당 경로 정보는 인터페이스에 IP를 설정하면 자동 생성되는 정보로 강제로 지울 수 없고 해당 네트워크 설정을 삭제하거나 해당 네트워크 인터페이스가 비활성화되면 자동으로 사라진다.

    2. 스태틱 라우팅

      관리자가 목적지 네트워크와 넥스트 홉을 라우터에 직접 지정해 경로 정보를 입력하는 것을 스태틱 라우팅이라고 한다.

    3. 다이나믹 라우팅

      스태틱 라우팅 방법은 변화가 크거나 규모가 큰 네트워크일 경우 관리하기가 어렵다는 문제가 있다.

      이를 보완하기 위해 라우터는 자신이 알고 있는 정보가 링크 상태 정보를 교환하여 전체 네트워크 정보를 학습한다. 주기적으로 또는 상태 정보가 변경될 떄 라우터끼리 경로 정보가 교환되기에 특정 경로에 장애가 생겨 경로 정보가 사라지게 되더라도 이 상황을 인지해 대체 경로 패킷을 포워딩할 수 있게 된다.

profile
프론트엔드 개발자

0개의 댓글