[네트워크] IP 주소에 대해서

yjkim97·2022년 1월 22일
2

네트워크

목록 보기
6/10

개요

  • OSI 7계층에서 Data Link Layer와 Network Layer에서 IP주소를 갖는다.
  • 2계층은 물리주소인 MAC주소를 사용하고, 3계층에서는 논리주소인 IP주소를 사용한다.
  • 사용자가 변경가능한 논리 주소이다.
  • 주소에 레벨이 존재한다.
    그룹을 의미하는 네트워크 주소와 호스트 주소로 이루어져 있다.

IP 주소 체계

  • IPv4, IPv6가 존재
    IPv4 : 32bit 10진수 (8bit x 4byte)
    IPv6 : 128bit
  • 4개의 옥텟(Octet)이라고 부르는 8bit 단위로 나누고 각 옥텟은 "."으로 구분한다.
  • 네트워크 주소와 호스트 주소로 나뉘어진다.

    네트워크 주소 : 호스트들을 모은 네트워크를 지칭하는 주소. 네트워크 주소가 동일한 네트워크를 로켈 네트워크라고 한다.
    호스트 주소 : 하나의 네트워크 내에 존재하는 호스트를 구분하기 위한 주소이다.

  • IP에는 클래스 개념이 존재한다.
    MAC주소는 24bit씩 구분할 수 있지만 IP는 Class에 따라 구분점이 다르다.

    A클래스는 첫번째 옥텟에, B클래스는 두번째 옥텟에, C클래스는 세번째 옥텟이 구분자가 있는데, 이 구분자를 서브넷마스크라고 한다.

IP Class

클래스 기반의 네트워크 분할 기법은 과거에 사용했던 개념으로 현재는 널리 사용되지는 않는다.
보다 네트워크 주소를 세밀하게 분할하고 할당하기 위해 필요한 네트워크의 크기에 맞추어 1bit 단위로 네트워크를 상세히 분할하는 방법을 사용한다.

Class네트워크주소:호스트주소시작주소범위비고
A 클래스1:3
2⁸(256) : 2²⁴(16,777,216)
01 ~ 127.0.0.0127.0.0.0은 Loopback 주소로 사용 (로컬호스트)
B 클래스2:2
2¹⁶(65,536) : 2¹⁶(65,536)
10128 ~ 191.0.0.0
C 클래스3:1
2²⁴(16,777,216) : 2⁸(256)
110192 ~ 223.0.0.0
D 클래스1110224 ~ 239.0.0.0멀티캐스트에 사용
E 클래스11110240 ~예약된 주소(특수용도로 사용)

사용 가능한 호스트 개수 파악

계산식 : 2의 n승 - 2

❓ 왜 -2를 할까?
💡 그 이유는 모두0과 모두1인 경우는 특수한 주소로 사용되기 때문에 2개를 빼는 것이다. 모두 0은 네트워크 주소로 모두 1은 브로드캐스트 주소로 사용한다.

  • A 클래스 : 2²⁴ - 2 = 16,777,216 - 2 = 16,777,214개
  • B 클래스 : 2¹⁶ - 2 = 65,536 - 2 = 65,534개
  • C 클래스 : 2⁸ - 2 = 256 - 2 = 254개

클래스풀(Classful) vs 클래스리스(Classless)

클래스풀(Classful)

클래스풀은 클래스 기반의 IP주소 체계를 말한다.

  • 네트워크 주소와 호스트 주소를 구분짓는 구분자(서브넷 마스크)가 필요없다.
  • 맨 앞자리 숫자만 보면 자연스럽게 이 주소가 어느 클래스에 속해 있는지 구분할 수 있기 때문이다.

클래스리스(Classless) 등장

인터넷 상용화로 인해 호스트 숫자가 급증하고 기존 클래스풀 기반의 주소체계로는 IP 주소 요구를 감당하기에는 부족해졌다. 하나의 네트워크에서 사용자히 않는 IP가 있지만 그 IP를 다른 네트워크에서 사용하지 못했다.

이런 IP 주소 부족과 낭비 문제를 해결하기 위해 3가지 보존, 전환전략을 만들었다.

  • 클래스리스, CIDR (Classless Inter-Domain Routing) 기반의 주소체계
  • NAT와 사설 IP주소
  • IPv6

IPv4의 가장 큰 문제점은 주소 자체의 부족도 있지만, 상위 클래스를 할당받은 조직에서 제대로 사용하지 못하면서 낭비되는 것이였다.
클래스 주소체계는 클래스 네트워크가 한 조직에 할당되면 아무리 비어 잇는 주소라도 IP를 분할해 다른 기관이 사용하지 못한다.

현재 우리가 사용하고 있는 주소체계는 클래스 개념을 적용하지 않는 클래스리스 기반 주소체계이다.

⭐️ 서브넷 마스크 (Subnet Mask)

서브넷 마스크는 클래스리스 네트워크에서 네트워크와 호스트 주소를 나누기 위한 구분자로 사용하는 것이다.

  • 2진수 0은 호스트 주소로, 1은 네트워크 주소로 표시한다. (2진수 1의 10진수는 255이다.)
  • 만약 103.9.32.146의 서브넷마스크가 225.225.225.0이면?
    103.9.32.0이 네트워크 주소이고, 0.0.0.146이 호스트 주소이다.

⭐️ 서브네팅 (Subnetting)

서브네팅은 원래 부여된 클래스의 기준을 무시하고 서브넷마스크를 정해 원래 클래스풀 단위의 네트워크보다 더 쪼개 사용하는 것을 말한다.

  • 현대 클래스리스 네트워크의 가장 큰 특징이라고 할 수 있다.
  • 네트워크 디자인 단계에서 상황에 따라 네트워크를 어떻게 효율적으로 분할할 것인지 계획하는 것이 중요하다.

    네트워크 사용자 입장
    - 네트워크에서 사용할 수 잇는 IP범위를 파악
    - 기본 게이트웨이와 서브넷 마스크 설정이 제대로 되어 있는지 확인

    네트워크 설계자 입장
    - 네트워크 설계 시 네트워크 내에 필요하 ㄴ단말을 고려한 네트워크 범위 설계

📖 서브넷마스크로 네트워크 주소 범위와 호스트 주소 범위를 파악하는 방법에 대해서 따로 포스팅 하자!! 어렵다.. 복잡하다..


Bogon IP

IP주소를 할당하는 최사이위 기구인 IANA가 여러가지 목적으로 예약해놓아 공인IP로 항당하지 않는 주소를 Bogon IP라고 한다.

  • Bogon IP는 라우터에 해당 정보가 존재하지 않는다.
  • 만약 Bogon IP대역의 주소를 사용한 토신시도가 있었다면 스푸핑 또는 실수로 할당된 IP를 사용한 경우이므로 적절히 필터링하는 것이 좋다.
  • loacl ip, 브로드캐스트 주소, 멀티캐스트 주소, 0.0.0.0등이 이에 해당된다.

Bogon IP 리스트

NetblockDescription
0.0.0.0/8"This" network
10.0.0.0/8Private-use networks
100.64.0.0/10Carrier-grade NAT
127.0.0.0/8Loopback
127.0.53.53Name collision occurrence
169.254.0.0/16Link local
172.16.0.0/12Private-use networks
192.0.0.0/24IETF protocol assignments
192.0.2.0/24TEST-NET-1
192.168.0.0/16Private-use networks
198.18.0.0/15Network interconnect device benchmark testing
198.51.100.0/24TEST-NET-2
203.0.113.0/24TEST-NET-3
224.0.0.0/4Multicast
240.0.0.0/4Reserved for future use
255.255.255.255/32Limited broadcast
profile
어제는 🐸두꺼비 오늘은 😄YJ

0개의 댓글