'switch'에 해당되는 글 1건

  1. 2009.12.18 브리지와 스위치의 차이점 1
2009. 12. 18. 12:23

브리지와 스위치의 차이점

우선 네트워크가 이뤄지는 OSI 7 Layer 를 보면 다음과 같다.  ( 자세한 설명은 이전 글 http://darkrang.tistory.com/155 참조 )
1. 물리계층 ( Physical layer )
2. 데이터 링크 계층 ( Data link layer )
3. 네트워크 계층 ( Network layer )
4. 전송 계층 ( Transport layer )
5. 세션 계층 ( Session layer )
6. 표현 계층 ( Presentation layer )
7. 응용 계층 ( Application layer )


여기서 브리지가 속하는 것은 2단계 데이터링크계층에 속하는 장비이다. 즉 레이어2 에 속하는 장비이며
스위치는 3단계 네트워크 계층에 속하는 장비임 즉 레이어3 .

차이점을 간략히 설명하면 다음과 같다.

  브리지 ( Bridge )
스위치  ( Switch )
 처리방식 소프트웨어
하드웨어
 Port 별 속도
같음
다른 속도도 지원
 Port 수
2~3개
10~몇백개
 처리방식 및 속도
 Cut-though 또는 Store-and-forwarding
스위치에 비해 느림
Store-and-forwarding
브리지에 비해 빠름



브리지는 콜리전 도메인(collision domain)을 나눠주기 위해서 만들어졌음
( 참고로 콜리전 도메인은 한마디로 PC 들의 묶음이라고 생각하면 될듯 , 여러 개의 네트워크 장비나 호스트가
동일한 미디어에 연결되어 있어 두 대의 호스트가 동시에 데이터를 보낼 때 충돌이 일어나는 범위
즉 허브로 연결된 수십대의 컴퓨터의 네트워크 범위를 뜻함
만약 콜리전 도메인을 이루는 PC 가 많아지면 많아질 수록 서로의 통신에 영향을 주게 되어
통신 속도가 저하됨 )


브리지가 하는 역할은 다음과 같음
(1) Learning : 포트에 연결된 출발지의 Mac address 를 브리지안의 맥테이블에 저장하는 기능

(2) Flooding : 만약 목적지 주소가 송신지와는 다른 네트워크에 존재하며 mac table에 목적지 주소가 이미 존재하고 있다면 테이블에 있는 정보를 이용하여 적절한 경로를 결정한 다음, 해당하는, 전송로로 패킷을 전송한다.
만약 table에 목적지 주소가 등록되어 있지 않으면 목적지에 해당하는 장치가 어느 네트워크에 속해 있는지 알길이 없으므로 Frame이 수신되어온 회선을 제외한 모든 전송 회선으로 Flooding(ff:ff:ff:ff:ff:ff) Frame을 보낸다.

(3) Forwarding : 목적지 주소가 출발지 주소와 다른 세그먼트에 위치하는 경우 bridge가 자신의 테이블을 살펴서 어떤 포트로 길을 열어줘야 하는가를 확인 한 다음 그 포트로 프레임을 전달하는 역할은 한다.
( ※ Flooding 은 들어온 포트 이외의 모든 포트로 뿌리는 것이고, Forwarding 은 들어온 포트말고 해당 목적지 포트로만 내보내는 것 )

(4) Filtering : 목적지 주소와 출발지 주소가 같은 세그먼트 상에 존재한다면, 즉 bridge를 건너가지 않고도 통신이 일어날 수 있다면, 나머지 모든 포트로 이 프렘이 건너가는 걸 막는 역할을 한다.
출발지의 MAC address와 목적지의 MAC address가 같은 port에 연결된 경우
(같은 콜리젼 도메인, 같은 segment, 같은 LAN... 모두 같은말입니다.) 브리지를 넘어가지 못하도록 막아줍니다.
( ※ 이 기능이 바로 위에서 설명한 콜리전 도메인을 나눈다는 말 )

(5) Aging : table에 MAC address를 언제까지나 저장해 놓을 수 없기 때문에 일정 시간이 지나면 table에서 지웁니다.(기본 300초)
*aging에 설정된 시간동안 해당 MAC address의 통신이 없으면 table에서 삭제
( ※ 이렇게 지워져도 새로운 MAC address  가 들어오면 (1) 번의 Learning 에서 다시 MAC address 를 저장한다 )

브리지의 처리방식
※ Store-and-forwarding
- 스위치나 브리지가 일단 들어오는 프레임을 전부 받아 들인 후, 처리를 시작하는 방식. 프레임을 모두 받아 들이고 나서,   제대로 들어왔는지, 에러가 없는지, 출발지 주소, 목적지 주소가 어디인지 파악해서 처리 해주는 방식. 이때 에러가 발견 되면 브리지나 스위치는 프레임을 버리고 재 전송을 요구하기 때문에 에러 복구능력이 뛰어나다는 장점이 있다.

--> 모든 프레임을 다 받고 나서야 분석하고 그 다음에 처리가 되기 때문에 당연히 처리 속도가 느릴 것

※ Cut-though
- 스위치가 들어오는 프레임의 목적지 주소만을 본 다음 바로 전송 처리를 시작하는 방식. Store-and-forwarding 보다 처리속도가 빠르다는 장점이 있지만, 프레임에 발생 했을지 모르는 에러를 찾아내기 어렵다는 단점이 있다.

--> 프레임 헤더만 보고 처리하기 때문에 처리속도는 빠르지만 FCS 를 이용한 CRC (Cyclic Redundancy Check) 를 하지 않기 때문에 중간에 데이터가 잘못 들어오는 경우에는 확인할 방법이 없다.

이렇게 되고 스위치(Switch) 는 브리지의 모든 기능을 가지고 있다.

요즘에는 스위치가 더 활발하게 사용되므로 머 브리지를 쓰는 곳은 별로 없을 듯.
웹에서 찾아보니 오히려 백본망에서 잘 사용된다고 하던데.

스위치도 여러가지로 나눠져서 L2 ( Layer 2 ) 스위치 와 L3 스위치, L4 스위치 등등
네트워크장비들도 단순히 어느 Layer 에 어느 장비가 속한다라고 말할 수 없게 되었다.