IP
- 인터넷에서 각 장치를 구별하기 위해 TCP/IP 프로토콜 모음의 IP계층에서 사용하는 식별자를 뜻함
- IP 주소는 유일하다 오직 한 개의 연결만을 지정
- ICANN에서 인터넷 주소를 정한다
주소공간
- IPv4는 주소공간을 가지고 있다.
- 2^32bit이므로 40억개 이상의 장치가 인터넷에 연결가능
표기법
- 2진 표기법
32비트를 8비트 사이 공백일 둬서 표기
01100000 10101111 11011010 01011010
128:11:3:31
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는 네트워크 연결된 특정 호스트 정의
블록에서 정보 추출
- 블록 내의 주소의 수 N = 2^(32-n)
- 처음 주소는 왼쪽의 n비트를 유지하고 오른쪽읜(32-n)비트를 0으로 함으로써 구함
- 마지막 주소는 왼쪽의 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부터 다시