본문 바로가기

컴퓨터 네트워크/Computer Networking 정리

CH6 : Data Link Layer (4)

* 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. *

 

 

Interconnecting Devices


이전 글에서도 봤지만 레이어간의 connecting 장치는 위와 같다.

여기서 스위치는 multi-port의 브릿지와 같고, 허브는 multi-port의 리피터와 같다.

 

이번 글에서는 각 장치에 대한 설명을 하겠다!

 

 

Hub


허브는 포트가 여러개인 리피터와 같다.

리피터의 기능은 신호 증폭이다.

 

어떤 src에서 자기까지 신호가 왔다면 이 신호는 처음 보낼때보다 당연히 세기가 약해져있을 것이다.

이를 증폭시켜 다시 신호의 세기를 높여 다른쪽으로 넘겨주는 기능을 한다.

backbone 허브는 LAN segments(빨간색 동그라미)들을 서로 연결시켜 준다.

노드간의 최대 거리를 늘려주는 역할을 한다. (신호를 증폭시켜서)

 

그러나 각 세그먼트는 하나의 collision domain으로 합쳐지는 것이기 때문에 합쳐지게 되면 충돌이 발생할 가능성이 높다.

또한 자신에게 연결된 모든 링크의 rate는 같아야 한다.

예를 들어서 하나의 허브에 10BaseT와 100BaseT가 동시에 연결되어있을 순 없다.

 

 

 

Switch


스위치는 Layer2의 장치이다. 

포트가 여러개인 브릿지와 같다.

 

기본적으로 스위치의 역할은 store and forward이다.

자신에게 온 프레임을 자신이 가지고 있는 정보를 이용하여 알맞은 MAC Address로 전송하는 역할을 한다.

CSMA/CD방식을 사용한다.

 

또한 transparent한 성질을 가진다.

무슨말이냐면, 스위치는 어떤 관리자나 사용자가 임의로 알고리즘을 조작할 수 없다.

즉, 스위치는 어떤 관리자가 내부에 알고리즘을 넣어놓는 것이 아니라 자체적으로 학습하여 그냥 맞는 목적지에게 프레임을 전송하는 역할을 가진다. 때문에 plug-and-play, self-learning 적인 특성을 가졌다고도 한다.

 

그렇다면 스위치는 자신에게 프레임이 오면 알맞은 쪽으로 어떻게 보낼까?

잘 읽으면서 따라가보자. 

여기서 filtering DB라는 말이 나오는데 그냥 스위치 내에 존재하는 테이블이라고 보면 된다. (라우터에서 라우팅 테이블처럼)

또한 특이한 점은 만약 보낼 목적지의 MAC주소가 테이블에 없다면 연결된 모든 포트로 flooding을 한다는 점이다. (온쪽 빼고)

 

 

위에서 언급했듯이 스위치는 self-learning을 한다고 했다.

자신 스스로 학습하여 테이블을 만들어 나아가는 것이다.

이게 어떻게 가능할까?

과정은 간단하다.

 

위 과정을 예제로 표현하면 다음과 같다.

 

위 그림처럼 브릿지 B1과 스위치 B2를 통해 LAN들이 연결되어있다고 가정해보자.

처음 상태에서 스위치의 테이블은 비어있다.

만약 F에서 H로 프레임을 보내면 다음과 같다.

B2는 F로부터 프레임을 받았고 현재 테이블에 이에 대한 정보가 없으므로 온쪽을 제외하고 모든 방향으로 프레임을 뿌린다. 또한 자신의 테이블에 F가 LAN4쪽에 있다는 정보를 추가한다.

 

그 후에 E가 F에게 프레임을 보내면 다음과 같다.

B2는 E로부터 프레임을 받고, 현재 F가 LAN4에 있다는 정보가 있으므로 그쪽으로 프레임을 보낸다.

 

 

또한 스위치는 허브와 달리 LAN segment들을 각각의 collision domain으로 고립시켜 놓는다.

 

스위치는 cut-throguh방식도 지원한다.

보통 프레임을 보면 앞쪽 헤더에 목적지의 MAC주소가 있다.

때문에 목적지의 MAC주소 까지만 보고 해당 목적지로 프레임을 보내주는 것이다. 

 

게다가 허브와 달리 여러 rate의 인터페이스를 혼합해서 쓸 수도 있다는 사실!

 

이렇게 스위치는 기능이 매우매우 많기 때문에 라우터와 항상 비교된다.

사실 거의 비슷한데 라우터는 네트워크 레이어의 장치이고, 스위치는 데이터링크 레이어의 장치라는 점이 다르다.

또한 라우터는 관리자가 라우팅 알고리즘을 적용시켜 라우팅 테이블을 만들지만 스위치는 자기 스스로 학습하여(머신러닝 아님) 자신만의 스위칭 테이블을 만든다.

 

두개 모두 collsion domain을 고립시킨다는 공통점이 있지만 라우터만이 브로드캐스트 도메인을 고립시킬 수 있다.

 

 

허브,라우터 그리고 스위치를 비교하자면 다음과 같이 정리할 수 있다.

 

VLAN(Virtual LAN)


하나의 물리적 LAN을 논리적(가상의)으로 나누자는 아이디어이다.

 

 

나누는 방식에는 다음과 같은 방법이 있다.

1. Port-based VLANs

2. MAC address based VLANs

3. Protocol based VLANs

 

포트방식을 잠깐 살펴보자.

위 그림처럼 하나의 스위치에 존재하는 여러 포트를 그룹지어 별개의 LAN으로 사용하는 것이다. 

노란색쪽에서 형광색쪽으로 프레임을 보내려면 프레임이 해당 스위치를 거쳐 다시 나갔다가 들어와야 한다.

 

Trunk port

위 방식에는 문제점이 있다.

만약 A스위치의 포트들을 5개의 그룹으로 나누었다고 가정하면 다른 B스위치와 A스위치를 연결할 때 5개의 선이 필요할 것이다. 또한 그룹의 개수가 더욱 많아지면 선의 개수도 더 많아지겠지요!

 

때문에 하나의 포트에 여러 정보를 묶어 보내자는 아이디어가 Trunk port이다.

위처럼 하나의 포트만 연결해 그 포트안에 형광생, 노란색의 정보를 모두 보내는 것이다.

'컴퓨터 네트워크 > Computer Networking 정리' 카테고리의 다른 글

CH7 : WiFi (1)  (0) 2022.03.24
CH6 : Data Link Layer (3)  (0) 2021.12.08
CH6 : Data Link Layer (2)  (0) 2021.12.02
CH6 : Data Link Layer (1)  (0) 2021.12.01
패킷 전송(Packet Delivery)_ARP  (0) 2021.11.25