Provided by: manpages-pl_20060617-4_all bug

NAZWA

       arp - modul ARP jdra Linuksa

OPIS

       Ten   modul   protokolu   w   jdrze   zawiera   implementacj  protokolu
       rozpoznawania adresow (ang. Address Resolution Protocol) zdefiniowanego
       w  RFC 826.  Sluy on do przeksztalcania adresow sprztowych warstwy 2 na
       adresy protokolu IPv4 w sieciach  o  bezporednim  polczeniu.  Normalnie
       uytkownik   nie   korzysta   bezporednio  z  tego  modulu,  z  wyjtkiem
       konfigurowania go; sluy on innym protokolom w jdrze.

       Proces uytkownika moe odbiera pakiety ARP za  pomoc  gniazd  packet(7).
       Istnieje  take  mechanizm  zarzdzania  pamici podrczn ARP w przestrzeni
       uytkownika za pomoc gniazd netlink(7).  Tabel ARP mona  rownie  zarzdza
       za pomoc ioctl(2)  lub dowolnego gniazda PF_INET.

       Modul  ARP zarzdza pamici podrczn odwzorowa pomidzy adresami sprztowymi
       i adresami protokolu. Pami podrczna ma ograniczony rozmiar, wic stare i
       rzadko  uywane wpisy s usuwane. Wpisy oznaczone jako trwale nie s nigdy
       usuwane podczas procesu  czyszczenia.  Mona  manipulowa  bezporednio  t
       pamici  podrczn  za  pomoc  kontrolek wejcia/wyjcia (ang. ioctls) a jej
       zachowanie mona  dostraja  za  pomoc  zdefiniowanych  poniej  kontrolek
       systemowych (ang. sysctls).

       Gdy  dla  istniejcego  odwzorowania  nie  ma pozytywnych odpowiedzi, po
       pewnym  czasie  (patrz  kontrolki  systemowe  poniej)  wpis  w   pamici
       podrcznej  dla  danego  adresu  jest  uwaany za przestarzaly. Pozytywna
       odpowied moe  zosta  odebrana  od  wyszej  warstwy;  na  przyklad  jako
       pozytywne  potwierdzenie  TCP.  Inne protokoly mog sygnalizowa postpy w
       polczeniu za pomoc znacznika MSG_CONFIRM  w  sendmsg(2).   Gdy  nie  ma
       postpow  w  polczeniu  ARP probuje probkowa ponownie.  Najpierw probuje
       odpyta o zaktualizowany adres MAC  app_solicit  razy  lokalnego  demona
       arp.  Gdy  to si nie powiedzie, a stary adres jest znany, to dokonywane
       jest ucast_solicit razy probkowanie pojedyncze. Gdy to  si  rownie  nie
       powiedzie,  wysylane  jest  w  sie  nowe  zapytanie rozgloszeniowe ARP.
       Zapytania s wysylane jedynie wtedy, gdy w kolejce  do  wyslania  czekaj
       jakie dane.

       Linux  automatycznie  dodaje  nietrwale  wpisy  proxy arp po otrzymaniu
       zapytania dotyczcego adresu, dla ktorego s przekazywane pakiety, o  ile
       dla  interfejsu  odbierajcego  dany  pakiet  wlczono proxy arp. Gdy dla
       danego celu  ustawiona  jest  droga  odrzucajca  pakiety  (ang.  reject
       route), wpis proxy arp nie jest dodawany.

IOCTL

       Dla  wszystkich  gniazd PF_INET dostpne s trzy kontrolki wejcia/wyjcia.
       Pobieraj one jako parametr wskanik do struktury struct arpreq.

       struct arpreq {
           struct sockaddr arp_pa;      /* adres protokolu */
           struct sockaddr arp_ha;      /* adres sprztowy */
           int             arp_flags;   /* znaczniki */
           struct sockaddr arp_netmask; /* maska sieci dla adresu protokolu */
           char            arp_dev[16];
       };

       SIOCSARP, SIOCDARP i SIOCGARP odpowiednio ustawiaj, usuwaj  i  pobieraj
       odwzorowanie  ARP.   Ustawianie  i  usuwanie odwzorowa ARP jest operacj
       uprzywilejowan i moe zosta wykonane jedynie przez proces  z  ustawionym
       znacznikiem CAP_NET_ADMIN lub posiadajcy efektywny UID rowny 0.

       arp_pa  musi  by gniazdem AF_INET a arp_ha musi by tego samego typu, co
       urzdzenie podane  w  arp_dev.   arp_dev  jest  zakoczonym  znakiem  NUL
       lacuchem stanowicym nazw urzdzenia.

       +-----------------------------------------+
       |               arp_flags                 |
       +----------------+------------------------+
       |znacznik        | znaczenie              |
       +----------------+------------------------+
       |ATF_COM         | Zapytanie zakoczone    |
       +----------------+------------------------+
       |ATF_PERM        | Wpis trwaly            |
       +----------------+------------------------+
       |ATF_PUBL        | Wpis publikacji        |
       +----------------+------------------------+
       |ATF_USETRAILERS | Zadano danych kocowych |
       +----------------+------------------------+
       |ATF_NETMASK     | Uywanie maski sieci    |
       +----------------+------------------------+
       |ATF_DONTPUB     | Nie odpowiada          |
       +----------------+------------------------+

       Gdy  ustawiony  jest  znacznik  ATF_NETMASK,  to arp_netmask powinno by
       prawidlowe. Linux 2.2 nie wspiera wpisow proxy ARP dla sieci, wic naley
       to   ustawi   na  0xffffffff  lub  0,  aby  usun  istniejcy  wpis  arp.
       ATF_USETRAILERS jest przestarzale i nie powinno by uywane.

SYSCTL

       ARP wspiera interfejs sysctl, pozwalajcy konfigurowa parametry globalne
       lub  lokalne  -  dla  podanego  interfejsu.  Dostp do tych sysctli mona
       uzyska odczytujc  i  zapisujc  pliki  /proc/sys/net/ipv4/neigh/*/*  lub
       uywajc  interfejsu  sysctl(2). Kady interfejs w systemie ma swoj wlasny
       katalog w /proc/sys/net/ipv4/neigh/. Ustawienia w katalogu 'default'  s
       uywane  dla wszystkich nowo tworzonych urzdze. Jeli nie podano inaczej,
       wszystkie sysctl zwizane z czasem s podawane w sekundach.

       anycast_delay
              Maksymalna liczba jiffies oczekiwania  przed  odpowiedzeniem  na
              komunikat  zaproszenia  ssiada  IPv6.  Obsluga  anycast nie jest
              jeszcze zaimplementowana. Domylnie 1 sekunda.

       app_solicit
              Maksymalna  liczba  prob  wysylania  demonowi  ARP   przestrzeni
              uytkownika  poprzez  netlink  przed  przejciem do prob multicast
              (patrz mcast_solicit). Domylnie 0.

       base_reachable_time
              Kiedy tylko ssiad zostanie znaleziony, wpis jest uwaany za  wany
              przez  co  najmniej  losow warto pomidzy base_reachable_time/2 a
              3*base_reachable_time/2. Wano wpisu  moe  by  przedluona,  jeeli
              otrzyma   on  takie  wskazowki  z  protokolow  wyszego  poziomu.
              Domylnie 30 sekund.

       delay_first_probe_time
              Oczekiwanie przed pierwsz prob po tym, jak ssiad  zostal  uznany
              za niedostpny. Domylnie 5 sekund.

       gc_interval
              Jak  czsto  powinien  si  uruchamia  proces oczyszczania mieci z
              listy wpisow o ssiadach. Domylnie 30 sekund.

       gc_stale_time
              Okrela, jak czsto naley sprawdza wpisy o niedostpnych  ssiadach.
              Kiedy  ssiad  zostanie  uznany za niedostpnego, jest on ponownie
              sprawdzany przed prob wyslania  danych  do  niego.  Domylnie  60
              sekund.

       gc_thresh1
              Minimalna  liczba  wpisow  przechowywanych w buforze ARP. Proces
              czyszczenia starych wpisow nie uruchomi si, jeeli bufor  zawiera
              mniej wpisow ni podana tutaj warto. Domylnie - 128.

       gc_thresh2
              Mikka  maksymalna liczba wpisow trzymanych w buforze ARP. Proces
              czyszczenia mieci pozwoli przekroczy t liczb wpisow na 5  sekund
              przed rozpoczciem czyszczenia. Domylnie 512.

       gc_thresh3
              Twarda  maksymalna  liczba wpisow przechowywanych w buforze ARP.
              Proces czyszczenia mieci zawsze si uruchomi, jeli bufor  zawiera
              wicej wpisow ni wynosi ta liczba. Domylnie 1024.

       locktime
              Minimalna   liczba   jiffies,   przez   ktor   wpis   ARP  bdzie
              przechowywany  w  buforze.  Zabezpiecza  to  bufor   ARP   przed
              zabiciem,  jeeli  jest wicej ni jedno moliwe mapowanie (z powodu
              zlej konfiguracji sieci). Domylnie 1 sekunda.

       mcast_solicit
              Maksymalna   liczba   prob   rozwizywania   adresu   za    pomoc
              multicast/broadcast  przed  zaznaczeniem  wpisu jako niedostpny.
              Domylnie 3.

       proxy_delay
              Kiedy otrzymano danie  ATP  dla  znanego  adresu  proxy-ARP,  to
              poczekaj proxy_delay jiffies przed wyslaniem odpowiedzi. Jest to
              uywane,  aby  zapobiec   zalaniu   sieci   daniami   w   pewnych
              przypadkach. Domylnie 0.8 sekundy.

       proxy_qlen
              Maksymalna  liczba  pakietow,  ktore  mog  by  zakolejkowane   w
              adresie proxy-ARP. Warto domylna to 64.

       retrans_time
              Liczba  jiffies  oczekiwania  przed  ponown   transmisj   dania.
              Domylnie 1 sekunda.

       ucast_solicit
              Maksymalna  liczba  prob  wyslania  da  unicast przed zapytaniem
              demona ARP (patrz app_solicit). Domylnie 3.

       unres_qlen
              Maksymalna liczba pakietow, ktore mog by kolejkowane przez  inne
              warstwy sieci dla kadego nierozwizanego adresu. Domylnie 3.

B/LDY

       Niektore  ustawienia  timera  s  podawane  w jednostkach jiffy, ktore s
       zalene od architektury. Dla architektury Alpha jiffy to 1/1024 sekundy,
       na wikszoci pozostalych architektur jest to 1/100s.

       Nie  ma  moliwoci  zasygnalizowania  postpow  w polczeniu z przestrzeni
       uytkownika. Oznacza to,  e  protokoly  polczeniowe  zaimplementowane  w
       przestrzeni  uytkownika bd generowa nadmierny ruch ARP, gdy ndisc bdzie
       dokonywal regularnego probkowania adresow MAC. Ten sam problem  dotyczy
       niektorych protokolow jdra (np. NFS-u po UDP).

       Ta strona podrcznika miesza ze sob funkcje charakterystyczne dla IPv4 z
       funkcjami wspolnymi dla IPv4 i IPv6.

WERSJE

       W Linuksie 2.0  zmieniono  struct  arpreq,  dodajc  pole  arp_dev  oraz
       jednoczenie  zmieniono  numery kontrolek wejcia/wyjcia.  W Linuksie 2.2
       porzucono wsparcie dla starych kontrolek wejcia/wyjcia.

       W Linuksie 2.2 porzucono wsparcie dla wpisow proxy arp dla sieci (maska
       sieci  inna  ni  0xffffffff).  Zostalo  ono zastpione przez automatyczn
       konfiguracj proxy arp w  jdrze  dla  wszystkich  hostow  osigalnych  na
       innych  interfejsach (gdy dla danego interfejsu wlczone s przekazywanie
       pakietow i proxy arp).

       Kontrolki systemowe neigh/* nie istnialy w Linuksie przed wersj 2.2.

ZOBACZ TAKE

       capabilities(7), ip(7)

       RFC826 dla opisu ARP.
       RFC2461  dla  opisu  znajdywania  ssiadow  w  IPv6  oraz   podstawowych
       stosowanych w tym celu algorytmow.

       ARP  IPv4  w  Linuksie  2.2+  korzysta  z  algorytmow IPv6, gdy jest to
       moliwe.

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.