티스토리 뷰

제17장


    프로토콜 주소 변환
    (ARP : Address Resolution Protocol)


프로토콜 S/W는 목적지 컴퓨터의  IP주소를 그와 동등한 H/W주소로 변환

주소 변환 수행의 3가지 일반적인 메커니즘

  1. 주소변환 정보를 포함하는 표에 의존,  WAN H/W에서 주로 사용
  2. 변환을 위해 수학적 함수 사용
  3. 두 개의 컴퓨터가 Network를 통해 메시지를 교환하는 분산 처리를 사용

프로토콜 주소와 패킷 전달

  • 인터넷을 통한 패킷 전달 : 프로토콜 목적지 주소를 사용하여 S/W에 의해 전달
  • S/W는 패킷 발송시 IP주소로 동작(Next-hop, Packet 목적지 주소 : IP주소)
  • 물리적 네트워크 H/W는 IP주소를 이해 못함 ⇒ H/W 프레임 형식과 H/W주소로의 변환 필요
  • Next-hop 프로토콜 주소는 프레임이 보내지기 전에 동등한 H/W주소로 변환되어야 함

주소해석(Address Resolution)

  • 컴퓨터의 프로토콜 주소로부터 동등한 H/W주소로 변환하는 것
  • 한 Network에서 지역적임(Local개념) : 양쪽 컴퓨터가 동일한 물리적 Network에 부착된 경우만 해결 예) (p.288, 그림17.1)

  • 호스트나 라우터는 동일한 물리적 네트워크상의 다른 컴퓨터로 전송할 필요있을 때 주소해석을 사용

주소해석 기술

  • 프로토콜과 H/W의 주소지정 방법에 따라 결정
    예) Ethernet 주소지정, ATM 주소지정 간 서로 상이
  • 라우터, Multi Homed Host : 하나이상의 주소 해결 유형을 사용할 수 있음
  • 주소해석 알고리즘
    1. Table Lookup(표 참조)
       : 주소해석이 필요할 경우 소프트웨어가 탐색하는 메모리에 있는 표에 저장(Binding)
    2. 폐쇄형 계산(Closed-form Computation)
       : 컴퓨터의 H/W주소가 프로토콜 주소로부터 기본적인 부울 및 산술 연산을 사용하여 계산될 수 있도록 주의깊게 선택
    3. 메시지 교환
      : 한 컴퓨터가 주소 바인딩을 요구하는 메시지를 보내고, 다른 컴퓨터는 요청된 정보를 포함한 응답을 전송

Table Lookup(표 참조)으로 주소해석

  • 주소 바인딩에 관한 정보를 포함하는 자료구조가 요구(배열)
  • 두 개의 필드 (P,H)쌍 : P는 프로토콜 주소, H는 동등한 H/W주소
    예) (p.290, 그림17.2) : 주소 바인딩 표

  • 각 물리적 Network에 대해 별개의 주소 바인딩표가 사용
     : 표의 모든 IP주소는 동일한 전치부(Prefix)를 가짐
    (예) (그림17.2)는 클래스 C 번호 197.15.3.0인 Network
  • 표 참조의 주요 장점 : 일반성
    1. Network상 컴퓨터는 임의의 집합에 대한 주소 바인딩을 저장할 수 있음
    2. 프로토콜 주소는 임의의 H/W주소에 매핑 가능
    3. 주소 해석을 위한 표 참조 알고리즘이 간단, 프로그래밍에 용이
  • 12개 미만 Host를 가진 Network : 순차 탐색
  • 대형 Network : 과도한 cpu시간이 요구되는 순차탐색보다 계산의 효율성을 개선하기 위해 해싱이나 직접 인덱싱 사용할 수 있음(표준구현)
  • 직접인덱싱 : 프로토 콜주소가 작은 범위로부터 컴팩트하게 할당될 때 가능
    예) (p.290, 그림17.2) → (p.292, 그림17.3) : IP 주소의 Host 후치부(Suffix)를 H/W주소, 1차원 배열에 대한 인덱스로 사용

폐쇄형(Closed-Form)계산으로 주소 해석

  • 구성 가능 주소 (Configurable Addressing)를 사용한 Network에서 사용되는 주소 해석 기법
    해석자(Resolver)는 IP주소를 H/W주소로 매핑하는 수학적 함수를 계산
  • 함수계산에 필요한 연산은 가능한한 간단하게
    예)컴퓨터의 IP주소의 Host 부분을 Computer H/W주소와 동일하게 선택
  • 클래스 C Network, IP주소 220.123.5.1 ↔ H/W 주소 1
                                         220.123.5.2 ↔ H/W 주소 2
    Hardware-address = IP-address & 0x55

메시지 교환(Message-exchange)으로 주소해석

  • 주소를 해석할 필요가 있는 Computer가 Network을 통해 메시지를 보내고 응답을 받는 분산접근
  • 메시지는 프로토콜 주소를 명시하는 요청(Request)을 보내고 응답은 그에 대응하는 H/W 주소를 운반
  • 주소해석 요청이 보내어져야 할 곳
    1. 주소 해석 요청에 응답하는 작업을 할당받은 서버(Server) : 서버가 여러개인 경우 응답받을 때까지 순차적 또는 모든 서비스에게 동시에 Request를 Broadcast
      • 중앙 집중의 장점 : 주소 해석의 구성, 관리, 제어에 용이
    2. 특별한 주소 해석 서버없이 Network 상의 각 컴퓨터가 자신의 주소 해석 요청에 응답
      : 컴퓨터가 Network 상으로 요청을 Broadcast, 주소 검사 후 Request가 컴퓨터의 주소와 일치할 경우 Response함
      • 분산계산의 이점 : 추가적 H/W및 서버의 유지 비용, 대형 Network에서 주소 해석 서버들의 병목적 현상(Deadlock) 발생 가능성
      • (p.294, 그림17.4) 세가지 방식의 주소 해석 비교

  • 주소 해석 프로토콜
    • TCP/IP는 세 가지 주소 해석 기법 모두 사용할 수 있음 : H/W에 의해 사용되는 주소 지정방법에 의존
      • Table Lookup : WAN을 통한 IP주소 해석
      • 폐쇄형 계산 : 구성가능 Network에서 사용
      • 메시지 교환 : 정적 주소 지정을 갖는 LAN H/W에 사용
        ⇒ TCP/IP는 주소 해석 프로토콜(Address Resolution Protocol : ARP)을 포함
    • ARP표준은 요청(Request)과 응답(Response)의 두 개의 기본 메시지 유형을 정의
    • 요청 메시지 : IP주소와 대응되는 H/W주소를 요청
    • 응답 메시지 : 요청에 보내진 IP주소와 H/W주소 모두를 포함
  • ARP 메시지 전달
    • ARP 표준안에서 Network을 통해 전송되는 방법을 명시
    • ARP 요청 메시지는 H/W 프레임에 위치해야 하고 Network 상 모든 컴퓨터로 Broadcasting
    • 각 Computer의 IP주소 검사
    • 지정된 컴퓨터의 응답 : 응답은 프레임에 위치되고 요청을 발생한 Computer로 직접 되돌려짐
      예) (p.295, 그림17.5) : Ethernet상 컴퓨터들에 의한 ARP교환

ARP 메시지 형식

  • ARP 표준안은 ARP 메시지에 대한 일반적인 형식 묘사
  • 임의의 물리 주소와 임의의 프로토콜 주소와의 Binding에 사용될 수 있음 (일반성) : ARP 메시지 시작부에 고정된 크기의 H/W주소와 프로토콜 주소의 주소 길이 필드 포함
  • 예) (p.297, 그림17.6) : IP(4byte)-Ethernet(6byte)주소 해석을 위해 사용되는 ARP 메시지 형식

    • IP 프로토콜 주소 (4 octet)를 해석할 때 이더넷 H/W상에서 사용된
      (물리주소 6 octet) 28 octet ARP 메시지 형식
    • H/W Address Type : 송신자가 대답을 찾는 것에 대한 H/W 인터페이스 유형. Ethernet은 1
    • Protocol Address Type : 송신자가 제공한 상위 레벨 프로토콜 주소의 유형, IP는  0x01000
    • HADDR LEN / PADDR LEN : H/W와 프로토콜 주소 각각의 길이(Byte 수)를 명시, 임의의 망에 사용될 수 있도록 해줌
    • Operation(동작) Field : 메시지가 ARP요청(1), ARP응답(2), PARP요청(3), RARP응답(4)를 명시
  • ARP 메시지 전송 (ARP 캡슐화)
    • 컴퓨터간 ARP 메시지의 전달은 H/W 프레임에 실려 운반됨
    • 캡슐화(Encapsulation) : 전송을 위해 ARP 메시지가 프레임의 데이터 부분에 위치시키는 것

  • ARP 프레임 식별
    • 프레임 헤더의 Type Field를 이용해 그 프레임이 ARP메세지를 포함하는지를 명시
    • 송신자는 적절한 값 헤더에 할당, 수신자 Network S/W는 각 프레임의 Type Field 조사
      예) Ethernet  표준안 : ARP메세지를 운반하는 이더넷 프레임의 Type Field는 0x01006
    • 이더넷은 ARP에 단일 Type값을 할당 : 요청과 응답의 구분은 Operation(동작)필드로 이루어짐

ARP  응답의 캐슁

  • 메시지 교환에 의한 주소 바인딩 방식의 비효율성(Broadcasting)
    : 각 ARP 전송을 위해 3개의 packet이 Network를 통해 전달(ARP Request, Response, Packer Deliver)
  • Network 트래픽 감소를 위해 (통신비용절감) 최근에 ARP를 이용해 얻어진 IP-물리주소 바인딩 내용을 버퍼(표)에 유지, 캐쉬로서 관리 ⇒ 각 항목은 응답이 도착할 때마다 갱신
  • 컴퓨터는 Network 사용 전 먼저 캐쉬탐색, 원하는 바인딩 찾을 경우 Broadcasting없이 이용. 없을 경우, ARP방송 후 응답, 캐쉬갱신

도착하는 ARP메시지 처리

  • ARP 도착시 수신자의 수행 두 가지 기본단계
    1. 송신자의 주소 바인딩추출 후 캐쉬검사 ⇒ 이전에 저장된 바인딩을 대치(Updating)하기 위해 들어오는 ARP메세지의 바인딩을 사용 : 송신자의 H/W주소 변경시 유용
    2. 수신자는 메시지가 요청/응답을 결정하기 위해 메시지의 Operation필드를 검사
      1. 응답메시지이면 수신자는 이전에 요청을 생성 ⇒ 바인딩을 기다림
      2. 요청 메시지이면 수신자는 TARGET PADDR필드와 지역 프로토콜 주소를 비교.  일치할 경우, 컴퓨터는 요청의 목표지이고 ARP응답을 보내야 함
        • 응답의 형성 : 들어온 메시지에서 송신자 및 목표지의 바인딩을 반대로 하고, SENDER HADDR필드에 H/W주소를 삽입하고, operation필드를 2로 변경
        • 송신자의 주소 바인딩 추출은 ARP성능을 최적화시킴
          : 대부분의 컴퓨터 통신은 2방향 통신으로 한 메시지가 한 컴퓨터로부터 다른 컴퓨터로 이동하면 응답이 다시 돌아올 확률이 높음
        • ARP요청의 목표지인 컴퓨터에서만 최적화가 수행
          : 주소 바인딩은 메모리를 요청하기 때문에 컴퓨터는 무한히 많은 수의 주소 바인딩을 저장할 수 없음

계층, 주소 해석, 프로토콜 주소

  • 주소 해석 : 네트워크 인터페이스 계층과 연관된 기능
  • 주소 해석 S/W : 물리적 주소지정의 세부사항을 감추고, 보다 상위 계층의 S/W가 프로토콜 주소지정을 사용하도록 허용(p.298, 그림17.9)

'네트워크 > ' 카테고리의 다른 글

Internat 계층 (ARP)  (0) 2008.06.22
Windows 2K / XP 에서 IP 포워딩 설정하기  (0) 2008.06.22
IPv6 최근 동향 및 전망  (0) 2008.06.22
IPv6 네트워크 고도화  (0) 2008.06.22
Network Address Translation (NAT)  (0) 2008.06.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크