이더넷 스위치가 패킷의 MAC 주소를 변경하지 않는 특별한 이유가 있습니까?
MAC 주소 또는 다른 것을 사용하여 최종 호스트를 식별하기위한 것입니까?
이더넷 스위치가 패킷의 MAC 주소를 변경하지 않는 특별한 이유가 있습니까?
MAC 주소 또는 다른 것을 사용하여 최종 호스트를 식별하기위한 것입니까?
답변:
스위치가 MAC 주소를 변경하면 네트워킹이 완전히 중단됩니다.
MAC 주소는 로컬 네트워크의 호스트가 사용하는 고유 식별자입니다.
스위치가 대상 MAC을 변경하려는 경우 프레임이 적절한 호스트로 전달되지 않습니다. 예를 들어, 프레임이 플러딩되는 경우 대상 호스트는 더 이상 호스트를 대상으로하지 않기 때문에 대상 호스트가 프레임을 삭제합니다.
스위치가 소스 MAC 주소를 변경하려는 경우 대상 호스트는 모든 MAC 응답 (잘못된 데이터로 ARP 항목 업데이트 포함)에이 MAC 주소를 사용합니다. 이로 인해 모든 반품 트래픽에 대해 이미 설명한 것과 동일한 상황이 발생합니다.
이로 인해 802.1X 및 MAC 주소를 사용하여 장치를 식별 / 분류하는 다른 메커니즘에 문제가 발생할 수 있습니다.
이를 위해 메커니즘을 개발할 수 있습니까? 나는 그들이 할 수 있다고 확신한다. 그러나이 시점에서 그렇게 할 이유가 없으므로 네트워킹이 복잡해지고 불필요한 처리가 추가됩니다. 우리는 사용 가능한 MAC 주소 풀을 고갈시키지 않기 때문에 MAT와 같은 것이 필요하지 않습니다 (MAC 주소 변환의 개념이 어디에도 있는지 알지 못하므로 용어를 만들었 을까요?).
예를 들어 NAT를 실행하는 게이트웨이 (라우터 또는 방화벽)가 내부 네트워크에있는 호스트의 IP 주소를 다시 작성하여 게이트웨이 자체의 하나 (또는 몇 개의) 외부 IP 주소에서 표시되는 경우 데이터 그램 주소의 재기록은 계층 3에서 발생합니다.
계층 2 수준에서 발생하지 않는 비슷한 이유 (MAC 주소를 사용하여 호스트와 스위치를 구별하여 데이터 그램 이동, 즉 프레임)는 실제로 필요하지 않다는 의견에서 언급 한 바와 같습니다.
NAT를 사용하는 계층 3의 경우 NAT는 여러 가지 문제를 해결합니다.
따라서 NAT 예제를 고수하면 NAT의 레이어 2에 대응할 필요가 없습니다.
이것이 스위치가 MAC 주소를 다시 쓰지 않는 이유를 밝히기를 희망합니다. 내가 머리 꼭대기에서 내린 유일한 레이어 3 사례는 NAT 였고, 다른 사람들은 확실히 IP 다시 쓰기가 필요한 다른 레이어 3 사례의 예를 제공 할 수 있습니다. .
MAC 주소를 다시 쓰면 상당히 복잡해지며 (스위치는 arp와 같은 상위 레벨 프로토콜에 대해 알아야하므로 주소 해결을 다시 쓸 수 있음) 문제 해결을 어렵게하고 STP와 같은 프로토콜이 작동하지 못하게하며 일반적으로 PITA가됩니다. 일반적으로 필요하지 않습니다.
불가능하다는 것은 아닙니다. ebtables (iptables에 대응하는 레이어 2)에는 MAC 주소 변환 옵션이 있습니다. 이는 VLAN 당 MAC 테이블을 사용하지 않는 스위치가 있고 일부 레이어 2 필터링을 수행하려는 경우에 유용 할 수 있습니다.