TCP/IP(1)_2

silups·2024년 9월 28일
0

TCP/IP

목록 보기
2/12

5-2 CLASSFUL ADDRESSING

  • IP addresses를 처음 사용할 때 Class라는 개념을 사용한 것
  • 1990년대 중반 Classless addressing이 등장하여 Classful addressing을 대채

Class

종류

  • Class는 A ~ E까지 존재
  • 각 Class는 총 32bit인 IPv4 address의 최상위 비트로 구분할 수있다.
    • Class A는 0.......
    • Class B는 10......
    • Class C는 110.....
      - Class D는 1110....
    • Class E는 11110...
  • 따라서 Network address로 Class를 파악할 수 있다.

ex5.10

Find the class of each address

  1. 00000001 00001011 00001011 11101111
    : 0으로 시작. Class A

  2. 11000001 10000011 00011011 11111111
    : 110으로 시작. Class C

  3. 10100111 11011011 10001011 01101111
    : 10으로 시작. Class B

  4. 11110011 10011011 11111011 00001111
    : 11110으로 시작. Class E

ex5.11

Find the class of each address

  1. 227.12.14.87
    : 224~299 Class D

  2. 193.14.56.22
    : 192~223 Class C

  3. 14.23.120.8
    : 0~127 Class A

  4. 252.5.15.111
    : 240~255 Class E

-> 최상단 Byte를 2진수로 변환 후 ex5.10과 같이 풀어도 됨.

Netid 와 hostid

  • Classful addressing의 Netid와 hostid

    • Class A는 최상위 1byte Netid, 나머지 hostid
    • Class B는 최상위 2byte Netid, 나머지 hostid
    • Class C는 최상위 3byte Netid, 나머지 hostid
    • Class D, E는 혼용

    -> A에서 C로 갈수록 Netid수는 늘지만 할당가능한 hostid는 줄어든다
    Class A에서 할당가능한 hostid : 3byte = 2242^{24} = 16,777,216
    Class B에서 할당가능한 hostid : 2byte = 2162^{16} = 65,536
    Class C에서 할당가능한 hostid : 1byte = 282^8 = 256

    실질적으로 모든 Class에서 할당가능한 hostid 수는 -2를 해야 한다.

    • 다음 2가지 주소는 hostid로 할당 불가
    1. 네트워크 표준 주소
      • 각 Class의 가장 첫번째 주소
        ex) 0.0.0.0 / 128.0.0.0/ 192.0.0.0 등
    2. 브로드케스트 주소
      • 각 Class의 가장 마지막 주소
        ex) 127.255.255.255 / 191.255.255.255 / 223.255.255.255 등
    • Class A는 128개의 블록, 각 블록은 16,777,216개의 주소를 가짐.
    • Class B는 16,384개의 블록, 각 블록은 65,536개의 주소를 가짐.
    • Class C는 2,097,152개의 블록, 각 블록은 256개의 주소를 가짐.
    • Class D와 E는 1개의 블록, 268,435,456개의 주소를 가짐
      • Class D는 Multicasting용도
    • Class E는 미래를 위한 예비 주소로 아직 사용하지 않는다.

ex5.12

  • Two-level addressing은 전화번호와도 비슷하다
    • Netid = 서울지역번호(02)
    • hostid = 전화번호 (1234-5678)

ex5.13 / 5.14 / 5.15

An address in a block is give as . Find the number of addresses in the block, the first address, and the last address
(블록 안 주소의 수와 첫,마지막 주소 구하기)

  1. 73.22.17.25
  • 73.22.17.25가 속해있는 Class는 Class A이다 (0~127)
    • 블록 안 주소의 수는 2242^{24}
  • Class A의 Netid는 8비트(73)
    • 첫 번째 주소 73.0.0.0
    • 마지막 주소 73.255.255.255
  1. 180.8.17.9
  • 180.8.17.9가 속해있는 Class는 Class B (128 ~191)
    • 블록 안 주소의 수는 2162^{16}
  • Class B의 Netid는 16비트(180.8)
    • 첫 번째 주소 180.8.0.0
    • 마지막 주소 180.8.255.255
  1. 200.11.8.45
  • 200.11.8.45가 속해있는 Class는 Class C (192 ~ 223)
    • 블록 안 주소의 수는 282^{8}
  • Class B의 Netid는 24비트(200.11.8)
    • 첫 번째 주소 200.11.8.0
    • 마지막 주소 200.11.8.255

Network mask

  • Network address는 Network의 identifier역할을 한다.

  • 우리는 위의 예제와 같이 주소와 클래스를 알면 Netid와 hostid를 구분 가능하나(Classful의 경우), 컴퓨터는 그러지 못하다.

  • 따라서 network mask를 이용

netmask

  • Netid에 해당하는 부분은 모두 1, Hostid에 해당하는 부분은 0
  • 이후 Network address를 알고 싶은 IPv4 address와 &&(and)연산을 수행

ex5.16

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진수로 변환하여 연산 가능

    Subnet

  • 위의 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이라고 함

profile
NDBT

0개의 댓글