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