[네트워크 초급] 13. MAC 주소의 구조
본 포스팅은 “모두의 네트워크” 책 내용을 기반으로 작성되었습니다. 잘못된 내용이 있을 경우 지적해 주시면 감사드리겠습니다.
13-1 MAC 주소
랜 카드는 비트열을 전기 신호로 변환한다고 했다. 랜 카드에는 MAC 주소(Media Access Address, 물리 주소) 라는 번호가 정해져 있다. 제조할 때 새겨지므로 물리 주소라고도 부른다. 전 세계에서 유일한 번호로 할당이 된다.
MAC 주소는 48 비트 숫자로 구성된다. 앞 24비트는 랜 카드를 만든 제조사 번호이며, 뒤쪽 24비트는 제조사가 랜 카드에 붙힌 일련번호이다.
OSI 모델이나, TCP/IP 모델을 떠올려 보면 각 계층에서 헤더를 붙힌다고 하였다. OSI 모델은 데이터 링크 계층에 해당하며 TCP/IP 모델에서는 네트워크 계층에 해당되는데, 이 계층에서 이더넷 헤더와 트레일러를 붙힌다.
이더넷 헤더는 목적지의 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트), 총 14바이트로 구성된다. 이더넷 유형은 이더넷으로 전송되는 상위 계층 프로토콜 종류이다. 그림 13-1처럼 프로토콜을 식별하는 16진수 번호가 있다.

그림 13-1. 프로토콜 유형 번호
트레일러는 FCS(Frame Check Sequence) 라고 불리는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도이다. 이렇게 이더넷 헤더와 트레일러가 추가된 데이터를 프레임(Frame)이라고 한다. 즉, 네트워크를 통해 프레임이 전송되는 것이다.

그림 13-2. 프레임 전송
그림 13-2 처럼 목적지 / 출발지 MAC 주소와 유형을 넣고, 트레일러를 추가하여 프레임을 만드는 캡슐화를 진행하고, 이 프레임 비트열을 전기 신호로 변환해 네트워크를 통해 전송한다!
이렇게 전송한 데이터는 허브의 모든 포트로 전송되지만, 목적지 MAC 주소가 자신의 MAC 주소와 다른 컴퓨터는 해당 데이터를 파기한다. 자신의 MAC 주소와 목적지 MAC 주소가 일치한 컴퓨터는 해당 데이터를 수신한다. 그리고 해당 데이터를 수신하면 역캡슐화를 일으켜 이더넷 헤더와 트레일러를 분리한다.
만약 컴퓨터 1과 2가 동시에 컴퓨터 3에 데이터를 보낸다면, 충돌을 방지하기 위해 CSMA/CD 방식이 사용된다. 여기서 충돌이 감지되면 컴퓨터 2는 잠시 대기하고 데이터를 다시 전송한다.
Leave a comment