⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netintro.4

📁 早期freebsd实现
💻 4
字号:
.\" Copyright (c) 1983, 1990, 1991, 1993.\"	The Regents of the University of California.  All rights reserved..\".\" Redistribution and use in source and binary forms, with or without.\" modification, are permitted provided that the following conditions.\" are met:.\" 1. Redistributions of source code must retain the above copyright.\"    notice, this list of conditions and the following disclaimer..\" 2. Redistributions in binary form must reproduce the above copyright.\"    notice, this list of conditions and the following disclaimer in the.\"    documentation and/or other materials provided with the distribution..\" 3. All advertising materials mentioning features or use of this software.\"    must display the following acknowledgement:.\"	This product includes software developed by the University of.\"	California, Berkeley and its contributors..\" 4. Neither the name of the University nor the names of its contributors.\"    may be used to endorse or promote products derived from this software.\"    without specific prior written permission..\".\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION).\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF.\" SUCH DAMAGE..\".\"     @(#)netintro.4	8.2 (Berkeley) 11/30/93.\".Dd November 30, 1993.Dt NETINTRO 4.Os BSD 4.2.Sh NAME.Nm networking.Nd introduction to networking facilities.Sh SYNOPSIS.Fd #include <sys/socket.h>.Fd #include <net/route.h>.Fd #include <net/if.h>.Sh DESCRIPTIONThis section is a general introduction to the networking facilitiesavailable in the system.Documentation in this part of section4 is broken up into three areas:.Em protocol families(domains),.Em protocols ,and.Em network interfaces ..PpAll network protocols are associated with a specific.Em protocol family .A protocol family provides basic services to the protocolimplementation to allow it to function within a specificnetwork environment.  These services may include packet fragmentation and reassembly, routing, addressing, and basic transport.  A protocol family may support multiplemethods of addressing, though the current protocol implementationsdo not.  A protocol family is normally comprised of a numberof protocols, one per.Xr socket 2type.  It is not required that a protocol family supportall socket types.  A protocol family may contain multipleprotocols supporting the same socket abstraction. .PpA protocol supports one of the socket abstractions detailed in.Xr socket 2 .A specific protocol may be accessed either by creating asocket of the appropriate type and protocol family, orby requesting the protocol explicitly when creating a socket.Protocols normally accept only one type of address format,usually determined by the addressing structure inherent inthe design of the protocol family/network architecture.Certain semantics of the basic socket abstractions areprotocol specific.  All protocols are expected to supportthe basic model for their particular socket type, but may,in addition, provide non-standard facilities or extensionsto a mechanism.  For example, a protocol supporting the.Dv SOCK_STREAMabstraction may allow more than one byte of out-of-banddata to be transmitted per out-of-band message..PpA network interface is similar to a device interface.Network interfaces comprise the lowest layer of thenetworking subsystem, interacting with the actual transporthardware.  An interface may support one or more protocolfamilies and/or address formats.The SYNOPSIS section of each network interfaceentry gives a sample specificationof the related drivers for use in providinga system description to the.Xr config 8program.The DIAGNOSTICS section lists messages which may appear on the consoleand/or in the system error log,.Pa /var/log/messages(see.Xr syslogd 8 ) ,due to errors in device operation..Sh PROTOCOLSThe system currently supports theInternetprotocols, the Xerox Network Systems(tm) protocols,and some of the.Tn ISO OSIprotocols.Raw socket interfaces are provided to the.Tn IPprotocollayer of theInternet, and to the.Tn IDPprotocol of Xerox.Tn NS .Consult the appropriate manual pages in this section for moreinformation regarding the support for each protocol family..Sh ADDRESSINGAssociated with each protocol family is an addressformat.  All network address adhere to a general structure,called a sockaddr, described below. However, each protocolimposes finer and more specific structure, generally renamingthe variant, which is discussed in the protocol family manualpage alluded to above..Bd -literal -offset indent    struct sockaddr {	u_char	sa_len;    	u_char	sa_family;    	char	sa_data[14];};.Ed.PpThe field.Ar sa_lencontains the total length of the of the structure,which may exceed 16 bytes.The following address values for.Ar sa_familyare known to the system(and additional formats are defined for possible future implementation):.Bd -literal#define    AF_UNIX      1    /* local to host (pipes, portals) */#define    AF_INET      2    /* internetwork: UDP, TCP, etc. */#define    AF_NS        6    /* Xerox NS protocols */#define    AF_CCITT     10   /* CCITT protocols, X.25 etc */#define    AF_HYLINK    15   /* NSC Hyperchannel */#define    AF_ISO       18   /* ISO protocols */.Ed.Sh ROUTING.Tn UNIXprovides some packet routing facilities.The kernel maintains a routing information database, whichis used in selecting the appropriate network interface whentransmitting packets..PpA user process (or possibly multiple co-operating processes)maintains this database by sending messages over a special kindof socket.This supplants fixed size.Xr ioctl 2used in earlier releases..PpThis facility is described in.Xr route 4 ..Sh INTERFACESEach network interface in a system corresponds to apath through which messages may be sent and received.  A networkinterface usually has a hardware device associated with it, thoughcertain interfaces such as the loopback interface,.Xr lo 4 ,do not..PpThe following .Xr ioctlcalls may be used to manipulate network interfaces.The.Xr ioctlis made on a socket (typically of type.Dv SOCK_DGRAM )in the desired domain.Most of the requests supported in earlier releases take an.Ar ifreqstructure as its parameter.  This structure has the form.Bd -literalstruct	ifreq {#define    IFNAMSIZ    16    char    ifr_name[IFNAMSIZE];        /* if name, e.g. "en0" */    union {        struct    sockaddr ifru_addr;        struct    sockaddr ifru_dstaddr;        struct    sockaddr ifru_broadaddr;        short     ifru_flags;        int       ifru_metric;        caddr_t   ifru_data;    } ifr_ifru;#define ifr_addr      ifr_ifru.ifru_addr    /* address */#define ifr_dstaddr   ifr_ifru.ifru_dstaddr /* other end of p-to-p link */#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */#define ifr_flags     ifr_ifru.ifru_flags   /* flags */#define ifr_metric    ifr_ifru.ifru_metric  /* metric */#define ifr_data      ifr_ifru.ifru_data    /* for use by interface */};.Ed.PpCalls which are now deprecated are:.Bl -tag -width SIOCGIFBRDADDR.It Dv SIOCSIFADDRSet interface address for protocol family.  Following the addressassignment, the ``initialization'' routine forthe interface is called..It Dv SIOCSIFDSTADDRSet point to point address for protocol family and interface..It Dv SIOCSIFBRDADDRSet broadcast address for protocol family and interface..El.Pp.Xr Ioctlrequests to obtain addresses and requests both to set andretrieve other data are still fully supportedand use the.Ar ifreqstructure:.Bl -tag -width SIOCGIFBRDADDR.It Dv SIOCGIFADDRGet interface address for protocol family..It Dv SIOCGIFDSTADDRGet point to point address for protocol family and interface..It Dv SIOCGIFBRDADDRGet broadcast address for protocol family and interface..It Dv SIOCSIFFLAGSSet interface flags field.  If the interface is marked down,any processes currently routing packets through the interfaceare notified;some interfaces may be reset so that incoming packets are no longer received.When marked up again, the interface is reinitialized..It Dv SIOCGIFFLAGSGet interface flags..It Dv SIOCSIFMETRICSet interface routing metric.The metric is used only by user-level routers..It Dv SIOCGIFMETRICGet interface metric..El.PpThere are two requests that make use of a new structure:.Bl -tag -width SIOCGIFBRDADDR.It Dv SIOCAIFADDRAn interface may have more than one address associated with itin some protocols.  This request provides a means toadd additional addresses (or modify characteristics of theprimary address if the default address for the address familyis specified).  Rather than making separate calls toset destination or broadcast addresses, or network masks(now an integral feature of multiple protocols)a separate structure is used to specify all three facets simultaneously(see below).One would use a slightly tailored version of this struct specificto each family (replacing each sockaddr by oneof the family-specific type).Where the sockaddr itself is larger than thedefault size, one needs to modify the.Xr ioctlidentifier itself to include the total size, as described in.Xr ioctl ..It Dv SIOCDIFADDRThis requests deletes the specified address from the listassociated with an interface.  It also uses the.Ar if_aliasreqstructure to allow for the possibility of protocols allowingmultiple masks or destination addresses, and also adopts theconvention that specification of the default address meansto delete the first address for the interface belonging tothe address family in which the original socket was opened..It Dv SIOCGIFCONFGet interface configuration list.  This request takes an.Ar ifconfstructure (see below) as a value-result parameter.  The .Ar ifc_lenfield should be initially set to the size of the bufferpointed to by .Ar ifc_buf .On return it will contain the length, in bytes, of theconfiguration list..El.Bd -literal/** Structure used in SIOCAIFCONF request.*/struct ifaliasreq {        char    ifra_name[IFNAMSIZ];   /* if name, e.g. "en0" */        struct  sockaddr        ifra_addr;        struct  sockaddr        ifra_broadaddr;        struct  sockaddr        ifra_mask;};.Ed.Pp.Bd -literal/** Structure used in SIOCGIFCONF request.* Used to retrieve interface configuration* for machine (useful for programs which* must know all networks accessible).*/struct ifconf {    int   ifc_len;		/* size of associated buffer */    union {        caddr_t    ifcu_buf;        struct     ifreq *ifcu_req;    } ifc_ifcu;#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */#define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */};.Ed.Sh SEE ALSO.Xr socket 2 ,.Xr ioctl 2 ,.Xr intro 4 ,.Xr config 8 ,.Xr routed 8.Sh HISTORYThe.Nm netintromanual appeared in.Bx 4.3 tahoe .

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -