ZER0 D0G의 잡동사니 블로그

part 04 section 06~10 본문

강좌/후니의 네트워크 요약

part 04 section 06~10

ZER0 D0G 2022. 3. 17. 00:15

브리지(Bridge)

브리지: 허브의 문제점(CSMA/CD)을 해결하기 허브로 만들어진 콜리전 도메인 사이를 반으로 나누고 중간에 다리를 놓는것임

콜리전 도메인을 나눠 포트 사이에 다리(Bridge)를 놓아 통신이 가능하게 만들어주는것으로 허브는 한 PC에서 모든 포트에 데이터를 뿌리는 반면 브릿지는 미리 통신할 포트를 지정해두고 각자가 서로 통신하는것을 목표로 한다. 예를 들어
1111.1111.1111.1111이라는 MAC주소를 가진 PC와 2222.2222.2222.2222 주소를 가진 PC가 서로 통신할때
3333.3333.3333.3333과 4444.4444.4444.4444가 동시에 소통 할 수 있다는거다.

브릿지와 스위치의 기능을 구체적으로 알아보자면

브릿지/스위치의 대략적으로 5가지 일을 하는데

Learning: 학습한다.
Flooding: 모르면 들어온 포트를 제외한 다른 모든 포트로 뿌린다.
Forwarding: 해당 포트로 건네준다.
Filtering: 다른 포트로는 못 건너가게 막는다.
Aging: 나이를 먹는다.

가장 먼저 Learning의 의미는 출발지 MAC 어드레스를 배운다는 의미인데 A라는 PC에서 데이터를 보내면 브릿지/스위치는 데이터에 포함되어있는 프레임을 보고 자신의 맥 어드레스 테이블에 저장해놓는다. (브릿지 테이블)

예를 들어 스위치가 데이터를 받고 A가 E0 세그먼트에 있는 컴퓨터일 경우 그걸 기억해두었다가 다른 컴퓨터가 통신 하려할때 데이터를 전송하는 컴퓨터가 세그먼트 E0에 있는 컴퓨터가 맞는지 이 데이터가 같은 E0 세그먼트에 있는 A에게 보내는것인지 판단하고 데이터를 전송합니다.
(만약 데이터를 보내고자하는 출발지와 목적지가 서로 다른 세그먼트에 있다면 브릿지(Bridge)를 통과해야함)

이어서 Flooding에 대해 설명해보자면, 들어온 포트 제외 모든 포트에 데이터를 뿌리는 것을 의미하는데 여기서 눈치 챘겠지만 브로드 캐스트, 멀티 캐스트가 바로 떠올릴건데 그때 발생하는게 Flooding이 맞다.

브릿지에서는 어떤 포트로 데이터를 전송해야하는데 브릿지 테이블(MAC 주소 테이블)에 그 포트에 대한 정보가 없을시에 Flooding을 사용함

Forwarding(포워딩) : 포워딩은 브리지의 목적지 맥 어드레스를 자신의 브리지 테이블에 가지고 있고, 목적지가 다른 세그먼트에 있을때 Forwarding이 발생한다.

Forwarding 과 Flooding의 차이점은 flooding은 전부 다 뿌리지만 forwarding은 한 포트로만 프레임을 뿌려준다.

Filtering (필터링) 필터링은 브릿지 테이블이 목적지 어드레스의 정보를 가지고 있고, 출발지와 목적지가 같은 세그먼트(공간)에 있을 경우에 브리지를 넘어가야할 이유가 없으니 못넘어가게 막는 기능을 필터링이라고 한다.

이 필터링 기능을 이용해서 허브 와는 다르게 콜리전 도메인을 나눌 수 있다.
필터링 기능은 브리지에 있어 핵심 기능 중 하나로 외워두는게 좋음

Aging(학습, 망각) 에이징은 우리 두뇌 처럼 브릿지 테이블에 있는  정보를 학습하고 그 브릿지 테이블의 정보를 이용해 프레임이 오고가지 않을때 시간이 지나면 망각(삭제)하는 기능이다. 브릿지 테이블도 저장소의 일종인데 무한대로 저장 할 수 있는게 아니라 새로운 맥어드레스를 저장하기 위해 지우는것이다. (이 시간은 default값이 300초 = 5분 이다.)

이 망각(삭제)가 이뤄지기전 프레임이 들어오게 되면 어깅 타이머를 refresh (다시 300초부터 세기) 하게된다.

브리지와 스위치의 차이점

브리지는 소프트 웨어적으로 기능을 제공하지만 스위치는 하드웨어를 사용하여 스위치가 훨씬 빠르다. (하드웨어 칩에 프레임 처리 프로세스를 미리 구워 놓는것을 ASIC에이직 이라고 한다.)

브리지의 포트들이 같은 속도를 지원하는 반면에, 스위치는 포트별로 서로 다른 속도를 지원합니다. ex) 브리지 all 100mbps,  스위치 1번 100mbps 2번 1gbps

스위치는 브리지에 비해 제공되는 포트가 훨씬 많다. (몇 백개의 포트가 있는 경우도 있음)

스위치가 프레임을 처리하는 방식

1)  Store-and-forwarding 방식: 들어오고있는 프레임을 전부 받아 들이고 에러, 출발지 주소, 목적지 주소를 파악한 후 처리를 시작하는 방식
에러 복구 능력이 뛰어남

2)Cut-through  방식 : 스위치가 들어오는 프레임의 주소만 본 후 바로 전송 처리를 시작하는 방식임 프레임이 다 안들어와도 바로 처음 48bit 주소만 보고 바로 목적지로 보내버림  훨씬 빠르지만 에러 복구능력은 별로임

3)Fragment-free 방식 : 위 두 방식을 결합한 느낌의 방식임 전체 프레임을 다 보는것이 아닌 처음 512bit를 보 그래서 에러 감지 능력이 Store-and-forwarding 급은 아니지만 우수함

스위치는 1, 2, 3 모든 방식을 채택하지만 브릿지에서는 1번 방식만을 지원함


Looping(루프)


루핑 현상은 특정 프레임이 자꾸 무한정으로 네트워크를 뱅뱅 도는 현상을 말하는데 이렇게 되면 이더넷 특인 csma/cd의 특성상 다른 컴퓨터는 네트워크에 들어가지 못하는 현상이 발생하게 된다. 이걸 루핑이라 그러는데 스위치하고 호스트가 두개 이상 존재 할 경우 발생한다.

 

ex) 양쪽 스위치(S1, S2) 가 서로 다른 세그먼트에 있다고 가정, S1에 있는 호스트 A가 브로드 캐스팅을 이용하여 패킷을 전달하면 S2로 넘어가 다시 스위치의 아래쪽 포트로 내려가고 결국 다시 S1으로 넘어와 루핑이 발생하게 된다.

 

이를 막기 위한 방법은 두개가 있는데 목적지를 사람이 정해주거나 스패닝 트리 알고리즘을 사용해 막을 수 있다.

 

폴트 톨러런트: 네트워크상의 문제가 발생할것을 미리 대비해놓는것을 말함 ex) 여분 스위치, 여분 라우터

라우터가 고장날 경우 자동으로 여분 라우터가 작동해 기존 라우터의 역할을 하는것을 말함

 

로드 밸런싱: 하나의 인터넷 회선만을 이용하는것이 아닌 두 개의 인터넷 회선을 사용하는것이다. 이는 데이터가 두 라인중 하나를 선택 하게 만들어 로드가 분산되는 효과를 얻으므로써 속도가 두배가 되는 마술을 볼 수 있다. 또 하나의 회선이 끊어진다면 다른 하나의 회선을 사용 할 수 있게 된다.

 

대부분의 로드 밸런싱은 폴트 톨러런트가 가능하지만 폴트 톨러런트는 로드 밸런싱이 안되는 경우가 있다.

 

스패닝 트리(Spanning Tree Algorithm)

스패닝 트리 알고리즘: 루핑을 방지 하기 위해 고안된 알고리즘이다. 스위치 두개가 이중으로 설치 되어있을때 두개중 하나의 링크만 작동 시키게 만드는 것이다. (고장이 날시 여분 링크로 사용하기 위해 여분 링크로 사용시 걸리는 시간은 1분) 모든 스위치는 이 알고리즘이 탑재되어있음.

 

시스코의 이더 채널 (Ether-Channel) 기술은 여러개의 링크가 마치 하나의 링크 처럼 인식 되게 하는 기술임 이는 속도도 빠른데 링크 하나가 끊어졌을때 링크가 유지되는 장점도 있음 패스트 이더(100m), 기가 이더(1G)의 기술이 있음

 

스위치는 콜리전 도메인을 나눌 수 있으나 브로드 캐스팅 도메인은 나눌 수 없다.

라우터는 브로드 캐스트 도메인을 나눌 수 있다.

 

라우터는 보안, 로드분배(스위치보다 활용성이 훨씬 좋음), QoS기능도 제공한다.

 

Comments