컴퓨터네트워크 8 장. 네트워크계층프로토콜 (3) - 기타네트워크계층프로토콜 1
이번시간의학습목표 ARP/RARP의필요성과원리 ICMP와 IP 제어 IGMP와멀티캐스트 2
ARP Address Resolution Protocol 필요성 실제로통신이이루어지기위해선데이터링크계층의 MAC 주소를알아야가능 송신 MAC 주소 LAN 카드에서획득 수신 MAC 주소 ARP request 방송 해당호스트가자신의 MAC 주소를 ARP reply 로회신 과도한트래픽유발을방지하기위해캐시이용 사용예 일반호스트 라우터 (router) 3
RARP Reverse Address Resolution Protocol 필요성 하드디스크가없는시스템 (X 터미널등 ) 은자신의 IP 주소를저장할수없음 ROM 에 TFTP 등기본프로토콜만존재 서버에서관련정보를받아메모리에저장 이경우자신의 HW 주소를방송하여 RARP 서버가알려준 IP 주소이용 동작 자신의 MAC 주소를담아방송 해당정보를가지고있는 RARP 서버가응답 4
BOOTP 와 DHCP (1) BOOTP(Bootstrap Protocol) DHCP 전에개발된호스트구성프로토콜 DHCP(Dynamic Host Configuration Protocol) DHCP 는 BOOTP 를바탕으로개선되었으며호스트구성서비스로서 BOOTP 가갖고있는특정제한을해결 BOOTP 와 DHCP 유사점 서버와클라이언트간에메시지를교환하는데사용하는형식구조 거의동일한요청메시지와응답메시지 클라이언트 / 서버통신에잘알려진 UDP 포트 (67, 68) 사용 구성서비스의필수적인부분으로 IP 주소배포 시작하는동안 IP 주소를클라이언트에할당 5
BOOTP 와 DHCP (2) BOOTP/DHCP 차이점 BOOTP 제한된부팅기능을사용하여디스크없는워크스테이션을구성하기위해사용 IP 주소임대에서기본 30 일만료가설정 Vend(Vendor-specific area: 64bytes) 이라는제한된수의클라이언트구성매개변수를지원 2 단계부트스트랩구성프로세스 클라이언트가 BOOTP 서버에연결하여주소결정과부팅파일이름선택을수행 클라이언트가 TFTP(Trivial File Transfer Protocol) 서버에연결하여부팅이미지의파일전송을수행 시스템이다시시작될때를제외하고 BOOTP 클라이언트가 BOOTP 서버와구성을다시바인딩하거나갱신하지않음 DHCP 로컬하드드라이브와모든부팅기능이있으며위치를자주이동하는네트워크에연결된컴퓨터 ( 휴대용장치등 ) 를구성하기위해사용 IP 주소임대에서기본 8 일만료가설정 Option 이라는더크고확장가능한클라이언트구성매개변수의집합을지원 DHCP 클라이언트가 DHCP 서버와협상하여 IP 주소를결정하고네트워크작업에필요한다른모든초기구성정보를얻는단일단계부팅구성프로세스 시스템이다시시작될때 DHCP 클라이언트가 DHCP 서버와구성을다시바인딩하거나갱신할필요가없음클라이언트가설정된시간간격에다시바인딩상태로자동으로전환되어 DHCP 서버와임대된주소할당을갱신 6
DHCP (1) DHCP 헤더 op(1) htype(1) hlen(1) hops(1) xid(4) secs(2) flags(2) ciaddr(4) yiaddr(4) siaddr(4) giaddr(4) chaddr(16) sname(64) file(128) option(variable) op(message op code) 1 = BOOTREQUEST, 2 = BOOTREPLY htype (hardware address type) hlen (hardware address length) hops Client sets to zero optionally used by relay agents xid(transaction ID) a random number chosen by the client secs Filled in by client seconds elapsed since client began address acquisition or renewal process flags B: Broadcast flag 7
DHCP (2) DHCP 헤더 ( 계속 ) ciaddr (Client IP address) only filled in if client is in BOUND, RENEW or REBINDING state and can respond to ARP requests yiaddr ('your' (client) IP address) siaddr (IP address of next server to use in bootstrap) returned in DHCPOFFER, DHCPACK by server giaddr (Relay agent IP address) used in booting via a relay agent chaddr (Client hardware address) sname (Optional server host name) null terminated string file (Boot file name) null terminated string options (Optional parameters field) 8
DHCP (3) DHCP 기능 Configuration parameters repository provide persistent storage of network parameters for network clients stores a key-value entry for each client IP-subnet-number, hardware- address, Dynamic allocation of network addresses allocation of temporary or permanent network (IP) addresses to clients lease the period over which a network address is allocated to a client client may extend its lease with subsequent requests client may issue a message to release the address back to the server may ask for a permanent assignment by asking for an infinite lease 9
DHCP (4) DHCP 메시지 DHCPDISCOVER Client broadcast to locate available servers. DHCPOFFER Server to client in response to DHCPDISCOVER with offer of configuration parameters. DHCPREQUEST Client message to servers either (a) requesting offered parameters from one server and implicitly declining offers from all others, (b) confirming correctness of previously allocated address after, e.g., system reboot, or (c) extending the lease on a particular network address. 10
DHCP (5) DHCP 메시지 ( 계속 ) DHCPACK Server to client with configuration parameters, including committed network address. DHCPNAK Server to client indicating client's notion of network address is incorrect (e.g., client has moved to new subnet) or client's lease as expired DHCPDECLINE Client to server indicating network address is already in use. DHCPRELEASE Client to server relinquishing network address and cancelling remaining lease. DHCPINFORM Client to server, asking only for local configuration parameters; client already has externally configured network address. 11
DHCP (6) 프로토콜동작 DHCP 를통한새로운주소할당 Server (not selected) Client Server (selected) Determine configuration Collect replies Determine configuration Select configuration Commit configuration Graceful Shutdown 이미주소가할당된경우 Initialization complete 12
ICMP (1) Internet Control Message Protocol ICMP 메시지 ECHO REQUEST, ECHO REPLY: ping 프로그램 DESTINATION UNREACHABLE: 수신호스트에접근불가능 SOURCE QUENCH: 네트워크에필요한자원부족으로패킷폐기 TIME EXCEEDED: 시간초과로패킷폐기 TIMESTAMP REQUEST, TIMESTAMP REPLY: 네트워크지연측정 13
ICMP (2) ICMP 헤더형식 처음 8 바이트는모든메시지에반드시포함됨 Type: 메시지를구분 Code: 메시지내용에대한자세한정보 Checksum: 전체메시지에대한체크섬기능 ICMP 메시지내용 1: 메시지종류에따라값이결정됨 ICMP 메시지내용 2 오류원인을제공한 IP 패킷의헤더와이어지는 8 바이트의정보가포함 14
ICMP 메시지의전송 ICMP (3) 기능적으로 IP 프로토콜과같은계층의역할을수행 메시지는 IP 프로토콜에캡슐화되어전송 15
IGMP (1) Internet Group Management Protocol 멀티캐스팅 (Multicasting) 특정그룹에속한모든호스트에게메시지를전송하는방식 그룹관리 그룹의생성 / 제거, 그룹참가 / 탈퇴 멀티캐스팅을지원하기위한방안 다중호스트를표시하는멀티캐스트그룹주소표기방법의통일 IPv4, IPv6 에서이형식제공 라우터가멀티캐스트주소와이그룹에속하는호스트사이의연관성처리 특히동적추가, 삭제환경대응 효율적인멀티캐스트라우팅알고리즘 모든멤버에게전달가능한가장짧은경로선택방안 16
IGMP (2) IGMP 헤더형식 질의메시지 : 라우터에서호스트로전달 보고메시지 : 질의메시지에대한응답으로호스트가회신 IGMP 버전 2의메시지형식 Type 0x11: 질의메시지 0x16: 보고메시지 0x17: 그룹탈퇴에관한메시지 Max Response Time 질의메시지에서사용하며보고메시지가전송되어야하는최대응답시간 Checksum : IP와동일한방식 Group Address 질의메시지 : 0으로채움 보고메시지 : 호스트가가입을원하는그룹주소표기 17
IGMP (3) IGMP 동작과정 18
IGMP 메시지의전송 IGMP (4) IGMP 는 IP 프로토콜과동등한계층의기능을수행 IP 패킷에캡슐화되어전송 19
질의 / 응답 20