개요
이번 글에서는 랜 카드를 제조할 때 정해지는 물리적인 주소에 대해 이야기해보려고 한다.
- 이 글은 "모두의 네트워크"라는 책을 기반으로 내용을 작성할 예정이다.
MAC 주소란?
랜 카드는 비트열(0과 1)을 전기 신호로 변환한다. 이러한 랜 카드에는 MAC 주소라는 번호가 정해져 있다. 제조할 때 새겨지기 때문에 물리 주소라고도 불리는데 전 세계에서 유일한 번호로 할당되어 있다.
48비트 숫자로 구성되어 있으며 앞쪽 24비트는 랜 카드를 만든 제조사 번호이고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호이다. EX) 00-23-AE-D9-7A-9A -> 00-23-AE(제조사 번호), D9-7A-9A(일련 번호)
MAC 주소를 사용한 통신
OSI 모델이나 TCP/IP 모델을 떠올려 보면 각 계층에서 헤더를 붙이는 것이 기억이 날 것이다.
OSI 모델에선 데이터 링크 계층, TCP/IP 모델에선 네트워크 계층에 해당되는데 이 계층에서 이더넷 헤더와 트레일러를 붙인다.
이더넷 헤더에는 목적지의 MAC 주소(6바이트) + 출발지 MAC 주소(6바이트) + 유형(2바이트) 이렇게 총 14바이트로 구성되어 있다. 이더넷 유형은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다.
유형 번호 | 프로토콜 |
0800 | IPv4 |
0806 | ARP |
8035 | RARP |
814C | SNMP over Ethernet |
86DD | IPv6 |
이렇게 이더넷 유형에는 프로토콜 종류를 식별하는 번호가 들어간다.
트레일러는 FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용된다.
이처럼 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 한다.
프레임의 구조
목적지 MAC 주소 | 출발지 MAC 주소 | 유형 | 데이터 | 트레일러 |
여기서 목적지 MAC 주소 + 출발지 MAC 주소 + 유형은 이더넷 헤더이다.
데이터 전송 과정 예시
컴퓨터1에서 컴퓨터3으로 데이터를 전송한다고 가정하였을 때 컴퓨터1은 이더넷 헤더에 데이터의 목적지인 컴퓨터3의 MAC 주소(목적지)와 자신의 MAC 주소(출발지) 정보를 넣고 데이터를 전송한다. 여기서 보내는 측의 컴퓨터인 컴퓨터1에서 캡슐화가 일어난다.
데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임을 만들고 물리 계층에서 이 프레임을 전기 신호로 변환하여 네트워크를 통해 전송한다.
컴퓨터1이 보낸 데이터를 1번 포트로 수신하고 2~5번의 모든 포트로 전송하지만 2, 4, 5번 컴퓨터에는 자신의 MAC 주소와 프레임에 있던 목적지 MAC의 주소와 다르기 때문에 데이터를 파기한다. 반면 컴퓨터3은 MAC 주소가 같으므로 데이터를 수신하게 된다. 또한 컴퓨터3에서는 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고(역캡슐화) 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리하게 된다.
만약에 컴퓨터1과 컴퓨터2가 동시에 컴퓨터3에게 데이터를 전송하려 한다면 충돌을 방지하기 위해 이더넷 CSMA/CD 방식이 사용되어 충돌을 감지하면 컴퓨터2는 전송을 잠시 대기하고 다시 데이터를 전송한다.
'네트워크' 카테고리의 다른 글
[네트워크] 데이터가 케이블에서 충돌하지 않는 구조 (0) | 2022.04.13 |
---|---|
[네트워크] 네트워크의 구성 - 스위치 (0) | 2022.04.13 |
[네트워크] 데이터 링크 계층과 이더넷 (0) | 2022.04.12 |
[네트워크] 리피터와 허브 (0) | 2022.04.12 |
[네트워크] 케이블의 종류와 구조 (0) | 2022.04.08 |
개요
이번 글에서는 랜 카드를 제조할 때 정해지는 물리적인 주소에 대해 이야기해보려고 한다.
- 이 글은 "모두의 네트워크"라는 책을 기반으로 내용을 작성할 예정이다.
MAC 주소란?
랜 카드는 비트열(0과 1)을 전기 신호로 변환한다. 이러한 랜 카드에는 MAC 주소라는 번호가 정해져 있다. 제조할 때 새겨지기 때문에 물리 주소라고도 불리는데 전 세계에서 유일한 번호로 할당되어 있다.
48비트 숫자로 구성되어 있으며 앞쪽 24비트는 랜 카드를 만든 제조사 번호이고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호이다. EX) 00-23-AE-D9-7A-9A -> 00-23-AE(제조사 번호), D9-7A-9A(일련 번호)
MAC 주소를 사용한 통신
OSI 모델이나 TCP/IP 모델을 떠올려 보면 각 계층에서 헤더를 붙이는 것이 기억이 날 것이다.
OSI 모델에선 데이터 링크 계층, TCP/IP 모델에선 네트워크 계층에 해당되는데 이 계층에서 이더넷 헤더와 트레일러를 붙인다.
이더넷 헤더에는 목적지의 MAC 주소(6바이트) + 출발지 MAC 주소(6바이트) + 유형(2바이트) 이렇게 총 14바이트로 구성되어 있다. 이더넷 유형은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다.
유형 번호 | 프로토콜 |
0800 | IPv4 |
0806 | ARP |
8035 | RARP |
814C | SNMP over Ethernet |
86DD | IPv6 |
이렇게 이더넷 유형에는 프로토콜 종류를 식별하는 번호가 들어간다.
트레일러는 FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용된다.
이처럼 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 한다.
프레임의 구조
목적지 MAC 주소 | 출발지 MAC 주소 | 유형 | 데이터 | 트레일러 |
여기서 목적지 MAC 주소 + 출발지 MAC 주소 + 유형은 이더넷 헤더이다.
데이터 전송 과정 예시
컴퓨터1에서 컴퓨터3으로 데이터를 전송한다고 가정하였을 때 컴퓨터1은 이더넷 헤더에 데이터의 목적지인 컴퓨터3의 MAC 주소(목적지)와 자신의 MAC 주소(출발지) 정보를 넣고 데이터를 전송한다. 여기서 보내는 측의 컴퓨터인 컴퓨터1에서 캡슐화가 일어난다.
데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임을 만들고 물리 계층에서 이 프레임을 전기 신호로 변환하여 네트워크를 통해 전송한다.
컴퓨터1이 보낸 데이터를 1번 포트로 수신하고 2~5번의 모든 포트로 전송하지만 2, 4, 5번 컴퓨터에는 자신의 MAC 주소와 프레임에 있던 목적지 MAC의 주소와 다르기 때문에 데이터를 파기한다. 반면 컴퓨터3은 MAC 주소가 같으므로 데이터를 수신하게 된다. 또한 컴퓨터3에서는 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고(역캡슐화) 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리하게 된다.
만약에 컴퓨터1과 컴퓨터2가 동시에 컴퓨터3에게 데이터를 전송하려 한다면 충돌을 방지하기 위해 이더넷 CSMA/CD 방식이 사용되어 충돌을 감지하면 컴퓨터2는 전송을 잠시 대기하고 다시 데이터를 전송한다.
'네트워크' 카테고리의 다른 글
[네트워크] 데이터가 케이블에서 충돌하지 않는 구조 (0) | 2022.04.13 |
---|---|
[네트워크] 네트워크의 구성 - 스위치 (0) | 2022.04.13 |
[네트워크] 데이터 링크 계층과 이더넷 (0) | 2022.04.12 |
[네트워크] 리피터와 허브 (0) | 2022.04.12 |
[네트워크] 케이블의 종류와 구조 (0) | 2022.04.08 |