트랜스패런트 브리징 : 이더넷프레임 과 MAC 주소 테이블

이번 포스팅에서는 트랜스패런트 브리징에 대해서 이야기 해보겠습니다.


스위치는 L2장비죠 L2통신을 하는데 중요한 과정이 이 트랜스패런트 브리징인데요 


쉽게 말해 스위치는 MAC address table을 참조하여 통신을 합니다 이 MAC table이 생성, 유지되는 과정이라고


생각하시면 될 것 같습니다.






MAC Address Table이라고 위에 나오네요. 스위치에서 "show mac address-table"이라고 명령어를 입력하면 이렇게 나옵니다


명령어는 ISO버전마다 조금씩 다를 수 있습니다


MAC Address Table의 구조는 vlan, mac address, type, ports 이렇게 4가지로 구성되어 있네요


vlan은 해당 mac address가 속한 vlan을 이야기합니다. mac address는 말그대로 맥 주소를 보여주죠. 


TYPE은 Mac Table에 등록된 유형을 말합니다. 위에 그림으보면 STATIC과 DYNAMIC이 있죠?


STATIC은 수동으로 입력한것이고 DYNAMIC은 최자와 개코가 아니고 어떤 알고리즘을 통해 맥 테이블에 등록되었단 이야깁니다


이 MAC Address Table을 잘 기억하셔야 합니다. 실제 업무하시면서 필드에서도 아주아주아주 많이 쓰는 명령어중에 하나거든요


따라서 이 맥 테이블 구조와 내용에 대해서 정확히 파악할 줄 아셔야 합니다. 말이 그렇지 사실 별 내용없어요. 중요하지만 쉬운겁니다. 그러니 꼭 자기것으로 만들어야 겠죠?

















MAC Address Table을 참조해서 통신을 하는 2계층 통신은 이더넷 프레임이라는 PDU를 주고 받는 통신입니다.


위 그림은 이 프레임의 구조를 나타내는데요


어렵지 않고 처음부터 이 프레임의 구조를 완벽히 파악할 필요는 없으니 이렇게 되어있구나 라고 가볍게 보시면 되겠습니다


저도 완벽히 몰라서 인터넷 뒤지고 글쓰고 있습니다... 헥헥;;


그림처러 위는 이더넷프레임의 구조입니다


Preamble : 7또는 8바이트죠. 1바이트는 8비트인건 알고있죠? "10101010"이렇게 하면 1바이트 입니다

                이걸 7또는 8번 반복합니다 도착할 프레임이 새로운 프레임이라는걸 알리기 위한 구조입니다


SOF : IEEE표준에 있죠? Start Of Frame의 약자입니다. "이제 새로운 프레임 시작한다잉~" 하고 알려주는겁니다

         1바이트이고 "10101011"요렇게 구성되어 있죠. 그러니깐 "10101010"이거 7번 그다음 "10101011"이거 1번

         받으면 새로운 이더넷프레임의 시작이라고 수신측에서 인지를 하겠죠


Destination Address : 목적지 MAC 주소가 들어갑니다. MAC 주소가 어떤 구조인지는 아실꺼예요

                               FF-FF-FF-FF-FF-FF 이렇게 16진수 12자리로 구성되어있습니다. 6바이트 = 48bit로 되어있죠


Source Address : 출발지 MAC 주소입니다


Type / length : 2바이트로 구성되어 있으며 프레임의 데이터 필드 길이나 프로토콜을 표시합니다

                      Type만 쓰여있으면 다음 필드는 DATA + PAD만 필요하고 상위계층(3계층)의 프로토콜에 대한 정보가

                      들어갑니다. IP, ARP, RARP 등등..

                      Length가 쓰여있으면 DATA + LLC 헤더까지 추가되어야 하고 DATA의 필드의 길이를 정확하게 정의하는

                      정보가 들어갑니다


DATA : 상위계층에서 캡슐화된 데이터영역. 최소 64 최대 1500바이트여야 합니다. 만약 1500바이트보다 적으면

           PADDING을 통해서 공백을 채워주게 됩니다

           앞 필드에 Length 정보가 들어있다면 프레임구조가 IEEE 802.3 이고 없다면 이더넷 프레임이 됩니다

           2계층(데이터링크)의 상위 LLC와 하위 MAC계층으로 나뉘는데 그림에 보이는 802.2 Header가 LLC입니다

           LLC란 Logical Link Control의 약자이며 네트워크의 매개체를 통해 데이터를 전송할 경우 두 end사이의 연결유지

           기능을 합니다.LLC의 자세한 내용은 25페이지를 보면 나와있는데 어려워요. 굳이 다 알려고 하지 않아도 지금은

           괜찮습니다. 어렵게 공부시작해서 먼저 녹다운되면 다 필요없습니다;;


FCS : 4바이트 필드로 되어있네요. 프레임에서 에러를 찾기 위해서 사용됩니다. 오류를 체크하는 부분이죠.

         CRC를 사용하며 요걸 통해서 오류가 있네 없네 검사한다 정도만 알고계시면 됩니다.

         쉽게 말하면 보낼때 이름표를 붙여주고 수신측에서 제대로 된 이름표를 받으면 오류가 없는걸로~

         뭐 이런식으로 동작합니다. 자세한 나중에~!!





이더넷프레임의 구조인데 조금 복잡하게 느껴질수도 있습니다.


중요한건 여기에 출발지 주소와 도착지 주소가 있다는 것. 또 상위프로토콜의 타입이 정의되어 있다는 것 정도만 우선 기억하시면 됩니다.




그럼 이 정보를 가지고 트랜스패런트 브리징에 대해서 이야기 해 보겠습니다.


위에서도 이야기했지만 맥 주소 테이블이 생성 유지되는 과정이라고 이야기했는데요, 맥테이블이 생성되는 과정을 보겠습니다.







다음 그림이 있다고 가정을 해 봅시다.


그럼 MAC Address Table은 어떻게 형성될까요?


결과를 먼저 보면


                             Mac Address Table

----------------------------------------------


Vlan               Mac Address               Type               Ports

-----           ------------                   ---------        ------

10                aaaa.aaaa.aaaa          DYNAMIC          Fe0/1

10                aaaa.aaaa.bbbb          DYNAMIC          Fe0/2

10                aaaa.aaaa.cccc          DYNAMIC          Fe0/3

10                aaaa.aaaa.dddd          DYNAMIC          Fe0/4

10                aaaa.aaaa.eeee          DYNAMIC          Fe0/5

10                aaaa.aaaa.ffff            DYNAMIC          Fe0/6




뭐 대충이런식으로 생성되겠죠?


그 과정을 보겠습니다.




1. 최초로 스위치와 PC가 연결되었을때 스위치가 이더넷 프레임을 수신한다.


2. 스위치는 수신한 이더넷 프레임의 출발지 MAC 주소를 읽는다.


-> 읽어낸 MAC 주소가 MAC 테이블에 없으면 수신한 인터페이스 포트번호와 출발지 MAC주소를 MAC 테이블에 기록한다 (위에처럼요)


-> 읽어낸 MAC 주소가 MAC 테이블에 있으면 에이징 타이머를 초기화 한다. 스위치가 MAC 주소를 MAC 테이블에 기록할 때 항상 타이머는 초기화된다.

에이징타임은 디폴트 5분. 5분이 경과하는 동안 추가로 프레임을 수신하지 않은 해당 MAC 주소를 MAC 테이블에서 삭제한다. 이 과정을 에이징(aging)이라고 한다


3. 수신한 이더넷 프레임의 목적지 MAC 주소를 읽는다.


-> 목적지 MAC 주소가 브로드캐스트 주소이거나, MAC 주소 테이블에 존재하지 않으면 수신 포트를 제외한 동일한 VLAN에 속하는 모든 포트로 다 전송한다. 이 과정을 플러딩 (flooding)이라고 함.


-> MAC 주소 테이블상에 목적지 MAC 주소가 존재하는데 이 주소와 연결된 포트가 수신한 포트와 동일한다면 해당프레임을 차단한다. 이 과정을 필터링 (filtering)이라고 함.


-> 목적지 주소가 MAC 주소 테이블에 존재하고 목적지 MAC 주소가 연결된 포트가 수신한 포트와 동일하지 않으면 목적지 MAC주소와 연결되 포트로 유니캐스트 프레임을 전송한다. 이 과정을 포워딩 (fowarding)이라고 함.



이 과정들을 통해서 MAC 주소 테이블이 생성 유지됩니다. 이 과정을 트랜스패런트 브리징이라고 합니다.


하나하나 그림으로 만들고 싶었는데 이게 쉽지가 않네요 ㅠㅠ


이 과정은 단순하지만 꼭 알아두셔야 합니다. 이런식의 알고리즘은 꼭 이더넷프레임만 해당하는건 아닙니다. 비슷한 방식의 동작운영이 IP통신에서도 나오게되니 조금 헷갈리더라도 두번 세번 읽어보시고 자기것으로 만드시기 바랍니다

댓글

이 블로그의 인기 게시물

ping 일반오류 (General failure)를 고쳐보자

Piolink TiFront Switch password recovery (파이오링크 스위치 비밀번호 초기화)

Windows 10. 공유폴더 쉽게 삭제하기 (feat. CMD)