ARP 캐시는 이더넷을 통해 IP를 통해 통신하는 모든 호스트에 한 형태 또는 다른 형태로 존재합니다. 캐시에는 IP 주소와 MAC(이더넷 미디어 액세스 제어) 주소 간의 매핑이 있습니다. SERVER-1이라는 호스트에서 이더넷 어댑터를 변경하거나 SERVER-1과 통신하는 로컬 이더넷 세그먼트의 모든 호스트를 최신/더 빠른 하드웨어로 교체하려면 ARP 캐시가 업데이트됩니다. SERVER-1은 모든 호스트를 업데이트해야 하는 무상 ARP 패킷을 보낼 수 있지만 이더넷이기 때문에 ARP 패킷이 손상되거나 그냥 떨어져 서 의존할 수 없습니다.
OpenVOS의 STCP 스택의 ARP 캐시 항목은 10분 동안 수명하며, 즉 10분 후에 자동적으로 삭제되며 다음에 패킷을 보내야 할 때 다시 추가됩니다. ARP 캐시를 표시하면 각 항목에 남은 시간이 표시됩니다. 따라서 최악의 시나리오는 SERVER-1을 변경한 후 이전(잘못된) 매핑이 만료되고 새 매핑이 추가되는 데 10분이 소요된다는 것입니다. 이 기간 동안 서버-1과의 통신은 불가능합니다.
arp -delete 명령으로 지정된 항목을 삭제할 수 있습니다. 그림 1은 MAC 주소와 수명 시간을 표시하는 arp 명령 인스턴스와 arp-delete 명령이 입력을 삭제하는 명령과 캐시에 더 이상 항목이 없음을 보여주는 arp 명령의 다른 인스턴스를 보여 줄 수 있습니다.
arp 192.168.50.5 인터넷 주소 MAC 주소 유형 수명 192.168.50.5 00-04-96-1F-67-0C temp 6 분 준비 14:01:30 arp -삭제 192.168.50.5 삭제된 192.168.50.5에 대한 매핑 준비 14:01:39 arp 192.168.50.5 arp: 192.168.50.5에 대한 매핑 없음 준비 완료 14:01:44 |
그림 1 – "arp" 및 "arp-delete" 명령 |
이전 TCP_OS 스택에는 ARP 캐시의 모든 항목을 삭제하는 arp-flush 명령이 있었습니다. 둘 이상의 항목을 삭제하는 항목이 두 개 이상 있는 경우 모든 항목을 삭제하는 것이 더 쉬울 수 있습니다(타이핑 이 적은). 항목이 자동으로 추가되므로 이 것의 유일한 단점은 네트워크의 몇 가지 추가 패킷과 첫 번째 패킷을 보내는 데 몇 가지 추가 지연입니다. 타이피스트의 관점에서 는 다운 사이드가 전혀 없습니다.
STCP 스택에는 플러시 옵션이 없습니다.
---------------------------------- arp --------------------------------- 호스트: -모두: 아니요 -네트워크: -삭제: 아니요 -세트: 없음 mac_addr: |
그림 2 – STCP Arp 명령 양식 |
그래서 나는 그것을 할 짧은 매크로 (그림 3)를 썼다. 매크로는 arp-all의 출력을 프로세스 디렉터리의 파일로 리디렉션한 다음 파일을 구문 분석하여 IP 주소를 추출하고 각 주소로 arp-delete를 호출합니다. 완료될 때까지 일부 항목이 다시 돌아올 것이지만 현재 매핑으로 모두 새로 고쳐집니다.
& arp_flush.cm은 여기에서 시작됩니다. & 및 버전 1.00 11-04-17 [email protected] & 그리고 이 스크립트는 각 항목을 개별적으로 삭제하여 arp 캐시를 지웁웁구입니다. 그리고 그것은 완료 될 때까지 일부 항목은 돌아올 것입니다. & & 이 소프트웨어는 보증 없이 "AS IS"기준으로 제공됩니다. 그리고 어떤 종류의 지원. 저자는 암시적 임의의 암시를 구체적으로 부인합니다. 특정 목적을 위해 가맹점 또는 적합성보증. 및 이 면책 조항은 임의의 구두 표현에도 불구하고 적용됩니다. 저자 또는 다른 사람이 제공하는 종류. & set_string 파일(process_dir)>arp_list attach_default_output 및 파일 및 arp -all detach_default_output 및 세트 라인 2 다시 라벨 및 세트 라인 (석고 & 라인 + 1) IP 및 set_string (서브스트스트 (내용 및 FILE & LINE & 홀드) 1 16) & if (end_of_file & FILE&) = 1 & 다음 및 반환 &if (길이 X&IP&) = 1 & 다음 & 반환 arp -삭제 및 IP 및 고토 다시 & & arp_flush.cm는 여기에서 끝납니다. |
그림 3 – arp_flush 명령 매크로 |
그림 4는 arp 캐시에 무엇이 있는지 확인하기 위해 arp -all arp -all 명령의 인스턴스를 보여 주며 arp_flush 매크로를 실행한 다음 arp-all의다른 인스턴스가 뒤따릅니다. 나는 필요한 공간을 줄이기 위해 첫 번째 arp -all 및 arp_flush 출력에서 라인의 대부분을 제거했다.
arp -all 인터넷 주소 MAC 주소 유형 수명 10.10.1.200 00-90-E8-1F-4B-EA temp 8분 192.168.50.1 00-04-96-19-0B-20 temp 10 분 192.168.50.4 00-04-96-35-3F-B5 temp 1분 192.168.50.2 00-04-96-20-C7-EC temp 4분 192.168.50.19 00-0C-29-6B-CA-AE temp 6분 192.168.50.21 00-23-54-79-C5-81 temp 7분 . . . . . 192.168.51.252 00-50-56-BB-4D-8C temp 5분 192.168.51.253 00-0C-29-86-AD-CC 온도 3분 준비 13:46:14 arp_flush 삭제된 10.10.1.200에 대한 매핑 삭제된 192.168.50.1에 대한 매핑 삭제된 192.168.50.4에 대한 매핑 삭제된 192.168.50.2에 대한 매핑 192.168.50.19에 대한 매핑 삭제 192.168.50.21에 대한 매핑 삭제 . . . . . . . 192.168.51.252에 대한 매핑 삭제 192.168.51.253에 대한 매핑 삭제 준비 13:46:23 arp -all 인터넷 주소 MAC 주소 유형 수명 192.168.50.2 00-04-96-20-C7-EC 온도 10분 192.168.51.4 00-04-FC-01-02-3E temp 10분 192.168.51.11 00-00-A8-80-80-4A temp 10분 192.168.51.49 00-50-56-46-08-2C 온도 10분 192.168.51.50 00-23-54-52-18-6E temp 10분 192.168.51.76 00-23-54-52-1B-F5 temp 10분 192.168.51.100 00-0C-29-A9-85-44 temp 10분 192.168.51.128 00-00-A8-43-52-22 temp 10분 192.168.51.158 00-26-B9-BC-B7-37 temp 10분 192.168.51.180 5C-26-0A-06-BD-29 temp 10분 192.168.51.203 00-00-A8-C0-86-A1 온도 10분 준비 13:46:27 |
그림 4 – arp_flush 명령 매크로 실행 |