이번시간엔 ARP가 네트위크의 속도를 향상시키기 위해서 어떠한 기능들을 제공하는지에 대해서 알아보도록 하겠습니다.


 


 


- 네트워크를 위한 ARP의 속도 향상 방법


 


ARP의 기본적인 기능은 지난시간에 설명해드린것과 같이 목적지 호스트의 하드웨어 주소를 알아내는 것입니다. 하지만 ARP 프로세스는 기본적으로 브로트캐스트를 기반으로 하는 특성때문에 발생하는 네트워크의 부하는 어쩔수 없는 것이라고 하였습니다. ARP는 이런 브로드캐스트로 발생하는 부하는 줄이기 위해서 여러가지 기능을 제공합니다.


그 첫번째가 바로 ARP Cache입니다.


 


1) ARP Cache


 


ARP Request를 통하여 얻은 하드웨어 주소는 다음에 또 사용할 수 있으므로 ARP Cache Table에 일정시간 동안 저장하게 됩니다. 그리고 다음에 데이터를 보낼 때에는 ARP Cache를 검사하여 있으면 브로드캐스트를 하지 않고 원하는 주소에 바로 보낼수 있게됩니다. 이렇게 되면 브로드캐스트가 줄어들기때문에 네트워크의 부하가 적어지고 성능이 향상되게 되는 것이지요~ ^^;


이미지를 클릭하면 원본을 보실 수 있습니다.


위 그림은 제가 가지고 있는 ARP Cache Table입니다. 현제 저의 ARP Cache Table에는 2개의 entry가 존재하는게 보이죠? 각각에 대한 설명은 다음과 같습니다.


 


* Interface : 192.168.100.222는 현재 자신의 랜카드에 할당되어 있는 IP 주소입니다.

 

* Internet Address : 현제 ARP Cache Table에 저장되어 있는 IP 주소들입니다.

 

* Physical Address : 저장되어 있는 주소의 물리적 주소값, 즉 MAC Address를 나타냅니다..

 

* Type : 매핑이 Dynamic(동적)인지 Static(정적)인지를 나타냅니다.

 

 

그런데 왜 ARP Cache Table에 일정시간동안 저장하는 것일까요?

그럼 ARP Cache의 저장시간을 기본기간보다 짧게, 또는 길게 설정하면 어떤일이 일어날까요?

 

짧게 설정하는 경우 : 설정값이 짧으면 네트워크의 호스트들이 지속적으로 ARP Cache Table의 Entry를 교체하게 되고 이로써 많은 Broadcast를 전송하게 되고 네트워크의 성능은 떨어지게 됩니다.

 

길게 성정하는 경우 : 어떤 호스트에 다른 IP 주소가 할당될 때 마다 ARP Cache Table에 이전의 하드퉤어 주소가 남아있어서 문제를 일으키게 됩니다.

 

결론적으로는 일정 시간 동안 저장하게 되는 이유는 호스트의 IP 주소 변경, 혹은 NIC의 교체 등과 같이 IP 주소와 하드웨어 주소의 바인딩 정보가 변경되었을 경우 기존의 ARP Cache Table에 저장된 정보로 통신을 하게 될 경우 통신의 안되는 상황이 발생할 수 있기때문 입니다.

 

그러므로 ARP Cache Table에 저장된 Entry는 일정 시간이 지나게 되면 지워지는 것입니다. 이것을 Life Time이라고 하고, ARP Cache에 Entry는 유닉스의 경우 20분, 윈도우 95, 윈도우 2000 및 윈도우 서버 2003의 경우 기본적으로 2분이며, 2분 이내 다시 사용될 경우 2분씩 증가하여 최대 10분 까지 저장되게 됩니다.




2) ARP Refinement


 


성능 향상을 위한 또 다른 기능은 다른 호스트들의 ARP Request에 담겨있는 호스트의 IP 주소와 하드웨어 주소를 참조하여 자신의 ARP Cache Table에 저장하는 방법입니다. ARP Request는 브로트캐스트를 이용하며, 메세지 안에는 Sender의 IP 주소와 MAC Address가 들어 있으므로 ARP Request 메세지를 받은 모든 호스트들은 Sender의 IP 주소와 MAC Address를 저장하게 됩니다. 이렇게 되면 다음 번에 데이터를 보낼때 브로드캐스트의 횟수를 줄여 네트워크의 성능향샹을 바랄수 있겠지요? ^^

 

 

 

3) Static Entry


 


Static Entry는 ARP Cache Table에 고정으로 IP주소와 하드웨어 주소(MAC Address)를 맵핑하는 방법입니다. 따라서 ARP Cache의 Life Time이 존재하지 않습니다. 그러나 Static Entry는 시스템이 자주 이전되거나 시스템의 주소가 자주 바뀌는 관리하기 어렵다는 단점이 있어서 실무에서는 거의 쓰이지 않는 방법입니다.


 


이미지를 클릭하면 원본을 보실 수 있습니다.


위 그림에서 IP : 192.168.100.123, MAC : FF-FF-FF-FF-FF-FF 의 Entry가 static으로 추가 된것을 볼 수 있습니다.


 


여기까지 ARP가 성능을 향상 시키기 위해서 열~~씨미~(^^;)노력하는 과정을 살펴봤구요..


아래는 ARP의 도움말 입니다.


 


참고 하셔서 자신의 PC에 ARP Cache Table이 어떻게 생겨있는지 살펴보시고..이것저것 해보세요~


 


이미지를 클릭하면 원본을 보실 수 있습니다.


<Window XP 도움말>


 


ARP(Address Resolution Protocol) 캐시 항목을 표시하고 수정합니다. ARP 캐시에는 IP 주소와 확인된 이더넷 또는 토큰 링 실제 주소를 저장하는 데 사용되는 하나 이상의 테이블이 있습니다. 컴퓨터에 설치된 각각의 이더넷 또는 토큰 링 네트워크 어댑터에 대한 별도의 테이블이 있습니다. 매개 변수 없이 사용하면 arp는 도움말을 표시합니다.


 


[구문]
arp [-a [InetAddr] [-N IfaceAddr]]


      [-g [InetAddr] [-N IfaceAddr]]


      [-d InetAddr [IfaceAddr]]


      [-s InetAddr EtherAddr [IfaceAddr]]


 


[매개 변수]
-a [InetAddr] [-N IfaceAddr]
모든 인터페이스에 대한 현재의 ARP 캐시 테이블을 표시합니다. 특정 IP 주소에 대한 ARP 캐시 항목을 표시하려면 InetAddr 매개 변수와 함께 arp -a를 사용합니다. 여기서 InetAddr은 IP 주소입니다. 특정 인터페이스에 대한 ARP 캐시 테이블을 표시하려면 -N IfaceAddr 매개 변수를 사용합니다. 여기서 IfaceAddr은 인터페이스에 할당된 IP 주소입니다. -N 매개 변수는 대소문자를 구분합니다.


-g [InetAddr] [-N IfaceAddr]


-a와 같습니다.


-d InetAddr [IfaceAddr]
특정 IP 주소로 된 항목을 삭제합니다. 여기서 InetAddr은 IP 주소입니다. 테이블에서 특정 인터페이스에 대한 항목을 삭제하려면 IfaceAddr 매개 변수를 사용합니다. 여기서 IfaceAddr은 인터페이스에 할당된 IP 주소입니다. 모든 항목을 삭제하려면 InetAddr 대신 와일드 카드 문자인 별표(*)를 사용합니다.


-s InetAddr EtherAddr [IfaceAddr]
IP 주소 InetAddr을 실제 주소 EtherAddr로 확인하는 ARP 캐시에 고정 항목을 추가합니다. 테이블에 특정 인터페이스에 대한 고정 ARP 캐시 항목을 추가하려면 IfaceAddr 매개 변수를 사용합니다. 여기서 IfaceAddr은 인터페이스에 할당된 IP 주소입니다.


/?
명령 프롬프트에서 도움말을 표시합니다.


[설명]
InetAddr과 IfaceAddr의 IP 주소는 점으로 구분된 10진수 표시법으로 표시됩니다.
EtherAddr의 실제 주소는 16진수 표시법으로 표시되고 하이픈으로 구분되는 6바이트로 구성됩니다.


(예: 00-AA-00-4F-2A-9C)



-s 매개 변수로 추가된 항목은 고정 항목이며 ARP 캐시 시간 제한을 초과하지 않습니다. TCP/IP 프로토콜을 중단했다가 다시 시작하면 항목이 제거됩니다. 영구 고정 ARP 캐시 항목을 만들려면 적절한 arp 명령을 배치 파일에 넣고 예약된 작업을 사용하여 시작할 때 배치 파일을 실행합니다.
이 명령은 인터넷 프로토콜 (TCP/IP)이 네트워크 연결의 네트워크 어댑터 속성의 구성 요소로 설치된 경우에만 사용할 수 있습니다.


[예제]
- 모든 인터페이스에 대한 ARP 캐시 테이블을 표시하려면 다음과 같이 입력합니다.


ㄱ.arp -a


- IP 주소 10.0.0.99에 할당된 인터페이스에 대한 ARP 캐시 테이블을 표시하려면 다음과 같이 입력합니다.


ㄴ.arp -a -N 10.0.0.99


- IP 주소 10.0.0.80을 실제 주소 00-AA-00-4F-2A-9C로 확인하는 고정 ARP 캐시 항목을 추가하려면 다음과 같이 입력합니다.


ㄷ.arp -s 10.0.0.80 00-AA-00-4F-2A-9C

arp 캐쉬에 대해

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다