# MAC 주소
Media Access Control Address (물리 주소)의 약어.
제조할 때 새겨지기 때문에 물리 주소라고도 부르며, 전 세계에서 유일한 번호로 할당되어 있다.
MAC주소는 48비트 숫자로 구성되어 있으며, 그 중 앞쪽 24비트는 랜 카드를 만든 제조사 번호고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호이다.
AA-AA-AA-AA-AA-AA -> [AA-AA-AA] - [AA-AA-AA]
제조사 번호 제조사가 붙인 일련번호
OSI모델에서 데이터 링크 계층에 해당하고, TCP/IP 모델에서 네트워크 계층에 해당하는 계층에서 '이더넷 헤더'와 '트레일러'를 붙인다. 이더넷 헤더와 트레일러가 추가된 데이터를 '프레임'이라고 부른다.
* 이더넷 헤더
이더넷 헤더는 목적지의 MAC주소(6바이트), 출발지 MAC주소(6바이트), 유형(2바이트)인 총 14바이트로 구성되어 있다. 2바이트로 구성된 이더넷 유형이란, 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다. 유형 번호는 '프로토콜을 식별하는 16진수 번호'가 들어간다.
즉, 유형에는 '프로토콜 종류를 식별하는 번호'가 들어간다는 것이 중요하다.
* 트레일러
FCS(Frame Check Sequence)라고도 하며, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용한다.
# MAC주소를 활용해 데이터가 전송되는 과정
더미 허브에 연결된 컴퓨터 5대가 있다고 가정해보자.
컴퓨터1에서 컴퓨터3으로 데이터를 전송할 때, 컴퓨터1은 이더넷 헤더에 데이터의 목적지인 컴퓨터3의 MAC주소와 자신의 MAC주소를 정보를 데이터에 붙여서 전송한다.
이 때, 컴퓨터1에서 '캡슐화'가 이루어는데, 데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 '프레임'을 만들고, 물리 계층에서 이 프레임 비트열을 '전기 신호'로 변환하여 네트워크를 통해 전송하는 것이다.
[CC-CC-CC-CC-CC-CC][AA-AA-AA-AA-AA-AA][유형][데이터][트레일러] -> '프레임'
컴퓨터3 MAC주소 컴퓨터1 MAC주소
이 때, 더미 허브는 컴퓨터3 뿐만이 아니라, 컴퓨터 2,3,4,5, 즉 허브에 연결된 모든 컴퓨터에 데이터를 보낸다고 배웠다. 하지만 여기서는 MAC주소를 첨부한 이더넷 헤더가 있기 때문에, 컴퓨터 2,4,5는 목적지 MAC주소가 자신의 MAC주소와 다르기 때문에 데이터를 파기한다. 반면 컴퓨터3은 자신의 MAC주소와 같으므로 데이터를 수신한다.
컴퓨터3의 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리하는 역캡슐화가 이루어진다.
# 데이터 전송 중 충돌이 감지될 때
위에서 설명한 과정에서는 컴퓨터1에서만 데이터를 전송했지만, 컴퓨터1과 컴퓨터2가 동시에 컴퓨터3으로 데이터를 전송하는 경우도 있을 것이다. 이 때는 'CSMA/CD' 방식이 사용된다. 충돌이 감지되면 컴퓨터 1과 2중 하나는 잠시 대기하고 데이터를 다시 전송한다.
# 스위치
스위치는 데이터 링크 계층에서 작동하고 레이어 2스위치 또는 스위칭 허브라고도 불린다. 장비 외형은 허브와 비슷하다. 스위치 내부에는 'MAC주소 테이블'이 존재하는데, 이는 스위치의 '포트 번호'와 해당 포트에 연결되어 있는 컴퓨터의 MAC주소가 등록되는 데이터베이스이다.
스위치의 전원을 켠 상태에서는 MAC주소 테이블에 아무것도 등록되어 있지 않지만, 컴퓨터에서 목적지의 MAC주소가 추가된 '프레임'이 전송되면 MAC주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않으면 MAC주소를 포트와 함께 등록한다. 이를 'MAC주소 학습 기능'이라고 한다.
# 플러딩
컴퓨터1에서 컴퓨터3으로 '프레임'을 전송할 때, 스위치에 목적지 MAC주소가 MAC주소 테이블에 등록되지 않을 경우를 가정해보자.
이 때는 컴퓨터1에서 송신한 '프레임'이 컴퓨터2~5에 전송되는데, 이러한 전송을 '플러딩'(홍수)라고 부른다.
# MAC주소 필터링
플러딩이 일어나는 상황과는 반대로, 스위치의 MAC 주소 테이블에 컴퓨터3의 MAC주소가 등록되어 있다고 가정하면, 컴퓨터2,4,5에는 데이터가 전송되지 않고, 컴퓨터3에만 데이터가 전송된다.
이처럼 MAC주소를 기준으로 목적지를 선택하는 것을 'MAC주소 필터링'이라고 하며, 불필요한 데이터를 네트워크에 전송하지 않게해주는 역할을 수행한다.
'TIL' 카테고리의 다른 글
TIL 220929 (0) | 2022.09.29 |
---|---|
TIL 220928 (0) | 2022.09.29 |
220926 TIL 개인프로젝트 mysql 쿼리 입문 (2) | 2022.09.26 |
TIL 220924 실전프로젝트 유지보수 트러블슈팅 (0) | 2022.09.24 |
TIL 220923 (1) | 2022.09.24 |