Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ if_tcp(7) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

arp(7)

ip(7)

lo(7)

streamio(7)

if(7)                                                                 if(7)

NAME
     if - Allgemeine Eigenschaften der Netzwerkschnittstellen des
     Internet-Protokolls

BESCHREIBUNG
     Eine Netzwerkschnittstelle ist eine Einrichtung zum Versenden und Emp-
     fangen von Paketen in einem Netz. Eine Netzwerkschnittstelle ist
     gewöhnlich ein Hardware-Gerät, obwohl bestimmte Schnittstellen, wie
     etwa die Loopback-Schnittstelle lo(7) als Softwaremodul implementiert
     sind. Die vom Internet Protocol (IP) benutzten Netzwerkschnittstellen
     müssen STREAMS-Geräte sein, die dem Datalink Provider Interface (DLPI)
     entsprechen.

     Eine Schnittstelle wird für das IP verfügbar, wenn es unter das IP
     STREAMS-Gerät mit dem ioctl()-Aufruf ILINK angebunden wurde. Dies
     kann von einem Benutzerprogramm nach dem Systemstart initiiert werden.
     Jede IP-Schnittstelle muß einen Namen haben, der ihr durch den
     ioctl()-Aufruf SIOCSIFNAME zugewiesen wird. Dieser Name wird von allen
     anderen ioctl()-Aufrufen auf die Netzwerkschnittstelle zum eindeutigen
     Identifizieren der Schnittstelle verwendet. Jeder Schnittstelle muß
     vor ihrer Verwendung durch den ioctl()-Aufruf SIOCSIFADDR eine IP-
     Adresse zugewiesen werden. Auf Schnittstellen, wo die Adreßabbildung
     der Netz-Verbindungs-Ebene statisch ist, wird nur die Netzwerknummer
     von dem ioctl()-Aufruf übernommen; der Rest wird in einer hardwarespe-
     zifischen Weise gefunden. Auf Schnittstellen, die über dynamische Ein-
     richtungen zur Adreßabbildung der Netz-Verbindungs-Ebene verfügen
     (z. B. 10Mb/s Ethernets, die arp(7) verwenden), wird die vollständige,
     in ioctl() angegebene Adresse benutzt. Wenn die Adresse einer Schnitt-
     stelle angegeben wird, wird automatisch ein Eintrag in der Routing-
     Tabelle erzeugt, der die Ziele im Netz der Schnittstelle beschreibt.

























Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

if(7)                                                                 if(7)

IOCTL-AUFRUFE
     Die folgenden ioctl()-Aufrufe können zur Bearbeitung von IP-
     Netzwerkschnittstellen herangezogen werden. Wenn nicht anders angege-
     ben, hat der Aufruf eine ifreq-Struktur als Parameter. Diese Struktur
     hat folgende Form:

    /* Interface request structure used for socket ioctl's.  All */
    /* interface ioctl's must have parameter definitions which */
    /* begin with ifrname.  The remainder may be interface specific. */

    struct  ifreq {
    #define IFNAMSIZ     16
        char         ifrname[IFNAMSIZ];          /* if name, e.g. "emd1" */
        union {
             struct  sockaddr ifruaddr;
             struct  sockaddr ifrudstaddr;
             char    ifruoname[IFNAMSIZ];        /* other if name */
             struct  sockaddr ifrubroadaddr;
             short   ifruflags;
             int     ifrumetric;
             char    ifrudata[1];                /* interface dependent data */
             char    ifruenaddr[6];
        } ifrifru;
    #define ifraddr      ifrifru.ifruaddr      /* address */
    #define ifrdstaddr   ifrifru.ifrudstaddr   /* other end of p-to-p link */
    #define ifroname     ifrifru.ifruoname     /* other if name */
    #define ifrbroadaddr ifrifru.ifrubroadaddr /* broadcast address */
    #define ifrflags     ifrifru.ifruflags     /* flags */
    #define ifrmetric    ifrifru.ifrumetric    /* metric */
    #define ifrdata      ifrifru.ifrudata      /* for use by interface */
    #define ifrenaddr    ifrifru.ifruenaddr    /* ethernet address */
    };

     SIOCSIFADDR         Weist der Schnittstelle eine IP-Adresse zu. Nach
                         der Adreßzuweisung wird die Initialisierungsrou-
                         tine für die Schnittstelle aufgerufen.

     SIOCGIFADDR         Liest die der Schnittstelle zugewiesene IP-
                         Adresse.

     SIOCSIFDSTADDR      Definiert die Punkt-zu-Punkt-Adresse für die
                         Schnittstelle.

     SIOCGIFDSTADDR      Liest die Punkt-zu-Punkt-Adresse für die Schnitt-
                         stelle.









Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

if(7)                                                                 if(7)

     SIOCSIFFLAGS        Setzt das Schalterfeld der Schnittstelle. Wird die
                         Schnittstelle als inaktiv gekennzeichnet, werden
                         alle Prozesse  benachrichtigt, die aktuell Pakete
                         über diese Schnittstelle weiterleiten.

     SIOCGIFFLAGS        Liest die Schnittstellen-Schalter.

     SIOCGIFCONF         Liest die Konfigurationsliste der Schnittstelle.
                         Dieser Aufruf hat als Ergebnis-Parameter eine
                         ifconf-Struktur (siehe unten). Das Feld ifclen
                         sollte anfänglich auf die Größe des Puffers
                         gesetzt werden, auf den ifcbuf zeigt. Beim Rück-
                         sprung enthält es die in Byte angegebene Länge der
                         Konfigurationsliste.

     Die ifconf-Struktur hat die Form:

     /*
      * Structure used in SIOCGIFCONF request.
      * Used to retrieve interface configuration
      * for machine (useful for programs which
      * must know all networks accessible).
      */
     struct    ifconf {
             int     ifclen;            /* size of associated buffer */
             union {
                     caddrt ifcubuf;
                     struct  ifreq *ifcureq;
             } ifcifcu;
     #define ifcbuf ifcifcu.ifcubuf   /* buffer address */
     #define ifcreq ifcifcu.ifcureq   /* array of structures returned */
     };

     SIOCSIFNAME         Definiert den Namen der Schnittstelle.

SIEHE AUCH
     arp(7), ip(7), lo(7), streamio(7).

















Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026