표준 GigE 네트워크 스위치를 고려하십시오. 스위칭을 수행하려면 아마도 네트워크에 존재하는 모든 것의 MAC 주소 맵을 (스위치의) 포트 번호로 유지해야 할 것입니다.
- 그러한 지도를 어떻게 유지합니까?
- 관련된 프로토콜은 무엇입니까?
- 네트워크의 한 부분의 토폴로지를 변경하면 전체 네트워크에 알림이 전달되나요, 아니면 "느리게"(즉, 처음 필요할 때) 검색되나요?
답변1
스위치는 각 수신 패킷의 소스 MAC 주소를 확인하여 MAC 포트 매핑을 학습합니다. 따라서 스위치는 점차적으로 Mac 테이블을 구축할 수 있습니다.
패킷을 전달해야 할 때 대상 mac 주소를 확인하고 mac 테이블에 따라 적절한 포트로 전달합니다. 항목을 찾지 못한 경우 모든 포트(발신 포트 제외)로 패킷을 보냅니다.
mac 테이블에 유효한 항목만 유지하기 위해 스위치는 특정 시간 초과 후 사용되지 않은 항목을 플러시합니다.
네트워크 토폴로지가 변경되면 스위치는 새 패킷을 수신할 때 MAC 주소의 새 위치를 학습할 수 있습니다. 이 Mac 주소의 이전 매핑을 덮어씁니다.
자세한 내용은 다음을 참조하세요.이 링크.
답변2
MAC 주소 테이블이라고 하며 port
, MAC address
및 을 포함합니다 timestamp
. 토폴로지를 변경하면 일부 케이블의 연결이 끊어지기 때문에 관련된 포트를 포함하는 모든 항목이 MAC 주소 테이블에서 삭제됩니다. 장비로부터 각 첫 번째 패킷이 수신된 후에 새 항목이 학습됩니다. 장비가 직접 연결되지 않은 경우 일부 항목은 잘못된 포트에 대해 남아 있지만 일반적으로 방송으로 인해 곧 학습됩니다. 장비에서 트래픽이 없으면 해당 항목이 삭제될 때까지 시간 초과를 통과해야 합니다. 제한 시간은 일반적으로 120초입니다.
답변3
이 시나리오를 사용했습니다.
호스트_a - 포트 1 호스트_b - 포트 2
Host_a가 Host_b에 패킷을 보내려고 하면 스위치를 눌러 Host_a의 MAC 주소를 기록하고, Host_B는 아직 아무 것도 보내지 않았기 때문에 모든 포트에 프레임을 브로드캐스트합니다. Host_b는 자신에게 전송된 내용을 확인하고 응답합니다. 포트 b에서.
이 순간 스위치는 호스트_a의 포트 1에 mac1이 있고 호스트_b의 포트 2에 mac2가 있다는 것을 알고 있습니다. 추가 통신은 브로드캐스팅 대신 이 포트를 통해서만 수행됩니다.
- 지도를 유지하는 방법은 공급업체에 따라 다르지만 Mac 및 관련 포트 목록으로 귀결됩니다.
- 가장 단순한 모델에는 레벨 2 OSI에서 발생하는 모든 일을 제외하고는 실제로 프로토콜이 없습니다.
- 토폴로지를 변경하면 스위치는 이전 항목을 삭제하고 새 항목으로 업데이트합니다(host_1 mac1은 포트 1이 아닌 10에 있으므로).
내가 말한 내용은 관리되지 않는 스위치에 적용되고 관리되는 스위치에도 적용될 수 있지만 상황이 더 복잡해집니다. 예를 들어 Cisco는 어떤 Mac이 어떤 포트에 연결되는지 구성할 수 있으며 ISL 또는 개방형 dot1q와 같은 독점 프로토콜을 실행합니다. http://en.wikipedia.org/wiki/IEEE_802.1Q링크 텍스트