ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IPv4 Address
    Network 2013.01.28 12:53

    IPv4 Address 구조

     

    IPv4 는 32bit 즉 2^32 = 총 4,294,967,296 개의 IP Address

     

    IP는 원래는 2진수 입니다.

    00000000.00000000.00000000.00000000 : 0.0.0.0

    11111111.11111111.11111111.11111111 : 255.255.255.255

    원래는 2진수의 IP 이지만 보기 편하도록 10진수로 변환한 것입니다.

     

    보시면

    2^7     2^6   2^5   2^4   2^3   2^2   2^1   2^0       [8진수]

    0         0      0      0       0       0      0      0

    128    64     32     16    8       4      2      1          [다 더하면 255]

    128 + 64 = 192 + 32 = 224 + 16 = 240 + 8 = 248 + 4 = 252 + 2 = 254 + 1 = 255

     

    여기서 2진수인 IP를 10진수를 변환하는 방법과

    10진수인 IP를 2진수로 변환하는 방법을 배워보도록하겠습니다.

     

    10진수인 IP를 먼저 2진수로 변환해보겠습니다.

    211 =>

    즉 위의 표를 참고하시면

    211 > 128 -> 10000000 => 211 - 128 = 83

    83 > 64 ->    11000000 => 83 - 64 = 19

    19 < 32 ->    11000000

    19 > 16 ->    11010000 => 19 - 16 => 3

    3 < 8 ->       11010000

    3 < 4 ->       11010000

    3 > 2 ->       11010010 => 3 - 2 = 1

    1 = 1 ->       11010011 => 1-1 = 0

    으로 이렇게 계산이 가능합니다.

     

    2진수인 IP를 10진수로 변환하면?

    10101011 =>

    10101011 -> 128

    10101011 -> X

    10101011 -> 32

    10101011 -> X

    10101011 -> 8

    10101011 -> X

    10101011 -> 2

    10101011 -> 1

     

    128+32+8+2+1 = 171

     

    이렇게 되는겁니다.

     

    ----------------------------------------------------------

    그럼 본격적으로

    IPv4 Address 구조 에 대해 설명하겠습니다.

    IPv4 의 발전과정은 이렇습니다.

     

    Classfull -> Subneting -> VLSM -> CIDR -> Classless [현재]

    Classfull Network (Class 기반)

    이것이 처음에 만들어진 IPv4 의 구조입니다.

    Classfull Network 가 어떤구조일까요.

    Class 기반이라 하였으므로 말그대로.

    A Class

    B Class

    C Class

    D Class

    E Class

    가 있습니다.

    A~C Class 는 보통 PC 클라이언트용

    D는 멀티캐스트용

    E Class는 실험용

    으로 쓰였습니다.

     

    즉 한개의 네크워크(?)의

    반은 A Class 가

    그 반의 반은 B Class가

    또 그 반의 반은 C Class가 이런식으로 나눠서 지급 했던것이 초기의 만들어진

    Classfull Network 입니다.

     

     

     

     

     

    A Class = 31bit 2^31 = 총 2,147,483,648개의 Address

    |Net ID || Host ID    |
    0xxxxxxx.00000000.00000000.00000000 : 0.x.x.x~127.x.x.x
    11111111.00000000.00000000.00000000 : 255.0.0.0
    //IPAddress 가 집 주소 라면 Subnet Mask 는 우편번호 (지역을 검사)

    첫번째 bit 를 A는 0으로 나머진 1로 고정 -> A가 31bit
    네트워크 범위 : 7bit 2^7승 = 00000000 ~ 01111111 : 0~127 (128Network)
    호스트 범위 : 24bit 2^4 = 0.0.0~255.255.2555 (16,777,216 Host)

    예약주소
    0.0.0.0(Default Gateway) : 모든 IP 주소 공간 표현
    127.0.0.1(LocalHost) : 127.0.0.0~127.255.255.255는 127.0.0.1로 표현

    사설주소
    10.0.0.0~10.255.255.255 : Private IP Address로 예약

    B Class 30bit 2^30 = 총 1,073,741,824 개의 IPAddress
    | NetID   | | HostID    |
    10xxxxxx.xxxxxxxx.00000000.00000000 : 128.0.x.x ~ 191.255.x.x
    11111111.11111111.00000000.00000000 : 255.255.0.0
    네크워크 범위 : 14bit 2^14 = 10000000 ~ 10111111 : 128~191(16,384 Network)
    호스트 범위 : 16bit 2^16 = 0.0~255.255(65,536 Host)

    예약 주소
    169.254.x.x : DHCP Server로 부터 IP를 할당받지 못한경우 사용되는 IPAddress

    사설 주소
    127.16.x.x~127.31.x.x : 16Network 를 Private IP Address로 예약

    C Class
    | Network   | |Host ID|
    xxxxxxxx.xxxxxxxx.xxxxxxxx.00000000 : 192.0.0.x~223.255.255.x
    11111111.11111111.11111111.00000000 : 255.255.255.0

    네크워크 범위 : 21bit 2^21 = 11000000~11011111 : 192~223 (2,097,152 Network)
    호스트 범위 : 8bit 2^8 = 0~255 (256Host)

    사설 주소
    192.168.0.x ~ 192.168.255.x : 256Network 를 Private IP Address로 예약

    => 클라이언트용
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Unicast IP Address

    D Class - 멀티캐스트용
    1110xxxx.xxxxxxxx.xxxxxxxx.00000000 : 224~239

    네크워크 범위 : 11100000 ~ 11101111 : 224~239

    Multicast IP Address 로 예약
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Multicast IP Address

    E Class - 실험용
    1111xxxx.xxxxxxxx.xxxxxxxx.00000000 : 240~255
    네크워크 범위 : 11110000 ~ 11111111 : 240~255

    실험용 IP Address 로 예약

    255.255.255.255 : Broadcast IP Address
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Broadcast IP Address

    A Class 128Network 16777216Host
    0~127 255.0.0.0

    B Class 16384Network 65536Host
    128.0~191.255 255.255.0.0

    C Class 2097152Network 256Host
    192.0.0~223.255.255 255.255.255.0


    Subneting
    Class 기반의 크게 사용하던 네크워크를 작게 여러개의 네크워크로 나누는 방법

    C Class
    11111111.11111111.111111111.00000000 : 255.255.255.0 (1Network 256Host)
    11111111.11111111.111111111.10000000 : 255.255.255.128 (2Network 128Host)
    11111111.11111111.111111111.11000000 : 255.255.255.192 (4Network 64Host)
    11111111.11111111.111111111.11100000 : 255.255.255.224 (8Network 32Host)
    11111111.11111111.111111111.11110000 : 255.255.255.240 (16Network 16Host)
    11111111.11111111.111111111.11111000 : 255.255.255.248 (32Network 8Host)
    11111111.11111111.111111111.11111100 : 255.255.255.252 (64Network 4Host)
    11111111.11111111.111111111.11111110 : 255.255.255.254 (128Network 2Host)
    11111111.11111111.111111111.11111111 : 255.255.255.255 (256Network 1Host)

    Network ID(왼쪽 -> 오른쪽)
    192.168.1.0 255.255.255.0 Network를 Subnet(Network) 5개를 만족하는 Subneting을 하시오
    192.168.1.0 => 11000000.10101000.00000001.000000000
    255.255.255.0 => 11111111.111111111.11111111.00000000

    |Host ID|
    00000000~11111111 : 0~255 1Network

     N   H
    000 00000 ~ 000 11111 0~31
    001 00000 ~ 001 11111 32~63
    010 00000 ~ 010 11111 64~95
    011 00000 ~ 011 11111 96~127
    100 00000 ~ 100 11111 128~159
    101 00000 ~ 101 11111 160~191
    110 00000 ~ 110 11111 192~223
    111 00000 ~ 111 11111 224~255

    Subneting 후
    Subnet 개수 : 3bit 2^3 = 8Network
    Subnet 당 Host 수 : 5bit 2^5 = 32Host
    사용가능한 Host수 :  Host ID 전체가 0인 Address 를 Subnet Address 라 하여 그 네크워크에 모든 주소공간을 표현하고 있는 Address 사용할 수가 없고 Host ID 전체가 1인 Address를 Bradcast Address 라 하여 그 네크워크 전체가 사용중임을 표현하고있는 Address 이기 때문에 사용할수 없다. 그래서 할당받은 IP 범위에서 Subnet Address와 Bradcast Address를 제외 시켜야만 사용할수 있는 IP범위가 나온다.

    32-2(Subnet + Broadcast Address) = 30Host
    Subnetmask : 255.255.255.0 -> 255.255.255.224

     

    Host ID (오른쪽 -> 왼쪽)
    192.168.1.0 255.255.255.0 Network를 Host(IP) 50개를 만족하는 Subneting 을 하시오

    |Host ID|
    00000000~11111111 : 0~255 1Network
     N   H
    00 00000 ~ 00 11111111 0~63
    01 00000 ~ 01 11111111 64~127
    10 00000 ~ 10 11111111 128~191
    11 00000 ~ 11 11111111 192~255

    Subnet 개수 : 2bit 2^2 = 4Network
    Subnet당 Host수 : 6bit 2^6 = 64Host
    사용가능한 Host수 : 64-2 = 62Host
    Subnetmask : 255.255.255.192

     

    우와..

    무려 4~5년전에 중학생시절에 배웠던 내용이네요...

    중학생때 운영했던 블로그에 있더라구요...ㅋㅋ

    추억돋아서 가져왔어요 ㅋㅋ 

    'Network' 카테고리의 다른 글

    IPv4 Address  (0) 2013.01.28
    Transport Layer : TCP & UDP  (0) 2011.04.08

    댓글 0

Designed by Tistory.

티스토리 툴바