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 지원을 늘려가고 있다.
주소 체계
- IPv4: 3개의 옥텟을 기준으로 8bit 4자리 주소로 총
32bit
이며 10진수로 표현된다.
2^8은 256이지만 양의 정수만 표현한 Unsigned Int이기 때문에, 0을 표현하기 위해 255로 표현된다.
예로 196.68.255.255와 같은 형태를 띈다. - IPv6: 128bit로 8개의 16진수 블록(hextet)으로 표현된다.
각 자리는 ‘:’(콜론)으로 구분하며 예로 2001:0DB8:1000:0000:0000:0000:1111:2222와 같은 형태를 띈다.
네트워크, 호스트 아이디
IP 주소는 네트워크 아이디와 호스트 아이디로 구분된다.
- 네트워크 아이디: 호스트들을 모은 네트워크 주소 또는 대역을 의미한다.
같은 대역을 사용하는 네트워크는 로컬 네트워크라 한다. - 호스트 아이디: 하나의 호스트를 식별하기 위한 위한 주소다.
클래스 기반
과거에는 네트워크 아이디 8bit, 호스트 24bit로 구분해 할당했기 때문에,
심각한 주소 낭비가 발생했고 이를 해결하기 위해 클래스 구분 개념을 도입했다.
각 클래스 마다 네트워크와 호스트 영역이 다르게 구분되어, 규모에 따라 할당하는 방식으로 주소를 절약했다.
클래스 구분은 서브넷 마스크가 필요없는데 클래스 별로 구분되기 때문이다.
- A클래스:
8bit
네트워크 아이디와24bit
호스트 아이디(약 16,777,216개)를 나타낼 수 있는 가장 큰 클래스다.
주소 범위는 1.0.0.0~127.0.0.0이지만 127은루프백 주소
이기 때문에 126.255.255.255 까지다. - B클래스:
16bit
네트워크 아이디와16bit
개의 호스트 주소를 나타낼 수 있는 클래스다.
주소 범위는 128.0.0.0~191.0.0.0 까지다. - C클래스:
24bit
네트워크 아이디와8bit
호스트 아이디를 나타낼 수 있는 가장 작은 클래스다.
주소 범위는 192~233.0.0.0 까지다.
클래스 리스
클래스 구분 적용 후에도 주소 낭비가 발생했다.
예를 들어 100개 호스트 아이디만 필요한 회사에 C클래스를 주어도 150개가 낭비된다.
이를 해결하기 위한 단기 대책으로 클래스 리스 기반의 주소 체계가 도입되었다.
클래스 리스는 필요한 만큼 더 작은 단위로 네트워크를 나누는 방법으로 이를 서브네팅
이라 한다.
클래스 구분과 다르게 네트워크 대역과 호스트 아이디를 구분하기 위해 서브넷 마스크
를 사용한다.
서브네팅에 관한 내용은 추후에 따로 포스팅 예정입니다.
IP 종류
- 공인 IP(Global IP): 일반적으로 네트워크에 공인 IP는 고유하며 실질적으로 라우팅에 사용되는 IP 주소다.
- 사설 IP(Private IP): 작은 소규모 네트워크를 구축할 때 사용하며, 예로 공유기를 통해부여 받은 IP가 바로 사설 IP다.
사설 IP 주소만으로는 인터넷을 사용할 수 없지만, 공유기가 공인 IP로 변환해주기 때문에 인터넷 사용이 가능한 것이다. - 루프백 IP(Loopback IP): 호스트 자신을 가리키는 목적으로 사용되는 IP 주소다. 보통 127.0.01을 자주 사용한다.
- 브로드 캐스트 IP: 브로드 캐스트 전송 IP 주소를 말하며 호스트 아이디가 255로 구성되어 있다. 예로 130.9.32.255
참조
IT 엔지니어를 위한 네트워크 입문 - 길벗
널널한 개발자 - MAC주소, IP주소, Port번호가 식별하는 것
널널한 개발자 - IP주소의 종류와 특징