Transcript Document
Chapter 8 주소 변환 프로토콜(ARP) Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 1 ▣ 학습목표(OBJECTIVES): 논리 주소 (IP 주소)와 물리 주소 (MAC 주소)간의 차이점을 이해 논리 주소가 물리 주소로 변환하는 방법인 정적(static) 과 동적(dynamic) 방법에 대해 설명 ARP (address resolution protocol )에 의하여 논리 주소가 동적으로 물리 주소로 변환하는 방법 설명 서브넷팅 효과를 얻기 위해 프록시(proxy) ARP를 사용하는 방법 기반 네트워크가 ATM WAN 인 경우 ATMARP를 사용하여 IP 주소를 변환하는 방법 설명 ARP 소프트웨어가 5개의 구성요소로 되어있음을 보여줌 ARP 소프트웨어 패키지에서 사용된 각 모듈에 대해 pseudocode 를 보여줌 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 2 Chapter Outline 8.1 주소 변환(Address Mapping) 8.2 ARP Protocol 8.3 ATM ARP 8.4 ARP Package Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 3 8-1 주소 변환(ADDRESS MAPPING) 호스트나 라우터로 패킷을 전달하기 위해서는 두 레 벨 의 주 소 지 정 이 필 요 하 다 : 논 리 (logical) 와 물리(physical). 따라서, 논리 주소를 대응하는 물리 주소로 또는 그 반대로 변환하는 기능이 필요하다. 이것을 정적(static) 또는 동적(dynamic) 변환으로 가능하다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 4 ▣ 인터넷에서 사용하는 주소 1. 논리 주소(logical address) 호스트나 라우터가 사용하는 네트워크 레벨 주소 전세계적으로 유일한 주소 IP 주소 32 비트 길이 2. 물리 주소(physical address) 로컬 네트워크에서 유효한 주소 로컬 주소(local address) 로컬에서만 유일하면 됨 보통 하드웨어로 구현 호스트나 라우터내에 설치된 NIC에 들어 있음 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 5 ▣ 인터넷에서 사용하는 주소 정적 변환(static mapping) 논리 주소와 물리 주소 연관 테이블 생성 네트워크상의 각 시스템에 저장 필요시 테이블 검색 물리 주소가 변경될 경우 정적 테이블의 주기적인 갱신으로 인한 오버헤드 (NIC 변경, 이동 컴퓨터의 네트워크 이동 등) Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 6 ▣ 인터넷에서 사용하는 주소 동적 변환(dynamic mapping) 물리 주소와 논리 주소 쌍 중 하나만 알면 프로토콜 을 이용하여 다른 하나를 알아냄 ARP : 논리 주소를 물리 주소로 변환 RARP : 물리 주소를 논리 주소로 변환 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 7 ▣ 인터넷에서 사용하는 주소 ARP와 RARP Address Resolution Protocol Reverse Address Resolution Protocol:현재 사용하지 않음 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 8 8-2 ARP 프로토콜 어떤 호스트나 라우터가 다른 호스트나 라우터에 보낼 IP 데이터그램을 가지고 있다면 송신자는 수신자의 논리주소인 IP 주소를 가지고 있다. 그러나 IP 데이터그램은 물리 네트워크를 통과하기 위해 프레임으로 캡슐화되어야 한다. 즉, 송신자는 수신자의 물리 주소를 알아야 한다. 변환(mapping)이란 논리 주소를 물리 주소로 변환하는것이다. ARP는 IP 프로토콜로부터 논리 주소를 받아 이를 해당하는 물리 주소로 변환한 후 데이터링크계층에 전달한다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 9 TCP/IP 프로토콜에서 ARP의 위치 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 10 ARP 동작 TCP/IP Protocol Suite Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 11 ARP 패킷 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 12 ▣ ARP 패킷 Hardware type : 네트워크 유형 정의(이더넷 : 1) Protocol type : 프로토콜 정의(IPv4 : 080016) Hardware length : 물리 주소의 바이트 단위 길이 Protocol length : 논리 주소의 바이트 단위 길이 Operation : 패킷 유형-ARP 요청(1), ARP 응답(2) Sender hardware address : 송신자 물리 주소 Sender protocol address : 송신자 논리 주소 Target hardware address : 타깃 물리 주소 Target protocol address : 타깃 논리 주소 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 13 ARP 패킷 캡술화 Type: 0x0806 Preamble and SFD Destination address Source address Type 8 bytes 6 bytes 6 bytes 2 bytes Http://netwk.hannam.ac.kr Data CRC 4 bytes HANNAM UNIVERSITY 14 Note An ARP request is broadcast; an ARP reply is unicast. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 15 ▣ ARP 동작 ARP 프로세스의 캡슐화 동작 과정 1. 송신자는 타깃 IP 주소를 알고 있다 2. IP가 ARP에게 ARP 요청 메시지 생성 요청 (송신자 물리 주소, IP 주소; 타깃 IP 주소, 물리 주소(O)) 3. 데이터링크층에 전달되면 발신지 주소는 송신자 의 물리주소, 목적지 주소는 물리 브로드캐스트 주 소로 하는 프레임에 캡슐화 4. 모든 호스트나 라우터가 프레임을 수신하여 자신 의 ARP에 전달 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 16 ▣ ARP 동작 5. 타겟 시스템을 자신의 물리 주소를 포함한 ARP 응 답 메시지 송신(유니케스트) 6. 송신자는 응답 메시지를 받고 타겟 시스템의 물리 주소를 알게 된다 7. IP 데이터그램은 프레임으로 캡슐화 되어 목적지 에 유니캐스트 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 17 ▣ ARP가 사용되는 4가지 case 1. 송신자가 호스트로서 같은 네트워크상에 다른 호스 트에 패킷 전송(논리주소는 목적지 IP주소) 2. 송신자가 호스트이고 다른 네트워크상에 있는 다른 호스 트에게 패킷 전송(논리 주소는 라우터의 IP 주소) 3. 송신자는 다른 네트워크상에 있는 호스트로 가는 데 이터그램을 수신한 라우터(논리 주소는 다음 홉 라 우터의 IP 주소) 4. 송신자는 같은 네트워크 상에 있는 호스트로 가는 데이 터그램을 수시한 라우터(논리 주소는 목적지 IP 주소) Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 18 ARP가 사용되는 4가지 경우 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 19 Example 8.1 IP 주소가 130.23.43.20이고 물리주소가 B2:34:55:10:22:10인 호 스 트 가 IP 주 소 가 130.23.43.25 이 고 물 리 주 소 가 A4:6E:F4:59:83:AB인 호스트에게 보낼 패킷을 가지고 있다. 두 호스트는 같은 이더넷 네트워크에 있다. 이더넷 프레임에 캡슐화된 ARP 요청(request)과 응답(reply) 패킷을 보여라. Solution 다음 쪽 그림은 ARP 요청과 응답 패킷을 보여준다. 이 경우 ARP 데이터 필드는 28 바이트이고 각 주소는 4 바이트 경계에 맞지 않는다. 이것이 주소를 위한 4 바이트 경계에 맞지 않는 이유이다. IP 주소는 16 진수로 나타나 있다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 20 Example 8.1 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 21 Proxy ARP 서브넷팅 효과를 얻기 위해 사용 Request Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 22 8-3 ATM ARP 7장에서 ATM 상의 IP에 대해 설명하였다. IP 패킷이 ATM WAN을 통과하는 경우, ATM WAN 내 진출점 라우터의 물리 주소를 찾기 위해 프로토콜이 필요하다. 이는 LAN에서 ARP에 의해 수행되는 작업과 동일하다. 그렇지만, LAN과 ATM 네 트 워 크 사 이 의 차 이 점 이 있 다 . LAN 데이터링크계층에서 브로드캐스트 네트워크이고; ARP는 ARP 요구를 전송하기 위해 LAN의 브로드캐스트 기능을 이용한다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 23 ATM ARP 패킷 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 24 ▣ ATMARP 패킷 형식 Hardware type : 네트워크 유형 정의(ATM: 1316) Protocol type : 프로토콜 정의(IPv4 : 080016) Hardware length : 물리 주소의 바이트 단위 길이 operation : 패킷 유형- 표 8.1 참조 Sender Protocol Length: 프로토콜 주소 길이(IPv4: 4) Target Hardware Length: 수신자 물리주소 길이(ATM:20) Target Protocol Length: 프로토콜 주소 길이(IPv4: 4) Sender hardware address : 송신자 물리 주소(ATM: 20) Sender protocol address : 송신자 논리 주소 Target hardware address : 타깃 물리 주소 Target protocol address : 타깃 논리 주소 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 25 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 26 ▣ ATMARP 동작-두 라우터 연결 1. PVC(Permanent Virtual Circuit) 연결 네트워크 사업자에 의해 두 종단 사이에 설정 VPI와 VCI가 영구적인 연결위해 정의 이 값들은 각 교환기의 테이블에 입력 ATMARP 서버 필요 없음 회선이 설정되면 라우터는 물리주소를 IP주소와 결합 필요 인버스 요청 메시지와 인버스 응답 메시지 이용 교환 뒤에 양 라우터는 물리주소를 PVC에 테이블 항목 추가 다음 쪽 그림 참조 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 27 Note The inverse request and inverse reply messages can bind the physical address to an IP address in a PVC situation. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 28 PVC 결합(Binding) Two routers connected through PVC ATM I II III 1 Inverse Reque st Inverse Reply time Http://netwk.hannam.ac.kr 2 time HANNAM UNIVERSITY 29 ▣ ATMARP 동작-두 라우터 연결 1. SVC(Switched Virtual Circuit) 연결 라우터가 다른 라우터(컴퓨터)와 연결생성을 원할 때마다 새 로운 가상회선 살정 가상회선은 진입점 라우터가 진출점 라우터 물리주소를 아 는 경우만 연결 생성 각 라우터는 클라이언트 ATMARP 프로그램 동작 다음 쪽 그림 참조 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 30 ATMARP 결합(Binding) ATMARP Server Entering-point router I ATM II III Exiting-point router Using PVC or SVC connection 1 Request Reply or NACK Time Http://netwk.hannam.ac.kr 2 2 Finding physical address Time HANNAM UNIVERSITY 31 ▣ 가상연결 설정 단계 1. 서버에 연결하기 보통은 각 라우터와 서버 사이에 PVC 존재 없으면 SVC 연결 위해 라우터의 물리주소를 알아야 함 2. 물리주소 받기 진입점 라우터와 서버 사이에 연결이 있을 때 ATMARP 요청을 서버에게 보냄 서버는 찾으면 ATMARP 응답을 보냄 3. 가상회선 설정하기 진입점 라우터가 진출점 라우터와 SVC 요청(물리 주소 사용) Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 32 Note The request and reply message can be used to bind a physical address to an IP address in an SVC situation. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 33 ▣ 테이블 만들기 ATM 서버가 맵핑 테이블 만드는 방법 ATMARP와 두 개의 인버스 메시지(요청과 응답) 사용 라우터가 ATM 네트워크에 처음 연결되고 영구가 상회선이 라우터와 서버 사이에 설정되면 서버는 라우터에 인버스 요청 메시지 보냄 라우터는 자신의 IP 주소와 물리 주소를 포함한 인 버스 응답 메시지로 응답 두 주소를 사용하여 서버는 라우팅 테이블에 추가 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 34 테이블 만들기 ATMARP server ATM A newly connected router I II III 1 t Inverse reques 2 Time Http://netwk.hannam.ac.kr Inverse reply Time HANNAM UNIVERSITY 35 Note The inverse request and inverse reply can also be used to build the server’s mapping table. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 36 Figure 8.12 Http://netwk.hannam.ac.kr LIS HANNAM UNIVERSITY 37 ▣ LIS(Logical IP Subnet) 대규모 ATM 네트워크도 논리적(물리적이 아 님) 서브네트워크로 나눌 수 있다 B, C, D 하나의 논리적 서브넷 F, G, H 하나의 논리적 서브넷 A, E 는 양쪽 서브넷에 속함 서로 다른 서브넷에 속한 라우터끼리 통신시에는 반드시 A나 E를 통해서 가능 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 38 Note LIS allows an ATM network to be divided into several logical subnets. To use ATMARP, we need a separate server for each subnet. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 39 8-4 ARP PACKAGE 이 절에서, 간단화된 ARP 소프트웨어 패키지 예를 보인다. 목적은 가상적 ARP 패키지의 구성요소와 구성요소들간의 상호작용을 보이는 것이다. 다음 쪽 그림은 이들 구성요소와 상호작용을 보여준다. ARP 패키지는 5개의 구성요소로 구성되어있는데, 이는 cache table, queues, output module, input module, cache-control module 이다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 40 ARP 구성요소 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 41 ▣ ARP 패키지 캐쉬 테이블 송신자가 같은 목적지에 여러 개의 IP 데이터그램을 보낼 때 매번 ARP 프로토콜을 사용하는 것은 비 효율적 호스트나 라우터가 IP 데이터그램에 해당되는 물리 주소를 수신하면 캐쉬 테이블에 저장 그런 다음 같은 수신자로 보내지는 데이터그램에 사용 테이블의 용량은 한정되어 무한정 유지될 수 없음 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 42 ▣ ARP 패키지 캐쉬 테이블의 엔트리 구성 상태(State) : FREE, PENDING, RESOLVED 하드웨어 유형(Hardware type) : 하드웨어 길이(Hardware length) : 프로토콜 길이(Protocol length) : 인터페이스 번호(Interface number) : 큐 번호(Queue number) : 시도(Attempt) : ARP 요청 횟수 타임아웃(Time-out) : 엔트리 수명 하드웨어 주소(Hardware address) : 목적지 하드웨어 주소 프로토콜 주소(Protocol address) : 목적지 IP 주소 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 43 출력 모듈 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 44 입력 모듈 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 45 캐쉬-제어 모듈 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 46 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 47 예에 사용되는 초기 캐쉬 테이블 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 48 Example 8.2 ARP 출력 모듈은 IP 계층으로부터 목적지 주소가 114.5.7.89인 데이터그램을 수신한다. 케쉬 테이블을 확인한 결과 이 주소를 위한 엔트리가 RESOLVED 상태(테이블의 R)임을 알 수 있다. 하드웨어 주소 457342ACAE32를 꺼내어, 패킷과 이 주소를 데이터 링크층에 전달한다. 캐쉬 테이블은 변화가 없다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 49 Example 8.3 20초 후에, ARP 출력 모듈은 IP 계층으로부터 목적지 주소가 6.1.7.22인 IP 데이터그램을 받는다. 캐쉬 테이블을 확인한 결과 이 목적지에 해당하는 엔트리가 없음을 알 수 있다. 모듈은 새 엔트리를 테이블에 추가하고 이 엔트리의 상태를 PENDING으로 설정한 후 시도 값을 1로 설정한다. 그런 다음, 모듈은 이 목적지에 해당하는 새로운 큐를 만들고 패킷을 이 큐에 넣는다. 그 다음에 이 목적지를 위해 데이터링크층에 ARP 요청을 보낸다. 새로운 캐쉬 테이블은 Table 8.6에 나타나 있다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 50 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 51 Example 8.4 15 초 후 , ARP 입 력 모 듈 은 타 깃 프 로 토 콜 (IP) 주 소 가 188.11.8.71 인 ARP 패 킷 을 수 신 하 였 다 . 모 듈 은 테 이 블 을 검사하고 이 주소가 있음을 확인한다. 엔트리에 대한 상태를 RESOLVED로 바꾸고 time-out 값을 900으로 설정한다. 모듈은 엔 트 리 에 대 한 타 깃 하 드 웨 어 주 소 (E34573242ACA) 를 삽입한다. 큐 18에 접근하여, 이 큐에서 기다리고 있는 모든 패킷을 데이터링크층에 하나씩 보낸다. 새로운 캐쉬 테이블은 표 8.7과 같다. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 52 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 53 Example 8.5 25초 후에, cache-control 모듈은 모든 엔트리를 갱신한다. 처음 세 개의 resolved 엔트리의 타임아웃 값을 60씩 감소한다. 마지막 resolved 엔트리에 대한 타임아웃 값은 25만큼 감소한다. 마지막 엔트리 바로 위의 엔트리에 대한 상태는 타임아웃이 zero이므로 상태를 FREE로 바꾼다. 세 개의 pending 엔트리 각각에 대해 시도 필드 값을 1씩 증가시킨다. 증가시킨 후에, 한 엔트리(IP 주소가 201.11.56.7인)의 시도 값이 최대치이므로; 상태를 FREE로 바꾸고, 큐는 제거된다, 그리고 ICMP 메시지가 원래의 목적지에 보내진다 (9장 참조). 표 8.8을 보라. Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 54 Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 55 알림 연습문제 풀이해서 Report로 다음주까지(일주일 후) 제출해 주세요! Http://netwk.hannam.ac.kr HANNAM UNIVERSITY 56