arp

Autres langues

Langue: ja

Version: 1999-06-03 (openSuse - 09/10/07)

Autres sections - même nom

Section: 7 (Divers)

̾Á°

arp - Linux ARP ¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë

ÀâÌÀ

¤³¤Î¥«¡¼¥Í¥ë¥×¥í¥È¥³¥ë¥â¥¸¥å¡¼¥ë¤Ï¡¢ RFC 826 ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë Address Resolution Protocol ¤ò ¼ÂÁõ¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ ARP ¤Ï¡¢¥À¥¤¥ì¥¯¥È¤ËÀܳ¤µ¤ì¤¿¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ç¡¢ Âè 2 ÁؤΥϡ¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤òIPv4 ¥×¥í¥È¥³¥ë¥¢¥É¥ì¥¹¤Ë ÊÑ´¹¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£¥æ¡¼¥¶¡¼¤ÏÀßÄê¤Î¾ì¹ç¤ò½ü¤¤¤Æ Ä̾ïľÀܤ³¤Î¥â¥¸¥å¡¼¥ë¤Ë´Ø¤ë¤³¤È¤Ï¤Ê¤¤¡£ ¤³¤ì¤Ï¥«¡¼¥Í¥ëÆâÉô¤Î¾¤Î¥×¥í¥È¥³¥ë¤Ë¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£

¥æ¡¼¥¶¡¼¥×¥í¥»¥¹¤Ï¡¢ packet(7) ¥½¥±¥Ã¥È¤òÍѤ¤¤ì¤Ð ARP ¥Ñ¥±¥Ã¥È¤ò¼õ¿®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ARP ¥­¥ã¥Ã¥·¥å¤ò¥æ¡¼¥¶¡¼¶õ´Ö¤Ç´ÉÍý¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤³¤ì¤Ë¤Ï netlink(7) ¤òÍѤ¤¤ë¡£ ARP ¥Æ¡¼¥Ö¥ë¤âÀ©¸æ²Äǽ¤Ç¡¢¤³¤ì¤Ë¤ÏǤ°Õ¤Î PF_INET ¥½¥±¥Ã¥È¤Ë ioctl(2) ¤òÍѤ¤¤ë¡£

ARP ¥â¥¸¥å¡¼¥ë¤Ï¥Ï¡¼¥É¥¦¥§¥¢¥¢¥É¥ì¥¹¤«¤é¥×¥í¥È¥³¥ë¥¢¥É¥ì¥¹¤Ø¤Î ¥Þ¥Ã¥Ô¥ó¥°¤Î¥­¥ã¥Ã¥·¥å¤ò´ÉÍý¤¹¤ë¡£¥­¥ã¥Ã¥·¥å¤ÎÂ礭¤µ¤Ë¤ÏÀ©¸Â¤¬ ¤¢¤ë¤Î¤Ç¡¢¸Å¤¤¥¨¥ó¥È¥ê¤äÍøÍѤµ¤ì¤Ê¤¤¥¨¥ó¥È¥ê¤Ï¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥È ¤µ¤ì¤ë¡£ permanent (Êݸ) ¥Þ¡¼¥¯¤¬¤Ä¤±¤é¤ì¤¿¥¨¥ó¥È¥ê¤Ï¡¢ ·è¤·¤Æ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤Ë¤è¤Ã¤Æ¾Ãµî¤µ¤ì¤Ê¤¤¡£ ioctl ¤òÍѤ¤¤ì¤Ð¥­¥ã¥Ã¥·¥å¤òľÀÜÁàºî¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤Þ¤¿°Ê²¼¤ËÄêµÁ¤·¤Æ¤¤¤ë¤è¤¦¤Ê sysctl ¤òÍѤ¤¤ì¤Ð ¥­¥ã¥Ã¥·¥å¤Î¿¶¤ëÉñ¤¤¤òÊѹ¹¤Ç¤­¤ë¡£

¸ºß¤·¤Æ¤¤¤ë¥Þ¥Ã¥Ô¥ó¥°¤ËÂФ·¤Æ¡¢ Àµ¤Î¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤¬°ìÄê»þ´Ö¤Ê¤¤ (°Ê²¼¤Î sysctl ¤ò¸«¤è) ¤È¡¢ ¶á˵¥­¥ã¥Ã¥·¥å¥¨¥ó¥È¥ê (neighbour cache entry) ¤Ï ¸Å¤¯¤Ê¤Ã¤¿ (stale) ¤È¤ß¤Ê¤µ¤ì¤ë¡£ Àµ¤Î¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤Ï¹â°Ì¤Î¥ì¥¤¥ä¡¼¤«¤é¤â¼èÆÀ¤Ç¤­¤ë (Î㤨¤Ð TCP ACK ¤¬À®¸ù¤·¤¿¾ì¹ç¤Ê¤É)¡£ ¾¤Î¥×¥í¥È¥³¥ë¤Ï¡¢ sendmsg(2) ¤Ë MSG_CONFIRM ¥Õ¥é¥°¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¥Õ¥©¥ï¡¼¥É¥×¥í¥°¥ì¥¹ (forward progress) ¤ò¥·¥°¥Ê¥ë¤Ç¤­¤ë¡£ ¥Õ¥©¥ï¡¼¥É¥×¥í¥°¥ì¥¹¤¬¤Ê¤±¤ì¤Ð¡¢ ARP ¤ÏºÆ¤Ó¥×¥í¡¼¥Ö¤ò»î¤ß¤ë¡£ ¤Þ¤º¥í¡¼¥«¥ë¤Ê arp ¥Ç¡¼¥â¥ó¤ËÌä¹ç¤ï¤»¤ò¹Ô¤¤¡¢ ¹¹¿·¤µ¤ì¤¿ MAC ¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤è¤¦¤È¤¹¤ë¡£ ¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ë app_solicit ²ó¼ºÇÔ¤¹¤ë¤È¡¢¸Å¤¤ MAC ¥¢¥É¥ì¥¹¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ unicast ¤Î¥×¥í¡¼¥Ö¤¬ ucaset_solicit ²óÁ÷¤é¤ì¤ë¡£¤³¤ì¤Ë¤â¼ºÇÔ¤¹¤ë¤È¡¢¿·¤·¤¤ ARP ¥ê¥¯¥¨¥¹¥È ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤¹¤ë¡£ ¥ê¥¯¥¨¥¹¥È¤Ï¡¢¥Ç¡¼¥¿¤¬Á÷¿®¥­¥å¡¼¤Ë¤Ê¤±¤ì¤ÐÁ÷¤é¤ì¤Ê¤¤¡£

Linux ¤Ï¡¢¤¢¤ë¥¢¥É¥ì¥¹¤Ø¤Î¥ê¥¯¥¨¥¹¥È¤ò¼õ¿®¡¦¥Õ¥©¥ï¡¼¥É¤·¡¢ ¼õ¿®¤·¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÇÂåÍý arp ¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¼«Æ°Åª¤Ë¤½¤Î¥¢¥É¥ì¥¹¤ò non-permanent ¤ÊÂåÍý arp ¥¨¥ó¥È¥ê¤ËÄɲ乤롣 ¤½¤Î¥¿¡¼¥²¥Ã¥È¤Ë reject route ¤¬¤¢¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ ÂåÍý arp ¥¨¥ó¥È¥ê¤Ï°ìÀÚÄɲ䵤ì¤Ê¤¤¡£

ioctl

¤¹¤Ù¤Æ¤Î PF_INET ¥½¥±¥Ã¥È¤Ç¤Ï¡¢ 3 ¤Ä¤Î ioctl ¤¬»ÈÍѤǤ­¤ë¡£ ¤³¤ì¤é¤Ï struct arpreq ¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò°ú¿ô¤Ë¼è¤ë¡£

struct arpreq {

    struct sockaddr arp_pa;       /* protocol address */

    struct sockaddr arp_ha;       /* hardware address */

    int             arp_flags;    /* flags */

    struct sockaddr arp_netmask;  /* netmask of protocol address */

    char            arp_dev[16];

};

SIOCSARP, SIOCDARP, SIOCGARP ¤Ï¡¢¤½¤ì¤¾¤ì ARP ¥Þ¥Ã¥Ô¥ó¥°¤òÀßÄꡦºï½ü¡¦¼èÆÀ¤¹¤ë¡£ ARP ¥Þ¥Ã¥×¤ÎÀßÄê¤Èºï½ü¤ÏÆø¢¤¬É¬ÍפÊÁàºî¤Ç¤¢¤ê¡¢ CAP_NET_ADMIN ¸¢¸Â¤ò»ý¤Ä¥×¥í¥»¥¹¤«¡¢¼Â¹Ô¥æ¡¼¥¶¡¼ ID ¤¬ 0 ¤Î¥×¥í¥»¥¹ ¤Ç¤Ê¤±¤ì¤Ð¼Â¹Ô¤Ç¤­¤Ê¤¤¡£

arp_pa ¤Ï AF_INET ¥½¥±¥Ã¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ arp_ha ¤Ï arp_dev ¤ÇÀßÄꤵ¤ì¤¿¥Ç¥Ð¥¤¥¹¤ÈƱ¤¸¥¿¥¤¥×¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ arp_dev ¤Ï¥Ç¥Ð¥¤¥¹¤Î̾Á°¤ò¼¨¤¹¡¢¥¼¥í¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ç¤¢¤ë¡£

arp_flags
¥Õ¥é¥° °ÕÌ£
ATF_COM »²¾È´°Î»
ATF_PERM ¥¨¥ó¥È¥ê¤ò peramanent ¤Ë¤¹¤ë
ATF_PUBL ¥¨¥ó¥È¥ê¤ò publish ¤¹¤ë
ATF_USETRAILERS trailer ¤¬É¬Í×
ATF_NETMASK netmask ¤òÍѤ¤¤ë
ATF_DONTPUB ²óÅú¤·¤Ê¤¤

ATF_NETMASK ¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¤Ï¡¢ arp_netmask ¤¬Í­¸ú¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ Linux 2.2 ¤ÏÂåÍý¥Í¥Ã¥È¥ï¡¼¥¯ ARP ¥¨¥ó¥È¥ê¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ ¤³¤ì¤Ï 0xffffffff ¤Ë¥»¥Ã¥È¤·¤Æ¤ª¤¯¤«¡¢¤¢¤ë¤¤¤Ï ¸½Â¸¤ÎÂåÍý arp ¥¨¥ó¥È¥ê¤òºï½ü¤·¤¿¤¤¾ì¹ç¤Ë¤Ï 0 ¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£ ATF_USETRAILERS ¤Ï obsolete ¤Ê¤Î¤Ç¡¢ÍѤ¤¤ë¤Ù¤­¤Ç¤Ê¤¤¡£

sysctl

ARP ¤Ç¤Ï¡¢¥°¥í¡¼¥Ð¥ë¤Ê¥Ñ¥é¥á¡¼¥¿¤ä¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤´¤È¤Î¥Ñ¥é¥á¡¼¥¿¤ò sysctl ¤òÄ̤·¤ÆÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤ì¤é¤Î sysctl ¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢ proc/sys/net/ipv4/neigh/*/* ¥Õ¥¡¥¤¥ë¤òÆɤ߽ñ¤­¤¹¤ëÊýË¡¤È¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ËÂФ·¤Æ sysctl(2) ¤òÍѤ¤¤ëÊýË¡¤¬¤¢¤ë¡£ ¥·¥¹¥Æ¥à¤Ë¤¢¤ë¤½¤ì¤¾¤ì¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ï¡¢ ¤½¤ì¤¾¤ìÂбþ¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬ /proc/sys/net/ipv4/neigh/ °Ê²¼¤Ë¤¢¤ë¡£ `default' ¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤ÆÀßÄê¤ò¤¹¤ë¤È¡¢ ¤½¤ì°Ê¹ßÀ¸À®¤µ¤ì¤ë¥Ç¥Ð¥¤¥¹Á´¤Æ¤ËÂФ·¤Æ¤½¤ÎÀßÄ꤬ÍѤ¤¤é¤ì¤ë¡£ Æä˻ØÄ꤬¤Ê¤±¤ì¤Ð¡¢ »þ´Ö¤Ë´Ø¤ë sysctl ¤Îñ°Ì¤ÏÉäǤ¢¤ë¡£
anycast_delay
IPv6 ¤Î¶á˵Í×ÀÁ¥á¥Ã¥»¡¼¥¸ (neighbour soliciation message) ¤Ë±þÅú¤¹¤ë¤Þ¤Ç¤ÎºÇÂçÃÙ±ä»þ´Ö (jiffy ñ°Ì)¡£ anycast ¤Î¥µ¥Ý¡¼¥È¤Ï¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 1 Éá£
app_solicit
¥æ¡¼¥¶¡¼¶õ´Ö¤Î ARP ¥Ç¡¼¥â¥ó¤Ë netlink ¤òÍѤ¤¤Æõº÷¤µ¤»¤ëºÇÂç²ó¿ô¡£ ¤³¤ì¤ò±Û¤¨¤ë¤È¥Þ¥ë¥Á¥­¥ã¥¹¥È¤Ë¤è¤ëõº÷¤Ë°Ü¹Ô¤¹¤ë (mcast_solicit ¤ò¸«¤è)¡£
base_reachable_time
¶á˵¤Î¥Û¥¹¥È¤¬¤ß¤Ä¤«¤ë¤È¡¢¤½¤Î¥¨¥ó¥È¥ê¤Ï base_reachable_time/2 ¤«¤é 3*base_reachable_time/2 ¤Î´Ö¤Î¥é¥ó¥À¥à¤ÊÃͤλþ´Ö¡¢Í­¸ú¤Ç¤¢¤ë¤È¤ß¤Ê¤µ¤ì¤ë¡£ ¥¨¥ó¥È¥ê¤ÎÍ­¸úÀ­¤Ï¡¢¹â°Ì¤Î¥×¥í¥È¥³¥ë¤«¤é¥Ý¥¸¥Æ¥£¥Ö¤Ê¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤ò ¼õ¤±¼è¤ë¤È±äŤµ¤ì¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï 30 Éá£
delay_first_probe_time
¶á˵¥Û¥¹¥È¤Î¥¨¥ó¥È¥ê¤¬¸Å¤¯¤Ê¤Ã¤¿¤ÈȽÃǤµ¤ì¤¿¸å¤Ë ºÇ½é¤Ëõº÷¤ò¹Ô¤¦¤Þ¤Ç¤ÎÃÙ±ä»þ´Ö¡£¥Ç¥Õ¥©¥ë¥È¤Ï 5 Éá£
gc_interval
¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤ò¶á˵¥Û¥¹¥È¥¨¥ó¥È¥ê¤ËÂФ·¤Æ¼Â¹Ô¤µ¤»¤ëÉÑÅÙ¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 30 Éá£
gc_stale_time
¸Å¤¯¤Ê¤Ã¤¿¶á˵¥Û¥¹¥È¥¨¥ó¥È¥ê¤ËÂФ·¤Æ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ÉÑÅÙ¡£ ¶á˵¥Û¥¹¥È¥¨¥ó¥È¥ê¤¬¸Å¤¯¤Ê¤Ã¤¿¤È¤ß¤Ê¤µ¤ì¤ë¤È¡¢¤½¤Î¥¨¥ó¥È¥ê¤Ë ¥Ç¡¼¥¿¤òÁ÷¤ëÁ°¤Ë¤ÏºÆÅÙ²ò·è¤¬¹Ô¤ï¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 60 Éá£
gc_thresh1
ARP ¥­¥ã¥Ã¥·¥å¤ËÊݸ¤¹¤ë¥¨¥ó¥È¥ê¿ô¤ÎºÇ¾®ÃÍ¡£ ¤³¤Î¿ô¤è¤ê¾¯¤Ê¤¤¥¨¥ó¥È¥ê¤·¤«¥­¥ã¥Ã¥·¥å¤Ë¤Ê¤±¤ì¤Ð¡¢ ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 128¡£
gc_thresh2
ARP ¥­¥ã¥Ã¥·¥å¤ËÊݸ¤µ¤ì¤ë¥¨¥ó¥È¥ê¿ô¤Î¥½¥Õ¥È¤ÊºÇÂçÃÍ¡£ ¥­¥ã¥Ã¥·¥å¤Î¥¨¥ó¥È¥ê¤¬¤³¤Î¿ô¤ò 5 Éôֱۤ¨¤Ä¤Å¤±¤ë¤È¡¢ ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤¬¼Â¹Ô¤µ¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 512¡£
gc_thresh3
ARP ¥­¥ã¥Ã¥·¥å¤ËÊݸ¤µ¤ì¤ë¥¨¥ó¥È¥ê¿ô¤Î¥Ï¡¼¥É¤ÊºÇÂçÃÍ¡£ ¥­¥ã¥Ã¥·¥å¤Î¥¨¥ó¥È¥ê¤¬¤³¤Î¿ô¤ò±Û¤¨¤ë¤È¡¢ ¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥¿¤Ï¤¿¤À¤Á¤Ë¼Â¹Ô¤µ¤ì¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 1024¡£
locktime
ARP ¥¨¥ó¥È¥ê¤ò¥­¥ã¥Ã¥·¥å¤ËÊݸ¤¹¤ë»þ´Ö¤ÎºÇ¾®ÃÍ (jiffy ñ°Ì)¡£ ²ÄǽÀ­¤Î¤¢¤ë¥Þ¥Ã¥Ô¥ó¥°¤¬°ì¤Ä°Ê¾å¤¢¤ë (¤¿¤¤¤Æ¤¤¤Ï¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê¤Î¥ß¥¹) ¾ì¹ç¤Ë¡¢ ARP ¥­¥ã¥Ã¥·¥å¤Î¥¹¥é¥Ã¥·¥ó¥°¤¬µ¯¤­¤ë¤³¤È¤òËɤ°¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 1 Éá£
mcast_solicit
¥¨¥ó¥È¥ê¤ò unreachable ¥Þ¡¼¥¯¤¹¤ëÁ°¤Ë¡¢ ¥¢¥É¥ì¥¹¤ò¥Þ¥ë¥Á¥­¥ã¥¹¥È/¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤Ç²ò·è¤·¤è¤¦¤È¤¹¤ë »î¹Ô²ó¿ô¤ÎºÇÂçÃÍ¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 3¡£
proxy_delay
´ûÃΤÎÂåÍý ARP ¥¢¥É¥ì¥¹¤ËÂФ·¤Æ ARP ¥ê¥¯¥¨¥¹¥È¤ò¼õ¿®¤·¤¿¾ì¹ç¤Ë¡¢ ±þÅúÁ°¤ËºÇÂç proxy_delay jiffy ¤Þ¤ÇÃٱ䤹¤ë¡£¤³¤ì¤Ï¾ì¹ç¤Ë¤è¤Ã¤ÆÀ¸¤¸¤ë ¥Í¥Ã¥È¥ï¡¼¥¯¡¦¥Õ¥é¥Ã¥Ç¥£¥ó¥° (network flooding) ¤òÈò¤±¤ë¤¿¤á¤ËÍѤ¤¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 0.8 Éá£
proxy_qlen
ÂåÍý ARP ¥¢¥É¥ì¥¹¤ËÂФ·¤Æ¥­¥å¡¼¥¤¥ó¥°¤Ç¤­¤ëºÇÂç¤Î¥Ñ¥±¥Ã¥È¿ô¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 64¡£
retrans_time
¥ê¥¯¥¨¥¹¥È¤òºÆÅÙÁ÷¤ë¤Þ¤Ç¤ÎÃÙ±ä»þ´Ö (jiffy ñ°Ì)¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 1 Éá£
ucast_solicit
ARP ¥Ç¡¼¥â¥ó¤Ø¤ÎÌ䤤¹ç¤ï¤»¤ò¹Ô¤¦Á°¤Ë¹Ô¤¦ unicast õº÷¤ÎºÇÂç»î¹Ô¿ô (app_solicit ¤ò¸«¤è)¡£¥Ç¥Õ¥©¥ë¥È¤Ï 3¡£
unres_qlen
²ò·è¤µ¤ì¤Æ¤¤¤Ê¤¤¥¢¥É¥ì¥¹¤ËÂФ·¤Æ¡¢ ¾¤Î¥Í¥Ã¥È¥ï¡¼¥¯Áؤ«¤é¥­¥å¡¼¥¤¥ó¥°¤Ç¤­¤ëºÇÂç¥Ñ¥±¥Ã¥È¿ô¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï 3¡£

¥Ð¡¼¥¸¥ç¥ó

Linux 2.0 ¤Ç¡¢ struct arpreq ¤Ë arp_dev ¥á¥ó¥Ð¡¼¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤ËÊѹ¹¤¬¤¢¤Ã¤¿¡£¤Þ¤¿Æ±»þ¤Ë ioctl ÈÖ¹æ¤âÊѹ¹¤µ¤ì¤¿¡£¸Å¤¤ ioctl ¤Ï Linux 2.2 ¤ÇÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£

¥Í¥Ã¥È¥ï¡¼¥¯¤ËÂФ¹¤ëÂåÍý arp ¥¨¥ó¥È¥ê (netmask ¤¬ 0xffffffff ¤Ç¤Ê¤¤) ¤Ï¡¢ Linux 2.2 ¤ÇÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£ ¤³¤ì¤Ï¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ë¡¢Ê̤Υ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤ª¤±¤ë Åþã²Äǽ¤Ê¤¹¤Ù¤Æ¤Î¥Û¥¹¥È¤ËÂФ¹¤ë¼«Æ°ÂåÍý arp ¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤¿ (¤½¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¥Õ¥©¥ï¡¼¥Ç¥£¥ó¥°¤ÈÂåÍý arp ¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç)¡£

³Æ neigh/* sysctl ¤Ï Linux 2.2 °ÊÁ°¤Ë¤Ï¸ºß¤·¤Ê¤¤¡£

¥Ð¥°

¥¿¥¤¥Þ¡¼ÀßÄê¤Ë¡¢¥¢¡¼¥­¥Æ¥¯¥Á¥ã°Í¸¤Ê jiffy ¤òÍѤ¤¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ë¡£ Alpha ¤Ç¤Ï jiffy ¤Ï 1/1024 ÉäǤ¢¤ê¡¢¤½¤Î¾¤Î¿¤¯¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï 1/100 ÉäǤ¢¤ë¡£

¥æ¡¼¥¶¡¼¶õ´Ö¤«¤é¥Ý¥¸¥Æ¥£¥Ö¤Ê¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤òÁ÷¤ëÊýË¡¤¬Â¸ºß¤·¤Ê¤¤¡£ ¤Ä¤Þ¤êÀܳ»Ø¸þ (connection oriented) ¤Î¥×¥í¥È¥³¥ë¤ò¥æ¡¼¥¶¡¼¶õ´Ö¤Ç ¼ÂÁõ¤¹¤ë¤È¡¢Í¾·×¤Ê ARP ¥È¥é¥Õ¥£¥Ã¥¯¤Î¸¶°ø¤È¤Ê¤ë¡£ ¤Ê¤¼¤Ê¤é ndisc ¤ÏÄê´üŪ¤Ë MAC ¥¢¥É¥ì¥¹¤òºÆõº÷¤¹¤ë¤«¤é¤Ç¤¢¤ë¡£ ƱÍͤÎÌäÂê¤Ï¤¤¤¯¤Ä¤«¤Î¥«¡¼¥Í¥ë¥×¥í¥È¥³¥ë (NFS over UDP ¤Ê¤É) ¤Ë¤â¸ºß¤¹¤ë¡£

¤³¤Î man ¥Ú¡¼¥¸¤Ç¤Ï IPv4 ÆÃÍ­¤Îµ¡Ç½¤È IPv4¡¦IPv6 ¤Ç¶¦Í­¤µ¤ì¤ëµ¡Ç½¤È¤¬¤´¤Ã¤Á¤ã¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£

´ØÏ¢¹àÌÜ

capabilities(7), ip(7)

RFC 826: ARP ¤Ë´Ø¤¹¤ëÀâÌÀ
RFC 2461: IPv6 neighbour discovery ¤Ë´Ø¤¹¤ëÀâÌÀ¤È¡¢ ÍøÍѤµ¤ì¤Æ¤¤¤ë´ðÁÃ¥¢¥ë¥´¥ê¥º¥à

Linux 2.2 °Ê¹ß¤Î IPv4 ARP ¤Ï¡¢ ²Äǽ¤Ê¾ì¹ç¤Ï IPv6 ¤Î¥¢¥ë¥´¥ê¥º¥à¤òÍѤ¤¤ë¡£