<address id="fjh72"></address>

<dfn id="fjh72"><button id="fjh72"></button></dfn>

        <dfn id="fjh72"></dfn>

        Previous Page TOC Next Page



        — 11 —
        Domain Name Service


        TCP/IP uses a 32-bit address to route a datagram to a destination. It is useful to forget these 32-bit addresses and use common names instead, because names are much easier to remember. There are several methods used for this. The most common is examined on Day 7, "TCP/IP Configuration and Administration Basics," employing an ASCII file on the sending machine that had names and corresponding addresses (/etc/hosts on a UNIX device). One major limitation to this system is that the machine can route only to other machines that have an entry in this file, which can be impossible to maintain when there are many target machines or you want to access all the devices on your network.

        Another approach is to off-load the address resolution to another process that acts like a directory service. There are two such schemes in common use today: Domain Name Service (DNS) and Network Information Service (NIS), which is now part of NFS. Today I look at DNS in more detail. On Day 12, "NFS and NIS," I examine NFS in depth.

        Also today I look at the BOOTP protocol, a system that is becoming widely adopted as diskless workstations and client/server systems become more common. BOOTP relies on TCP/IP. Anyone working with TCP/IP can eventually expect to run across the BOOTP protocol, so an explanation of it is useful at this stage.

        Finally, the day closes with a quick look at the Network Time Protocol (NTP), which is used to ensure synchronization of timestamps between machines.

        Domain Name Service (DNS)


        A symbolic name is a character string that is used to identify a machine. A symbolic name can be straightforward (bills_machine or tpci_server1) or more complex, as is often the case in large organizations where the name identifies the type of machine and its location (such as hpws510, where hpws identifies an HP workstation on the fifth floor, room 10).

        When sending information to remote machines, IP addresses or Internet addresses must be used. Instead of requiring the user to memorize the remote machine's numbers, it is common to use a symbolic name. After all, a simple name is much easier to remember than a 32-bit Internet address.

        As you saw earlier in this book, the conversion from a symbolic name to an actual IP address is usually performed within the sending machine, using a file such as UNIX's /etc/hosts file. This type of approach works well within a small network, where a limited number of destination machines are involved. When dealing with the entire Internet, however, it is unreasonable to expect an ASCII file to contain all possible symbolic names and their addresses.

        The sheer size of a file required to hold all possible symbolic domain names and their corresponding unique network addresses is not the only problem. Large networks tend to change constantly, especially on an internetwork the size of the Internet. Hundreds of additions and modifications to existing entries must be performed daily. The time required to update each machine (or even selected gateways to autonomous networks) on the internetwork would be huge.

        The solution to the problem is to offer a method of moving the management of the lookup tables away from the Network Information Center (NIC), which governs the Internet, and toward the participants and their autonomous networks in such a manner that the load on the network is small but flexibility is not compromised. This is what the Domain Name Service (DNS) does. DNS is sometimes also called the Internet directory service, although the name is somewhat of a misnomer.

        UNIX implements DNS through a daemon called named, which runs on a name server, a machine that handles the resolution of symbolic names using DNS methods. Part of the system is a library of functions that can be used in applications to perform queries on the name server. This query routine is called the resolver or name resolver and can reside on another machine. The name server and resolver are examined in more detail shortly.

        DNS Structure


        The Domain Name Service, as its name implies, works by dividing the internetwork into a set of domains, or networks, that can be further divided into subdomains. This structure resembles a tree, as shown in Figure 11.1, using some arbitrarily chosen domain names. The first set of domains is called the top-level domains. There are six top-level domains in regular use:

        Figure 11.1. The Internet domain structure.

        In addition to these top-level domains, there are dedicated top-level domains for each country that is connected. These are usually identified by a short form of the country's name, such as .ca for Canada and .uk for the United Kingdom. These country top-level domains are usually left off diagrams of the Internet structure for convenience (otherwise there would be hundreds of top-level domains). The domain breakdown is sometimes repeated beneath the country domain, so there could be a .com extension coupled with .ca to show a Canadian commercial domain, or an .edu with .uk for a British university.

        Beneath the top-level domains is another level for the individual organizations within each top-level domain. The domain names are all registered with the Network Information Center (NIC) and are unique to the network. Usually the names are representative of the company or organization, but a few "cute" names do work their way in (usually because of historical reasons).

        There are two ways to name a target. If the target is on the internetwork, the absolute name is used. The absolute name is unique and unambiguous, specifying the domain of the target machine. A relative name can be used either within the local domain, where the name server knows that the target is within the domain and hence doesn't need to route the datagram onto the internetwork, or when the relative name is known by the name server and can be expanded and routed correctly.

        The Name Server


        Each DNS Name Server manages a distinct area of a network (or an entire domain, if the network is small). The set of machines managed by the name server is called a zone. Several zones can be managed by one name server. Almost every zone has a designated secondary or backup name server, with the two (primary and secondary) name servers holding duplicate information. The name servers within a zone communicate using a zone transfer protocol.

        DNS operates by having a set of nested zones. Each name server communicates with the one above it (and, if there is one, the one below it). Each zone has at least one name server responsible for knowing the address information for each machine within that zone. Each name server also knows the address of at least one other name server. Messages between name servers usually use the User Datagram Protocol (UDP) because its connectionless method provides for better performance. However, TCP is used for database updates because of its reliability.

        When a user application needs to resolve a symbolic name into a network address, a query is sent by the application to the resolver process, which then communicates the query to the name server. (I examine the resolver in more detail in the next section, "Resource Records.") The name server checks its own tables and returns the network address corresponding to the symbolic name. If the name server doesn't have the information it requires, it can send a request to another name server. This process is shown in Figure 11.2. Both the name servers and the resolvers use database tables and caches to maintain information about the machines in the local zone, as well as recently requested information from outside the zone.

        Figure 11.2. Resolving symbolic names.

        When a name server receives a query from a resolver, there are several types of operations the name server can perform. Name resolver operations fall into two categories: nonrecursive and recursive. A recursive operation is one in which the name server must access another name server for information.

        Nonrecursive operations performed by the name server include a full answer to the resolver's request, a referral to another name server (which the resolver must send a query to), or an error message. When a recursive operation is necessary, the name server contacts another name server with the resolver's request. The remote name server replies to the request with either a network address or a negative message, indicating failure. DNS rules prohibit a remote name server from sending a referral to yet another name server.

        Resource Records


        The information required to resolve symbolic names is maintained by the name server in a set of resource records, which are entries in a database. Resource records (often abbreviated RR) contain information in ASCII format. Because ASCII is used, it is easy to update the records. The format of resource records is shown in Figure 11.3.

        Figure 11.3. The resource record format.

        The Name field is the domain name of the machine the record refers to. If no name is specified, the previously used name is substituted.

        The Type field identifies the type of resource record. Resource records are used for several purposes, such as mapping names to addresses and defining zones. The Type of resource record is identified by a mnemonic code or a number. These codes and their meanings are shown in Table 11.1. Some of the resource record types are now obsolete (3 and 4), and others are considered experimental at this time (13 and 17–21).

        Table 11.1. Resource record types.

        Number

        Code

        Description

        1

        A

        Network address

        2

        NS

        Authoritative name server

        3

        MD

        Mail destination; now replaced by MX

        4

        MF

        Mail forwarder; now replaced by MX

        5

        CNAME

        Canonical alias name

        6

        SOA

        Start of zone authority

        7

        MB

        Mailbox domain name

        8

        MG

        Mailbox member

        9

        MR

        Mail rename domain

        10

        NULL

        Null resource record

        11

        WKS

        Well-known service

        12

        PTR

        Pointer to a domain name

        13

        HINFO

        Host information

        14

        MINFO

        Mailbox information

        15

        MX

        Mail exchange

        16

        TXT

        Text strings

        17

        RP

        Responsible person

        18

        AFSDB

        AFS-type services

        19

        X.25

        X.25 address

        20

        ISDN

        ISDN address

        21

        RT

        Route through


        The Class field in the resource record layout contains a value for the class of record. If no value is specified, the last class used is substituted. Internet name servers usually have the code IN.

        The Time to Live (TTL) field specifies the amount of time in seconds that the resource record is valid in the cache. If a value of 0 is used, the record should not be added to the cache. If the TTL field is omitted, a default value is used. Usually this field tells the name server how long the entry is valid before it has to ask for an update.

        The data section of the resource record contains two parts, consisting of the length of the record and the data itself. The Data Length field specifies the length of the data section. The data is a variable-length field (hence the need for a length value) that describes the entry somehow. The use of this field differs with the different types of resource records.

        Some resource record types have a single piece of information in the data area, such as an address, or at most three pieces of information. The only exception is the Start of Authority resource record. The contents of the resource record data areas (except SOAs) are given in Table 11.2.

        Table 11.2. The contents of the resource record data areas.

        RR Type

        Fields in Data Area

        A

        Address: A network address

        NS

        NSDNAME: The domain name of host

        MG

        MGNAME: The domain name of mailbox

        CNAME

        CNAME: An alias for the machine

        HINFO

        CPU: A string identifying CPU type


        OS: A string identifying operating system

        MINFO

        RMAILBX: A mailbox responsible for mailing lists


        EMAILBOX: A mailbox for error messages

        MB

        MADNAME: Now obsolete

        MR

        NEWNAME: Renames the address of a specific mailbox

        MX

        PREFERENCE: Specifies the precedence for delivery


        EXCHANGE: The domain name of the host that acts as mail exchange

        NULL

        Anything can be placed in the data field

        PTR

        PTRDNAME: A domain name that acts as a pointer to a location

        TXT

        TXTDATA: Any kind of descriptive text

        WKS

        Address: A network address


        Protocol: The protocol used


        Bitmap: Used to identify ports and protocols


        The Start of Authority (SOA) resource record format is used to identify the machines within a zone. There is only one SOA record in each zone. The format of the SOA data field is shown in Figure 11.4. The fields in the SOA resource record are used mostly for administration and maintenance of the name server.

        Figure 11.4. The SOA resource record format.

        The MNAME field is the domain name of the source of data for the zone. The RNAME (responsible person name) field is the domain name of the mailbox of the administrator of the zone. The Serial field contains a version number for the zone. It is incremented when the zone is changed; otherwise, it is maintained as the same value for all such messages.

        The Refresh Time is the number of seconds between data refreshes for the zone. The Retry Time is the number of seconds to wait between unsuccessful refresh requests. The Expiry Time is the number of seconds after which the zone information is no longer valid. Finally, the Minimum Time is the number of seconds to be used in the Time to Live field of resource records within the zone.

        Some sample resource records show the simple format used. Address resource records consist of the machine name, the type of resource record indicator (A for Address RRs, for example), and the network address. A sample Address resource record would look like this:

        
        TPCI_SCO_4     IN     A    143.23.25.7

        The IN tags the resource record as an Internet class. This format makes it easy to locate a name and derive its address. (The reverse, going from address to name, is not as easy and requires a special format called IN-ADDR-ARPA, which is examined in the next section, "IN-ADDR-ARPA.")

        For Well-Known Service resource records (WKS, or type 11), the data field of the record contains three fields used to describe the services supported at the address the record refers to. A sample WKS resource record might look like this:

        
        TPCI_SCO.TPCI.COM     IN     WKS     143.23.1.34.
        
                                             FTP  TCP  SMTP  TELNET

        The full domain name and Internet address are shown, as is the IN to show the Internet class of resource records. The type of record is indicated with the WKS. The protocols supported by the machine at that address are listed after the address. In reality, these are bitmaps that correspond to ports. When the port bit is set to a value of 1, the service is supported. The list of ports and services is defined by an Internet RFC.

        IN-ADDR-ARPA


        The address fields, such as in the Address resource record type, use a special format called IN-ADDR-ARPA. This enables reverse mapping from the address to the host name as well as host-to-address mapping. To understand IN-ADDR-ARPA, it is useful to begin with a standard-format resource record. Earlier it was mentioned that resource records are maintained in ASCII format. One of the simplest types of resource record is for the address (type A), as seen earlier. An extract from an address file is shown here:

        
        TPCI_HPWS1    IN     A     143.12.2.50
        
        TPCI_HPWS2    IN     A     143.12.2.51
        
        TPCI_HPWS3    IN     A     143.12.2.52
        
        TPCI_GATEWAY  IN     A     143.12.2.100
        
                      IN     A     144.23.56.2
        
        MERLIN        IN     A     145.23.24.1
        
        SMALLWOOD     IN     A     134.2.12.75

        Each line of the file represents one resource record. In this case, they are all simple entries that have the machine's symbolic name (alias), the class of machine (IN for Internet), A to show it is an Address resource record, and the Internet address. The entry for the machine TPCI_GATEWAY has two corresponding addresses because it is a gateway between two networks. The gateway has a different address on each of the networks, so it has two resource records in the same file. (As with most other code fragments in this book, these example addresses are hypothetical.)

        This type of file makes name-to-address mapping easy. The name server simply searches for a line with the symbolic name requested by the application and returns the Internet address at the end of that line. The databases are indexed on the name, so these searches proceed very quickly.

        Searching from the address to the name is not quite as easy. If the resource record files are small, time delays for a manual search are not appreciable, but with large zones there can be thousands or tens of thousands of entries. The index is on the name, so searching for an address can be a slow process. To solve this reverse-mapping problem, IN-ADDR-ARPA was developed. IN-ADDR-ARPA uses the host address as an index to the host's resource record information. When the proper resource record is located, the symbolic name can be extracted.

        IN-ADDR-ARPA uses the PTR resource record type (see Table 11.1) to point from the address to the name. There might be one of these pointer indexes maintained on each name server. An example of a number-to-name file follows:

        
        23.1.45.143.IN-ADDR-ARPA.    PTR    TPCI_HPWS_4.TPCI.COM
        
        1.23.64.147.IN-ADDR-ARPA.    PTR    TPCI_SERVER.MERLIN.COM
        
        3.12.6.123.IN-ADDR-ARPA.     PTR    BEAST.BEAST.COM
        
        23.143.IN-ADDR-ARPA          PTR    MERLINGATEWAY.MERLIN.COM

        The Internet addresses are reversed in the IN-ADDR-ARPA file for ease of use. As shown in the sample file, it is not necessary to specify the complete address for a gateway because the domain name provides enough routing information.

        Messages


        DNS messages are transferred between name servers to update their resource records. The fields of these messages are quite similar to those of the records themselves. The format of a DNS message is shown in Figure 11.5. The header has several subfields that contain information about the type of question or answer being sent. The rest of the message consists of four variable-length fields, which are further subdivided:

        Figure 11.5. The DNS message format.

        The DNS message header has several different fields itself, as shown in Figure 11.6. The header is present in all DNS messages. The header ID field is 16 bits long and is used to match queries and answers to each other. The single-bit QR field is set to a value of 0 to indicate a query, or a value of 1 to show a response. The OpCode field is 4 bits long and can have one of the values shown in Table 11.3.

        Figure 11.6. The DNS message Header format.

        Table 11.3. The DNS message header OpCode values.

        OpCode Value

        Description

        0

        Standard query

        1

        Inverse query

        2

        Server status request

        3–15

        Not used


        The AA field is the authoritative answer bit. A value of 1 in a response message indicates that the name server is the recognized authority for the queried domain name. The TC (truncation) bit is set to a value of 1 when the message is truncated because of excessive length. Otherwise, the TC bit is set to 0. The RD (recursion desired) bit is set to 1 when the name server is requested to perform a recursive query. The RA (recursion available) bit is set to 1 in a response when the name server can perform recursions.

        The Z field is 3 bits long and is not used. The RCODE field is 4 bits long and can be set to one of the values shown in Table 11.4.

        Table 11.4. The DNS message header RCODE values.

        RCODE Value

        Description

        0

        No errors

        1

        Format error; name server unable to interpret the query

        2

        Name server problems have occurred

        3

        The name server could not find the domain reference in the query

        4

        Name server does not support this type of query

        5

        Name server cannot perform the requested operation for administrative reasons

        6–15

        Not used


        The QDCOUNT field is a 16-bit field for the number of entries in the Question section. The ANCOUNT field is another 16-bit field for the number of replies in the Answer section (the number of resource records in the answer). The NSCOUNT field is 16 bits and specifies the number of server resource records in the Authority section of the message. The ARCOUNT 16-bit field specifies the number of resource records in the Additional record section.

        The Question section of the message has three fields of its own, as shown in Figure 11.7. The Question field carries the query, which is identified by these fields. The QNAME field is the domain name requested. The QTYPE is the type of query, using one of the values shown in Table 11.1. The QCLASS is the class of query, which can be set according to the application’s requirements.

        Figure 11.7. The DNS message Question field format.

        The last three fields in the DNS message (Answer, Authority, and Additional information) all have the same format, as shown in Figure 11.8. The Name field holds the domain name of the resource record. The Type field has any of the valid resource record type values. (See Table 11.1.)

        Figure 11.8. The format for DNS message Answer, Authority, and Additional information fields.

        The Class is the class of data in the data field. The Time to Live (TTL) field is the number of seconds the information is valid without an update. The RDLENGTH field is the length of the information in the data field. Finally, the RDATA field is the resource record information or other data, depending on the class and type of the query and reply. There can be many such records in the Answer, Authority, and Additional information sections of the DNS message.

        The Name Resolver


        As far as user applications are concerned, resolving the symbolic names into actual network addresses is easy. The process has been mentioned earlier. The application sends a query to a process called the name resolver, or resolver (which sometimes resides on another machine). The name resolver might be able to resolve the name directly, in which case it sends a return message to the application. If the resolver cannot determine the network address, it communicates with the name server (which might contact another name server).

        The resolver is intended to replace existing name resolution systems on a machine, such as UNIX's /etc/hosts file. The replacement of these common mechanisms is transparent to the user, although the administrator must know whether the native name resolution system or DNS is to be used on each machine so the correct tables can be maintained.

        When the resolver acquires information from a name server, it stores the entries in its own cache to reduce the need for more network traffic if the same symbolic name is used again (as is often the case with applications that work across networks). The amount of time the name resolver stores these records is dependent on the Time to Live field in the resource records sent, or on a default value set by the system.

        When a name server cannot resolve a name, it can send back a message to the resolver with the address of another name server in the Authority field of the message. The resolver must then address a message to the other name server in the hopes of resolving the name. The resolver can ask the name server to conduct the query itself by setting the RD (recursive) bit in the message. The name server can refuse or accept the request.

        The resolver uses both UDP and TCP in its query process, although UDP is more common, due to its speed. However, iterative queries or transfers of large amounts of information might resort to TCP because of its higher reliability.

        Under the UNIX operating system, several different implementations of the name resolver are in use. The resolver supplied with the BSD versions of UNIX was particularly limited, offering neither a cache nor iterative query capabilities. To solve these limitations, the Berkeley Internet Name Domain (BIND) server was added. BIND provides both caching and iterative query capabilities in three different modes: as a primary server, as a secondary server, or as a caching-only server (which doesn't have a database of its own, only a cache). The use of BIND on BSD systems enables another process to take over the workload of name resolution, a process that might be on another machine entirely.

        Configuring a UNIX DNS Server


        Configuring a DNS server requires several files and databases to be modified or created. The process is time-consuming, but luckily has to be done only once for each server. The files involved in most DNS setups, and their purposes, are as follows:

        named.boot: Used to set file and database locations

        These filenames are used by convention, but they can be changed to suit your own personal needs. The primary file in the list is named.boot, which is read when the system boots up and defines the other files in the set. Therefore, any filename changes are reflected in named.boot. For simplicity, I use the conventional filenames in this chapter. Each of the files listed here is a database with entries in the form of a resource record.

        Entering the Resource Records

        For the sample server configuration, I assume a UNIX operating system using fairly standard names and network layouts. DNS lets you get very complex, but it's easier to see what the files and resource records are doing with a simple layout.

        An SOA resource record is placed in the named.hosts file. Semicolons in the record are used for comments. This resource record has been formatted as one field per line to make its entries clear, although this is not necessary. This resource record defines an upper boundary of the tpci.com domain, with server.tpci.com the primary name server for the domain, root.merlin.tpci.com the e-mail address of the person responsible for the domain, and the rest of the entries identified by comments:

        
        tpci.com.   IN   SOA     server.tpci.com
        
            root.merlin.tpci.com (
        
            2  ; Serial number
        
            7200 ; Refresh (2 hrs)
        
            3600 ; Retry (1 hr)
        
            151200 ; Expire (1 week)
        
            86400 ); min TTL

        Note that the information from the serial number to the expire field is enclosed in parentheses. This is part of the command syntax and must be included to indicate the parameter order.

        In addition to the SOA RR, the named.hosts file contains Address records. These records are used for the actual mapping of a host name to its IP address. A few Address resource records show the format of these entries (refer to earlier sections of this chapter for the meanings of each field if you are not sure):

        
        artemis     IN     A    143.23.25.7
        
        merlin      IN     A    143.23.25.9
        
        pepper      IN     A    143.23.25.72

        The hostnames are not given as fully qualified domain names because the server can deduce the full name. If you want to use the full domain name, you must follow the name with a period. The machines shown in the preceding example would be given like this using fully qualified domain names:

        
        artemis.tpci.com.     IN     A    143.23.25.7
        
        merlin.tpci.com.      IN     A    143.23.25.9
        
        pepper.tpci.com.      IN     A    143.23.25.72

        The Pointer (PTR) resource record is used to map an IP address to a name using IN-ADDR-ARPA. A single PTR RR helps make this clear. The record

        
        7.0.120.147.in-addr.arpa IN PTR merlin

        indicates that the machine named merlin has the IP address 147.120.0.7.

        The Name Server resource records point to the name server that has authority for a particular zone. Name Server (NS) records are used when a large network has several subnetworks, each with its own name server. An entry looks like this:

        
        tpci.com   IN   NS  merlin.tpci.com

        This record indicates that the DNS server for the tpci.com domain is called merlin.tpci.com. If there were several subnets used in tpci.com, there would be an NS RR for each subnet.

        Completing the DNS Files

        As you saw earlier, DNS uses several files to hold resource records describing the zones used by DNS. The first file of interest is named.hosts, which contains the SOA, NS, and A resource records. All entries in the named.hosts file must begin in the first character position of each line. Here's a sample named.hosts file with comments added to show the records:

        
        ; named.hosts files
        
        ; Start Of Authority RR
        
        tpci.com.    IN    SOA     merlin.tpci.com
        
                    root.merlin.tpci.com (
        
                    2  ; Serial number
        
                    7200 ; Refresh (2 hrs)
        
                    3600 ; Retry (1 hr)
        
                    151200 ; Expire (1 week)
        
                    86400 ); min TTL
        
        ;
        
        ; Name Service RRs
        
        tpci.com   IN   NS  merlin.tpci.com
        
        subnet1.tpci.com IN NS goofy.subnet1.tpci.com
        
        ;
        
        ; Address RRs
        
        artemis     IN     A    143.23.25.7
        
        merlin      IN     A    143.23.25.9
        
        windsor     IN     A    143.23.25.12
        
        reverie     IN     A    143.23.25.23
        
        bigcat      IN     A    143.23.25.43
        
        pepper      IN     A    143.23.25.72

        The first section sets the SOA record, which defines the parameters for TTL, expiry, refresh, and so on. It sets the name server for the tpci.com domain to merlin.tpci.com. The second section uses the NS resource records to define the name server for the tpci.com domain as merlin.tpci.com (the same as the SOA) and a subnet of tpci called subnet1, for which the name server is goofy.subnet1.tpci.com. The third section has a list of the address-record-name-to-IP-address mapping. There is an entry in this section for each machine on the network.

        The named.rev file provides the reverse mapping of IP address to machine name and is composed of Pointer resource records. The same format as the named.hosts file is followed, except for the swapping of name and IP address and the conversion of the IP address to IN-ADDR-ARPA style. The equivalent named.rev file for the named.hosts file shown earlier looks like this:

        
        ; named.rev files
        
        ; Start Of Authority RR
        
        23.143.in-addr.arpa    IN    SOA     merlin.tpci.com
        
                    root.merlin.tpci.com (
        
                    2  ; Serial number
        
                    7200 ; Refresh (2 hrs)
        
                    3600 ; Retry (1 hr)
        
                    151200 ; Expire (1 week)
        
                    86400 ); min TTL
        
        ;
        
        ; Name Service RRs
        
        23.143.in-addr.arpa   IN   NS  merlin.tpci.com
        
        100.23.143.in-addr.arpa   IN NS goofy.subnet1.tpci.com
        
        ;
        
        ; Address RRs
        
        9.25.23.143.in-addr.arpa   IN   PTR merlin
        
        12.25.23.143.in-addr.arpa  IN   PTR windsor
        
        23.25.23.143.in-addr.arpa  IN   PTR reverie 
        
        43.25.23.143.in-addr.arpa  IN   PTR bigcat
        
        72.25.23.143.in-addr.arpa  IN   PTR pepper

        There must be a separate named.rev file for each zone or subdomain on the network. These files can have different names or be placed in different directories. If you have only a single zone, one named.rev file is all that's needed.

        The named.local file contains an entry for the loopback driver (which always has the IP address 127.0.0.1). This file must contain information about the IN-ADDR-ARPA mapping of the loopback driver, as well as a domain again (because the named.rev file doesn't cover the 127 subnet). A named.local file looks like this:

        
        ; named.local files
        
        ; Start Of Authority RR
        
        0.0.127.in-addr.arpa    IN    SOA     merlin.tpci.com
        
                    root.merlin.tpci.com (
        
                    2  ; Serial number
        
                    7200 ; Refresh (2 hrs)
        
                    3600 ; Retry (1 hr)
        
                    151200 ; Expire (1 week)
        
                    86400 ); min TTL
        
        ;
        
        ; Name Service RR
        
        0.0.127.in-addr.arpa   IN   NS  merlin.tpci.com
        
        ;
        
        ; Address RR
        
        1.0.0.127.in-addr.arpa   IN   PTR localhost

        This file then provides the mapping from the machine named localhost to the IP address 127.0.0.1.

        The named.ca file is used to specify name servers that the system can resort to. The machines specified in the named.ca file should be stable and not subject to rapid change. A sample named.ca file looks like this:

        
        ; named.ca
        
        ; servers for the root domain
        
        ;
        
        .  99999999  IN   NS  ns.nic.ddn.mil.
        
           99999999  IN   NS  ns.nasa.gov.
        
           99999999  IN   NS  ns.internic.net
        
        ; servers by address
        
        ;
        
        ns.nic.ddn.mil   99999999   IN  A  192.112.36.4
        
        ns.nasa.gov      99999999   IN  A  192.52.195.10
        
        ns.internic.net  99999999   IN  A  198.41.0.4

        In this file only three DNS servers have been specified. A normal named.ca file can have a dozen or so name servers, depending on their proximity to your system. You can get a full list of valid root domain name servers through anonymous FTP to nic.ddn.mil, in the file /netinfo/root-servers.txt. This file can be pasted into named.ca. The servers specified in the named.ca file are each identified by two entries. One gives the root domain (the period) followed by the name server name; the other has the name server IP address. The Time to Live field is set very large because these servers are expected to be always available.

        The named.boot file is used to trigger the loading of the DNS daemons and to specify the primary and secondary name servers on the network. A sample named.boot file looks like this:

        
        ; named.boot
        
        directory    /usr/lib/named
        
        primary    tpci.com    named.hosts
        
        primary    25.143.in-addr.arpa    named.rev
        
        primary    0.0.127.in-addr.arpa    named.local
        
        cache    .    named.ca

        The first line of the named.boot file has the keyword directory followed by the directory of the DNS configuration files. Each following line with the keyword primary tells DNS the files that it should use to find configuration information. The first line, for example, sets named.hosts as the file for locating the primary server of tpci.com. The IN-ADDR-ARPA information is kept in the file named.rev for the 143.25 subnet. The localhost information is in named.local, and finally the server and name cache information are in named.ca.

        A secondary name server is configured only slightly differently than a primary server. The difference is in the named.boot file, which points back to the primary server.

        Starting the DNS Daemons

        The final step in the DNS configuration is to ensure that the DNS daemon called named is loaded when the UNIX system boots. This is usually done through the rc startup scripts. Most versions of UNIX have the routines for DNS startup already entered in the startup script, usually in the form of a check for the file named.boot. If named.boot exists, the DNS daemon named starts. The code usually looks like this:

        
        # Run DNS server if named.boot exists
        
        if [ -f /etc/inet/named.boot -a -x /usr/sbin/in.named ]
        
        then
        
           /usr/sbin/in.named
        
        fi

        The exact directory paths and options might be different in your rc script, but the command should check for the named.boot file and start named if it exists.

        Configuring a Client

        Configuring a UNIX machine to use a primary DNS server for resolution is a quick process. First, the /etc/resolv.conf file is modified to include the primary server's address. For example, a resolv.conf file might look like this:

        
        domain tpci.com
        
        nameserver   143.25.0.1
        
        nameserver   143.25.0.2

        The first line establishes the domain name, which is followed by the IP addresses of available name servers. This file points to two name servers on the 143.25 subnet.

        BOOTP Protocol


        TCP/IP needs to know an Internet address before it can communicate with other machines. This can cause a problem when a machine is initially loaded or has no dedicated disk drive of its own. On Day 2, "TCP/IP and the Internet," you saw how Reverse Address Resolution Protocol (RARP) can be used to determine an IP address, but an alternative is in common use: the bootstrap protocol or BOOTP. BOOTP uses UDP to enable a diskless machine to determine its IP address without using RARP.

        Diskless machines usually contain start-up information in their PROMs. Because these must be kept small and consistent between many models of diskless workstations to reduce costs, it is impossible to pack a complete protocol such as TCP/IP into a chip. It is also impossible to embed an IP address, because the chip can be used in many different machines on the same network. This forces a newly booted diskless workstation to determine its own IP address from the other machines on the network. (In practice, the diskless machine also must determine the IP address of the network server it will use, as well as the address of the nearest IP gateway.)

        BOOTP overcomes a few of RARP's problems. RARP requires direct access to the network hardware, which can cause problems when dealing with servers. Also, RARP supplies only an IP address. When large packets must be sent, this wastes a lot of space that could be used for useful information. BOOTP was developed to use UDP and can be implemented within an application program. BOOTP also requires only a single packet of information to provide all the information a new diskless workstation requires to begin operation. Therefore, BOOTP is more efficient and easier to develop applications for, making it popular.

        To determine a diskless workstation's IP address, BOOTP uses the broadcast capabilities of IP. (You might recall that IP enables several special network addresses that are broadcast to all machines on the network.) This lets the workstation send a message even when it doesn't know the destination machine's address or even its own.



        IP broadcast addresses such as 255.255.255.255 enable a message to be sent to all machines on a network despite having no source or destination network address.

        BOOTP puts all the communications tasks on the diskless workstation. It specifies that all UDP messages sent over the network use checksums and that the Do Not Fragment bit be set. This tends to reduce the number of lost, misinterpreted, or duplicated datagrams.

        To handle the loss of a message, BOOTP uses a simple set of timers. When a message has been sent, a timer starts. If no reply has been received when the timer runs out, the message is resent. The protocol stipulates that the timer is set to a random value, which increases each time the timer expires until it reaches a maximum value, after which it is randomized again. This prevents massive traffic after several machines fail at once and try to broadcast BOOTP messages at the same time.

        BOOTP uses the terms client and server to refer to machines. The client is the machine that initiates a query, and the server is the machine that replies to that query. From these definitions, it is easy to see that client and server have no physical relation to any workstation, because the role of each workstation can change with message traffic. Because most systems can handle multiple traffic threads at a time, it is possible for a machine to be both a client and a server simultaneously.



        When considering client/server roles in BOOTP, remember that the machine that sends the first message is the client and the machine that replies is the server. There is no relationship to client/server architecture terms.


        BOOTP Messages


        BOOTP messages are kept in fixed formats for simplicity and to enable the BOOTP software to fit in a small space within a PROM. The format of BOOTP messages is shown in Figure 11.9. The OpCode field is used to signal either a request (set to a value of 1) or a reply (set to a value of 2). The HTYPE field indicates the network hardware type. The HLEN field indicates the length of a hardware address. (These last two fields are the same as in ARP.)

        Figure 11.9. The BOOTP message format.

        The HOPS field keeps track of the number of times the message is forwarded. When the client sends the request message, a value of 0 is put in the HOPS field. If the server decides to forward the message to another machine, it increments the HOPS count. (Forwarding is necessary when bootstrapping a machine across more than one gateway.)

        The Transaction Number field is an integer assigned by the client to the message and is unchanged from request to reply. This enables matching the replies to the correct request. The Seconds field is the number of seconds the client has been booted, assigned by the client when the message is sent.

        The Client IP Address field is filled in as much as possible by the client. This might result in a partial network address or no information at all, depending on the client's knowledge of the network it is in. Any information that is unknown is set to 0 (so the field might be 0.0.0.0 if nothing is known about the network address). If the client wants information from a particular server, it can put the address of the server in the Server IP Address field. Similarly, if the client knows the server's name, it puts it in the Server Host Name field. The same applies for the other address fields. If the fields are set to 0, any server can respond. If a specific server or gateway is given, only that machine responds to the message.

        The Vendor-Specific field is used, as the name suggests, for implementation information that is specific to each vendor. This field is optional. The first 32 bits define the format of the remaining information. These first bits are known as the magic cookie and have a standard value of 99.120.83.99. Following the magic cookie are sets of information in a three-field format: a type, a length, and a value. There are several types identified by the Internet RFC, as shown in Table 11.5. The Length field is not used for types 0 and 255, but it must be present for types 1 and 2. The length can vary depending on the number of entries in the other types of messages.

        Table 11.5. BOOTP vendor-specific types.

        Type

        Code

        Length

        Description

        Padding

        0

        --

        Used only for padding messages

        Subnet Mask

        1

        4

        Subnet mask for local network

        Time of Day

        2

        4

        Time of Day

        Gateways

        3

        Number of entries

        IP addresses of gateways

        Time Servers

        4

        Number of entries

        IP addresses of time servers

        IEN116 Server

        5

        Number of entries

        IP addresses of IEN116 servers

        DomainName Server

        6

        Number of entries

        IP addresses of Domain Name Servers

        Log Server

        7

        Number of entries

        IP addresses of log servers

        Quote Server

        8

        Number of entries

        IP addresses of quote servers

        LPR Servers

        9

        Number of entries

        IP addresses of lpr servers

        Impress

        10

        Number of entries

        IP addresses of impress servers

        RLP Server

        11

        Number of entries

        IP addresses of RLP servers

        Hostname

        12

        Number of bytes

        Client host name in host name

        Boot size

        13

        2

        Integer size of boot file

        Unused

        128–254

        --

        Not used

        End

        255

        --

        End of list


        You might remember that a machine can obtain the subnet mask from an ICMP message, but BOOTP is the recommended method of obtaining this value.

        The Boot Filename field can specify a filename from which to obtain a memory image that enables the diskless workstation to boot properly. This might be vendor-set or supplied by the server. This enables the memory image to be obtained from one machine while the actual addresses are obtained from another. If this field is set to 0, the server selects the memory image to send.

        The process of booting follows two steps. The first is to use BOOTP to obtain information about the network addresses of the client and at least one other machine (a gateway or server). The second step uses a different protocol to obtain a memory image for the client.



        A two-step process using two different protocols is used to separate the configuration and operating system load of the machine. The use of two protocols enables optimization for each task. Two steps are also used because the machine that replies to the BOOTP client message might not be the machine that downloads the memory image.


        Network Time Protocol (NTP)


        Timing is very important to networks, not only to ensure that internal timers are maintained properly, but also for synchronization of clocks for sending messages and timestamps within those messages. Some systems rely on time for routing. Ensuring that time clocks are consistent and accurate is a task often overlooked, but it remains important enough to have a formal procedure defined by an Internet RFC. The protocol that maintains time standards is called the Network Time Protocol, or NTP. NTP can use either TCP or UDP; port 37 is dedicated to it.

        The operation of NTP relies on obtaining an accurate time from a query to a primary time server, which itself gets its timing information from a standard time source (such as the National Institute of Standards and Technology in the U.S.). The time server queries the standard clock (also called a master clocking source) and sets its own times to the standard.

        Once the primary time server has an accurate time, it sends NTP messages to secondary time servers further out on the internetwork. Secondary time servers can communicate with more secondary time servers using NTP, although accuracy is lost with each communication due to latency in the networks. Eventually, these time messages can be sent to gateways and individual machines within a network, if the administrator so decides. Usually each network has at least one primary time server and one secondary server, although large networks might have several of each.

        The format of NTP messages is simple, as shown in Figure 11.10. Several control fields are used for synchronization and updating procedures, but the details of these fields are not important to this discussion. The Sync Distance to Primary field is an estimate of the round-trip delay incurred to the primary clock. The ID of the primary time server is the address of the primary.

        Figure 11.10. The NTP message format.

        There are several timestamps in the NTP message. The Time Local Clock Updated is the time the message originator's local clock was updated. The Originate timestamp is the time the message was sent. The Receive timestamp is the time it was received. The Transmit timestamp is the time the message was transmitted after reception.

        All timestamps are calculated from an offset of the number of seconds since January 1, 1900. The timestamp fields are 64 bits, the first 32 bits for a whole number and the last 32 for a fraction. The final Authentication field is optional and can be used to authenticate the message.

        Summary


        You have now seen how the Domain Name Service works. DNS is an integral and important part of most TCP/IP installations, enabling symbolic names to be resolved properly across networks. The use of name servers was explained, as well as the manner in which records are stored within the servers. Associated with DNS is the ARP and IN-ADDR-ARPA name resolution process.

        Today I also looked at the BOOTP protocol, necessary to enable many diskless terminals and workstations to connect to the network and load their operating system. Without BOOTP, you would all need full-featured computers or workstations.

        Q&A


        What are the top-level domain names and what are their purposes?

        The top level domains are .arpa (Internet-specific), .com (commercial), .edu (educational institutions), .gov (governmental), .mil (military), and .org (non-commercial organizations).

        What does a DNS name server do?

        The DNS name server manages a zone of machines and provides name resolution for all machines within that zone.

        If a name server cannot resolve a name using its own tables, what happens?

        Queries can be sent from the machine receiving the query to other name servers to search for a resolution. If another machine does have the answer, it is not returned to the inquiring machine, however. Only the address of the name resolver with the answer is returned. The inquiring machine must then send a specific query to the resolver with the answer.

        What is the advantage of the IN-ADDR-ARPA format?

        IN-ADDR-ARPA enables a mapping from the IP address to the symbolic host name. Sometimes this is a fast way to obtain the symbolic name of a destination machine.

        Why does BOOTP use UDP?

        Simply because it is smaller to code. To embed TCP code in a PROM would take much more room than the simple code needed for UDP.

        Quiz


        1. What protocol is used by DNS name servers? Why is that a good choice?

        2. What is a DNS resource record?

        3. Show a sample entry in an IN-ADDR-ARPA file and explain what the fields mean.

        4. BOOTP helps a diskless workstation boot. How does it get a message to the network looking for its IP address and the location of its operating system boot files?

        5. What is the Network Time Protocol? Why is it used?

        Previous Page Page Top TOC Next Page

        <address id="fjh72"></address>

        <dfn id="fjh72"><button id="fjh72"></button></dfn>

              <dfn id="fjh72"></dfn>
              激情网站4438 | 永久免费黄色视频网站 | 999无码在线观看 | 黄色视频一级 | 国产综合AV在线 | 青娱乐极品视频vip | 日韩精品福利视频 | 亚洲无码在线中文字幕 | 澳门黄色网 | 操逼姐妹双飞 | 天天干天天日天天干天天日 | 一区二区三区亚洲动漫 | 欧美色图亚洲图片插菊花综合 | 香蕉电影网 | www.av91| 婷婷婷操 | 超碰成人人人操 | 国产精品v欧美精品v日韩精品 | 久久久www成人免费毛片 | 操B在线观看视频 | 精品成人无码久久久久久 | 国内视频在线 | 日韩www在线 | 操逼超碰在线 | 在线韩国精品三级中文hd无码精品 | 欧美精品操逼视频 | 亚洲成人AV电影在线观看 | 久久精品视频在线观看 | 青青爽视频 | 波多野结衣AV网站 | 麻豆传媒一区二区在线观看 | 日韩欧美黄色 | 日本无码高潮 | 国产A片大全 | 囯产精品久久久久 | a在线免费观看 | 囯产黄色视频 | 思思热视频在线 | 伊人大香蕉在线观看 | 国产av官网 | gogo大胆无码无码免费衩频 | 国产乱伦精品视频 | 人人操人人操人摸 | 亚洲成人网站在线播放 | 国产性交黄片 | 做受 视频毛片 | 夜色色婷婷 | 亚洲午夜无码久久久久蜜桃AV | 国产黄片免费播放 | 日本欧美在线播放 | 亚洲自拍小视频在线观看 | 青草天堂 | 日本黄色电影视频网址 | 伊人天天久久 | 欧美瑟瑟 | 风韵十足的良家美少妇酒店偷情 | 日韩国产精品一级毛片在线 | 秋霞午夜电影 | 亚洲一区午夜精品 | 人人澡人人摸人人看 | 综合激情网五月 | 中文字幕无码一区二区三区一本久 | 一区二区三区久久久久 | a√天堂在线视频 | 日韩一区二区视频 | 亚洲视频在线观看高清 | 韩国精品无码一区二区 | 色老板在线免费观看视频 | 鸡巴操骚逼视频 | 嫩草91 | 91人妻最真实刺激绿帽 | 18禁日韩 | 国产综合久久久777777 | 色拍拍网站| 豆花传剧高清在线看 | 夜夜嗨视频 | 午夜性色 | 麻豆影院91免费版 | 大香蕉123 | 青娱乐av免费观看 | 精品 码A片18 | 亚洲欧美性色图 | AV无码观看| 福利在线观看中文字幕 | 爱爱爱视频免费 | 超碰人妻操 | 久爱免费视频 | 操逼A片 中文字幕乱妇无码Av在线 | 日韩黄色视屏 | 色拍拍视频 | 国产免费A片 | 黄色以在线 | 一级 黄 色情 片视频网站11 | 人人擦人人 | 黄色小视频在线免费 | 大雞巴弄得我好舒服黃片动漫版 | 久久久三级片 | 欧美国产一级片 | 在线日韩AV | 水多多成人精品视频 | 欧美一级婬片免费视频黄 | 国产AAA片 | 深爱丁香网| 亚洲人成人无码网www国产 | 一区二区三区AV | 強姧伦久久久久久久 | 偷拍网网页| 无码人妻精品一区二区蜜桃在 | 一区二区无码专区 | 玖玖视频免费在线观看 | 久久国产乱子伦精品一区二区 | 69视频在线免费看 | 韩国在线一区二区三区 | 91视频久久久久久久 | 日韩女同性爱一区二区三区四区五区 | 天堂v视频 | 欧美v精品 | 国产女女在线观看 | 成人AV一区二区三区四区 | 成年男女免费视频网站无毒 | 日本一三高清 | 黄色成人在线 | 最新草比视频网站 | 日本黄色片在线观看 | 在线免费看逼视频 | 翔田千里一区二区三区 | 毛片儿小视频 | 亚洲热热热 | 青青草成人在线播放 | 91精品国产综合久久久不卡电影 | 大香蕉伊人在线视屏 | 国产色综合视频 | 超污视频网站在线观看免费 | 人人干AV人人操 | 日夲A片网| 操逼无码在线 | 青草视频在线观看免费 | 69视频看黄片 | 欧美v亚洲v综合v国产v妖精 | 色久婷婷综合在线亚洲 | 成人黄色视频网站免费观看 | 可以免费看黄色的网站 | 操骚骚| 玖玖性爱| 美女高潮视频网站 | h片免费观看视频网站 | 高清操啊操 | 国产欧美一区二区三区精品酒店 | 婷婷丁香麻豆 | 亚洲高清无码免费观看 | 青青草视频精品 | 婷婷五月天成人 | 日本在线观看a | 欧美色色资源 | 俺来也俺去也色www | 一级一级a爰片免费看在线 | av先锋影音在线 c逼视频香蕉视频 | 成人免费视频久久 | 欧美成人在线视频网站 | 91视频青青草 | 亚洲一二三四区 | 国产亚洲天堂 | 国产日本在线观看 | 久操青青 | 国产精品禁久久久精品 | 久久久久久久三级片AV | 欧美成人日日 | 秋霞成人毛片 | 性生活黄色视频 | 国产一级视频在线 | 三级91视频 | www.A片 | 久久久影院 | 亚洲精品乱伦视频 | 亚洲操片免费看 | 福利黄色| 俺也去婷婷 | 苍井空视频免费一区二区三区 | 日韩在线视频一区二区三区 | 91蜜桃婷婷狠狠久久综合 | 18禁www | 国内精品久久久久久久久 | 91九色TS另类国产人妖 | 久久九九免费精品视频 | 亚州精品久久久久久久久 | 伊人激情在线 | 很很日2012中文在线免费 | 怡红院院大香蕉 | 射死你天天日 | 久久国产乱子伦精品一区二区 | 一级肏屄视频 | 婷婷无码成人精品俺来俺去 | 精品人妻人人操 | 一级a黄色电影 | 一级a毛片免费看 | www.狠狠插 | 亚洲AV成人中文无码专区观看 | 免费的欧美黄色高清视频网站 | 日韩黄色影院 | 男女操B| 人人草人人入 | 后入极品在线 | 美女喷水网站 | 亚洲最大在线 | 日韩中文字幕在线观看 | 好好日在线视频 | 午夜在线小视频 | 大香蕉久久伊人网 | 成人黄色网址 | 在线免费观看a视频 | 撸一撸操逼视频 | 成人免费一级毛片在线播放视频 | 最新偷拍综合网 | 国产视频久久久 | 青青草原在线视频网站 | 亚洲AV无码成人精品一区 | 老熟女乱伦 | qyle成人在线视频 | 少妇 高潮喷水 | 女人亚洲天堂 | 黄色免费视频大全 | 国产成人综合久久 | 91五月丁香啪啪视频 | 黄色强奸免费小视频网站 | 亚洲综合成人在线 | 一区二区三区四区 久久 | 色婷婷综合久色aⅴ五区最新 | 97中文字幕第二十二页 | 久久内射视频 | 操逼网站入口 | 久久天天操狠狠操 | av在线天堂网 | 亚洲色婷婷在线播放 | 日本成人三级片网站 | 精品无人妻一区二 | 考逼网| 一区二区无码高清 | 国产日韩在线观看视频 | 国产成人无码精品A级毛片抽搐 | 欧美色色资源 | 加勒比无码在线视频 | 亚洲一级a | 黄色三级在线观看 | 91亚洲国产成人久久精品麻豆 | 大屌精品在线 | 韩日三级毛片 | 国产性生活视频 | 国产乱伦第一页 | 欧美黄色免费第一看 | 成人黄色视频网站 | 午夜福利免费视频在线观看 | 在线免费观看黄色小视频 | 大香蕉综合在线视频 | 99国产精品99久久久久久 | 萝莉操逼视频 | 人妻人人摸 | 欧美熟妇乱| 美女av免费网站 美女被操91视频 美女被操视频91 美女被艹视频网站 | 日韩va亚洲va欧美va高清 | 我好想看中国一级操逼片片 | 亚洲精品免费AV | 日日夜夜精品一区 | 中日韩精品一区二区三区四区 | www草逼| 午夜性爱在线 | 91久久久久久久久久免费视频 | 五月丁香帕帕网 | 青娱乐亚洲领先 | 小黄片网站 | 日韩欧美在线免费观看 | 人人草人人摸人人干 | 国内精品偷拍 | 国广富姐搭讪坐顺风车 | 操黑丝在线| x88AV吊钟奶熟女 | 一区二区成人电影 | 翔田千里在线一区二区三区 | 正在播放探花系列av | 久久影院网红无码视频牛牛夜夜骚 | 国产视频一区二区四区 | 自拍偷拍网页 | 高清无码做爱视频 | 久久久久久黄片 | 日韩一级操逼大片 | 黄色片免费一级 | 91蜜桃在线 | 视频肏屄 | 国 产 成 人 在 线 视频观看 | 在线观看亚洲 | 亚洲欧美性爱视频 | 日韩视频高清无码 | 日本精品A级片勉费看 | 欧美一级在线免费 | 考逼无码 | 堕落人妻5果冻传媒 | 污污视频网站 | 日韩最新在线三级片 | 天天特黄视频 | av手机在线观看网站 | 91成人在线免费电影 | 国产乱仑视频 | 国产黑料视频你懂的 | 精品白浆 | 天天色天天爽 | 超级毛片操逼 | 青青草黄视频无限在线观 | 青青草成人免费观看 | 青青草18在线视频 | 欧美日韩精品一区 | 黄片高清| 艹b视频 嗯~啊~乖~进去了~h~乖视频网站免费 | 日操逼逼 | 精选操逼网一区 | 国产婬乱片A片AAA毛片下载 | 91电影无码 | 一级黄色毛片视频 | 网站毛片| 大香蕉之大香蕉之国产沙发 | 大鸡吧成人在线 | 天堂草原电视剧一念天堂草原电视剧v8给我发 | 青青草激情在线 | 肏屄乱伦视频 | 色久伊人| 91视频在线看 | 亚洲有码在线观看 | 俺去俺来也www色官网免费的 | 亚洲无吗免费在线观看 | 91这里只有精品视频 | 麻豆三级片在线观看 | 久久久久久这里只有好吊视频 | 毛片色毛片18毛片 | 中日欧美韩精品 | 欧美日本色 | 插嫩逼视频 | 小泽玛利亚无码视频 | 国产激情在线网站 | 久久逼逼网 | 亚洲日韩理论 | 国产在线一区二区 | 学生妹做爱在线播放 | xjgggyxgs.com高价收liang,请涟系@qdd2000 | 精品一区二区三区四区 | 男人天堂2025手机版 | 美女激晴一级播放在线观看 | 欧美一级操逼逼 | 成人在线三级片 | 人人草人人上 | 香蕉久久a毛片 | 99视频 | 成人视频欧美 | 久久国内综合视频 | a在线观看免费 | 91丨国产丨豆花 | 精品成人在线视频 | 国产AV中文字幕 | 日本精品无码a 6 2v在线 | 中文字幕a∨在线 | 超碰网在线| 丁香五月综合激情网 | 国产蜜臀AV | 色婷婷国产精品免费视频 | 久久精品麻豆影院 | 青青操视频在线 | 一区二区三区精品视频在线观看 | 免费黄色片子 | 涩涩涩大香蕉 | 亚洲色网在线视频 | 豆花视频理论在线播放 | 色黄视频在线 | 欧美成人靠逼小视频 | 成人无码影音先锋 | 亚洲无码 在线播放 | 日韩一区二区三区在线视频 | 自拍偷拍在 | 在线视频这里只有精品6 | 99re在线视频免费观看 | 乱伦 的搜索结果 - 91n | 欧美黄色做爱视频 | 日韩色射 | 欧美成人精品在线观看 | 大香蕉国产在线视频 | 韩国精品 A片 | 国产免费内射 | 国产一区二区三区皇色网站 | 成人MV免费观看 | 黄色一级片免费观看 | 欧美性受XXXX | 欧洲亚洲日本在线 | 欧美最大操逼网站在线 | 波多AV在线| 操逼逼逼逼网站 | 国产极品se婷婷 | 黄色视频网站在线免费看 | 日日日av| www无码视频 | 可以看的黄色网址 | 欧美美女操B视频 | 日韩99视频 | 操我骚逼~好爽麻豆 | 日韩中文字幕在线观看视频 | 婷婷在线观看免费播放 | 3级片免费网站免费播放无码久久 | 一区二区三区精品视频在线观看 | 国产精品午夜视频 | 444iii日韩 | 男人天堂2024在线 | 国产乱人乱偷精品 | 日本在线视频精品 | 男人黄色天堂 | 亚州色大成人 | 日逼逼 | JJ视频在线观看 | 精品蜜桃网 | 欧美激情小说网 | 视频在线播放一区二区 | 色老太在线视频 | 亚洲精品乱码久久久久久蜜芽 | 黄色尤物国产黄色小视频在线观看免费 | 大大鸡吧轻轻操在线视频 | 麻豆成人免费视频在线观看 | 成人无码电影333 | 久久久精品 | 无码专区一区二区三区 | 欧美高清在线 | www日逼| 欧美怡红院视频一区二区三区 | 日本无码人妻 | 日本色色图 | 一级成人电影 | 天天干天天舔天天操 | 91精品国自产欧美在线观看 | 91.xxxxx| 大香蕉色老板 | 日韩欧美视频 | 操b视频手机观看 | MFYD-013 肉食人妻女上司が部下を誘惑し | 青青草wwwwwwwww | 无码下页 豆花视频 | 免费看黃色AAAAAA片 | 九九色在线视频 | 国产精品伦理久久久久 | 超碰人人操人人看人人干 | 日本黄色操逼视频 | 亚洲无码精品久久 | 大香蕉黄色电影网站 | 91三级成人片 | www,大香蕉在 | 亚洲免费视频网站 | 仙儿媛护士 | 日韩最新在线三级片 | 成人在线18av | 中文字幕国产豆花 | 久久精品一区二区三区四区五区 | 拍拍拍拍拍拍拍拍拍拍拍拍拍拍拍拍拍电影 | 成人性生活无码视频 | 蜜桃成人无码区免费视频网站 | 丁香五月婷婷六月 | 亚洲伊人中文字幕 | 欧美一级特黄真人做受 | 五月婷婷中文字幕 | 综合五月激情网 | 高清无码在线观看av | 逼网婷婷| 逼特逼视频在线观看 | 豆花视频免费看 | 婷婷三级| 自拍偷拍第3页 | 影音先锋亚洲无码在线观看 | yy6080午夜私人无码 | 亚洲在线观看免费视频 | 日韩 欧美 国产高清91 | 成人精品电影久久 | 99精品国产麻豆99久久久久久 | 91ThePorn国产 | 中国在线黄色一级学生妹 | 日韩三级在线 | 国产精品久久久久久欧美 | 五月丁香激情婷婷 | 美女扒开屁股 | 国产夫妻操逼视频 | 欧美一级婬片免费视频黄 | 97超碰站 | 美女高潮视频在线观看免费视频 | 天天日天天射天天干 | 豆花视频一区二区三区入口 | 高清无码内射视频 | 免费黄色一级片 | 国产成人在线播放 | 黄色一级毛 | 色视频在线播放 | 操逼黄| 20岁天然美乳白虎女大生 | 久久xx | 五月狠狠激综合 | 国产九一网站免费观看 | 日韩爱操视频 | 人人夜夜i日日 | 97国产超碰免费 | 西西4444WWW大胆无视频 | 黄片网站成人 | 国产白丝精品91 | 日韩黄片在线播放 | 91无码少妇a v久久欧美 | 国产精品视频在线播放 | 免费一级黄色 | 成人a片黄色免费电影 | 狠狠操夜夜操 | 日韩欧美午夜成人无码 | 免费有码精品一区四区 | 欧美操逼影视 | x88AV吊钟奶熟女 | 亚洲无码视频手机免费观看在线观看 | 欧美一级A片免费 | 国产精品vA | 一级内射片在线网站观看 | 日本无码一区二区三区 | 黄a片免费观看 | 亚洲AV无码精品 | 精品国自产拍在线观看 | 豆花视频在线看成人网站 | 射射蜜桃av免费电影 | 欧美人妻日韩视频 | 日韩在线欧美 | 成人毛片女人毛片免费96 | 成人网站免费视频久久网 | 精品视频免费观看 | 一区二区三区无码精品 | 亚洲精品永久久久久久 | www.天天射视频 | 亚洲网站在线 | 亚洲男人天堂视频 | 嫩逼逼网| 大香蕉久久艹 | 一级做a爰片性色毛片成人久久久国产 | 色婷婷色99国产综合精品 | 99爱视频在线 | 免费看黃色AAAAAA 片 | 99免费视频在线观看 | 国产精品久久六区 | 亚洲成人电影无码 | 蝌蚪窝视频久久 | 狠狠色7777 | 天天日狠狠操 | 黄色电影中文字幕 | 欧美成人精品a | 五月丁香帕帕网 | 黄色网址在线播放 | 亚洲最大性爱网站 | 丁香六月欧美 | 成人黄色网址大全 | 操逼电影影音先锋 | 一区二区视频在线播放 | 成人视频18 | 欧美成人精品一级 | 夜夜撸影院 | 小黄片在线免费观看 | 黄片www. | 中文字幕 第二页 | 国产午夜无码视频在线观看 | 操逼网站123 | 围产精品久久久久久久粉嫩 | 啊啊啊啊啊在线 | 成人精品视频99在线观看免费 | 狼友视频在线观看 | 黄色色情网战在线观看 | 亚洲免费视频在线播放 | 国V精品秘 久久久网 | 欧美一区二区三曲的 | 人人操人人吻人人干 | 久久精品美女 | 亚洲免费视频网 | 在线观看免费亚洲高清 | 蜜桃91精品 | 欧美成人日日 | 99视频在线免费看 | 无码一区二区三区嫩草网你懂的 | 成人A√在线 | 亚洲视频在线视频观看 | 黄色学生妹网站在线免费播放 | 台湾无码字幕无码 | 俺也去俺也去俺也去俺也去 | 无码视频免费播放 | 黄色在线免费一级视频 | 又污又黄的网站 | 中文字幕亚洲高清 | 日本在线东京热 | 曰逼视频 | 大香蕉二区 | 日日碰夜夜 | 一道夲一二三区区 | 亚洲成人欧美成人 | 波多野结衣操逼视频 | 免费看片AV | 日本老女人操逼视频 | 国产美女裸体免费看 | 中文字幕 国产精品 | 奇米三级片 | 91精品国产综合久久久久久 | 婷婷综合资源网 | 青娱乐在线视频2 | 国产自研AV在线播放 | 苍井空一级婬片A片AAA片动漫 | 水蜜桃视频网 | 亚洲综合99 | 国产极品久久 | 日本免费AA片 | 亚洲综合短片中文字幕 | 色吊丝永久性观看网站在线观看 | 99re久久 | 污污的视频网站 | 国产1234在线电影 | 91精品成人 | 亚洲欧洲一区二区三区 | 久久精品三级视频 | 日韩免费网址 | 无套内射人妻 | www视频网站在线操 | 啪网站| 亚洲性爱片 | 香蕉视频在线色 | 欧美一级在线免费 | 婷婷激情视频网 | 波多野结衣成人影院 | 色狠狠网| 午夜操逼 | 成人黄色在线网站 | 国产精品视频在线播放 | 啪啪啪免费网站 | 波多野结衣一区二区三区在线 | 大鸡巴伊人网 | 久久国产福利视频 | 91av成人网站 | 人体体内射精一区二区 | 亚洲国内精品 | 欧美大黑逼 | 免费黄色片子 | 伊人大香蕉在线狼人 | 国产免费一区二区三区四区六区在线 | 伊人大香蕉视频 | 欧美三级韩国三级日本三斤在线观看 | 操鼻素材大全在线 | 少妇高潮av久久久久久 | 亚洲无码免费视频在线播放 | 加勒比精品 | 国产片婬乱17 | 在线中文字幕av 中文字幕久久精品 | 三级成人AV | 一级特黄无码久久 | 亚洲自拍中文 | 久久久成人剧场 | 国产一级网络免费黄色片 | 北条麻妃的无码视频 | 最新黄色免费视频 | 欧美在线aaa | 91精品国产日韩91久久 | 欧美夜夜操 | 日韩有码电影中文字幕 | 黄色成人网站在线观看免费 | 丁香六月色婷婷 | 先锋影音AV资源网站 | 欧美搞逼| 中文字幕永久永久在线 | 一级黄色电影在线免费观看 | 人人操人人操人人操人人操人人操 | 久操激情网 | 亚洲精品一级 | 欧美A片视频 | 肏屄视频网 | av婷婷免费 | 国产毛片一区二区+RMVB 国产亚洲欧美精品久久久久久 | 色哟哟 入口国产精品 | av在线资源网 | 免费黄色视频日本 | 欧美性三级 | 欧美性爱久久 | 亚洲欧美高清视频 | 日韩三级在线播放 | 天天舔天天插天天干 | 香蕉偷拍网站 | 欧美在线中文 | 欧美日韩777 | 国产亚洲婷婷 | 欧美色综合天天久久综合精品 | 亚洲日韩在线观看网站 | 亚洲中文字幕一二三无码欧美 | 天天天天澡日日日日澡无码 | 国产主播第一页 | 丝袜双飞国产精品 | 久福利| 欧美日韩一级免费 | a片一级富二代表兄妹淫乱新春 | 日本网站在线播放 | 青青操青青干 | 日本高清无码在线 | 亚洲日韩国产剧情自制在线观看 | 黄色在线免看 | 亚洲成人影音先锋 | 亚洲免费成人版在线视频 | 国产欧美日韩视频在线观看 | 欧美大吊操逼 | 天天操天天操天天 | 动漫黄色视频网站 | 日韩.中文.欧美 | 嫩草 www天堂资源在线观看 | 国产无套精品一区二区 | 欧美:亚洲:日韩:A∪在线 | 欧美在线va | 青草视频网站 | 国产一级片在线播放 | 97人人揉人人躁人人躁人人躁 | 国产视频情 | 射久久久久久 | 色就是色欧美setu | 小早川怜子爆乿护士在线观看 | 最近中文字幕中文翻译歌词 | 青青草大香蕉人人噜视频免费 | 国产1区2区3区 | 黄色性爱网址 | 日韩毛片在线观看 | 亚洲日韩国产精品 | AⅤ在线视频观看 | 亚洲伊人成人 | 色色五月丁香婷婷 | 日韩无码AV一区 | 91乱伦网站 | 国产高清视频你懂得 | 色情视频在线观看免费 | 日韩欧美国产视频 | 亚洲精品三级在线观看 | 国产精品美女www | AV女人天堂 | 青青艹青青啪 | 狠狠操在线| 色色五月天网站 | 黄色片网站在线观看免费 | 欧美黄色A片1234区 | 亚洲成人色色 | 色香蕉网| 哪里可以看AV片 | 卡一卡二无码免费在线 | 亚洲欧美国产毛片在线 | 97人妻人人揉人人躁人人 | 亚洲AV无码国产精品牛牛影视 | 无码精品人妻一区二区三蜜桃 | 久久三级毛片 | 国产操B视频 | 蝌蚪窝视频久久 | 欧美爱爱免费视频 | 黄色成人网站免费在线观看 | 老司机精品91 | 国产一a毛一a毛A免费看 | 国产精品无码一区二区三区免费 | 国产做爰XXXⅩ久久久精华液 | 久久夜色精品国产免费观看 | 成人高清无码免费看 | 操小骚逼视频 | 噜噜AV在线| 天堂新在线| 人人操人人操人人操人人操 | 日韩中文视频 | 欧美乱妇日本无乱码特黄大片 | 国产精品色呦呦 | 免费无码又爽又刺激A片视频男男 | 大香蕉网视频在线 | 国产黄色片免费观看 | 手机看片青青草 | 黄片大香蕉| 欧美精品成人一区二区在线观看 | 韩国精品在线观看 | 豆花视频网| 成人激情视频图片播放 | 成人网站污 | 人妻日日夜夜 | 青娱乐在线播放在线观看视频 | 亚洲第一页欧美 | 成人免费视频夜夜撸 | 99热在线影院 | 日韩激情一级片 | 成人AⅤ | 欧美一级特黄极品大片视频 | 男人天堂网址 | 蜜桃黄色av | 日韩精品成人无码 | 一级免费看片 | 操操操操操操操操操操操操操逼 | 日产精品久久久一区二区 | 人人草网站 | 大香蕉中文视频 | 亚洲HD色网站 | 天天噜| 翔田千里av无码 翔田千里无码av | 免费看一级a片一级a片不人片 | 成人网站在线观看免费 | 伦理精品一区二区三精品 | 豆花在线观看 | 大奶模特惜萍 | 久久午夜鲁丝 | 91狠狠综合久久久久久 | 成人做爱视频在线观看免费版网站 | 超碰在线人妻 | 大香蕉AAA | 91久久久久久久 | 成人精品三级AV在线看 | 日韩三级视频在线观看 | 午夜福利视频一区二区 | 青娱乐在线视频免费观看视频 | 国产又粗又猛视频 | 日韩日批网站 | 久热精品视频在线播放 | 亚洲69视频 | 超碰2016 | 大香蕉伊人网视频 | 午夜乱伦中文字幕 | 日韩曹比无码三级 | 九九九,三级片 | 免费看日逼视频的网站 | 国产香蕉视频 | 有码中文字幕第一页 | 日韩伦理一区二区三区 | 四虎操逼网 | 欧美一级二级三级视频 | 依人大香蕉乱在线 | 国产探花第一页 | 国产ts在线 | 国产乱码一区二区 | 波多野结衣一二三区 | 国产做受91 一片二片老头 | 一本视频无码视频 | 青青草在线免费观看视频 | 日本一级A视频免费 | 美女高潮视频网站 | 中文无码视频在线 | 啪啪啪网站在线观看 | 亚洲AV无码久久精品色欲 | 亚洲乱伦黄色小说视频网址 | av手机久久久久久 | 视频-熊猫成人网 | 国产一卡二卡三卡伦理在线视频 | 91精品国产综合久久福利 | 色哟哟免费视频一区二区三区 | 影音先锋av无码在线 | 香蕉网站啊好硬 | 四虎精品成人无码A片 | 日韩中文在线观看视频 | 18禁成人黄色 | 深夜福利视频久久久久 | 尾随搭讪酒店前台思妍 | 日韩网站免费在线观看 | 强开小嫩苞一区二区三区图片 | 久9久9 | 成人综合娱乐网 | 大鷄巴嫲嫲亂伦 | 中文字幕在线网站 | 综合色图欧美视频 | 国产精品秘 入口swag | 欧美成人大香蕉 | 久草久 | 日韩一级爱爱 | 高潮在线视频 | 婷婷五月丁香五月 | 大香蕉视频久久 | 亚洲精品在线视频播放平台 | 18禁网站亚洲 | 亚洲久久视频 | 国产婷婷综合视频网站 | 奇米成人网 | 国产极品无码AV在线观看 | 在线观看日本艹b视频 | 日韩欧美一级视频 | 午夜精品一区二区三区视频免费看 | JIZZ国产丝袜19学生 | 国产激情在线视频网站 | 青娱乐国产分类日韩成人 | 中文无码视频在线播放 | 南航水野爱在线 | 裸体无码网站 | 最新国产精品 | 国产淫乱视频久久 | 操校花视频 | 黄色在线免费观看网站 | 一级视频网址 | 日韩中文在线字幕 | 欧美手机精品在线 | 中文在线а√在线8 | 久久精品国产99国产精品导航 | 亚洲成人影音 | 中文字幕亚洲乱伦 | 五月丁香六月激情 | 91精品91久久久中77777 | 无码精品一区二区三区免费久久 | 亚洲无码视频在线观看观看 | 苍井空一区二区三区四区 | 黄色亚洲网站 | 丁香五月天啪啪 | 久久久人妻熟妇精品无码蜜桃 | 中国第一美女毛片 | 欧美视频在线网址 | 午夜AV福利电影 | 精品 无码 在线观看 | 四虎成人免费毛片在线 | 成人伊人大在线观 | 国产天堂在线观看 | 人人操人人莫免费 | 国产一极黄片 | 亚洲黄色视频网址 | 人人爽人人操 | 91大香蕉 | 特级西西444www大精品视频免费看 | 国产高潮视频在线观看 | 成人网站视频 | 很很撸AV | 精品国产一区二区色婷婷 | 在线播放,日韩专区 | 最新无码在线观看 | 欧美大香蕉在线观看免费一区二区三区 | 国产偷拍自拍在线观看 | 欧美系列-熊猫成人网 | 国产精品高潮视频 | 欧美美女操逼视频 | 国产熟妇毛多 久久久久一区 | 在线无码免费看 | 日韩免费视频每日更新婷婷久久久 | 青娱乐网站 | 操逼av999 | 九九九免费在线视频 | 麻豆3级片 | 人妻在线中文字幕蜜桃 | www.黄网 | 日本婬片A片免费免费的 | 免费成人先锋影音中出片 | 中文字幕在线观看二区 | 日韩欧美天堂 | 一本无码在线视频观看 | 北条麻妃无码专区 | 免费在线观看无码av | 99热这里只有精品9 | 天堂网www.资源在线 | 大雞巴弄得我好舒服黃片 | 综合网操笔 | 91国产在线自在拍 | 无码成人一区二区三区四区五区 | 激情综合AV | 青青草,新红楼丁香在线 | 免费看的黄色电影一级片 | 亚洲高清成人电影 | 波多野结衣AV在线 | 亚洲成人在线网 | 国产精彩视频在线 | 免费在线a | 翔田千里无码AV在线观看 | 俺来了俺去了www色官网 | 亚洲免费观看无码爽片视频 | 视频久久小说网站 | 美女被大鸡吧操视频网站在线播放 | 亚洲无码性爱视频在线观看 | 久久百万精品 | 91在线导航 | 伊人无码不卡电影网 | 无码视频免费在线播放 | 夜福利导航 | 婷婷综合网 | 亚洲成人蜜芽在线 | 激情色色网 | 久久久久无码精品国产H动漫猫咪 | 亚洲无码男人的天堂 | 怕怕视频2017 | 日韩高跟视频在线播放 | 久久影院国产 | 一区二区三区未删减 | 国产一级无码黄片 | 特级西西高清4Www电影 | 99精品视频在线看 | 日本在线不卡播放视频 | www.青青草 | 色色国产 | 老妇裸体乱婬A片 | 亚洲第一黄 | 性欧美tube | 国产亚洲中文 | 日本人妻三级 | 天天操天天草 | 精品国产三级片 | 欧美成人无码一级A片蜜芽 | 国产成人婬片A片免费V8 | 韩国一级网站 | 波多野结衣网站视频 | 色婷婷免费在线视频 | 91在线无码精品蜜桃 | 青青草免费手机视频 | 国产成人av | 精品人妻少妇一级毛片免费 | 十八女人高潮A片免费 | 北条麻纪一区二区三区在线视频 | 一级少妇A片在线观看浪莎八Av | 亚洲第五自拍 | 九九九九影视 | yy4080一级毛片一成人 | 国产一级国产一级毛片 | 亚洲精品一区二区无码日本蜜桃 | 韩国TS『人妖av |