MAC 주소는 네트워크 인터페이스에 할당된 고유 식별자이며 보통 장치의 NIC에 할당된다. 48비트로 이루어져있으며 24비트의 OUI와 24비트의 UAA로 이루어져있다.(OUI : IEEE에서 할당한 제조사 코드, UAA : 제조사에서 구별되는 코드)
cmd : ipconfig/all
IP 주소는 컴퓨터 주소가 아니라 LAN Card(NIC, Network Interface Card)에 연결되어 있는 회선(랜선)의 주소를 말한다(고정되어 있는 것이 아니라 인터넷망에 접속할 때마다 달라짐). IP 주소는 논리적 주소로서 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 주소이다. IP 주소는 IPv4와 IPv6로 나누어진다.
IPv4는 32비트로 표현되는 주소체계이며 2^32개의 주소(41억 9천만 주소)를 표현할 수 있다. 8비트 단위로 점을 찍어 4개로 구분해서 표현하며 보통 8비트를 10진수로 표현해서 말한다. 흔히 우리가 사용하는 IP주소가 바로 IPv4이다.
IP 주소는 네트워크부와 호스트부로 나뉜다. 네트워크부는 어떤 네트워크인지를 알 수 있는 정보이고, 호스트부는 그 네트워크 안의 특정 컴퓨터를 지칭하는 정보이다. 초창기에는 앞 8비트를 네트워크 영역, 나머지 비트를 호스트 영역으로 사용했다.
하지만 네트워크가 많아지고, 이것으로 네트워크를 모두 표현할 수 없었다. 따라서 필요한 호스트 IP 개수에 따라 네트워크의 크기를 다르게 할당할 수 있도록 클래스(class)라는 개념이 도입되었다. 여기서부터는 IPv4 기준으로 설명하겠다. 클래스는 A, B, C, D, E 클래스가 존재하며, D 클래스는 멀티캐스트를 위해 사용되고, E 클래스는 예약 되어있는 클래스이므로 사용할 수 있는 클래스는 A, B, C이다. 아래는 클래스 A, B, C의 특징을 보여주며 클래스마다 host IP에서 -2를 하는 이유는 맨 앞자리는 네트워크 주소로 남겨두며 마지막 주소는 브로드캐스팅 주소로 남겨 두었기 때문이다.
1. 클래스 A
2. 클래스 B
3. 클래스 C
하지만 이러한 클래스풀 방식은 현재는 사용하지 않는다. 왜냐하면 클래스 크기가 정해져 있어서 세밀한 제어가 불가능하기 때문이다. 예를 들어 작은 네트워크가 필요한 조직에서 너무 많은 IP를 가져갈 수 있는데 이는 큰 낭비이다. 이러한 클래스풀 기반의 IPv4 방식의 단점과 더불어 주소가 부족하였고 이를 해결하기 위해 CIDR(클래스리스), NAT, IPv6가 등장했다.
CIDR은 Classless Inter Domain Routing의 약자로 위에서 살펴본 클래스풀의 단점을 해결하기 위해 클래스리스가 나왔다. 클래스리스는 말 그대로 클래스라는 개념을 사용하지 않는다. 대신 서브넷 마스크라는 개념을 도입했다.
IP주소 체계의 Network ID와 Host ID를 서브넷 마스크를 통해 분리할 수 있다. 서브넷 마스크의 형태는 기본적으로 IPv4 주소와 같은 32 bit 이진수이며, IPv4와 같은 xxx.xxx.xxx.xxx 와 같은 형태를 가지고 있다. 이러한 서브넷 마스크를 이용해 IPv4 주소와 AND 연산하여 Network ID를 걸러낼 수 있다.
CIDR 표기법
공인 IP
사설 IP
NAT(Network Address Translation)는 패킷이 트래픽 라우팅 장치를 통해 전송되는 동안 패킷의 IP주소를 변경, IP 주소를 다른 IP 주소로 매핑하는 방법이다. NAT을 이용하면 아래와 같은 장점이 있다.
IPv6 주소는 기존 32비트의 IPv4 주소가 고갈되는 문제를 해결하기 위하여 개발된 새로운 128비트 체계의 무제한 인터넷 프로토콜 주소를 말한다. IPv6 주소는 다음 그림과 같이 16비트 단위로 구분하며, 각 단위는 16진수로 변환되어 콜론(:)으로 구분하여 표기한다. 128비트의 IPv6 주소에서 앞의 64비트는 네트워크 주소를 의미하며, 뒤의 64비트는 네트워크에 연결된 통신장비 등에 할당되는 인터페이스 주소를 의미한다.
ex) 2001:0DB8:AC10:FE01:0000:0000:0000:0000
IPv4대비 IPv6의 장점은 아래와 같다.
💡좋아보이지만 현재는 IPv6는 잘 사용하지 않고 대신 IPv4기반의 서브네팅, NAT을 사용한다.