IP주소

suhan cho·2022년 5월 6일
0
post-custom-banner

IP

  • 인터넷에서 각 장치를 구별하기 위해 TCP/IP 프로토콜 모음의 IP계층에서 사용하는 식별자를 뜻함
  • IP 주소는 유일하다 오직 한 개의 연결만을 지정
  • ICANN에서 인터넷 주소를 정한다

주소공간

  • IPv4는 주소공간을 가지고 있다.
    • 2^32bit이므로 40억개 이상의 장치가 인터넷에 연결가능

표기법

  • 2진 표기법
    32비트를 8비트 사이 공백일 둬서 표기
01100000 10101111 11011010 01011010
  • 10진 표기법: 기수256
128:11:3:31
  • 16진 표기법
0x810B0BEF

클래스 기반 주소지정

클래스 기반과 클래스 없는 주소지정이 있다

클래스

  • 다섯개의 클래스(A,B,C,D,E)로 나누어진다

클래스 찾기

Netid와 Hostid

  • A는 1바이트 netid와 3바이트 hostid(2^24사용가능)
  • B는 2바이트 netid와 2바이트 hostid(2^16사용가능)
  • C는 3바이트 netid와 1바이트 hostid(2^8사용가능)
  • D와E는 나누어지지 않는다.

클래스와 블록

클래스 A

  • 1바이트만 netid를 정의 가장 왼쪽비트는 0 나머지 7비트는 블록 수를 찾는데 사용 (2^7 =128 블록사용)

클래스 B

  • 2바이트만 netid를 정의 왼쪽 두비트 10 나머지 14비트는 블록 찾는데 사용(2^14=16,384)

클래스 C

  • 3바이트만 netid를 정의 왼쪽 3비트 110 나머지 21비트 블록 찾는데 사용(2^21)

클래스 D

  • 멀티캐스팅을 위해 사용
  • 호스트들의 그룹을 지정하는데 사용

클래스 E

  • 예약용으로 사용한다

2계층 주소지정

  • Netid는 네트워크를 정의 hostid는 네트워크 연결된 특정 호스트 정의

블록에서 정보 추출

  1. 블록 내의 주소의 수 N = 2^(32-n)
  2. 처음 주소는 왼쪽의 n비트를 유지하고 오른쪽읜(32-n)비트를 0으로 함으로써 구함
  3. 마지막 주소는 왼쪽의 n비트를 유지하고 오른쪽의(32-n)비트를 1로 함으로써 구할 수 있다

네트워크 주소

  • 첫 주소는 목적지 주소로 패킷을 전송하는데 사용되므로 매우 중요
  • 네트워크 주소를 찾은 후 라우터는 라우팅 테이블을 참조하여 패킷이 전송되어야 할 인터페이스를 찾는다.
  • 네트워크 주소는 실제로 네트워크의 식별자이다

네트워크 마스크

  • 클래스 기반 주소지정에서 네트워크 마스크 또는 디폴트 마스크는 n개의 왼쪽 비트는 1이고 (32-n)개는 0비트이다.
  • and연산을 사용하여 netid만 추출
  • EX) 라우터 목적지 주소가 201.24.67.32일 경우 네트워크 주소 찾는 방법
    • 201이므로 c클래스이고 24bit 3바이트이므로 255.255.255.0 마스크를 한다

3계층 주소지정: 서브넷팅

  • 인터넷 내의 호스트에 도달하깅 위하여 먼저 네트워크에 도달 이후 호스트에 도달
  • 클래스 A,B블록을 받은 조직은 보안과 관리를 잘 할 수 있도록 네트워크를 몇개의 서브네트워크로 나눌 필요가 있다
  • 각 서브네트워크는 자신의 서브네트워크 주소를 갖는다.

  • 기존 /16(netid)에서 4개이므로 2bit를 더 사용해 /18(subnetid)로 나눔

서브넷 마스크

  • 서프넷팅되었을 경우에는 서브넷 마스크를 생성해야 한다.
  • EX) 클래스B를 서브넷 4개로 나눴을 경우 16+log4=18
    18개의 1을 가지고 14개의 0을 가진다는 의미

서브넷 주소

  • 서브넷 2의 주소가 위와 같은경우 141이므로 b클래스 2bit 서브넷 주소로 사용하여 서브넷 마스크한다

슈퍼넷팅

  • 클래스 C는 남아있지만 C블록의 크기는 인터넷에 연결하기 원하는 기관 요구사항 만족하기에 충분히 크지 않으므로 슈퍼넷팅 사용
  • IP주소 낭비 막기 위해 실질적 고갈 문제 해소 불가하기에 장기적으로 해결 가능한 IPv6도입중
  • 1000개의 주소가 필요한 기관은 4개의 클래스 C블록 부여받음
  • 슈퍼넷 마스크는 서브넷 마스크와 반대

  • 문제점
    • 7개의 블록 필요한 경우 8개의 블록을 받아야 하므로 주소의 낭비가 발생
    • 슈퍼넷팅과 서브넷팅은 인터넷 내에서 패킷라우팅을 더욱 복잡하게 한다

클래스 없는 주소지정

동일한 주소 공간을 사용하면서도 기관들에게 균등하게 주소를 배분할 수 있도록 하기 위한 단기적 해결책으로 클래스 없는 주소지정 고안

가변길이 블록

  • 각 기관은 가변길이 블록으로 주소를 갖는 블록을 지정

2단계 주소 체계

  • prefix와 suffix로 나누어진다.
  • prefix는 netid, suffix는 hostid기능을 한다

EX) 전체 인터넷을 4,294,967,296개의 주소를 갖는 하나의 단일 블록이라고 하면, 인터넷의 프리픽스 길이와 서픽스 길이는?

  • 프리픽스 길이는 0이고, 서픽스 길이는 32 2^32=4,294,967,296

EX) 인터넷이 4,294,967,296개의 블록과 각 블록은 단일 주소를 갖는다면 prefix길이와 suffix길이는?

  • 각 블록에 대한 prefix는 32이고 suffix길이는 0이다. 2^32=4,294,967,296블록을 지정하는데 사용. 각 블록에는 하나의 주소가 블록 자체를 지정
  • 블록안에 있는 주소의 수는 prefix길이

슬래시 표기법

  • 블록 내의 주소만 가지고는 프리픽스 길이를 알 수 없다. 주소는 임의의 프리픽스 길이를 갖는 블록에 속한다.
  • 프리픽스 길이 정보가 주소 정보에 포함되어야한다. 프리픽스 길이 n이 /로 구분 되어 추가

  • 프리픽스 길이가 정해지지 않으면 다양하게 속할 수 있다.

네트워크 마스크

  • 첫번째 주소 구하기(AND)

  • 마지막 주소 구하기(OR)

블록할당

  • 국제 관리기구인 ICANN(Internet Corporation for Assigned Names and Address)담당
  • ISP(internet Service Provider)에 할당
  • 블록 할당 제약 조건(CIDR)
  • 요구주소 N은 2의 거듭제곱이어야 한다
  • 블록에 속한 주소의 수로 프리픽스 길이를 알 수 있다.
  • 할당하는 블록에 속한 주소는 연속적이어야 한다.

EX) ISP가 1000개의 주소를 갖는 블록을 요청. 블록은 다음과 같다
a. 1000은 2의 거듭제곱이 아니기 때문에 1,024(2^10)개의 주소가 할당
b. 블록에 대한 프리픽스 길이는 n = 32 - 10 = 22
c. 시작주소는 18.14.12.0 (1,024로 나누어짐) 선택됨
할당된 블록은 18.14.12.0/22이다. 첫 번째 주소는 18.14.12.0/22이며, 마지막 주소는 18.14.15.255/22이다.

EX)

95p부터 다시

profile
안녕하세요
post-custom-banner

0개의 댓글