네트워크 IPv4
IPv4
32비트 주소를 1바이트씩 온점으로 끊어서 표기한다. 네트워크를 정의 하는 prefix와 노드를 정의 하는 suffix로 나뉜다.
클래스 기반의 주소지정
주소 고갈 문제가 있다.
- A클래스는 8비트 prefix 0으로 시작
- B클래스는 16비트 prefix 10으로 시작
- C클래스는 24비트 prefix 110으로 시작
- D클래스는 접두사와 접미사 구분이 없다. 1110으로 시작
-
E클래스는 두미 구분이 없으며 1111으로 시작
-
수퍼네팅과 서브네팅
서브네팅 에서 클래스 A나 클래스 B는 여러 개의 서브넷으로 분리된다. 각 서브넷은 원래 네트워크보다 더 큰 크기의 접두사를 가진다.
수퍼네팅 은 여러 클래스 C를 하나의 큰 구조로 묶어 클래스 C블록에서 유효한 256개보다 더많은 주소를 사용하려는 기관들을 위해 고안 되었다.
클래스 없는 주소 지정(CIDR)
-
prefix가 가변적이다. 0에서 32 사이의 접두사 길이를 지정할 수 있다.
-
슬래시 표기법
byte.byte.byte.byte/n
슬래시 표기법을 통해 블록의 주소 개수, 블록의 첫번째 주소, 마지막 주소를 알 수있다.
-
네트워크 주소
네트워크 주소는 패킷을 목적지로 라우팅하는 것에 사용되기 때문에 특히 중요하다.
-
블록 할당
개인 인터넷 사용자에게 주소를 할당 하지않고 큰 주소 블록을 ISP에 할당한다. 블록 할당에 두 가지 제한 사항이 있다.
- 요청된 주소 수 N은 2의 제곱승이어야 한다.
-
블록 내에는 연속된 숫자의 이용 가능한 주소 공간이 있어야 한다.
첫 번째 주소는 블록내의 주소개수로 나누어져야 한다.
-
특수 주소
-
디스 호스트 주소
0.0.0.0/32 호스트가 IP데이터 그램을 보내려고 하지만 근원지 주소인 자신의 주소를 모를 때 사용한다.
-
제한된 브로드캐스트 주소
255.255.255.255/32 의 주소는 제한된 브로드캐스트 주소이다. 이 주소는 호스트나 라우터가 네트워크 상의 모든 장치로 데이터그램을 보낼때 사용된다. 그러나 네트워크 외부로 패킷을 보낼 수 없다.
-
루프백 주소
127.0.0.0/8 의 블록은 루프백 주소이다. 내컴퓨터를 테스트용 서버로 설정한다.
-
사설 주소
주소 고갈 문제를 해결하기 위한 주소이다. 사설 주소로 라우팅 할 수 없어서 인터넷 사용시 공인 IP로 바꿔준다.
-
멀티캐스트 주소
224.0.0.0/4는 멀티캐스트 주소로 예약된 블록이다.
-
네트워크 주소 변환(NAT)
사설IP주소와 공인IP주간 매핑 기능, 네트워크 외부와 통신 할때 공인 IP는 하나만 필요하다. 네트워크 내의 노드를 식별하기 위해 포트 번호를 사용한다.
동적 호스트 구성 DHCP 메시지 형식
UDP를 사용한다.
1. DHCPDISCOVER | client->server | |
---|---|---|
transaction ID | 1001 | 교환 정보 |
Lease time | IP 할당 시간 | |
client IP | ||
Your IP | 서버로부터 제안된 주소 | |
serve IP | 서버 IP | |
Sourve port : 68 | Destination port : 67 | |
Source IP | 0.0.0.0 | 아직 할당 받지 않았다. 자기자신 |
Destination IP | 255.255.255.255 | 브로드 캐스트 |
2. DHCPOFFER | server->client | |
---|---|---|
transaction ID | 1001 | 교환 정보 |
Lease time | 3600 | IP 할당 시간 |
client IP | ||
Your IP | 12.13.14.15 | 서버로부터 제안된 주소 |
serve IP | 12.13.14.0 | 서버 IP |
Sourve port : 68 | Destination port : 67 | |
Source IP | 12.13.14.0 | 서버주소 |
Destination IP | 255.255.255.255 | 브로드 캐스트 |
3. DHCPREQUEST | client->server | |
---|---|---|
transaction ID | 1001 | 교환 정보 |
Lease time | 3600 | IP 할당 시간 |
client IP | 12.13.14.15 | 사용하겠다. |
Your IP | ||
serve IP | 12.13.14.0 | 서버 IP |
Sourve port : 68 | Destination port : 67 | |
Source IP | 12.13.14.15 | |
Destination IP | 255.255.255.255 | DHCP서버가 여러대 일수 있기 때문에 브로드 캐스트 |
4. DHCPACK | server->client | |
---|---|---|
transaction ID | 1001 | 교환 정보 |
Lease time | 3600 | IP 할당 시간 |
client IP | ||
Your IP | 12.13.14.15 | |
serve IP | 12.13.14.0 | 서버 IP |
Sourve port : 68 | Destination port : 67 | |
Source IP | 12.13.14.0 | |
Destination IP | 255.255.255.255 | DHCP서버가 여러대 일수 있기 때문에 브로드 캐스트 |
IP패킷 포워딩
라우팅테이블의 크기를 줄여서 라우팅 검색 시간을 줄이고 메모리양을 줄인다.
- 목적지 주소에 기반을 둔 포워딩
- 주소 집단화
- 가장 긴 마스크 매칭
- 계층적 라우팅
- 레이블 기반 포워딩