본문 바로가기

네트워크

스위치, 트랜스패런트 브리징, Transparent Bridging

반응형

네트워크, 보안을 공부하다 보면 자주 접하게 되는 용어 ARP 가 있습니다. ARP 란 네트워크 상의 IP 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜로서 상대방의 IP 주소는 알고 있지만 MAC 주소를 모를 때 이를 알아내기 위해 목적지 IP 주소와 브로드캐스팅 물리적 네트워크 주소 FFFF.FFFF.FFFF로 ARP 패킷을 전송해 해당 IP 소유자가 자신의 IP 주소가 목적지에 있는 ARP 패킷을 수신하고 자신의 MAC 주소를 replay 패킷에 담아 송신자에게 전달해 MAC 주소를 알 수 있게 됩니다.

 

Transparent Bridging 이란 스위치가 수신하는 이더넷 프레임 (ARP)을 참조해 MAC Address Table 을 생성하고 갱신해 목적지로 전송할 때 사용하는 프로토콜입니다. 모르는 Mac 주소를 알아내고 특정 시간 동안 사용하지 않는 주소는 삭제하는 등 맥 주소 테이블을 관리하는 역할을 합니다.

 

동작원리는 아래와 같습니다.

 

1. 스위치가 인터페이스를 통해 이더넷 프레임을 수신한다.

2. 이더넷 프레임의 출발지 맥주소를 읽는다. 

 2-1. 만약 출발지의 맥주소가 해당 스위치 맥 주소 테이블에 존재하지 않는다면 수신포트번호와 출발지 맥주소를 테이블에 기록한다(Learning).

 2-2. 만약 출발지의 맥주소가 해당 스위치 맥 주소 테이블에 존재한다면 aging timer 를 초기화한다 (기본적으로 5분이 경과하는 동안 맥주소가 쓰이지 않게 되면 이 것을 삭제하게 된다) (Aging).

3. 이너뎃 프레임의 목적지 맥주소를 읽는다.

 3-1. 목적지 맥주소가 브로드캐스트, 멀티캐스트, Unknown Unicast이라면, 수신 포트를 제외하고 동일한 vlan에 속하는 모든 포트로 다 전송한다.(Flooding)

 3-2. 이더넷 프레임을 수신 받은 포트는 차단한다(filtering)

4. 3-1 과정에서 각 스위치들이 수신받은 이더넷 프레임이 해당 맥주소가 아닐 때 목적지 포트로 프레임을 전송한다(Forwarding) 

 

단일 스위치에서의 동작 

 

 

R1에서 R2 IP 1.1.1.2 로 핑을 보내겠습니다.  R1에서 f0/0을 통해 S1의 e0/1로 프레임을 보냈습니다. 이를 수신받은 S1은 출발지 맥주소가 S1의 맥 주소 테이블에 존재하는지 확인하게 되고 존재하지 않기에 수신 포트번호와 출발지 맥주소를 테이블에 기록하게 됩니다. 이를 Learning이라고 합니다. 

 

그리고 목적지 맥주소를 확인하게 됩니다. 하지만 R1은 IP 1.1.1.2의 맥주소를 모르기 때문에 맥 주소를 브로드캐스트로 FFFF.FFFF.FFFF 로 설정했습니다. S1은 이 프레임을 수신받은 e0/1을 제외하고(이를 Filtering이라 합니다) 동일 vlan의 모든 포트에 이 프레임을 전송합니다. 이를 Flooding이라고 합니다. 

 

이 프레임을 해당 아이피 네트워트 (1.1.1.2)에 속하는 e0/2로 전송하게 됩니다. 이를 Forwarding이라고 합니다. 마지막으로 이 프레임을 수신받은 R2는 해당 아이피 주소가 본인의 것임을 확인하게 됩니다. 그리고 송신자에게 replay 프레임을 보내 아이피 1.1.1.2에 속하는 맥주소를 알립니다. 

 

이 과정이 끝나게 되면 S1은 맥 주소 테이블은 IP 1.1.1.1 에 해당하는 맥주소와 1.1.1.2에 해당하는 맥주소를 자신의 테이블에 저장하게 됩니다. 

 

 

 

다수의 스위치에서의 트랜스패런트 브리징 과정을 살펴보겠습니다.

 

 

1. R1이 R2 IP 주소 1.1.1.2 로 ping을 보낸다. 하지만 R1은 1.1.1.2의 맥 주소를 알지 못하기 때문에 ARP 브로드캐스트를 보낸다 IP : 1.1.1.2, Mac Address : FFFF:FFFF:FFFF

2. SW1은 이 프레임을 e0/1을 통해 받게된다. 이 프레임의 출발지 주소를 조회해보고 SW1의 Mac-address table에 조재하는지 조사한다. 존재하지 않기 때문에 이를 자신의 테이블에 저장한다.

3. 목적지 맥 주소가 브로드캐스트 이기때문에 이를 수신받은 포트 e0/1을 제외한 나머지 포트 중 동일 vlan에 이 프레임을 전송한다.

4.SW2, SW3, SW4 역시 2, 3번 과정을 반복한다. 

5. 이 프레임을 수신 받은 R2는 해당 ip 1.1.1.2 가 자신의 것이라는 것을 발견하고 자신의 맥주소를 replay 프레임에 담아 R1에게 송신한다. 

6. SW4,3,2,1은 replay 프레임의 목적지 맥주소가 R1의 것임을 알고 있기 때문에 이를 포워딩한다. 이과정에서 모든 SW들은 1.1.1.2의 맥주소를 알게 되고 테이블에 저장한다.

 

SW1은 1.1.1.1 과 1.1.1.2의 맥 주소를 알게 되었다.

 

7. R1읜 1.1.1.2의 맥주소를 알게 되고 이를 ARP 테이블에 저장한다.

 

R1 이 1.1.1.2로 ping을 보내기 전의 arp 테이블의 상태. 1.1.1.2의 맥주소를 알지 못한다.

 

R1이 ping 을 보내고 난 뒤 1.1.1.2의 맥주소를 알게 되어 테이블에 저장했다.

 

 

5분이 지난뒤 SW1의 맥 테이블을 살펴보니 1.1.1.2의 맥 주소가 사라진 것을 볼 수 있습니다.

이는 Aging 과정에서 특정시간동안 사용되지 않은 주소가 자동적으로 지워지도록 설정되었기 때문이며 

SW1(config)#mac address-table aging-time 100  

을 통해 시간을 조절할수 있습니다.

 

 

aging time 을 100초로 바꿨습니다. 

 

 

이번 글에서는 스위치의 Transparent bridging 과정을 살펴보았습니다. 2 계층에서 통신하기 위해 필요한 맥주소를 알아내는 과정을 Learing - Fitering - Flooding - Forwarding - Aging 과정을 통해 살펴보았습니다. 

반응형

'네트워크' 카테고리의 다른 글

STP, Spanning Tree Protocol, 스패닝트리  (1) 2019.11.19
RSTP 구성해보기  (0) 2019.11.14
RSTP Rapid Spanning Tree Protocol  (0) 2019.11.13
InterVlan Routing, Router-on-a stick  (0) 2019.11.12