m1ndy5's coding blog

ABOUT IP, SUBNET 본문

클라우드 with AWS/Network

ABOUT IP, SUBNET

정민됴 2023. 3. 5. 21:40

IP란?

  • 인터넷에 연결되어 있는 장치들을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소
  • IPv4, IPv6 2가지의 종류가 있음 -> 일반적으로는 IPv4를 사용하지만 IPv6를 같이 사용하는 곳도 많음, IPv4의 사용가능한 ip개수가 줄어들면서 IPv6가 나옴

    고정 IP VS 유동 IP

  • 고정IP는 한번 부여되면 반납하기 전까진 계속 변하지 않고 사용할 수 있는 IP -> IP값이 변하면 안되는 서버들은 고정 IP를 사용해야함
  • 유동 IP는 인터넷 사용자 모두에게 고정 IP부여가 힘들기 때문에 인터넷에 접속하는 순간마다 사용하고 있지 않은 IP 주소를 임시로 할당해주는 IP -> 일반 사용자들은 유동 IP를 사용함

    공인 IP VS 사설 IP

  • IP주소는 ICANN이라는 기관이 국가별로 사용할 IP 대역을 할당하고 우리나라에서는 KISA가 이를 맡아서 관리하고 있음
  • ISP(KT, LG, SKT 같은 인터넷 서비스 제공사)가 이를 사용자에게 할당하게됨 -> 공인 IP
  • 사설 IP는 특정 네트워크 안에서 내부적으로 사용되는 고유한 주소
  • 공인 IP는 전세계에서 유일, 사설 IP는 하나의 네트워크 안에서 유일
  • 공인 IP는 외,내부 접속 가능, 사설 IP는 내부에서만 접속 가능

    IPv4

  • IPv4는 네트워크 아이디와 호스트 아이디로 이루어져있다.
  • 그렇다면 어디까지가 네트워크 아이디고 어디서부터가 호스트 아이디인지는 어떻게 알 수 있을까?

    Classful 방식

  • IP주소의 첫번째 8bit의 범위에 따라 class를 구분하고 network id의 범위를 파악하는 방식
    • Class A (0 ~ 127) : 앞의 8비트까지 network id, 나머지 24비트 host id -> 2^24-2개만큼의 ip주소를 사용할 수 있다.
    • Class B (128 ~ 191) : 앞의 16비트까지가 network id, 나머지 16비트가 host id -> 2^16-2개만큼의 ip주소를 사용할 수 있다.
    • Class C (192 ~ 223) : 앞의 24비트까지가 network id, 나머지 8비트가 host id -> 2^8-2개만큼 ip주소를 사용할 수 있다.
    • Class D, E (244 ~ 255) : host할당받을 수 없음
  • 이렇듯 각 클래스마다 8비트씩 늘리고 줄일 수 있는데 안그래도 부족한 공인IP 너무 큰 폭으로 줄었다 늘어났다 하니까 사용하지 않는 IP가 생기고 너무 IP낭비가 심해짐

    Classless 방식 (CIDR)

  • IP 주소의 낭비가 심한 Classful 방식의 단점을 보완하고 요즘날은 필요에 따라 네트워크를 쪼개거나 묶을 수 있는 CIDR 방식만 사용
  • 네트워크를 필요한 조건에 따라 서브 네트워크로 쪼개는 작업을 Subnetting이라고 한다.
  • 쪼갰을 때 맨 처음 아이디와 맨 마지막 아이디는 할당을 하진 못해서 많이 쪼갤 수록 가용 ip가 줄어들긴 하지만 classful방식에 비하면 낭비되는 ip는 훨씬 적다.
  • 서브네팅을 할 때 2가지 공식이 있다.
    • subnet 개수로 나눌 때 ex) 우리 회사는 총 2개의 서브넷을 만들고 싶어요
      • 2^n >= 조건, n개만큼 host bit의 왼쪽부터 잘라서 subnet bit로 사용
    • 사용하고자 하는 host 개수로 나눌 때 ex) 우리 부서는 60개의 host를 가져야해요
      • 2^n - 2 >= 조건, n개만큼 host bit의 오른쪽부터 잘라서 subnet bit로 사용

        서브넷 예제

  • Case 1. C클래스 네트워크를 24개의 서브넷으로 나누려고 한다. 각 서브넷은 4~5개의 호스트를 가져야한다.
    • C클래스는 기본 24비트의 네트워크 아이디를 가짐 255.255.255.0/24
    • 24개의 서브넷으로 나눠야함 2^n >= 24 -> n = 5
    • 255.255.255.00000|000 네트워크 아이디는 29개로 늘음 -> 255.255.255.0/29
    • 서브넷 마스크는 255.255.255.11111000 -> 255.255.255.248
  • Case 2. 회사 A가 210.100.1.0의 네트워크를 받았고 각 부서에는 적어도 30개의 호스트를 할당해야한다.
    • 2^n - 2 >= 30 -> n = 5
    • 210.100.1.000|00000 네트워크 아이디는 210.100.1.0/27
    • 범위 1 : 210.100.1.0 ~ 210.100.1.31
    • 범위 2 : 210.100.1.32 ~ 210.100.1.63
    • 범위 3 : 210.100.1.64 ~ 210.100.1.95
    • 범위 4 : 210.100.1.96 ~ 210.100.1.127
    • 범위 5 : 210.100.1.128 ~ 210.100.1.159
    • 범위 6 : 210.100.1.160 ~ 210.100.1.191
    • 범위 7 : 210.100.1.192 ~ 210.100.1.223
    • 범위 8 : 210.100.1.224 ~ 210.100.1.255
    • 하지만 각 범위의 첫번째 ip와 마지막ip는 사용 불가 -> 각 범위마다 사용가능 ip는 30개
    • 서브넷 마스크는 255.255.255.11100000 -> 255.255.255.224

      subnet mask란?

  • 서브넷 마스크란 network id 자리에 숫자 1을 채우고 host id 자리에 숫자 0을 채운 것이다
  • 서브넷 마스크를 사용하여 컴퓨터는 자신이 어떤 서브넷에 포함되어 있는지 ip주소와 and(&)연산을 통해 알 수 있다.

    VLSM (Variable Length Subnet Mask)

  • 다양한 조건을 만족시키기 위해서 서브네팅을 반복적으로 수행하는 것
  • 조건이 다양할 경우 가장 큰 조건부터 순차적으로 서브네팅하는 것이 좋음
  • ex) 개발팀에서 100개의 호스트, 영업팀에서 50개의 호스트, 그 외 4개의 부서에서 10개의 호스트가 필요하다고 가정
  • 위 그림처럼 호스트가 가장 많이 필요한 개발팀한테 먼저 잘라주고, 그다음 영업팀 그다음 무슨팀 이런식으로 서브네팅을 해준다.
  • 자르고 남는 ip로 또 자르고 하기 때문에 각 서브넷마다 네트워크 id의 비트가 다를 수 있다.

'클라우드 with AWS > Network' 카테고리의 다른 글

URL vs URI vs URN  (0) 2023.06.23
네트워크 진단 도구  (0) 2023.03.12
TCP VS UDP, 그 외의 다양한 네트워크 프로토콜  (1) 2023.03.12
ABOUT ROUTING, NAT  (0) 2023.03.05
네트워크 기초(정의 & OSI 7 계층)  (0) 2023.03.03