제 9 장인터넷 한기준경북대학교컴퓨터공학과 kjhan@knu.ac.kr 제 8 장인터넷 1
목차 인터넷개요 인터넷의주소체계 ARP 및 RARP DNS (Domain Name System) DHCP (Dynamic Host Configuration Protocol) 2
인터넷이란 인터넷 (Internet) 정의 다양한네트워크종류와다양한컴퓨터가연결되어있는세계적인네트워크의네트워크 인터넷서비스 하이퍼텍스트정보열람 (WWW), 전자우편 (e-mail), 원격컴퓨터연결 (telnet), 파일전송 (FTP), 인터넷정보검색, 인터넷대화와토론, 전자게시판, 온라인게임 3
인터넷역사 1968 년 미국방성에의해서로연결된컴퓨터자원을공유 1969 년 미국방성과 UCLA, 스텐포드등을연결하는 ARPANET 탄생 1974 년 TCP/IP 프로토콜개발 1982 년 TCP/IP 가인터넷표준프로토콜로채택 1984 년 도메인네임시스템도입 1989 년 ARPANET 을해체, 모든업무를 NSFNET 으로이관 1993 년 웹브라우저 Mosaic 개발 1994 년 넷스케이프네비게이터개발 4
인터넷발전단계 5
TCP/IP 프로토콜구조 인터넷기본프로토콜로서 5개의계층구조로되어있음 OSI 모델표준을따르지않음 8.4 OSI 모델과 TCP/IP 계층구조 6
PDU 캡슐화과정 HTTP request 응용데이터 헤더는송수신포트번호포함 TCP header TCP 세그먼트 헤더는송수신지의 IP 주소, 트랜스포트프로토콜타입포함 IP header IP 데이터그램 헤더는송수신지의물리주소포함 Ethernet header Ethernet trailer 이더넷프레임 7
포트번호 User proc.a User proc.b User proc.c Port Number UDP TCP TCP/IP protocol suite IP 네트워크주소 Ethernet interface Ethernet cable 물리주소 Ethernet interface Ethernet interface 8
TCP/IP 프로토콜동작 서버 이더넷 라우터 PPP PC 워크스테이션 (a) TCP/IP 망시나리오 서버 HTTP TCP IP Network interface 라우터 IP Network interface PC HTTP TCP IP Network interface 이더넷 PPP (b) 관련프로토콜스택 9
TCP/IP 응용계층프로토콜 HTTP (HyperText( Transfer Protocol) 웹서버와클라이언트간에웹문서를교환하기위한프로토콜 SMTP (Simple Mail Transfer Protocol) 전자우편프로토콜 송신측메일서버로부터수신측메일서버로메시지를전달 FTP (File Transfer Protocol) 호스트간파일전송프로토콜 Telnet 원격호스트를접속하여단말기처럼사용할수있도록하는가상단말프로토콜 DNS (Domain Name System) 호스트이름과 IP 주소간의변환서비스 10
IP 유틸리티 ping: 호스트의상태를알아보는데사용 호스트까지의 TTL(Time-to to-live) 값과함께왕복전달지연시간이표시 tracert: 상대편호스트까지패킷이전달되는경로를추적하는데사용 경로상의라우터뿐만아니라각라우터까지패킷전달지연시간을알수있음 nslookup: 호스트이름을이용하여도메인이름서버 (DNS) 에문의하여 IP 주소를확인하는데사용 netstat: 로컬호스트의망상태관련정보를알아보는데사용 네트워크드라이버와인터페이스카드를통해송수신된패킷수와오류가발생한패킷수등의상태를알아볼수있고, 호스트의라우팅테이블의상태등을알아볼수있음 arp: 호스트의물리주소를알아보는데사용 11
IP 주소체계 모든호스트나라우터는유일한 IP 주소를가짐 4바이트 (32bit) 로구성되며, 두부분 (netid 와 hostid) 으로구성 Netid 는네트워크를구분, hostid 는해당네트워크의호스트를구분 다섯가지의클래스가존재 12
IP 주소표현법 점십진표기법 : IP 주소를 4개의십진수로분리하고각십진수는마침표 (.) 로구분 13
IP 주소구조및클래스 5개의클래스 (A, B, C, D, E) 로분류되고, A, B, C 클래스만네트워크주소와호스트주소체계의구조를가짐 동일네트워크영역상의각호스트는하나의네트워크주소를공유하고그하위에유일한호스트주소로구분 14
IP 주소구조및클래스 15
IP 주소구조및클래스 A 클래스 MSB 1 비트는 A클래스를나타내기위해 0으로채워짐 처음의 8비트 (1 옥텟 ) 는 netid 로서네트워크주소로사용 나머지 24 비트는 hostid 로서호스트부분의주소로할당 A 클래스의주소의개수 2 7 =128 개존재 2개제외 => 126 개존재 netid 가 00000000, 11111111 인주소는특별한목적을위해사용 A 클래스주소의호스트개수 각네트워크가 2 24 =16,777,216 개의호스트를가질수있음 2개제외 => 16,777,214 개존재 hostid 가모두 0, 1 인것은특별한목적을위해사용 16
IP 주소구조및클래스 B 클래스 MSB 2 비트는 B클래스를나타내기위해 10 으로채워짐 처음의 16 비트 (2 옥텟 ) 는 netid 로서네트워크주소로사용 나머지 16 비트는 hostid 로서호스트부분의주소로할당 B 클래스의주소의개수 2 14 =16,384 개존재 2개제외 => 16,382 개존재 netid 가모두 0, 1 인것은특별한목적을위해사용 B 클래스주소의호스트개수 각네트워크가 2 16 =65,536 개의호스트를가질수있음 2개제외 => 65,534 개존재 hostid 가모두 0, 1 인것은특별한목적을위해사용 17
IP 주소구조및클래스 C 클래스 MSB 3 비트는 B클래스를나타내기위해 110 으로채워짐 처음의 24 비트 (3 옥텟 ) 는 netid 로서네트워크주소로사용 나머지 8비트는 hostid 로서호스트부분의주소로할당 C 클래스의주소의개수 2 21 =2,097,152 개존재 2개제외 => 2,097,150 개존재 netid 가모두 0, 1 인것은특별한목적을위해사용 C 클래스주소의호스트개수 각네트워크가 2 8 =256 개의호스트를가질수있음 2개제외 => 254 개존재 hostid 가모두 0, 1 인것은특별한목적을위해사용 18
IP 주소구조및클래스 D 클래스 멀티캐스팅 (multicasting) 용도 MSB 4 비트는 D클래스를나타내기위해 1110 으로채워짐 E 클래스 실험적인주소로공용으로사용되지않음 MSB 4 비트는 1111 로채워짐 19
ARP 및 RARP 논리주소 (IP 주소 ) : 목적지호스트를찾기위하여사용물리주소 패킷전송은물리적인네트워크를통해이루어지므로수신측의물리주소를알아야함 이더넷 LAN 일경우, 48 비트의길이를가짐 ARP(Address Resolution Protocol) 논리주소를물리주소로변환시키는프로토콜 RARP(Reverse Address Resolution Protocol) 물리주소를논리주소로변환시키는프로토콜 20
ARP (Address Resolution Protocol) 논리주소를물리주소로변환시키는프로토콜 ARP 의동작상태 시스템 A에서시스템 B로데이터전송할때시스템 A가시스템 B의논리주소는알고있지만, 물리주소를모르는상태 1 시스템 A는 ARP 요청패킷 ( 수신측의논리주소를포함 ) 을모든시스템에게브로드캐스트 2 패킷에실려온논리주소와자신의논리주소를비교해맞으면받아들이고, 그렇지않으면폐기 3 2에서맞을경우에자신의물리주소를실어서 ARP 응답패킷을송신측으로유니캐스트 21
ARP 22
RARP (Reverse Address Resolution Protocol) 물리주소를논리주소로변환시키는프로토콜 RARP 의동작상태 1 로컬디스크가없는시스템 A는 RARP 서버로부터자신의논리주소를알기위해 RARP 서버와통신을시도 RARP 요청패킷을네트워크상에브로드캐스트 2 RARP 서버는물리주소에해당하는논리주소를실어서시스템 A에게유니캐스트 23
RARP 24
DNS (Domain Name System) 호스트파일 호스트네임과 IP 주소로이루어지는두개의항목을가짐 호스트는서버에해당호스트파일을저장하고주기적으로갱신 사용자가호스트네임을 IP 주소로매핑하고자하면호스트파일에게문의하여매핑결과를찾게함 DNS 개념 호스트네임을 IP 주소로바꾸고 IP 주소를호스트네임으로바꿔주는기능을수행 전체호스트파일을많은서버에분산시켜저장하여, 매핑을요구하는로컬호스트가발생하면원하는정보를가진가장가까운서버로연결 호스트네임서버들은계층구조로구현된분산데이터베이스의형태 호스트와호스트네임서버사이에서도메인명과 IP 주소사이의변환서비스를제공 25
도메인명 (Domain Domain name) 도메인명의관리 IANA (Internet Assigned Name Authority) 의관할하에있는 InterNIC 에서수행 도메인명의계층구조 최상위레벨 : 각나라의고유상위계층 두번째레벨 : 기관의종류 세번째레벨 : 인터넷에접속하는기관명 네번째레벨 : 호스트명 26
도메인명 (Domain Domain name) 27
DNS 동작원리개요 로컬네임서버 호스트가 DNS 질의메시지를보내면, 호스트의로컬네임서버에게전달 로컬네임서버는클라이언트와동일한네트워크내에존재루트네임서버 로컬네임서버가호스트로부터 DNS 질의를자신의보유정보로만족시킬수없을때, 로컬네임서버는 DNS 클라이언트로동작해서루트네임서버중하나에게질의 루트네임서버가그호스트에대한정보를가지고있으면, 로컬네임서버로 DNS 응답메시지를보냄책임네임서버 호스트이름을호스트 IP 주소로변환하는 DNS 정보를항상가지고있는네임서버 루트네임서버가 DNS 질의에대한적절한정보를가지고있지않으면, 루트네임서버는책임네임서버로질의를넘김 28
DNS 서비스동작절차 Nety 라는컴퓨터가원격지의 www.ietf.org 와통신을시도 Nety 는원격지노드의 IP 주소를알기위해서로컬네임서버에게문의로컬네임서버는원격지노드의주소정보가없으므로루트네임서버에게문의루트네임서버도원격지노드의주소정보가없으므로 www.ietf.org 가속해있는지역내의도메인네임서버의주소를로컬네임서버에게알려줌로컬네임서버는원격지노드가속해있는네임서버에게 DNS 질의를수행원격지노드가속한도메인네임서버는 www.ietf.org 노드의 IP 주소를로컬네임서버에게알려줌로컬네임서버는호스트에게원격지노드의 IP 주소를알려줌 Nety 는 www.ietf.org 와통신을수행 29
DHCP (Dynamic Host Configuration Protocol) 각컴퓨터에서 IP 관리를쉽게하기위한프로토콜 TCP/IP 통신을실행하기위해필요한정보를자동적으로할당, 관리하기위한통신규약 RFC 1541 30
DHCP (Dynamic Host Configuration Protocol) DHCP 서버 IP 주소, 서브넷마스크, 디폴트게이트웨이, DNS 서버주소정보를제공 서비스대상컴퓨터에일정기간동안임시 IP 주소를할당 2개의데이터베이스를가짐 정적데이터베이스 : 물리주소와 IP 주소를연결 ( 고정 ) IP 주소데이터베이스 : DHCP 가활용가능한임시 IP 주소뱅크 동작개요 DHCP 클라이언트가 DHCP 서버에요청하면, 서버는정적데이터베이스를찾음 데이터베이스에요청된물리주소가있으면영구적인 IP 주소가클라이언트에게반환 데이터베이스에요청된물리주소가없으면 IP 주소데이터베이스에서사용가능한 IP 주소를클라이언트에게할당 31
DHCP (Dynamic Host Configuration Protocol) 클라이언트는 DHCPDISCOVER 메시지를소속서브넷에방송로컬서브넷에있는모든 DHCP 서버는 DHCPOFFER 메시지로응답 IP 주소및임대기간을제공 ( 기본값은 1시간 ) 클라이언트는제일먼저응답메시지를보낸서버로 DHCPREQUEST 메시지를전송서버는 DHCPACK 메시지로응답하고클라이언트의물리주소와 IP 주소연결 ( 클라이언트는임대기간동안 IP 주소를사용가능 ) 임대기간의 50% 가지나면클라이언트는다른 DHCPREQUEST 를전송하여사용중인 IP 주소의재사용가능여부를요청서버가 DHCPACK 로응답하면타이머를새로시작하고, DHCPNACK 로응답하면클라이언트는 IP 주소사용을중지하고새로운서버를탐색서버가응답하지않으면임대기간의 87.5% 에달할때까지 DHCPREQUEST 를전송하고, 임대기간이끝나기전에응답을받으면계속사용 32