Mac Address와 UUID

Junghyun Park·2021년 6월 9일
1

배경

  • 블루투스 통신을 위해 디바이스로부터 가져오는 id(device.id)의 값이 Android와 iOS의 경우, 상이한 것을 알게 되었음
  • 안드로이드는 mac address 형식으로, iOS는 UUID 형식으로 response를 전달하므로, 프론트엔드에서 이와같은 제한요소를 고려할 필요가 있음

Mac Address란?

"Media Access Control"의 약자로 네트워크 카드 하드웨어에 부여되는 고유한 물리적 주소

  • 모든 네트워크 장비나 랜카드에는 고유한 MAC 주소를 가지고 있도, 라우터나 스위치에도 MAC 주소를 가짐
  • 네트워크 상에서 통신을 할 때, TCP/IP를 이용하여, IP 주소를 사용하지만, 이 IP를 다시 MAC 주소로 변환하는 과정이 있음 (이 과정을. ARP - Address Resolution Protocol이라고 함)
  • 한번 정해지만 절대로 바뀌지 않음

MAC 주소 형식

  • 48Bit로 구성되어 있으며, 접근편의성을 위하여. 16진수 문자와 숫자를 섞어 표현
  • xx-xx-xx-xx-xx-xx, xx:xx:xx:xx:xx:xx, xxxx.xxxx.xxxx
  • 앞쪽 6자리는 제조사, 뒤 6자리는 각 장비에 분배되는 시리얼 넘버임

MAC과 IP가 둘다 필요한 이유?

  • 어떤 데이터(정보)를 다른 네트워크 상의 기기에 전달하고자 할 때, IP 주소만으로는 상대방 기기가 내가 보내고자하는 상대방인지 확실하게 보증할 수 없으므로 물리적 기계의 고유번호가 있어야 하는데 이게 MAC 주소임
  • MAC 주소는 직접 연결된 노드들에게 데이터를 전달하는데 초점이 맞춰져 있음
  • 쉽게 표현하면, IP 주소는 전체적인 맵을 보고 방향을 알려주는 역할(현실에서의 주소와 같은 역할)을 수행하고, MAC은 주소지의 해당 수신인(이름)을 의미

UUID란?

UUID(Universally Unique IDentifier)는 네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약

  • Open Software Foundation (OSF)에서 제정한 표준

UUID의 형식

  • 128비트의 숫자이며, 32자리의 16진수로 표현
  • 여기에 8-4-4-4-12 글자마다 하이픈을 집어넣어 5개의 그룹으로 구분
    예: 550e8400-e29b-41d4-a716-446655440000

UUID의 종류

UUID 버전은 1, 3, 4 및 5가 있다. 이 중 많이 쓰이는 것은 버전 1과 4이다. 버전 1은 타임스탬프를 기준으로 생성되며, 버전 4는 랜덤 생성이다. 버전 3, 5는 각각 MD5, SHA-1 해쉬를 이용해 생성하는 방식이다.

  • 애플은 기본적으로 RFC4122 버전 4의 무작위 UUID 생성방법을 사용

블루투스 기기의 mac 주소를 iOS에서 가져올 수 있을까?

하나의 고정 불변값인 mac 주소를 안드로이드에서처럼 iOS에서도 가져올 수 있다면, 프론트엔드에서의 변환하는 번거로운 작업이 덜 수 있을 것이다.

그러나, 구글 서치결과, 이는 불가능하고 iOS에서는 항상 UUID 형식으로만 가져올 수 있는 것 같다


참고 사이트

https://jhnyang.tistory.com/404
https://www.huskyhoochu.com/what-is-uuid/

profile
21c Carpenter

0개의 댓글