2022-08-09

MAC, IP 주소

MAC, IP 주소 체계와 동작 원리에 대해 간략하게 알아보자!

MAC(Media Access Control Address) 주소

NIC(Network Interface Card)에 부여된 고유 식별 번호로 2계층 통신(OSI 7 Layer 기준)에 사용된다.
네트워크에 접속하는 모든 장비는 MAC 주소가 있어야 하며, 한 장비에 여러 MAC 주소를 소유할 수 있다.
MAC 주소는 의도적으로 고유하지 않게 할 수 있으며, 동일 네트워크상에서 중복되지 않으면 문제가 되지 않는다.

주소 체계

국제기구가 부여한 24bit, 제조사에서 부여한 24bit로 구성되어 총 48bit의 16진수 12자리로 표현된다.
예로 브로드 캐스트 MAC 주소는 FF-FF-FF-FF-FF-FF이다.

동작 원리

NIC은 전기 신호가 들어오면 프레임을 디캡슐레이션해 이더넷 헤더의 목적지 MAC 주소를 확인한다.
목적지 주소가 자신이거나 브로드캐스트 멀티캐스트인 경우 상위 계층으로 넘겨주고 아닌 경우 폐기한다.
브로드캐스트, 멀티캐스트의 경우 NIC이 아닌 OS에서 처리하므로 CPU 리소스가 사용된다.
따라서 브로드캐스트 스톰과 같이 루프가 발생하면 시스템 장애가 발생한다.

IP(Internet Protocol address) 주소

네트워크 호스트 식별자이며 3계층 통신에 사용된다. 호스트란 인터넷에 연결된 컴퓨터를 뜻한다.
IPv4, IPv6 두 버전이 혼용되어 사용되고 있으며, IPv4는 고갈되어 점진적으로 IPv6 지원을 늘려가고 있다.

주소 체계

네트워크, 호스트 아이디

IP 주소는 네트워크 아이디와 호스트 아이디로 구분된다.

클래스 기반

과거에는 네트워크 아이디 8bit, 호스트 24bit로 구분해 할당했기 때문에,
심각한 주소 낭비가 발생했고 이를 해결하기 위해 클래스 구분 개념을 도입했다.
각 클래스 마다 네트워크와 호스트 영역이 다르게 구분되어, 규모에 따라 할당하는 방식으로 주소를 절약했다.
클래스 구분은 서브넷 마스크가 필요없는데 클래스 별로 구분되기 때문이다.

클래스 리스

클래스 구분 적용 후에도 주소 낭비가 발생했다.
예를 들어 100개 호스트 아이디만 필요한 회사에 C클래스를 주어도 150개가 낭비된다.
이를 해결하기 위한 단기 대책으로 클래스 리스 기반의 주소 체계가 도입되었다.
클래스 리스는 필요한 만큼 더 작은 단위로 네트워크를 나누는 방법으로 이를 서브네팅이라 한다.
클래스 구분과 다르게 네트워크 대역과 호스트 아이디를 구분하기 위해 서브넷 마스크를 사용한다. 서브네팅에 관한 내용은 추후에 따로 포스팅 예정입니다.

IP 종류

참조

IT 엔지니어를 위한 네트워크 입문 - 길벗
널널한 개발자 - MAC주소, IP주소, Port번호가 식별하는 것
널널한 개발자 - IP주소의 종류와 특징