여러 스위치-어떻게 작동합니까? 데이터베이스에서 대상 MAC을 찾고 패킷을 올바른

얼마 전에 네트워킹 하드웨어에 대해 읽었고 네트워크 스위치의 작동 방식에 대한 설명을 들었습니다. 기본적으로 스위치는 각 포트에 연결된 MAC 주소에 대한 내부 데이터베이스를 유지하고 패킷을 수신하면 데이터베이스에서 대상 MAC을 찾고 패킷을 올바른 포트로 전달하십시오.

다음과 같이 스위치에 스위치를 연결하면 어떻게됩니까?

Computer A
    |
 Switch 1
    |
 Switch 2
    |
Computer B

내 홈 네트워크의 일부가 이와 같이 설정되었으므로 여전히 어떻게 든 작동합니다. 그러나 컴퓨터 A가 컴퓨터 B로 패킷을 보내려면 스위치 1은 패킷을 스위치 2로 전달하는 방법을 어떻게 알 수 있습니까? 스위치 1이 컴퓨터 B에 직접 연결되어 있지 않기 때문에 스위치 2가 스위치 1에 해당 정보를 제공하지 않으면 어떻게 데이터베이스 B에 컴퓨터 B의 MAC 주소를 가질 수 있습니까?



답변

스위치 1이 어떤 포트 (패킷이 아닌)의 포트인지 알지 못하면 모든 포트를 플러딩합니다 (프레임이 시작된 포트 제외). 이러한 포트 중 하나가 스위치 2에 연결되어 스위치 2가 프레임을 가져옵니다.

스위치 2가 프레임의 포트를 모르는 경우 프레임이 시작된 포트를 제외하고 모든 포트를 플러딩합니다. 이러한 포트 중 하나가 컴퓨터 B에 연결됩니다.

따라서 컴퓨터 B는 결국 프레임을 가져 오지만 다른 모든 장치는이를 무시합니다.

이제 점들을 연결할 수 있습니다. 컴퓨터 B가 응답하면 스위치 2는 컴퓨터 A로 향하는 프레임이 스위치 1이 연결된 포트로 이동하고 스위치 1은 컴퓨터 B로 향하는 프레임이 스위치 2가 연결된 포트로 이동한다는 것을 알게됩니다.


답변

스위치의 물리적 포트는 OSI 계층 1로 계산됩니다.이 특정 포트에 도착하는 모든 MAC 주소는 네트워크 장치 (OSI 계층 2)의 물리적 주소를 나타냅니다. 각 활성 포트에는 0, 1 이상의 MAC (또는 CAM 또는 스위치 공급 업체 이름) 주소가있을 수 있습니다. 실제로 스위치에는 추가 정보없이 어떤 유형의 장치가 연결되어 있는지 알 수 없습니다 (관리자 또는 일부 특수 설계된 프로토콜이 더 자세히 알려줍니다).

따라서 스위치를 다른 스위치에 연결하면 한 스위치가 알고있는 모든 MAC 주소를 다른 스위치에 복제 할 수 있습니다. 더미 스위치 인 경우 모든 MAC 주소는 이름이없는 동일한 LAN에 기여합니다. 더 나은 경우 여러 VLAN (Virtual LAN)을 구성 할 수 있으며 모든 VLAN에는 고유 한 MAC 주소 세트가 있습니다. 둘 이상의 VLAN에서 반복 될 수 있습니다.

스위치가 둘 이상의 인터페이스를 통해 동일한 물리적 주소를 수신하면 일반적으로 “MAC flapping”으로 감지되고 카운트됩니다. 이는 특정 MAC 주소를 가진 패킷이 어느 포트를 통해 전송되는지 스위치가 확신 할 수 없음을 의미합니다.

스위치는 일반적으로 지난 몇 분 동안 포트에 나타나지 않으면 포트의 MAC 주소를 잊어 버립니다. 이것은 좋다; 그렇지 않으면 스위치가 너무 많은 정보를 수신 할 수 있으며 시간이 지남에 따라 모순 될 수 있습니다.

경우에 따라 네트워크 오류나 네트워크 내 해커 공격으로 인해 일부 장치에서 많은 MAC 알림을 생성 할 수 있습니다. 발표 된 MAC 주소의 수가 스위치가 기억하기에 너무 높은 경우 최적의 패킷 전달을 잊어 버릴 수 있습니다. 확실하지 않으면 MAC 주소가있는 포트에서 브로드 캐스트와 같은 모든 포트로 패킷을 전송할 수 있습니다 (이름 스푸핑 공격 성공).

관리자가 잠재적 인 위험을 알고 있다면 각 포트에 나타날 수있는 서로 다른 MAC 주소 수에 제한이있을 수 있습니다. 포트를 통해 한 번에 한 대의 컴퓨터 만 연결되어있는 것으로 알려진 경우 “컴퓨터를 하나만 가질 수 있습니다”(컴퓨터 A에서 스위치 1까지 스케치의 포트 유형)로 구성 할 수 있습니다. 알 수 없거나 다른 스위치가 포트에 연결되어 있으면 제한을 합리적으로 올리거나 무제한으로 남겨 둘 수 있습니다 (평균 스위치에서 무제한은 실제로 수천입니다).

도움이 되길 바랍니다.