390 likes | 968 Views
컴퓨터 네트워크 5 주차. 수원과학대학교 정보통신과. 오늘의 목표. IP 의 특징 을 이해한다 . 클래스형 IP 주소 체계 를 이해한다 . 비클래스형 IP 주소 체계 를 이해한다. 5.1 IP 의 특징. IP 의 특징 패킷 교환방식의 사용 비연결형 서비스의 지원 - 데이터그램 방식 -. 교환 방식의 종류. 회선교환 (circuit switching) 시작지와 목적지 사이에 있는 물리적 링크의 용량을 전용으로 사용
E N D
컴퓨터 네트워크 5주차 수원과학대학교 정보통신과
오늘의 목표 • IP의 특징을 이해한다. • 클래스형 IP 주소 체계를 이해한다. • 비클래스형 IP 주소 체계를 이해한다..
5.1 IP의 특징 • IP의 특징 • 패킷 교환방식의 사용 • 비연결형 서비스의 지원 - 데이터그램 방식 -
교환 방식의 종류 • 회선교환 (circuit switching) • 시작지와 목적지 사이에 있는 물리적 링크의 용량을 전용으로 사용 • 패킷화없이 연속된 비트스트림의 열로 전송 – 예) 전화(telephone) • 패킷 교환 (packet switching) • 패킷화하여 전송 • 링크상에 패킷이 다중화되므로 링크의 용량이 공유됨 • 예) 인터넷(Internet) • 종류 – 데이터그램 방식, 가상회선 방식, • 데이터그램 방식 (datagram approach) • 각 패킷이 독립적으로 라우팅됨 – 서로 다른 경로로 전달될 수 있음 • 목적지에서 순서를 맞추어야 할 필요가 있음 • 가상회선방식 (virtual circuit approach) • 발신지와 목적지 간의 경로 설정 (회선교환처럼 링크의 용량이 예약되는 것은 아님) • 예약된 경로를 따라 패킷들이 순차적으로 전송 • 호(call) 설정 동작이 전송전에 필요하고, 전송후 해지 동작 필요
패킷 전달 서비스의 종류 • 연결형(connection-oriented service) • 발신지와 목적지 사이에 연결설정후 패킷 전송 • 가상회선 방식에서 사용 • 비연결형(connectionless service) • 연결설정과정 없이 각각의 패킷들이 독립적으로 전송 • 데이터그램 방식에서 사용
5.2 IP 주소 • 인터넷에서 접속하는 연결을 구분하기 위해 호스트들의 네트워크 인터페이스에 부여된 전세계적으로 유일한 주소 • 공인 IP (public IP) 주소 • 국제 기관인 InterNIC에서 관리하는 주소로 Internet에서 유일한 주소 • 사설 IP (private IP) 주소 • Internet에 직접 접속되어 있지 않은 내부 네트워크(사설망)안에서 인터넷 프로토콜인 TCP/IP를 이용해 통신을 하기 위해 사용하는 주소 • 내부 네트워크 안에서만 주소가 유일하면 됨 • IP 주소의 표현 • IPv4(IP version 4) 에서의 주소: 4 bytes 크기 • 참고) IPv6(IP version 6)에서의 주소: 16 bytes 크기
5.2.1 IP 주소 형식 • IPv4에서의 IP 주소 표기법 • 2진 표기법 (Binary notation) • 점-10진 표기법 (Dotted-decimal notation) 예 5.1) 10000001 00001011 00001011 11101111 129.11.11.239 11111001 10011011 11111011 00001111 249.155.251.15 예 5.2) 111.56.45.78 01101111 00111000 00101101 01001110 75. 45.34.78 01001011 00101101 00100010 01001110
클래스형 주소 매김 (classful addressing) • 초기의 IP 주소체계는 클래스형 체계이었으나 1990년대 중반 이후부터 비클래스형 체계가 도입됨 • 클래스형 IP 주소는 네트워크 부분(netid)과 호스트 부분(hostid)로 구성되어 있음 • Network: router를 거치지 않고 바로 받을 수 있는 하나의 broadcast domain을 가리킴 • Host: 각각의 PC나 장비 • IP 주소 할당의 기본 • 하나의 Network에 속한 host들의 IP 주소들은 network part에 해당하는 netid가 같아야 하고, host part에 해당하는 hostid가 서로 달라야 함 • 예) 하나의 Network에 할당된 IP 주소가 203.240.100.1 ~ 203.240.100.255 일 때 • netid: 203.240.100 • hostid: 1 ~ 255
IP 주소의 클래스 • 하나의 IP 주소에서 netid와 hostid의 경계의 구분 Class로 식별 • IP 주소의 Class • A, B, C, D, E의 5개 class가 있음 • A, B, C – Unicast 용, D – Multicast 용, E - 연구용
클래스 A • 32 bit 중 맨 앞 bit가 항상 ‘0’으로 시작하는 주소 • 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx • 최소 주소: 00000000.00000000.00000000.00000000 0.0.0.0 • 최대 주소: 01111111.11111111.11111111.11111111 127.255.255.255 • Network Part: 앞의 8 bit (1 byte) • Host Part: 나머지 24 bit (3 byte) • Class A network: 1.0.0.0 ~ 126.0.0.0 • 0.0.0.0(default route 또는 DHCP server를 탐지할 때 this host를 의미하는 source address로 사용하기도 함)과 127.0.0.0(loopback address)은 제외한다. • Network address는 host part 를 모두 0으로 씀 • 하나의 Class A가 network가 가질 수 있는 host의 수 = 224– 2 = 16,777,214 개 • 2를 빼는 이유: Host part의 모든 bit가 0인 것은 network 자체이므로 제외하고, host part의 모든 bit가 1인 것은 broadcast address 이므로 제외함 • 예: 13.0.0.0의 Class A 주소를 받았을 경우 사용가능한 IP 주소 = 13.0.0.1 ~ 13.255.255.254
클래스 B • 32 bit 중 맨 앞 bit가 항상 ‘10’으로 시작하는 주소 • 10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx • 최소 주소: 10000000.00000000.00000000.00000000 128.0.0.0 • 최대 주소: 10111111.11111111.11111111.11111111 191.255.255.255 • Network Part: 앞의 16 bit (2 byte) • Host Part: 나머지 16 bit (2 byte) • Class B network: 128.1.0.0 ~ 191.254.0.0 • 일부에서는 128.0.0.0 ~ 191.255.0.0 또는 128.1.0.0 ~ 191.255.0.0으로 표기함 • 하나의 Class B network가 가질 수 있는 host의 수 = 216– 2 = 65,534 개 • 2를 빼는 이유: Host part의 모든 bit가 0인 것은 network 자체이므로 제외하고, host part의 모든 bit가 1인 것은 broadcast address 이므로 제외함
클래스 C • 32 bit 중 맨 앞 bit가 항상 ‘110’으로 시작하는 주소 • 110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx • 최소 주소: 11000000.00000000.00000000.00000000 192.0.0.0 • 최대 주소: 11011111.11111111.11111111.11111111 223.255.255.255 • Network Part: 앞의 24 bit (3 byte) • Host Part: 나머지 8 bit (1 byte) • Class C network: 192.0.1.0 ~ 223.255.254.0 • 일부에서는 192.0.0.0 ~ 223.255.0.0 또는 192.0.1.0 ~ 223.255.255.0으로 표기함 • 하나의 Class C network가 가질 수 있는 host의 수 = 28– 2 = 254 개 • 2를 빼는 이유: Host part의 모든 bit가 0인 것은 network 자체이므로 제외하고, host part의 모든 bit가 1인 것은 broadcast address 이므로 제외함
0.0.0.0 ~ 127.255.255.255 128.0.0.0 ~ 191.255.255.255 192.0.0.0 ~ 223.255.255.255 224.0.0.0 ~ 239.255.255.255 240.0.0.0 ~ 255.255.255.255
IP 주소로부터 클래스 찾기 • 예 5.3 • 00000001 00001011 00001011 11101111 클래스 A • 11110011 10011011 11111011 00001111 클래스 E • 227.12.14.87 클래스 D • 134.11.78.56 클래스 B
특수한 IP 주소들 (1) • Network address • hostid의 모든 비트가 0 으로 (netid, 0)의 형식 • 예) 163.152.0.0 클래스 B 네트워크 주소 • Directed broadcast address • hostid의 모든 비트가 1인 주소 • 특정 네트워크의 모든 호스트로 브로드캐스팅 • 예) 163.152.255.255는 163.152.0.0에 속한 모든 호스트로 브로드캐스팅 • Limited broadcast address • netid와 hostid의 모든 비트가 1인 주소 • 자신이 속한 네트워크의 모든 호스트로 브로드 캐스팅 • 예) 255.255.255.255는 자신의 네트워크(LAN)의 모든 호스트로 브로드캐스팅, 이때 이더넷 주소는 FF-FF-FF-FF-FF-FF일 것임 • Loop back address • 127.X.X.X의 형식으로 127.0.0.1 이 보통 사용 • 자기자신을 가리키는 주소로써 시스템에 TCP/IP가 제대로 설치되고 작동되는지 테스트하기 위해 사용
특수한 IP 주소들 (2) • 사설 IP • 인터넷과 독립적인 사설망에서 TCP/IP를 사용할 경우 사용 • 클래스 A용 사설 IP: 10.0.0.0 ~ 10.255.255.255 • 클래스 B용 사설 IP: 172.16.0.0 ~ 172.31.255.255 • 클래스 C용 사설 IP: 192.168.0.0 ~ 192.168.255.255 • Zeroconf address • DHCP 등으로 네트워크 설정을 못하였을 때(IP 주소를 못받아 올 때) 임의로 배정되는 주소 • 169.254.0.0 ~ 169.254.255.255
IP 주소 의 예 • 예3.4) IP 주소가 203.240.100.1인 host가 있다 • IP 주소의 Class = C • IP 주소의 network part (netid) = 203.240.100 • IP 주소의 host part (hostid) = 1 • 이 host가 network의 주소 = 203.240.100.0 • 이 host가 속한 network에서 host들이 가질 수 있는 IP 주소의 범위 = 203.240.100.1 ~ 203.240.100.254 • 이 host가 속한 network의 broadcast address = 203.240.100.255 • 예 3.5) IP 주소가 150.150.100.1인 host가 있다 • IP 주소의 Class = B • IP 주소의 network part (netid) = 150.150 • IP 주소의 host part (hostid) = 100.1 • 이 host가 network의 주소 = 150.150.0.0 • 이 host가 속한 network에서 host들이 가질 수 있는 IP 주소의 범위 = 150.150.0.1 ~ 150.150.255.254 • 이 host가 속한 network의 broadcast address = 150.150.255.255
IP 주소 할당의 예 Classful Addressing 만 사용한다고 가정 • 이 사이트에 어떤 class의 IP를 배정하는 것이 좋은가? • Class C • 배정받은 IP 주소가 203.240.100.0일 때 이 네트워크에 속하지 않는 곳은? • ①번 • 상대편 라우터의 IP 주소가 210.11.2.1일 때 ①번의 주소로 적당한 것은? • 210.11.2.2 ~ 210.11.2.254 중 하나 • ⑤번 PC IP address와 default gateway는? • IP address: 203.240.100.2 ~ 203.240.100.254 중 하나 (단, 203.240.100.10은 제외) • default gateway: 203.240.100.1 ① ② 203.240.100.1 ③ 203.240.100.10 ④ ⑥ ⑤ 현재 90대, 3년 이내에 200대로 늘어날 예정
5.2.2 Subnet Mask • Subnet Mask • Subnetwork(줄여서 subnet)를 만들기 위한 mask • Subnet을 사용하지 않을 때 • Network 141.14.0.0의 host 수 = 65534개 너무 많다. • Broadcast domain이 너무 크다. • 실제 상황에서는 통신이 어려울 것임.
Subnet Mask를 사용하는 이유 Subnet을 사용하는 경우 - IP 주소를 256개 씩 나누어 subnet 생성한 예 • Subnet을 나누는 목적 • 큰 네트워크를 작은 네트워크로 나누어 쓰기 위함 • Broadcast domain 분할 • Subnet 간은 router로 연결 • Subnetting을 하기전 큰 네트워크 : Site • subnetid: IP 주소에서 서브넷을 식별하는 부분 subnetid=0 subnetid=64 subnetid=192 subnetid=128
Subnet Mask를 사용하는 이유 Subnet을 사용하는 경우 - IP 주소를 256개 씩 나누어 subnet 생성한 예 • Subnet을 나누는 목적 • 큰 네트워크를 작은 네트워크로 나누어 쓰기 위함 • Broadcast domain 분할 • Subnet 간은 router로 연결
디폴트 마스크 • Class 별 default mask (default subnet mask라고도 함) • 어떤 IP 주소로부터 네트워크 주소를 추출하는 마스크 • (IP 주소) bit AND (Default Mask) = Network Address • 슬래쉬 표기법 –마스크를 간단히 표현하기 위해 슬래쉬(/) 후 1의 개수를 적는다
10010100.10010110.00100100.00000001 = 150.150.100.1 IP address & 11111111.11111111.00000000.00000000 = 255.255.0.0 Default mask 10010100.10010110.00000000.00000000 = 150.150.0.0 Network 주소 11010010.01100100.00100100.00000001 = 210.100.100.1 IP address & 11111111.11111111.11111111.00000000 = 255.255.255.0 Default mask 11010010.01100100.00100100.00000000 = 210.100.100.0 Network 주소 디폴트 마스크로 네트워크 주소 찾기 • 예: 210.100.100.1의 IP 주소를 갖는 host가 속한 network의 주소는? • Class C이므로 default mask = 255.255.255.0 • 예: 150.150.100.1의 IP 주소를 갖는 host가 속한 network의 주소는? • Class B이므로 default mask = 255.255.0.0
서브넷 마스크 (Subnet Mask) (1) 서브넷 안쓸 때추출대상 255.255.0.0 255.255.255.0 서브넷을 구분용으로 배정된 부분 서브넷 쓸 때 추출대상 • 서브넷 마스크 • 네트워크 주소(서브넷주소)를 추출하기 위한 마스크
Subnet의 기본 • Subnet mask • Subnet address를 추출하기 위한 mask subnetid까지 비트 1 • 서브넷을 쓸 때 원래의 hostid에서 subnetid로 몇 비트를 할 것인가는 해당 사이트를 담당하는 네트워크 관리자의 선택임 • 예) 클래스 B 네트워크에서 subnetid로 3비트, hostid로 13비트를 선택했을 때 255.255.0.0 255.255.224.0
서브넷 수와 호스트 수 계산 • 어떤 네트워크를 서브넷팅했을 때 • 사용가능한 서브넷 수 = 2subnetid 비트 수- 2 • Subnetid의 모든 비트가 0인 것(zero subnet)과 1인 것은 통상 사용하지 않음 • 서브넷 당 사용가능한 호스트 주소의 개수 = 2hostid 비트 수- 2 • Hostid의 모든 비트가 0인 것은 네트워크 주소용이고, 모든 비트가 1인 것은 브로드캐스트 주소용이므로 할당 불가 • 예: 클래스 B 네트워크에서 subnetid로 3비트, hostid로 13비트를 선택했을 때 • 사용가능한 서브넷의 개수 = 23- 2 = 6 • 서브넷 당 사용가능한 호스트 주소의 개수 = 213- 2 = 8190
서브넷 수와 호스트 수 계산 • 어떤 네트워크를 서브넷팅했을 때 • 사용가능한 서브넷 수 = 2subnetid 비트 수- 2 • Subnetid의 모든 비트가 0인 것(zero subnet)과 1인 것은 통상 사용하지 않음 • 서브넷 당 사용가능한 호스트 주소의 개수 = 2hostid 비트 수- 2 • Hostid의 모든 비트가 0인 것은 네트워크 주소용이고, 모든 비트가 1인 것은 브로드캐스트 주소용이므로 할당 불가 • 예: 클래스 B 네트워크에서 subnetid로 3비트, hostid로 13비트를 선택했을 때 • 사용가능한 서브넷의 개수 = 23- 2 = 6 • 서브넷 당 사용가능한 호스트 주소의 개수 = 213- 2 = 8190
서브넷 주소 계산의 예 • 예제 5.6 • IP = 201.222.10.60, Subnet mask = 255.255.255.248 • (어떤 숫자) & 255 = (어떤 숫자) 가 나오므로, submask에서 255가 아닌 부분만 이진수로 바꾸어 연산해주면 됨 • 60 = 00111100 • 248 = 11111000 • & 00111000 56 • Subnet address = 201.222.10.56 Subnet mask 관련 이진수 10000000 = 128 11000000 = 192 11100000 = 224 11110000 = 240 11111000 = 248 11111100 = 252 11111110 = 254 11111111 = 255 계산하지 말고외우자!!!
서브넷 문제 (1) 예제 5.7) 210.100.1.0 인 네트워크가 주어져 있다. 이 네트워크를 서브넷 당 호스트 수를 최대 30개, 서브넷 수는 4개이상 만들어 운영하고자 한다. 그러면 서브넷 마스크를 어떻게 구성해야 하는가? 210.100.1.0 Class C Class C 디폴트 마스크 = 255.255.255.0 subnetid와 hostid로 쓸 수 있는비트수 = 8 네트워크당 호스트 주소로 30개까지 할당하기 위해선 hostid는 5비트 (25-2 = 30)이어야 한다. 따라서 8-5=3비트를 subnetid로 할당할 수 있고 (서브넷 수는 23-2=6개까지 사용가능) 서브넷 마스크 = 255.255.255.(11100000) = 255.255.255.224
서브넷 문제 (2) 예제 5.8) 클래스 B 주소를 가지고 서브넷마스크 255.255.255.240으로 서브넷을 만들었을 때 서브넷 수와 호스트수는 각각 얼마인가? 클래스 B 디폴트 마스크 = 255.255.0.0 = 255.255.(00000000).(00000000) 문제의 subnet mask= 255.255.255.240 = 255.255.(11111111).(11110000) subnetid 비트 수 = 12 서브넷 수 = 212 – 2 = 4096-2 =4094 hostid 비트 수 = 4 호스트 수 = 24 – 2 = 16 – 2 = 14
서브넷 문제 (3) 예제 5.9) 네트워크 주소가 201.34.12.64인 망이 있고 서브넷 마스크가 255.255.255.192이다. (a) 서브넷에 연결되는 호스트들에 할당할 수 있는 주소의 개수는? 네트워크 주소 = 201.34.12.64 Class C Class C 디폴트 마스크 = 255.255.255.0 = 255.255.255.(00000000) 문제의 서브넷마스크 =255.255.255.192 = 255.255.255.(11000000) subnetid 비트수 = 2 hostid 비트 수 = 6 호스트 수 = 64(26) –2 = 62 개 (hostid의 모든 비트가 0인 것과 1인 것은 제외)
서브넷 문제 (4) 예제 5.9) 네트워크 주소가 201.34.12.64인 망이 있고 서브넷 마스크가 255.255.255.192이다. (b) 이 서브네트워크의 브로드캐스트 주소는? 문제의 서브넷마스크 =255.255.255.192 = 255.255.255.(11000000) 문제의 네트워크 주소 = 201.34.12.64 = 201. 34. 12.(01000000) hostid의 모든 비트가 1 인 주소가 브로드캐스트 주소 브로드캐스트 주소 = 201. 34. 12.(01111111) = 201.34.12.127
서브넷 문제 (5) 예제 5.9) 네트워크 주소가 201.34.12.64인 망이 있고 서브넷 마스크가 255.255.255.192이다. (c) 이 서브넷에 속하는 호스트의 주소 범위는? 네트워크 주소 = 201. 34. 12.(01000000) = 202.34.12.64 가장 낮은 호스트 주소 = 201. 34. 12.(01000001) = 201.34.12.65 가장 높은 호스트 주소 = 201. 34. 12.(01111110) = 201.34.12.126 브로드캐스트 주소 = 201. 34. 12.(01111111) = 201.34.12.127 호스트 주소 범위: 201.34.12.65 ~ 201.34.12.126
5.2.3 슈퍼넷 지정 (Supernetting) • 클래스 A와 B주소는 고갈되고 클래스 C주소만 남아있는 상태 • 클래스 C로는 최대 256개 주소만 가능하여 이보다 큰 망에는 사용불가 • 슈퍼넷 지정 • 몇개의 C주소 블록(block)을 부여하여 슈퍼넷을 형성하고, 이중 가장 낮은 클래스 C주소를 이 슈퍼넷의 대표주소로 사용 • 예: 1000개의 주소가 필요한 기관이 있을 경우 • 4개의 클래스 C블록 필요 211.214.132.0 ~ 211.214.135.0 • 211.214.132.0: 11010011 11010110 10000100 00000000 • 211.214.133.0: 11010011 11010110 10000101 00000000 • 211.214.134.0: 11010011 11010110 10000110 00000000 • 211.214.135.0: 11010011 11010110 10000111 00000000 • 슈퍼넷 마스크: 11111111 11111111 11111100 00000000 255.255.252.0 • (211.214.132.0~211.214.135.255) bit AND (255.255.252.0) = 211.214.132. 0 이 슈퍼넷의 대표주소 • 표기법: 211.214.132.0/22
5.2.4 비클래스형 주소지정 • 슈퍼네팅으로 인하여 클래스 경계 붕괴 • 인터넷서비스사업자(Internet Service Provider, ISP)들은 몇개의 클래스 B, C 주소를 보유하고 있다가 가입자에게 주소 부여 • 가입자의 요구 개수에 맞게 2, 4, 8, 16 등 2의 배수 단위로 부여 더 이상 클래스란 개념이 무의미 • 1996년 비클래스형 주소지정(classless addressing) 발표 • 가변 길이 블록 • 클래스를 생각하지 않고 전체 주소 공간(232)에서 블록을 할당받음 • 조건: 한 블록 의 주소 개수는 2의 제곱 , 시작주소는 32비트 정수로 바꾸었을 때 부여받은 주소의 개수에 의해 나누어져야 함 • 예) 앞의 예에서 211.214.133.0 ~ 211.214.137.0 처럼 부여하지 않는다. 왜냐하면 211*224+214*216+133*28+0 은 210으로 나누어지지 않기 때문이다. • 마스크: 블록의 첫주소와 마스크로 전체 블록에 대한 정보 표시 • 네트워크 주소 찾기: 주소 & 마스크 = 블록의 첫주소 • 서브넷 지정: 블록에서 서브넷 지정 가능 • Router에서는 라우팅시 CIDR(Classless InterDomain Routing) 필요