1 / 39

8.1 ARP 8.2 ARP 설계 8.3 RARP 8.4 요약

제 8 장 ARP 와 RARP. 8.1 ARP 8.2 ARP 설계 8.3 RARP 8.4 요약. 인터넷에서 사용하는 주소. 논리 주소( logical address) 호스트나 라우터가 사용하는 네트워크 레벨 주소 전세계적으로 유일한 주소 IP 주소 32 비트 길이 물리 주소( physical address) 로컬 네트워크에서 유효한 주소 로컬 주소( local address) 로컬에서만 유일하면 됨 보통 하드웨어로 구현 호스트나 라우터내에 설치된 NIC 에 들어 있음.

Télécharger la présentation

8.1 ARP 8.2 ARP 설계 8.3 RARP 8.4 요약

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 제 8 장 ARP와 RARP 8.1 ARP 8.2 ARP 설계 8.3 RARP 8.4 요약

  2. 인터넷에서 사용하는 주소 • 논리 주소(logical address) • 호스트나 라우터가 사용하는 네트워크 레벨 주소 • 전세계적으로 유일한 주소 • IP 주소 • 32 비트 길이 • 물리 주소(physical address) • 로컬 네트워크에서 유효한 주소 • 로컬 주소(local address) • 로컬에서만 유일하면 됨 • 보통 하드웨어로 구현 • 호스트나 라우터내에 설치된 NIC에 들어 있음

  3. 인터넷에서 사용하는 주소(계속) • 호스트나 라우터로 패킷을 전달하기 위해 논리 및 물리 주소가 모두 필요 • 논리 주소를 물리 주소로 변환 또는 그 반대가 필요 • 정적 또는 동적 변환 가능

  4. 인터넷에서 사용하는 주소(계속) • 정적 변환(static mapping) • 논리 주소와 물리 주소 연관 테이블 생성 • 네트워크상의 각 시스템에 저장 • 필요시 테이블 검색 • 물리 주소가 변경될 경우 정적 테이블의 주기적인 갱신으로 인한 오버헤드 (NIC 변경, 이동 컴퓨터의 네트워크 이동 등)

  5. 인터넷에서 사용하는 주소(계속) • 동적 변환(dynamic mapping) • 물리 주소와 논리 주소 쌍 중 하나만 알면 프로토콜을 이용하여 다른 하나를 알아냄 • ARP : 논리 주소를 물리 주소로 변환 • RARP : 물리 주소를 논리 주소로 변환

  6. 인터넷에서 사용하는 주소(계속) • ARP(Address Resolution Protocol) • RARP(Reverse Address Resolution Protocol)

  7. 8.1 ARP • ARP 동작

  8. ARP(계속) • ARP 패킷 형식

  9. ARP(계속) • Hardware type : 네트워크 유형 정의(이더넷 : 1) • Protocol type : 프로토콜 정의(IPv4 : 080016) • Hardware length : 물리 주소의 바이트 단위 길이 • Protocol length : 논리 주소의 바이트 단위 길이 • Operation : 패킷 유형-ARP 요청(1), ARP 응답(2) • Sender hardwareaddress : 송신자 물리주소 • Sender protocol address : 송신자 논리 주소 • Target hardware address : 타겟 물리 주소 • Target protocol address : 타겟 논리 주소

  10. ARP(계속) • 캡슐화(Encapsulation) • ARP 패킷의 캡슐화

  11. ARP(계속) • ARP 패킷의 캡슐화 동작 과정 • 송신자는 타겟 IP 주소를 알고있다 • IP가 ARP에게 ARP 요청 메시지 생성 요청 (송신자 물리 주소, IP 주소; 타겟 IP 주소, 물리 주소(O)) • 데이터링크층에 전달되면 발신지 주소는 송신자의 물리주소, 목적지 주소는 물리 브로드캐스트 주소로 하는 프레임에 캡슐화 • 모든 호스트나 라우터가 프레임을 수신하여 자신의 ARP에 전달

  12. ARP(계속) • 타겟 시스템을 자신의 물리 주소를 포함한 ARP 응답 메시지 송신(유니케스트) • 송신자는 응답 메시지를 받고 타겟 시스템의 물리 주소를 알게 된다 • IP 데이터그램은 프레임으로 캡슐화 되어 목적지에 유니캐스트

  13. ARP(계속) • ARP 서비스가 사용되는 4 가지 경우 • 송신자가 호스트로서 같은 네트워크상에 다른 호스트에 패킷 전송(논리주소는 목적지 IP주소) • 송신자가 호스트이고 다른 네트워크상에 있는 다른 호스트에게 패킷 전송(논리 주소는 라우터의 IP 주소) • 송신자는 다른 네트워크상에 있는 호스트로 가는 데이터그램을 수신한 라우터(논리 주소는 다음 홉 라우터의 IP 주소) • 송신자는 같은 네트워크 상에 있는 호스트로 가는 데이터그램을 수시한 라우터(논리 주소는 목적지 IP 주소)

  14. ARP(계속)

  15. ARP(계속)

  16. ARP(계속) • 프록시 ARP • 서브넷팅 효과를 만들기 위해 사용

  17. 8.2 ARP 설계 • 구성 모듈 • 캐쉬 테이블 • 큐 • 출력 모듈 • 입력 모듈 • 캐쉬 제어 모듈

  18. ARP 설계(계속) • 캐쉬 테이블 • 송신자가 같은 목적지에 여러 개의 IP 데이터그램을 보낼때 매번 ARP 프로토콜을 사용하는 것은 비 효율적 • 호스트나 라우터가 IP 데이터그램에 해당되는 물리 주소를 수신하면 캐쉬 테이블에 저장 • 그런 다음 같은 수신자로 보내지는 데이터그램에 사용

  19. ARP 설계(계속) • 캐쉬 테이블의 엔트리 구성 • 상태(State) : FREE, PENDING, RESOLVED • 하드웨어 유형(Hardware type) : • 하드웨어 길이(Hardware length) : • 프로토콜 길이(Protocol length) : • 인터페이스 번호(Interface number) : • 큐 번호(Queue number) : • 시도(Attempt) : ARP 요청 횟수 • 타임아웃(Time-out) : 엔트리 수명 • 하드웨어 주소(Hardware address) : 목적지 하드웨어 주소 • 프로토콜 주소(Protocol address) : 목적지 IP 주소

  20. ARP 설계(계속) • 출력 모듈 Receive: an IP datagram from the processing module 1. Sleep until an IP packet is received from IP software. 2. Check the cache table to find an entry corresponding to this IP packet. 3. If(found) 1. If(the state is RESOLVED) 1. Extract the value of the hardware address from the entry. 2. Send the packet and the hardware address to data link layer. 3. Return. 2. If(the state is PENDING) 1. Enqueue the packet to the corresponding queue. 2. Return.

  21. ARP 설계(계속) 4. If(not found) 1. Create a queue. 2. Enqueue the packet. 3. Create a cache entry with state set to PENDING and ATTEMPTS set to 1. 4. Send an ARP request. 5. Return.

  22. ARP 설계(계속) • 입력 모듈 1. Sleep until an ARP packer(request or reply) arrives. 2. Check the cache table to find an entry corresponding to this ARP packet. 3. If(found) 1. If(the state is PENDING) 1. Update the entry. 2. While the queue is not empty 1. Dequeue one packet. 2. Send the packet and the hardware address to data link

  23. ARP 설계(계속) 2. If(the state is RESOLVED) 1. Update the entry. 4. If(not found) 1. Create an entry. 2. Add the entry to the table. 5. If(the packet is a request) 1. Send an ARP relay 6. Return.

  24. ARP 설계(계속) • 캐쉬 제어 모듈 1. Sleep until the periodic timer matures. 2. For every entry in the cache table 1. If(the state is FREE) 1. Continue. 2. If(the state is PENDING) 1. Increment the value of attempts by 1. 2. If(attempts greater than maximum) 1. Change the state to FREE. 2. Destroy the corresponding queue.

  25. ARP 설계(계속) 3. If(not) 1. Send an ARP request. 4. Continue. 3. If(the state is RESOLVED) 1. Decrement the value of time-out by the value of elagsed time. 2. If(time-out less than or equal to zero) 1. Change the state to FREE. 2. Change the state to FREE. 3. Return.

  26. ARP 설계(계속) • ARP 예제 • 캐쉬 테이블의 초기 값

  27. ARP 설계(계속) • 예제 1 • ARP 출력 모듈은 IP 계층으로부터 목적지 주소가 114.5.7.89인 IP 데이터그램을 수신 • 캐쉬 테이블 검사 결과 : RESOLVED 상태 • 하드웨어 주소(457342ACAE32)와 패킷을 데이터링크층에 전달 • 캐쉬 테이블에 변화 없음

  28. ARP 설계(계속) • 예제 2 • 20초 후 목적지 주소가 116.1.7.22인 IP 데이터그램 수신 • 캐쉬 테이블 검사 결과 엔트리가 없음 • 새 엔트리를 테이블에 추가 • 엔트리 상태 : PENDING, Attempt : 1 • 모듈은 목적지에 해당하는 큐 생성 • 패킷을 큐에 넣고 데이터링크층을 통하여 ARP 요청을 목적지에 전달

  29. State Queue Attempt Time-out Protocol Addr. Hardware Addr. R 5 900 180.3.6.1 ACAE32457342 P 2 2 129.34.4.8 P 14 5 201.11.56.7 R 8 450 114.5.7.89 457342ACAE32 P 12 1 220.55.5.7 P 23 1 116.1.7.22 4573E3242ACA R 9 60 19.1.7.82 P 18 3 188.11.8.71 ARP 설계(계속) • 예제 2의 갱신된 테이블

  30. ARP 설계(계속) • 예제 3 • 15초 후 목적지 주소가 188.11.8.71인 IP 수신 • 테이블 검사, 주소가 있음을 확인 • 타켓 하드웨어 주소 E3457342ACA 삽입 • 큐 18에 접근하여 큐에 있는 모든 패킷을 데이터링크층에 보낸다

  31. ARP 설계(계속) • 예제 3의 갱신된 캐쉬 테이블

  32. 예제 4 • 25초 후 캐쉬 제어 모듈이 모든 엔트리 갱신 • 해결된 4개의 엔트리를 60씩 감소 • 타임아웃이 0인 엔트리는 상태와 FREE • Attempt 값 1씩 증가 • Attempt 필드 값이 최대값 보다 크게 되므로 상태는 FREE, 해당 큐를 없애고 원래의 발신지에 ICMP를 보낸다

  33. ARP 설계(계속) • 예제 4의 갱신된 캐쉬 테이블

  34. 8.3 RARP • 물리 주소는 알고 있으나 논리 주소를 모를 때 사용 • 물리 주소는 NIC로 부터 얻어진다 • 디스크가 없는 시스템 부팅시 이용 • 요청 장치는 RARP 클라이언트 프로그램 수행 • 응답 장치는 RARP 서버 프로그램 수행

  35. RARP(계속) • RARP 동작

  36. RARP(계속) • 패킷 형식

  37. RARP(계속) • RARP 패킷의 캡슐화

  38. RARP(계속) • RARP 외의 다른 해결책 • BOOTP(15 장) • DHCP(15 장)

  39. 8.4 요약

More Related