Class라는 개념을 사용한 것
Find the class of each address
00000001 00001011 00001011 11101111
: 0으로 시작. Class A
11000001 10000011 00011011 11111111
: 110으로 시작. Class C
10100111 11011011 10001011 01101111
: 10으로 시작. Class B
11110011 10011011 11111011 00001111
: 11110으로 시작. Class E
Find the class of each address
227.12.14.87
: 224~299 Class D
193.14.56.22
: 192~223 Class C
14.23.120.8
: 0~127 Class A
252.5.15.111
: 240~255 Class E
-> 최상단 Byte를 2진수로 변환 후 ex5.10과 같이 풀어도 됨.
Classful addressing의 Netid와 hostid
-> A에서 C로 갈수록 Netid수는 늘지만 할당가능한 hostid는 줄어든다
Class A에서 할당가능한 hostid : 3byte = = 16,777,216
Class B에서 할당가능한 hostid : 2byte = = 65,536
Class C에서 할당가능한 hostid : 1byte = = 256
실질적으로 모든 Class에서 할당가능한 hostid 수는
-2를 해야 한다.
- 다음 2가지 주소는 hostid로 할당 불가
- 네트워크 표준 주소
- 각 Class의 가장 첫번째 주소
ex) 0.0.0.0 / 128.0.0.0/ 192.0.0.0 등- 브로드케스트 주소
- 각 Class의 가장 마지막 주소
ex) 127.255.255.255 / 191.255.255.255 / 223.255.255.255 등
An address in a block is give as . Find the number of addresses in the block, the first address, and the last address
(블록 안 주소의 수와 첫,마지막 주소 구하기)
Network address는 Network의 identifier역할을 한다.
우리는 위의 예제와 같이 주소와 클래스를 알면 Netid와 hostid를 구분 가능하나(Classful의 경우), 컴퓨터는 그러지 못하다.
따라서 network mask를 이용
netmask

A router receives a packet with the destination address 201.24.67.32.
Show how the router finds the network address of the packet.
(Router가 packet의 network address를 찾는 방법?)
201.24.67.32는 Class C이므로 Netmask는 255.255.255.0
- &&연산하면 201.24.67.0
-> 2진수로 변환하여 연산 가능
위의 Classful방식을 사용하다보면 필요한 Network와 Host사이에서 사용하지 않는 Network들이 발생하게 된다.
ex) Class A는 한 Network에서 16,777,216의 hostid를 할당 가능하지만 다 사용하는 것은 사실상 불가능
Subnetwork : hostid를 줄이고 netid를 늘려 적절하게 사용 가능
Subnetting을 한 경우 IP 주소의 뒤에 어디까지가 Netid인지를 표기해야 한다
ex) 141.14.0.0/18
-> Class B는 16인데 2비트를 더 Netid로 사용한다는 것을 알 수 있음
Subnetwork mask도 network mask와 동일하게 subnetid 부분만 1로 채워주면 된다.
Subnet과 반대로 Netid를 Hostid로 사용하는 경우는 Supernet이라고 함