IP addressing - 2 진수 (10진수) | (2진수) ------------------------------ (10진수) | (2진수) ------------------------------ 1 | 1 2 | 10 3 | 11 4 | 100 5 | 101 6 | 110 7 | 111 9 | 1001 - 10진수는 0에서 9까지 쓰고 9에 1을 더한 10은 자릿수가 하나 늘어나 10이 된다. - 2진수에는 0과 1만 존재하고 1보다 1자리 큰 수는 2가 아닌 10이 된다. 128 64 32 16 8 4 2 1 (2^7) (2^6) (2^5) (2^4) (2^3) (2^2) (2^1) (2^0) ___ ___ ___ ___ ___ ___ ___ ___
IP addressing IP address IPv4 (1) TCP/IP 프로토콜을 사용하는 장비들을 구분해주기 위해 만든 것이 바로 IP address. IPv4 (1) 32Bit로 구성 8Bit 씩 나눠서 4개의 Octet로 구분 (8bit.8bit.8bit.8bit) 각 Octet을 10진수로 변환해서 표현한다. ex) 11000000.10101000. 00001100.00000001 192.168.12.1
IP addressing IPv4 (2) Logical address(논리적 주소)라고 부른다. 각 Octet 최저 값은 0, 최대값은 255 이다. (2진수 11111111) 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 11111111 2^8은 256이지만 1이 아니라 0부터 사용하기 때문에 한 Octet에 0~255까지 사용
IP addressing IPv4 (3) 사용 가능한 IP v4 주소 2^32 = 4,294,967,296 개 (약 42억 9천 개) 00000000.00000000.00000000.00000000 (0.0.0.0) ~ 11111111.11111111.11111111.11111111 (255.255.255.255) 최근 들어 IP 주소가 부족해서 공인 IP주소를 얻기가 쉽지 않다. IPv6 (128bit) , 사설 IP 등으로 해결
IP addressing IP address IP는 논리적인 주소. TCP/IP를 사용하는 네트워크 상에 연결된 장비들에게는 고유의 IP주소가 부여된다. (주소가 같은 다른 장비가 존재한다면 IP 주소가 서로 충돌) IP address는 네트워크 부분과 호스트 부분으로 구성. (IP address = Network ID + Host ID) ex) 교실 이름과 학생 번호
IP addressing IP address IP 주소는 Network 부분과 Host 부분으로 구분 하나의 네트워크란 하나의 Broadcast Domain. 하나의 네트워크란 L3 장비(Router)를 거치지 않고 통신이 가능한 영역. 다른 네트워크와 통신하기 위해서는 Router를 거쳐야 한다. 동일 네트워크에서는 Network 부분은 모두 같고 Host 부분이 모두 달라야 한다. 이렇게 IP 주소를 Network 부분과 Host 부분으로 구분해주는 역할을 하는 것이 Subnet mask 이다.
IP addressing Subnet mask (1) IP 주소를 Network 부분과 Host 부분으로 규정 IP = Network ID (고정된 bit) + Host ID (고정되지 않은 bit) 총 네트워크 범위에서 Network field에 ‘1’을 할당하고 Host field에 ‘0’을 할당한 값이 Subnet mask. IP 주소와 Subnet mask를 AND 연산 하면 Network ID 값을 구할 수 있다. 네트워크를 할당 받으면 Host 부분은 사용자 마음대로 사용.
IP addressing 32 bits Dotted Decimal Network (24 bits) Host (8 bits) 121 160 70 1 Example Decimal 01111001 10100000 01000110 00000001 Example Binary 11111111 11111111 11111111 00000000 Subnet Mask 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 121 160 70 Network ID
IP addressing 32 bits Dotted Decimal Network (16 bits) Host (16 bits) 172 16 122 204 Example Decimal 10101100 00010000 01111010 11001100 Example Binary 11111111 11111111 00000000 00000000 Subnet Mask 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 172 16 Network ID
IP addressing Subnet mask (2) Host field를 모두 ‘0’으로 채우면 Network ID ex) IP address : 210.5.1.7 Subnet mask : 255.255.255.0 11110000.00000101.00000001.00000111 & 11111111. 11111111. 11111111. 00000000 ------------------------------------------------------------ 11110000.00000101.00000001.00000000 210.5.1.0 (Network ID) ~ 11110000.00000101.00000001. 11111111 210.5.1.255 (Broadcast) Host field를 모두 ‘0’으로 채우면 Network ID Host field를 모두 ‘1’로 채우면 Broadcast 주소 Network ID와 Broadcast 주소는 IP 주소로 사용할 수 없다. 사용 가능한 IP주소 : 210.5.1.1 ~ 210.5.1.254 (총 호스트의 숫자 - 2) = 2^n - 2 = 사용 가능한 IP주소의 숫자
IP addressing Subnet mask (3) 2진수로 표현했을 때 1이 연속적으로 나와야 한다. ex) 255.255.255.0 Subnet mask 사용 가능 255.255.255.10 Subnet mask 사용 불가능 255.255.255.128 Subnet mask 사용 가능 Prefix 란 Subnet mask의 ‘1’이 들어간 bit의 숫자 (Subnet mask의 다른 표현 방법) ex) 255.255.255.0 /24 255.255.0.0 /16 255.0.0.0 /8 255.255.255.128 /25
IP addressing Subnet mask (4) ex 1) 1.1.1.1 과 1.1.2.1은 같은 네트워크에 속해 있는가? ex 2) 128.13.4.1과 128.13.5.2는 같은 네트워크 속해 있는가?
IP addressing Class A: Class B: Class C: Class D: Multicast IP Address Class - IP 주소 범위에 따라 Subnet mask를 default 값으로 정한 것 8 bits 8 bits 8 bits 8 bits Class A: Class B: Class C: Class D: Multicast Class E: Research Network Host Network Host Network Host
IP addressing Class A: Class B: Class C: Class D: IP Address Class 1 8 9 16 17 24 25 32 Bits: 0NNNNNNN Host Host Host Class A: Range (1-126) 1 8 9 16 17 24 25 32 Bits: 10NNNNNN Network Host Host Class B: Range (128-191) 1 9 16 17 24 25 32 8 Bits: 110NNNNN Network Network Host Class C: Range (192-223) 1 8 9 16 17 24 25 32 Bits: 1110MMMM Multicast Group Multicast Group Multicast Group Class D: Range (224-239)
IP addressing 1) Class A ( 0~127) | Network ID | Host ID | 0 | 0000000 . 00000000 . 00000000 . 00000000 0.0.0.0 0 | 1111111 . 11111111 . 11111111 . 11111111 127.255.255.255 - 0과 127은 제외되고 1~126까지 사용 0.0.0.0 은 All-zero 둘은 일반 IP 주소로 사용하지 127.0.0.0은 Localhost 않는다. - Default Subnet Mask : 255.0.0.0 (/8) - A Class 사설주소 10.0.0.0~ 10.255.255.255 * Network 숫자 : 128개 (2개는 예약), 네트워크 당 Host 숫자 : 16,777,214 개
IP addressing | Network ID | Host ID | 2) Class B (128~191) 10 | 000000.00000000.00000000.00000000 128.0.0.0 10 | 111111 .11111111 . 11111111 . 11111111 191.255.255.255 - 128~191까지 Class B - Default Subnet Mask : 255.255.0.0 (/16) - B Class 사설주소 172.16.0.0 ~ 172.31.255.255 * Network 숫자 : 16,384개, 네트워크 당 Host 숫자 : 65,534개
IP addressing | Network ID | Host ID | 3) Class C (192~223) 110 | 00000.00000000.00000000. 00000000 192.0.0.0 110 | 11111 .11111111 . 11111111 . 11111111 223.255.255.255 - 192~223까지 Class C - Default Subnet Mask : 255.255.255.0 (/24) - C Class 사설주소 192.168.0.0 ~ 192.168.255.255 * Network 숫자 : 2,097,152 개, 네트워크 당 Host 숫자 : 254 개
IP addressing 4) Class D (224~239) 1110 | 0000.00000000.00000000.00000000 224.0.0.0 1110 | 1111 .11111111 . 11111111 . 11111111 239.255.255.255 - Multicast용으로 사용 ex) 224.0.0.10 EIGRP 224.0.0.5 & 224.0.0.6 OSPF 224.0.0.9 RIPv2 5) Class E (240~255) 1111| 0000.00000000.00000000.00000000 240.0.0.0 1111| 1111 .11111111 .11111111 .11111111 255.255.255.255 - 실험용으로 예약된 주소 - 255.255.255.255 Broadcast IP Address로 예약
IP addressing
IP addressing
IP addressing IP Address Class - 이렇게 Subnet mask를 각 Class별 default 값으로 사용하는 것을 Classful 하다고 표현한다. ex) 한 사무실에서 200대의 PC를 사용할 때 어느 Class의 IP를 배정하는 것이 좋은가? Class C가 적당하다. Class A 나 Class B는 사용 호스트의 수에 비해 IP를 낭비한다.
IP addressing Subneting ex) 하나의 네트워크에 10개의 PC를 사용하는데 Classful한 네트워크를 할당할 경우 - IP를 효율적으로 낭비 없이 분배하고 Broadcast Domain의 크기를 작게 나눠주는 것이 Subneting. - Class별 default Subnet mask를 사용하지 않고 적당한 크기의 Subnet mask로 사용자의 상황에 따라 하나의 네트워크를 작게 여러 개로 나눠 사용. Classless - 즉, Classful Network를 여러 개의 Network로 나누는 것
IP addressing Subneting - 기존의 호스트 bit로 할당된 bit 중 일부를 Subnet bit로 지정 (즉, Host field의 bit를 빌려서 Network를 나눈다.) ex1) 201.5.7.0/24 Network를 2개의 Network로 Subneting 하시오. * 2^n > = 주어진 Network의 숫자 210.5.7.00000000 210.5.7. |0|0000000 -------------------------- 210.5.7.|0|0000000 210.5.7.0 /25 (0~127) 210.5.7.|1|0000000 210.5.7.128 /25 (128~255) 210.5.7.0/25 사용 가능한 IP 주소 210.5.7.1 ~ 210.5.7.126 210.5.7.128/25 사용 가능한 IP 주소 210.5.7.129 ~ 210.5.7.254
IP addressing Subneting ex 2) 210.5.7.0/24 Network를 60개의 Host가 사용하기 적당한 크기의 Network로 Subneting 하시오. * 2^n – 2 >= 주어진 Host의 숫자 210.5.7.00000000 210.5.7. |00|000000 -------------------------- 210.5.7.|00|000000 210.5.7.0 /26 (0~63) 210.5.7.|01|000000 210.5.7.64 /26 (64~127) 210.5.7.|10|000000 210.5.7.128 /26 (128~191) 210.5.7.|11|000000 210.5.7.192 /26 (193~255) 210.5.7.0 /26 사용 가능한 IP 주소 210.5.7.1 ~ 210.5.7.62 210.5.7.64 /26 사용 가능한 IP 주소 210.5.7.65~ 210.5.7.126 210.5.7.128 /26 사용 가능한 IP 주소 210.5.7.129 ~ 210.5.7.190 210.5.7.192 /26 사용 가능한 IP 주소 210.5.7.194 ~ 210.5.7.254
IP addressing Subneting 1) Network가 조건인 경우 2^n >= Network의 숫자 Host field에서 왼쪽 부터 n개 bit를 Network 부분으로 계산 2) Host가 조건인 경우 2^n - 2 >= Host의 숫자 Host field에서 오른쪽 부터 n개 bit를 잘라서 Network 부분으로 계산 - 각 Subnet의 첫번째(Host 부분이 전부 0)와 마지막 (Host 부분이 전부 1) IP 주소는 사용하지 않는다. (Network ID와 Broadcast 주소) - Subneting으로 나눠진 Network는 이제 다른 Network이기 때문에 Router를 통해야만 통신 가능 - 과거에는 Subneting 된 첫 번째 네트워크를 사용하지 않았다. (Subnet zero) IP Subnet-zero 기술에 때문에 사용 가능해졌다.
IP addressing VLSM (Variable Length Subnet Mask) - Subneting 된 Network를 다시 Subneting 하는 것 - 가장 큰 조건부터 차례로 Subneting을 해야 한다.
IP addressing
IP addressing 192. 168.10.64/27 192. 168.10.128/30 192. 168.10.132/30 192. 168.10.136/30 192. 168.10.0 /26 192. 168.10.112/28 192. 168.10.96/28
IP addressing CIDR(Classless Interdomain Routing) Subnet mask를 깨면서 요약가능 ex) 200.168.1.0/24 -> 200.168.00000|001|.00000000 200.168.2.0/24 -> 200.168.00000|010|.00000000 200.168.3.0/24 -> 200.168.00000|011|.00000000 200.168.4.0/24 -> 200.168.00000|100|.00000000 200.168.5.0/24 -> 200.168.00000|101|.00000000 200.168.6.0/24 -> 200.168.00000|110|.00000000 200.168.7.0/24 -> 200.168.00000|111|.00000000 =============================| == |========== | 일치하는 부분까지 자른다. 200.168.0.0/21