Day2. 장비 (Hub, Switch, Router)
- Hub (Multiport Repeater = Connector + Repeater)
- Reapeater: 수신된 신호를 증폭한 후 다음 구간으로 재전송하는 장치
- 멀리 있는 장치와 통신을 할 때 잡음이 끼는 것도 제거해주는 기능이 있다.
- 여러 대의 리피터를 사용한다면 먼 거리까지 데이터 전달 가능
- 무한정 쓴다고 계속 통신이 가능하지는 않다고 합니다.
***왜? ⇒ 5-4-3 룰을 적용해보자…!
- 1: 1 네트워크 환경에서 여러 사람들이 참여하고 싶어짐.
⇒ 커넥터 안에 리피터를 넣어버리자 ⇒ 멀티포트 리피터 등장
- 포트가 여러개 달려있는 형태의 장비가 되었다…!
- 랜카드가 설치된 각각의 pc들은 케이블을 타고 허브에 연결
- 같은 허브에 연결된 모든 PC는 서로 간에 통신이 가능
- 같은 허브에 연결된 모든 PC는 콜리전 도메인을 공유
- 콜리전 도메인: 통신 시 충돌할 수 있는 영역을 의미
- 허브가 통신하는 방식: CSMA/CD (Ethernet/ Layer2)
- 리피터 허브의 특징
- 리피터 허브는 모든 기기(포트)에 전송함 (브로드 캐스팅)
- 리피터 허브 자체가 콜리전 도메인을 형성
- 한 번에 일대일 통신만 가능 (효율적 X)
- 한번에 한 대의 기기만 보낼 수 있고, 보내면 전체에게 다 뿌려짐(브로드 캐스팅).
⇒ Collision 발생 多 & 속도 저하
- 브리지/ 스위치의 등장 배경
- 네트워크 참여자 증가 ⇒ 트래픽의 증가
- CSMA/CD의 한계 ⇒ 데이터 콜리전 증가
- 콜리전 발생으로 영향받는 노드의 수 증가
- 허브 장비의 한계 체감 ⇒ 브리지/ 스위치 출현
- Bridge
- 도입 개념: 콜리전 도메인을 작게 나눠서 데이터 충돌을 막고자 함
- 필터링
- 프레임 내의 MAC 주소를 평가하여 그 프레임을 브릿지를 통해 보낼 것인지 말것인지 판단하는 기능
- 필터링을 통해 불필요한 네트워크 간의 통신을 억제하고 결과적으로 콜리전 발생을 방지
- Switch
- 등장 배경: 데이터가 너무 많아서 빠른 처리 속도가 필요하게 됨.
- Bridge ↔ Switch
-
비교 표
Bridge | Switch |
---|
2 ~ 4개의 포트를 제공 | 몇십 또는 몇백개의 포트를 제공 |
소프트웨어 방식으로 처리: Slow | 하드웨어 방식으로 처리: Fast |
동일한 속도만을 지원 | 서로 다른 속도를 지원 |
- 설명
- Layer2 장비
- 장비 안에 MAC 주소 테이블 존재 ⇒ 이것을 참조하여 필터링
- 스위치에서는 포트별로 하나의 콜리전 도메인이 형성
- 해당 이유 찾아서 넣기
- 특징
- 패킷의 목적지 주소로 지정된 디바이스로 이어지는 포트만 패킷이 전달
- 불필요한 트래픽을 방지하고 통신 효율을 향상
- MAC 주소 학습/관리의 5단계 프로세스 : Learning → Flooding → Forwarding → Filtering → Aging
- Learing: MAC 보내는 쪽 (소스단의) 주소를 MAC Address Table에 등록하는 과정. (신뢰성을 확보하기 위해서 프레임이 오고가는지 확인하고 등록)
- Flooding : 프레임의 목적지 주소(MAC)가 없을 때 프레임이 들어온 포트를 제외하고 브로드캐스트 하는 과정.
- Forwarding: 기작성된 MAC-Address table을 기반으로 확인했을 때, 목적지 주소가 있다면 해당 포트로 프레임을 전달하는 과정.
⇒ Only in Unicasting
- Filtering: 포워딩 하는 도중에 충돌을 방지하기 위해서 다른 포트로 데이터가 전송되지 않도록 하는 기술
⇒ Forwarding과 동시에 진행되는 과정이다.
⇒ 해당 기능으로 인해서 콜리전 도메인을 나눌 수 있음.
- Aging: 시간에 흐름에 따라 사용빈도가 적은 목적지 주소(MAC)를 MAC Address Table에서 제거하는 과정.
⇒ MAC Address Table의 값이 너무 커지는 것을 방지하기 위하여 진행됨.
⇒ Default 값 (300sec)을 초과할 경우 삭제하게 된다.
⇒ Default 값은 수정이 가능하다.
- 스위치의 프레임 처리 방식
- 스토어-앤-포워드 (Store-and-Forwarding)
- 일단, 들어오는 프레임을 전부 다 받아들이고 처리를 시작
- 스위치가 유입된 모든 프레임에 대해서 CRC값을 체크하여 에러여부를 확인하는 방식
- CRC(Cyclic Redundancy Check)는 checksum의 한 종류
: 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식
- 프레임이 다 들왔는지/ 에러 여부/ 출발지와 목적지 이상 여부 체크
- 에러가 발견이 되면 프레임을 drop 하고 재전송을 요구 (=에러 복구 능력이 뛰어나다고 판단)
- 프래그먼트 프리(Fragment-free)
- 처음 들어오는 512비트(64byte) 정보만을 확인하여 collision 발생 여부만을 확인하는 방식
⇒ 3-4-5룰 적용하여 앞에 64바이트 부분에 콜리전이 없을 경우 발생하지 않았다고 추정할 수 있음
- 이론으로 처음 등장하고 이 기술이 적용된 스위치는 없었음
⇒ 추후에 컷스루 방식에서 프래그먼트 프리 방식을 도입함.
- 에러감지능력이 컷스루에 비해서 우수
- 3-4-5 Rule (정식명칭 5-4-3 규칙)
- Segment: 물리적으로 제한하여 네트워크를 구분하는 단위
- Subnet: 논리적으로 네트워크를 구분하는 단위
- 리피터를 설치함에 있어서 4개까지의 설치만 권장됨을 표현하는 초기의 네트워크 디자인 규칙
- 3개의 중계구간, 4개의 리피터, 5개의 구간을 의미.
- Max 3 Populated segments (Nodes): 순수하게 데이터를 전송하기 위한 세그먼트
- Max 4 repeaters: 최대 4개까지
- Max 5 segments: 노드 거리가 5를 초과하면 안된
- 컷스루(Cut-through)
- 처음 들어오는 48바이트 정보(=dest mac)만을 체크
- frame이 다 들어오기를 기다리지 않고 앞에 들어오는 목적지 MAC Address만을 본 후 바로 전송을 시작.
- 장덤: 처리 속도가 빠르다.
- 단점
- 에러복구능력은 떨어진다.
- 맥 어드레스 테이블을 만들 수 없다.
⇒ header에 dest mac이 제일 앞에 있기에 src mac이 테이블에 들어가기 전에 전송됨.
- 현재 스위치 기술은 Fragment-free + Cur-through 합쳐진 상태로 사용.
- Cable
- Tx: 데이터를 보내는 쪽
- Rx: 데이터를 받는 쪽