본문 바로가기

Security/Network

[6일] 후니의 시스코 네트워킹

(2017.04.04)

1. 네트워크 장비들에 관한 이야기


1.5 허브의 끝과 스위치의 시작

앞서 포스팅에서 말했듯이 허브는 한순간에 한 PC만이 데이터를 보낼수 있고 한 PC에서 콜리전(충돌)이 발생하면 다른 모든 PC들에도 영향을 끼치기 때문에 아무리 좋은 허브를 쓴다해도 통신의 속도는 점점 떨어지게 됨

이러한 문제를 해결하기 위해 콜리전 도메인을 나누어 줄 수 있는 장비가 나왔는데 이것이 바로
'스위치(Switch)'또는'브릿지(bridge)'이다. 





 [그림 1.5.1] 8포트 브리지



[그림 1.5.2] 스위치


원래는 콜리전 도메인을 나누어 주는 역할을 브릿지가 했는데 요즘은 브릿지보다 빠른 스위치가 나와서 대부분 스위치를 사용하게 되었음

참고로 스위치를 스위칭 허브(Switching Hub)라고도 하는데 스위치라는 이름이 들어가면 전부 스위치라고 생각하면 됨

※ 스위치가 하는일?
스위치는 예를들어 1번 포트에 연결된 PC가 2번 포트에 연결된 PC와 데이터를 주고 받는 동안에도 3번포트에 연결된 PC와 4번 포트에 연결된 PC가 서로 데이터를 주고받을 수 있게함

이를 '포트별로 콜리전 도메인이 나뉘어져 있다'라고 함

결론적으로 1,2번 사이에 통신이 일어나면 다른 PC들은 기다려야만 하는 허브와는 달리 스위치는 다른 PC들도 동시에 통신이 가능함



 [그림 1.5.3] Hub(좌) Switch(우)

즉, 허브 -> 일차선 도로
  스위치 -> (포트수)차선 도로   (ex, 포트수 3개 -> 3차선도로)


1.6 험한 세상의 브리지 되어 그대 지키리

브리지는 허브보다 한 수 높은 장비이고, 스위치의 원조격임

앞서 말했듯이 허브는 한번에 두 PC가 서로 통신을 하면 나머지 PC는 통신을 못하고(콜리전 때문) 작은 네트워크에서는 상관이 없지만 규모가 커질수록 말썽을 일으키게 된다.

이를 해결하기 위해 콜리전 도메인을 나눌수 있는 장비('브리지'나 '스위치')를 사용하게 됨

※ 그럼 브리지는 어떻게 콜리전 도메인을 나누는가?
-> 허브로 만들어진 콜리전 도메인 사이를 반으로 나누고 중간에 다리를 놓음

다리를 놓게되면 다리 북단은 북단끼리 동시에 통신이 가능하고 남단은 남단끼리 동시에 통신이 가능해짐, 그리고 북단과 남단에 있는 PC가 서로 통신하려고 하면 그때만 다리를 건너서 통신이 이루어짐



[그림 1.6] 브리지

결론적으로 브리지는 허브보다 한 수 높은 장비이고, 허브는 나누지 못하는 콜리전 도메인을 나누어주는 역할을 한다. 어떻게? 중간에 서서 테이블을 보면서 통신이 다리 한쪽에서만 일어나면 다리를 못 건너가게 하고, 통신이 다리를 통과해야 가능하면 그떄만 다리를 건너게 해준다.

또한 스위치는 브리지와 비슷한 역할을 함


1.7 브리지/스위치 기능

1. Learning, 배운다.
2. Flooding, 모르면 들어온 포트를 제외한 다른 모든 포트로 뿌린다.
3. Forwarding, 해당포트로 건네준다.
4. Filtering, 다른 포트로는 못 건너가게 막는다.
5. Aging, 나이를 먹는다.


※ Learning
-> 출발지의 맥 어드레스(MAC Address)를 배움

즉, 브리지나 스위치는 자신의 포트에 연결된 'A'라는 PC가 통신을 위해 프레임을 내보내면 'A'의 맥 어드레스를 읽어서 자신의 맥 어드레스 테이블(브리지 테이블)에 저장해놓고 후에 어떤 PC가 'A'에게 통신할 경우, 브리지 테이블을 참고해서 다리를 건너게 할 지 못건너게 할 지 정함


※ Flooding
-> 들어온 포트를 제외한 나머지를 모든 포트로 뿌림 
(브로드 캐스트나 멀티캐스트의 경우에도 발생)

위에 말했듯이 다리를 건너게 할지 말지에 대한 정보를 맥 어드레스 테이블(브리지 테이블)을 통해서 결정함

만일 들어온 프레임이 찾아가는 주소를 보니 맥 어드레스 테이블에 없는 주소일 경우 자신을 제외한 나머지 포트로 들어온 프레임을 뿌리는 것을 'Flooding' 이라고 함


※ Forwarding
-> Flooding과 달리 오직 해당 포트(목적지)쪽으로만 프레임을 뿌림


※ Filtering (콜리전 도메인을 나눠주는 기능)
-> 브리지를 못 넘어가게 막는것

만일 브리지가 이미 목적지 어드레스를 알고 있고, 출발지와 목적지가 같은 세그먼트(다리 북단 or 다리남단, 쉽게 콜리전 도메인) 상에 있는 경우

브리지를 건너지 않아도 통신이 되기때문에 브리지를 막는 필터링을 하게됨


※ Aging (시간은 조절가능)
-> 브리지가 학습한 정보들을 디폴트(5분)시간 동안 테이블에 저장하고 있다 300초 동안 해당 
   출발지를 가진 프레임이 들어오지 않으면 주소를 테이블에서 삭제(용량 한계 때문)

브리지에 프레임이 들어왔는데, 그 프레임의 출발지 주소가 AAAA인 경우 AAAA를 5분동안 브리지 테이블에 저장해둔다. 280초가 지났을때 또 다시 출발지 주소가 AAAA인 프레임이 들어오면 시간을 다시 0부터 세는 리플래시(Refresh)를 하게 됨




[그림 1.7] 브리지에서 프레임의 흐름