브리지와 기능적인 차이는 없다.
단지 성능이 좀더 좋아진 것 뿐이다.
스위치는 스위칭 허브라고도 한다.
브리지, 스위치 모두 같은 말
MAC 주소를 이용하기 때문에 데이터링크 계층에 속한다.
메모리와 저장장치가 있으므로 MAC 주소를 기억해 원하는 기기에만 데이터를 전송할 수 있다.
Learning으로 MAC주소에 해당하는 포트를 매핑하고
MAC주소 테이블에 찾는 주소가 없다면 Flooding 으로 브로드캐스팅.
만약 찾는 주소가 있다면 Forwarding 으로원하는 기기에만 전송하고 데이터를 전달하지 않아도 될 때는 Filtering을 함
Aging이라는 것을 이용해 메모리가 부족하지 않도록 오래된 정보는 메모리에서 제거(타이머 5분)
<브리지와 스위치 차이>
성능차이
1. 스위치는 브리지보다 더 많은 포트 제공
2. ASIC이라는 하드웨어로 스위칭 작업을 수행하므로 소프트웨어적으로 처리하는 브리지보다 스위치 처리속도가 빠름
3. 스위치는 오류를 체크하는 기능이 있지만 브리지는 없다.
4. 스위치는 버퍼를 가지고 있지만 브리지는 없는 경우도 있다.
요즘은 스위치 가격이 많이 내려 브리지를 사용하는 경우는 거의 없고, 스위치는 곧 브리지, 브리지는 곧 스위치로 같은 장치를 말한다.
자세한 과정은 그림으로 쉽게 배우는 네트워크의 스위치 부분 확인하기!
--
회사가 커져서 스위치를 여러개 둔다고 가정할 때
스위치가 순환구조로 연결되면 브로드캐스팅 메시지를 서로 순환하며 무한대로 전송하는 문제가 발생한다.
브로드캐스팅 메시지를 서로 순환하며 무한대로 전송하는 문제가 발생한다.
이를 해결하기 위해서는 순환구조가발생하지 않도록 만들어 줘야 한다.
트리 자료구조에서 영감을 받아 스위치를 트리노드로 생각하고
스패닝 트리를 구해 그 중 가장 가까운 최소 스패닝 트리로 구성해 순환구조를 제거한다.
스패닝 트리란 트리 자료구조에서 모든 노드(여기선 스위치)를 사이클 없이 연결하는 트리를 말한다.
예시의 구조에서는 4개의 스패닝 트리가 나오는데, 단순한 구조라 어떠한 트리를 선택하더라도 비용(거리, 시간)이 같다.
복잡한 구조에서는 어느 한 스패닝 트리가 가장 비용이 적고 비용이 가장 적은 스패닝 트리를 최소 스패닝 트리라고 부른다.
스패닝 트리 프로토콜은 최소 스패닝 트리를 구해 무한정으로 데이터가 순환하지 않도록 만드는 프로토콜이다.
<스위치의 한계>
지금까지 배운대로라면 스위치로 전 세계 모든 컴퓨터를 연결할 수 있을 것만 같다.
하지만 스위치에 컴퓨터가 무한정으로 연결되면 결국 문제가 발생한다.
여러대의 컴퓨터를 허브로 연결한다면 허브는 연결된 모든 컴퓨터에 브로드 캐스트 한다.
허브로 연결되면 충돌이 발생할 수 있는데 이 영역을 콜리전 도메인이라고 했다.
스위치는 허브의 단점인 콜리전 도메인을 나눌 수 있다고 했다.
스위치는 목적지의 MAC주소를 보고 브로드캐스팅하지 않고 목적지에만 데이터를 전송한다.
하지만 스위치가 전혀 브로드캐스팅을 하지 않는다고 말하기는 어렵다.
어느한 PC에서 브로드캐스팅 메시지를 보내거나 목적지 MAC주소를 모르는 경우엔 Flooding을 해서 Learning을 해야하기 때문이다.
따라서 스위치와 연결된 영역을 브로드캐스트 도메인이라고 부른다. LAN영역이라고도 부른다.
스위치를 늘려 LAN영역을 늘리면 어떻게 될까?
콜리전 도메인은 나눠지지만 하나의 브로드캐스트 도메인에 있는 것은 달라지지 않는다.
이렇게 스위치를 계속 연결해 수십만대의 PC가 브로드캐스트 영역에 있게된다면
어느 한 PC에서 전송한 데이터의 목적지 MAC 주소가 스위치의 MAC주소 테이블에 없다면 'Flooding'이 발생하고 이 메시지가 수십만대의 PC로 전송된다. 엄청난 트래픽이 발생
한 PC만 데이터를 받고 나머지 PC는 버린다.
통신하는 PC가 많을 수록 브로드캐스트 도메인에는 쓸모없는 트래픽이 많아진다.
따라서 브로드캐스트 도메인을 나눌 필요가 생겨 네트워크 계층이 등장한다.
브로드 캐스트 영역을 나누기 위해 네트워크 계층으로 이동해야한다. 고고~!