주소 지정
인터넷 주소
- 호스트간 전달을 위한 주소, 라우팅 방식이 필요하다
- 모든 장치에 전세계적으로 통신이 가능한 장치들의 유일한 식별 방법으로 식별자는 인터넷 주소 또는 IP 주소로 호칭
- 호스트, 라우터 연결을 유일하고 전체적으로 정의하는 32비트 2진 주소
2진 표기법
- 주소를 읽기 쉽게 옥텟(8비트) 사이에 공간 삽입
- 32비트 주소, 4옥텟 주소, 4바이트 주소
점 10진 표기법
128.10.3.29
10000000 / 00001010 / 00000011 / 00011101
주소 공간의 한계
- 이론상 2^32 개의 주소 = 약 40억개
- 클래스 기반 (classful) 주소 지칭
클래스를 구분하는 것은 클래스의 첫번째 바이트에서 구분할 수 있다
| 클래스명 | First byte | Second byte | Third byte | Fourth byte |
|---|
| class A | 0 (10진법: 0~127) | | | |
| class B | 10 (10진법: 128~191) | | | |
| class C | 110 (10진법: 192~223) | | | |
| class D | 1110 (10진법: 224~239) | | | |
| class E | 1111 (10진법: 240~255) | | | |
클래스명 / First byte / Second byte / Third byte / Fourth byte
class A / Netid / Hostid / Hostid / Hostid
|
| 클래스명 |
First byte |
Second byte |
Third byte |
Fourth byte |
|---|
| class A |
Netid |
Hostid |
| class B |
Netid |
Hostid |
| class C |
Netid |
Hostid |
| class D |
Multicast address |
| class E |
Reserved for future use |
각 클래스는 고정된 크기의 블럭을 가지고 있다
클래스 A
- 128개의 블록 (구성 가능한 네트워크 수)
- 블록당 16777216갸의 주소 (대체적으로 낭비가 심하다)
클래스 B
- 16368개의 블록
- 블록당 65536개의 주소
- 네트워크에 만개 정도의 호스탄 라우터를 사용하는 중형 기관을 위해 설계 (많은 주소 낭비)
클래스 C
- 2097152 블록, 256개 사설 블록
- 2096896개 블록 할당
- 블록당 256개의 주소로 요구량보다 약간 적을 수 있다
마스크 (mask)
- 라우터가 네트워크 주소와 서브네트워크 주소를 찾아내는가
- 네트워크 주소 기반의 커럼
- 외부 라우터: 기본 마스크 사용
- 내부 라우터: 서브넷 마스크 사용
| Class |
In Binary |
In Dooted-Decimal |
Using Slash |
| A |
11111111 00000000 00000000 00000000 |
255.0.0.0 |
/8 |
| B |
11111111 11111111 00000000 00000000 |
255.255.0.0 |
/16 |
| C |
11111111 11111111 11111111 00000000 |
255.255.255.0 |
24 |
동적 주소 설정
- 인터넷에 연결시 정보
- IP 주소, 서브넷 마스크, 라우터의 주소, 네임 서버의 주소
- 동적 호스트 설정 프로토콜 (Dynamic Host Configuration Protocol, DHCP)
- 요구기반의 동적 정보 제공을 위한 프로토콜
- DHCP 클라이언트가 서버에게 요청 신호
- 요청된 물리주소의 항목을 정적 데이터페이스 찾음
- 사용 가능한 대기장소(pool)의 주소 할당하고 동적 데이터베이스에 주소
사설 주소
| Range |
Total |
| 10.0.0.0 to 10.255.255.255 |
2^24 |
| 172.16.0.0 to 172.31.255.255 |
2^20 |
| 192.168.0.0 to 192.168.255.255 |
2^16 |
<br/ >
루프백 주소
- 보통 127.0.0.1 로 할당
- INADDR_LOOPBACK
주소 변환 (NAT)
-
변환 테이블
- IP 주소 한개 사용하기
- IP 주소의 집단(pool) 사용하기
- IP 주소와 포트 번호 동시에 사용하기
-
주소 집단(pool) 사용하기
- 포괄적 주소의 집단 사용
- 사설 네트워크 호스트는 동일한 시간에 2개의 외부 서버 프로그램 (HTTP, FTP)에 접속 불가
-
IP 주소와 포트 번호 동시 사용하기
- 다 대 다 (many-to-many) 연결 허용
- 발신지와 목적지의 전송층 포트번호를 포함한 5개 컬럼 사용