IP 주소

이상훈·2024년 1월 22일
0

CS

목록 보기
11/13
post-thumbnail

MAC 주소

 MAC 주소는 네트워크 인터페이스에 할당된 고유 식별자이며 보통 장치의 NIC에 할당된다. 48비트로 이루어져있으며 24비트의 OUI와 24비트의 UAA로 이루어져있다.(OUI : IEEE에서 할당한 제조사 코드, UAA : 제조사에서 구별되는 코드)

cmd : ipconfig/all


IP 주소

 IP 주소는 컴퓨터 주소가 아니라 LAN Card(NIC, Network Interface Card)에 연결되어 있는 회선(랜선)의 주소를 말한다(고정되어 있는 것이 아니라 인터넷망에 접속할 때마다 달라짐). IP 주소는 논리적 주소로서 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 주소이다. IP 주소는 IPv4와 IPv6로 나누어진다.

IPv4

 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

  • 한 네트워크 당 연결할 수 있는 host IP : 2^24-2(대략 1600만개)
  • 네트워크 주소 범위 : 1~126
    • 0은 특수 주소, 127은 루프백 주소

2. 클래스 B

  • 한 네트워크 당 연결할 수 있는 host IP : 2^16-2(대략 6만 5천개)
  • 네트워크 주소 범위 : 128~191

3. 클래스 C

  • 한 네트워크 당 연결할 수 있는 host IP : 2^8-2(254 개)
  • 네트워크 주소 범위 : 192~223

 하지만 이러한 클래스풀 방식은 현재는 사용하지 않는다. 왜냐하면 클래스 크기가 정해져 있어서 세밀한 제어가 불가능하기 때문이다. 예를 들어 작은 네트워크가 필요한 조직에서 너무 많은 IP를 가져갈 수 있는데 이는 큰 낭비이다. 이러한 클래스풀 기반의 IPv4 방식의 단점과 더불어 주소가 부족하였고 이를 해결하기 위해 CIDR(클래스리스), NAT, IPv6가 등장했다.


IPv4의 부족에 대한 해결책

1. CIDR

  CIDR은 Classless Inter Domain Routing의 약자로 위에서 살펴본 클래스풀의 단점을 해결하기 위해 클래스리스가 나왔다. 클래스리스는 말 그대로 클래스라는 개념을 사용하지 않는다. 대신 서브넷 마스크라는 개념을 도입했다.
IP주소 체계의 Network ID와 Host ID를 서브넷 마스크를 통해 분리할 수 있다. 서브넷 마스크의 형태는 기본적으로 IPv4 주소와 같은 32 bit 이진수이며, IPv4와 같은 xxx.xxx.xxx.xxx 와 같은 형태를 가지고 있다. 이러한 서브넷 마스크를 이용해 IPv4 주소와 AND 연산하여 Network ID를 걸러낼 수 있다.

CIDR 표기법

  • CIDR은 0~32까지 표현 가능하다.
  • ex) 143.7.65.203/24
    • 32 비트중 상위 24비트를 네트워크부, 하위 8비트를 호스트부로 사용하겠다는 뜻이다.
    • 호스트 ip로 143.7.65.0 ~ 143.7.65.255 사용 가능하다.

2. NAT

공인 IP

  • 전세계에서 유일한 IP로 ISP(인터넷 서비스 공급자)가 제공하는 IP주소
  • 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 장비로부터 접근이 가능하다.
  • 그에 따라 방화벽 등과 같은 보안 설정을 해주어야 한다.

사설 IP

  • 어떤 네트워크 안에서 사용되는 IP주소
  • IPV4의 부족으로 인해 모든 네트워크가 공인 IP를 사용하는 것이 불가능하기 때문에 네트워크 안에서 라우터를 통해 할당받는 가상의 주소이다.
  • 별도의 설정 없이는 외부에서 접근이 불가능하다.

 NAT(Network Address Translation)는 패킷이 트래픽 라우팅 장치를 통해 전송되는 동안 패킷의 IP주소를 변경, IP 주소를 다른 IP 주소로 매핑하는 방법이다. NAT을 이용하면 아래와 같은 장점이 있다.

  1. 공인 IP를 다수가 함께 공유하여 사용할 수 있으므로 공인 IP를 절약할 수 있다.
  2. 사설 IP를 사용하는 고유의 사설망을 숨기고 공인 IP만 노출시켜서 보안에 좋다.


3. IPv6

 IPv6 주소는 기존 32비트의 IPv4 주소가 고갈되는 문제를 해결하기 위하여 개발된 새로운 128비트 체계의 무제한 인터넷 프로토콜 주소를 말한다. IPv6 주소는 다음 그림과 같이 16비트 단위로 구분하며, 각 단위는 16진수로 변환되어 콜론(:)으로 구분하여 표기한다. 128비트의 IPv6 주소에서 앞의 64비트는 네트워크 주소를 의미하며, 뒤의 64비트는 네트워크에 연결된 통신장비 등에 할당되는 인터페이스 주소를 의미한다.

ex) 2001:0DB8:AC10:FE01:0000:0000:0000:0000

IPv4대비 IPv6의 장점은 아래와 같다.

  • 확대된 주소 공간 : 주소 길이가 128비트이므로 2^128 개의 주소 생성 가능
  • 단순해진 헤더 포맷 : IPv4 헤더의 불필요한 필드를 제거하여 보다 빠른 처리 가능
  • 강화된 보안 기능 : IPv6에서는 데이터 패킷 암호화 프로토콜 IPSec 기능을 기본 사항으로 제공

💡좋아보이지만 현재는 IPv6는 잘 사용하지 않고 대신 IPv4기반의 서브네팅, NAT을 사용한다.

profile
Problem Solving과 기술적 의사결정을 중요시합니다.

0개의 댓글