본문 바로가기
공부/Network

[Network] swtich와 VLAN

by 웅대 2023. 6. 28.
728x90
반응형

이더넷 스위치

frame을 받아서 MAC 주소를 기반으로 적절한 링크로 전달한다.

 

호스트는 스위치의 존재를 모르기 때문에 transparent하다.

 

또한 호스트는 스위치와 고유한 링크로 직접적으로 연결되어 있기 때문에 충돌이 발생하지 않는다.

 

이러한 특성 덕분에 동시에 여러 전송이 발생하더라도 충돌이 발생하지 않고 통신할 수 있다.

 

스위치 테이블 또한 가지고 있어서 어느 host가 어디에 연결되어 있는지 알 수 있다.

 

스위치 테이블의 경우 스위치가 받은 frame을 바탕으로 기록한다.

 

예를 들어 A 호스트로부터 frame을 받으면 1번을 통해서 받게 되는데 이를 통해 A 호스트의 MAC 주소는 1번과 연결되어 있다고 스위치 테이블에 기록하는 것이다.

 

그리고 나중에 목적지 MAC 주소가 A 호스트인 frame을 받으면 전달해줄 수 있다.

 

frame을 받았을 때 해당 목적지가 아직 스위치 테이블에 기록되지 않은 경우도 있을텐데 이런 경우에는 스위치에 연결되어 있는 모든 호스트들에게 전송한다. (flood)

 

모든 호스트들은 이 frame을 받아서 목적지 MAC 주소와 자신의 MAC 주소를 비교하여 다르다면 버리고 일치한다면 받아서 송신자에게 응답을 보내준다.

 

그러면 응답 frame도 이더넷 스위치를 거치게 되고 역시 스위치 테이블에 정보가 기록된다.

 

그런데 여러 개의 스위치가 연결되어있을 수도 있다.

 

다음과 같은 상황에서 A에서 C로 frame을 보낸다고 할 때 스위치 테이블이 작성되는 과정을 보자.

(편의상 A, B, C, D를 MAC 주소로 표현하겠다.)

 

1. A -> S2 스위치

 

S2에 도착하고 A는 1번과 연결되어 있다는 내용을 스위치 테이블에 기록한다.

 

2. S2 스위치 -> B, S2 스위치 -> S1 스위치 

 

도착지에 해당하는 C는 스위치 테이블에 기록되어 있지 않기 때문에 flood가 발생한다.

B에 도착한 frame은 버려지고 S1 스위치에 도착한 frame을 바탕으로 S1의 스위치 테이블에 기록된다.

 

3. S1 스위치 -> S3 스위치

역시 S1 스위치에서 도착지 C에 대한 정보가 없기 때문에 flood가 발생한다.

S3의 스위치 테이블에 정보가 기록된다.

 

4. S3 스위치 -> C, S3 스위치 -> D

역시 S3 스위치에서 도착지 C에 대한 정보가 없기 때문에 flood가 발생한다.

D에 도착한 frame은 버려지고 C에 도착한 frame은 도착지에 맞게 도착했다.

 

이제 C는 A에게 응답을 보내준다.

 

5. C -> S3 스위치 

 

S3 스위치로 보내고 S3의 스위치 테이블에 기록된다.

 

그리고 S3의 스위치 테이블에 목적지 A에 대한 정보가 담겨있으므로 flood가 발생하지 않고 기록되어있는 3번으로 가게 된다.

 

5. 이후

A에 대한 정보는 모든 스위치 테이블에 존재하므로 이제 flood가 발생하지 않는다.

 

 

 

VLAN (Virtual Local Area Network)

물리적으로는 하나의 LAN에서 마치 여러 개의 LAN이 있는 것처럼 여겨지는 것이 VLAN이다.

 

port-base VLAN

VLAN의 예시로 port를 기반으로 한 VLAN이 있을 수 있다.

물리적으로는 하나의 스위치이지만 port를 분리하여 두 개의 스위치가 있는 것 처럼 동작한다.

 

만약 VLAN끼리 라우팅을 하고 싶다면 아래 그림처럼 router를 거치게 될 것이다.

여러 개의 물리적인 스위치에 VLAN이 정의되었을 수도 있다.

 

그럴 땐 trunk port를 사용한다.

이럴 때는 802.1q 프로토콜을 사용하여 추가적인 헤더 필드를 사용한다.

728x90
반응형

'공부 > Network' 카테고리의 다른 글

[Network] MPLS  (0) 2023.07.04
[Network] ARP와 이더넷(Ethernet)  (0) 2023.06.26
[Network] MAC protocol  (0) 2023.06.24
[Network] Link layer, error detection (parity, CRC)  (0) 2023.06.22
[Network] SDN(Software Defined Networking)  (0) 2023.06.14

댓글