일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 유선LAN
- 인프콘
- 다형성
- 계층화
- modifiers
- aws 자격증
- 데이터 송수신
- 개발바닥
- java
- 테슬라폰
- TCP/IP
- AWS CLF
- 인터페이스
- 10866
- 파이썬 1712
- 네트워크
- network
- 남궁성
- l3 스위치
- 백준 2775
- 1764
- 프로토콜
- 자바
- 자바의 정석
- 역캡슐화
- 상속
- 파이썬
- 백준 1712
- 물리구성도
- 논리구성도
- Today
- Total
병훈's Blog
후니형이 쉽게 써준 브리지와 스위치 본문
허브에는 문제가 있었다.
☞ 한순간에 하나의 PC만 통신할 수 있음
☞ 연결되는 PC가 많아질수록 콜리전이 자주 발생
☞ 콜리전이 발생하면 연결된 모든 PC가 영향을 받음
이러한 문제를 해결하기 위해서 콜리전 도메인을 나누어 줄 수 있는 장비가 나왔는데
바로 브리지 또는 스위치다. 원조는 브리지고, 후에 스위치가 나왔다.
스위치가 더 빠르게 같은 역할을 할 수 있어서 브리지는 사라져가는 추세다.
스위치는 1번 포트에 연결된 PC와 2번 포트에 연결된 PC가 데이터를 송수신하는 동안에도
3번 포트에 연결된 PC와 4번 포트에 연결된 PC가 서로 데이터를 송수신할 수 있게 하는 장비다.
이걸 전문적인 용어로 '포트별로 콜리전 도메인이 나뉘어 있다' 라고 말한다.
한 순간에 하나의 PC만 통신할 수 있었던 허브와의 가장 큰 차이다.
스위치는 허브가 처리할 수 없는 콜리전 문제의 해결이나 에러 처리 능력이 우수하다.
반대로 허브는 스위치보다 저렴하고, 데이터 처리 속도가 스위치에 비해 빠르다.
그럴 수 밖에 없는 이유는 데이터에게 별 다른 작업을 하지 않고 들어오는대로 내보내기 때문이다.
서버 하나로 통신하는 경우를 보자
허브는 당연히 한순간에 하나의 PC만 통신한다.
스위치는 아무리 콜리전 도메인을 나누었다 하더라도
서버와의 통신은 어느 한순간에는 하나의 PC만 가능하게 된다.
왜냐하면 서버가 한 대밖에 없기 때문이다.
이처럼 붙어있는 모든 장비가 무조건 어느 한 곳으로만 향하는 경우는
허브나 스위치나 속도의 차이가 크게 나지 않는다.
스위치의 다른 기능을 통해서 통신의 효율은 높일 수 있겠지만,
콜리전 도메인을 나눠주는 기능을 이용한 속도 향상은 기대할 수 없다.
브리지는 콜리전 도메인을 어떻게 나누는 걸까?
브리지는 허브로 만들어진 콜리전 도메인 사이를 반으로 나누고 중간에 다리를 놓는다.
그렇게 되면 다리 왼쪽은 왼쪽끼리, 오른쪽은 오른쪽끼리 통시에 통신이 가능해진다.
MAC Address Table을 보면서 통신이 다리 한쪽에서만 일어나면 다리를 못 건너게 하고
통신이 다리를 통과해야 가능하면 그때만 다리를 건너게 해준다.
그리고 스위치는 브리지랑 비슷한 역할을 한다.
브리지나 스위치는 다음 5가지 일을 한다.
- Learning, 배운다
- Flooding, 들어온 포트를 제외한 다른 모든 포트로 뿌린다
- Forwarding, 해당 포트로 건네준다
- Filtering, 다른 포트로 못 건너가게 막는다
- Aging, 나이를 먹는다
Learning, 배운다
출발지의 MAC Address를 배우는 것이다.
브리지나 스위치는 자신의 포트에 연결된 'A'라는 PC가 프레임을 내보내면
이 PC의 MAC Address를 읽어서 자신의 MAC Address Table('브리지 테이블'이라고 한다)에 저장한다.
그리고 나중에 다른 PC가 'A'에게 통신할 경우에는 자신의 브리지 테이블을 참고해서
다리를 건너게 할 것인지, 못 건너가게 할 것인지 결정한다.(Filtering)
Flooding, 들어온 포트를 제외한 다른 모든 포트로 뿌린다
목적지 MAC Address가 브리지 테이블에 없는 주소라서
처리 방법을 모른다면 들어온 포트를 제외한 나머지 포트들에 프레임을 뿌려준다.
이런 Flooding은 브로드캐스트나 멀티캐스트의 경우에도 발생한다.
Forwarding, 해당 포트로 건네준다
목적지를 알고 있고, 그 목적지가 다리를 건너야 하는 경우(*세그먼트가 다른 경우)에 발생한다.
오직 해당 포트로만 프레임을 뿌려준다.
*세그먼트: 분할, 구간, 세부부분, 쪼개는 것 이라는 뜻
Filtering, 다른 포트로 못 건너가게 막는다
브리지가 목적지의 MAC Address을 알고 있고,
출발지와 목적지가 같은 세그먼트에 있는 경우 발생한다.
브리지를 건너가지 않아도 통신이 가능하기 때문에 다리를 막는다.
이러한 기능 덕분에 콜리전 도메인을 나누어 줄 수 있는 것이다.
Aging, 나이를 먹는다
브리지 테이블은 한 번 저장한 MAC Address를 계속 저장하는 것이 아니다.
어느 정도 시간이 지나면 삭제한다. 새로운 MAC Address를 기억해야 하기 때문이다.
Default 값은 300초다. 브리지 테이블에 주소를 저장하고 나서 300초가 지나도록
더이상 그 출발지 주소를 가진 프레임이 브리지로 들어오지 않으면 삭제시킨다.
만약 출발지 주소를 가진 프레임이 브리지로 들어온다면
브리지는 타이머를 리셋하고 처음부터 다시 카운트한다.
이것을 'Aging 타이머를 Refresh한다' 라고 한다.
위 5가지 과정을 그림으로 정리하면 이렇다.
브리지와 스위치의 차이점을 보자.
1. 스위치는 처리 방식이 HW로 이루어지기 때문에 (*ASIC 방식)
SW적으로 프레임을 처리하는 브리지에 비해 훨씬 빠르다.
2. 브리지는 포트들이 같은 속도를 지원하는 반면 스위치는 서로 다른 속도를 연결해 줄 수 있다.
예를 들어 스위치는 10메가 포트와 100메가 포트가 한 장비에 같이 있게 되는데,
이는 서로 다른 속도를 연결해주는 기능을 수행한다.
3. 제공하는 포트 수가 다르다.
브리지는 대부분 2~3개지만, 스위치는 몇십 또는 몇백 개의 포트를 제공한다.
4. 프레임을 처리하는 방식이 다르다.
브리지는 Store-and-forward 방식만 사용한다. 스위치는 여러 방식을 사용한다.
- Store-and-forward: 일단 들어오는 프레임을 전부 받아들인 후 처리를 시작하는 방식이다. 프레임을 모두 받아들이고 나서 이 프레임이 제대로 다 들어왔는지, 에러는 없는지, 출발지 주소는 어디인지, 목적지 주소는 어디인지를 파악해서 처리를 해주는 방식이다. 만약 이때 에러가 발견되면 브리지나 스위치는 이 프레임을 버리고 재전송을 요구하기 때문에 에러 복구 능력이 뛰어나다. 따라서 이런 방식은 회선에 에러가 자주 발생하거나 출발지와 목적지의 전송 매체가 다른 경우에 자주 사용된다.
- Cut-through: 들어오는 프레임의 목적지 주소만 본 후 바로 전송처리를 시작하는 방식이다. Store-and-forward 처럼 기다리지 않고 들어오는 프레임의 목적지 주소 48bit만 확인하고 목적지로 전송한다. 그래서 훨씬 빠르다는 장점이 있지만, 프레임에 발생됐을지도 모를 에러를 찾아내기가 어렵기 때문에 에러 복구 능력에는 약점을 가지고 있다.
- Fragment-free: 이 방식은 Store-and-forward와 Cut-through의 장점을 결합한 방식이다. 전체 프레임이 다 들어올 때까지 기다리지 않는다는 측면에서는 Cut-through 방식을 닮았지만, Cut-through 처럼 48bit 만을 보는 것이 아니라 512bit를 보게 된다. 따라서 에러 감지 능력이 Cut-through에 비해서는 우수하다.
*ASIC: Application-Specific Integrated Circuit, 에이직이라고 읽음. 특정 용도용 집적 회로
++
스위치, 허브, PC를 연결할 때
허브와 PC 간의 연결은 다이렉트 케이블을 사용하고
허브와 스위치 간의 연결은 크로스 케이블을 사용한다고 한다.
참고: https://thdqudgns.tistory.com/130
이미지 출처: https://velog.io/@victoriapasta
책: <후니의 쉽게 쓴 CISCO 네트워킹>
'Computer > Network' 카테고리의 다른 글
스위치의 개념과 L2, L3, L4, L7 스위치의 차이점 (4) | 2023.11.27 |
---|---|
허브, 브리지/스위치, 라우터의 결정적인 차이 (2) | 2023.11.26 |
후니형이 쉽게 써준 허브 (Hub) (1) | 2023.11.25 |
후니형이 쉽게 써준 OSI 7 Layer (1) | 2023.11.25 |
후니형이 쉽게 써준 네트워크 기초 (1) | 2023.11.24 |