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

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

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

        Previous Page TOC Next Page



        — 5 —
        Gateway and Routing Protocols


        TCP/IP functions perfectly well on a local area network, but its development was spurred by internetworks (more specifically by the Internet itself), so it seems logical that TCP/IP has an architecture that works well with internetwork operations. Today I examine these internetwork specifics in more detail by looking at the manner in which gateways transfer routing information between themselves.

        The routing method used to send a message from its origin to destination is important, but the method by which the routing information is transferred depends on the role of the network gateways. There are special protocols developed specifically for different kinds of gateways, all of which function with TCP.

        Gateways, Bridges, and Routers


        To forward messages through networks, a machine's IP layer software compares the destination address of the message (contained in the Protocol Data Unit, or PDU) to the local machine's address. If the message is not for the local machine, the message is passed on to the next machine. Moving messages around small network is quite easy, but large networks and internetworks add to the complexity, requiring gateways, bridges, and routers, which try to establish the best method of moving the message to its destination.

        Defining the meaning of these terms is relatively easy:

        The gateway's protocol conversion capability is important (otherwise, the machine is no different from a bridge). Protocol conversion usually takes place in the lower layers, sometimes including the transport layer. Conversion can occur in several forms, such as when moving from a local area network format to Ethernet (in which case the format of the packet is changed) or from one proprietary file convention to another (in which case the file specifications are converted).

        Bridges act as links between networks, which often have a bridge at either end of a dedicated communications line (such as a leased line) or through a packet system such as the Internet. There might be a conversion applied between bridges to increase the transmission speed. This requires both ends of the connection to understand a common protocol.

        Routers operate at the network level, forwarding packets to their destination. Sometimes a protocol change can be performed by a router that has several delivery options available, such as Ethernet or serial lines.

        A term you might occasionally see is brouter, a contraction of both bridge and router. As you might expect, brouters perform the functions of both a bridge and a router, although sometimes not all functions are provided. The term brouter is often applied for any device that performs some or all of the functions of both a bridge and a router.

        A term in common use when dealing with routes is packet-switching. A packet-switched network is one in which all transfers are based on a self-contained packet of data (like that of TCP/IP's datagrams). There are also message-switched (self-contained complete messages, as with UNIX's UUCP system) and line-switched (fixed or dedicated connections) networks, but these are rarely used with TCP/IP. Packet-switched networks tend to be faster overall than message-switched networks, but they are also considerably more complex.

        Gateway Protocols


        Gateway protocols are used to exchange information with other gateways in a fast, reliable manner. Using gateway protocols, transmission time over large internetworks has been shown to increase, although there is considerable support for the idea of having only one protocol across the entire Internet (which would eliminate gateway protocols in favor of TCP/IP throughout).

        The Internet provides for two types of gateways: core and non-core. All core gateways are administered by the Internet Network Operations Center (INOC). Non-core gateways are not administered by this central authority but by groups outside the Internet hierarchy (who might still be connected to the Internet but administer their own machines). Typically, corporations and educational institutions use non-core gateways.

        The origin of core gateways arose from the ARPANET, where each node was under the control of the governing agency. ARPANET called them stub gateways, whereas any gateway not under direct control (non-core in Internet terms) was called a nonrouting gateway. The move to the Internet and its proliferation of gateways required the implementation of the Gateway-to-Gateway Protocol (GGP), which was used between core gateways. The GGP was usually used to spread information about the non-core gateways attached to each core gateway, enabling routing tables to be built.

        As the Internet grew, it became impossible for any one gateway to hold a complete map of the entire internetwork. This was solved by having each gateway handle only a specific section of the internetwork, relying on neighboring gateways to know more about their own attached networks when a message was passed. One problem that frequently occurred was a lack of information for complete routing decisions, so default routes were used.

        Earlier in this book, the term autonomous system was introduced. An autonomous system is one in which the structure of the network it is attached to is not visible to the rest of the internetwork. Usually, a gateway leads into the network, so all traffic for that network must go through the gateway, which hides the internal structure of the local network from the rest of the internetwork.

        If the local network has more than one gateway and they can talk to each other, they are considered interior neighbors. (The term interior neighbor is sometimes applied to the machines within the network, too, not just the gateways.) If the gateways belong to different autonomous systems, they are exterior gateways. Thus, when default routes are required, it is up to the exterior gateways to route messages between autonomous systems. Interior gateways are used to transfer messages into an autonomous system.

        Within a network, the method of transferring routing information between interior gateways is usually the Routing Information Protocol (RIP) or the less common HELLO protocol, both of which are Interior Gateway Protocols (IGPs). These protocols are designed specifically for interior neighbors. On the Internet, messages between two exterior gateways are through the Exterior Gateway Protocol (EGP). RIP, HELLO, and EGP all rely on a frequent (every thirty seconds) transfer of information between gateways to update routing tables.



        The three gateway protocols are intertwined: EGP is used between gateways of autonomous systems, whereas the IGPs RIP and HELLO are used within the network itself. GGP is used between core gateways.

        Why not use GGP for all internetwork communications, dropping the need for EGPs? The answer lies in the fact that core gateways that use GGP know about all the other core gateways on the internetwork. This simplifies their messaging and provides complete routing tables. However, core gateways usually lead into many complex networks of more autonomous networks, most of which the core gateways don't know about. However, the exterior gateways must know about all the networks directly connected to it, but not all the networks on the entire internetwork, so the routing tables and routing algorithms for a core and non-core gateway are different. This also means that messages can have different formats, because routing information for a non-core gateway has some connections that are hidden from other gateways.

        It is possible for a large autonomous system to be composed of several subnetworks or areas, each of which communicates with the other areas through an IGP. Each subnetwork or area has a designated gateway, called a border gateway, or border router, to indicate that it is within an area. Border routers communicate with each other using IGP. A commonly encountered term is boundary gateway, which is the same as an exterior gateway or a path to another autonomous network. This is illustrated in Figure 5.1, which shows three subnetworks or areas that communicate with each other through boundary gateways or routers using IGP, and two exterior gateways (also called boundary gateways) that communicate with the rest of the internetwork using EGP.

        Figure 5.1. Interior and exterior gateways.

        Routing Daemons


        To handle the routing tables, most UNIX systems use a daemon called routed. A few systems run a daemon called gated. Both routed and gated can exchange RIP messages with other machines, updating their route tables as necessary. The gated program can also handle EGP and HELLO messages, updating tables for the internetwork. Both routed and gated can be managed by the system administrator to select favorable routes, or to tag a route as not reliable.

        The configuration information for gated and routed is usually stored as files named gated.cfg, gated.conf, or gated.cf. Some systems specify gated information files for each protocol, resulting in the files gated.egp, gated.hello, and gated.rip. A sample configuration file for EGP used by the gated process is shown here:

        
        #     @(#)gated.egp 4.1 Lachman System V STREAMS TCP  source
        
        #   sample EGP config file
        
        traceoptions general kernel icmp egp protocol ;
        
        autonomoussystem 519 ;
        
        rip no;
        
        egp yes {
        
             group ASin 519 {
        
                  neighbor  128.212.64.1 ;
        
             } ;
        
        } ;
        
        static {
        
             default gateway 128.212.64.1 pref 100 ;
        
        } ;
        
        propagate proto egp as 519 {
        
             proto rip gateway 128.212.64.1 {
        
                  announce 128.212 metric 2 ;
        
             } ;
        
             proto direct {
        
                  announce 128.212 metric 2 ;
        
             } ;
        
        } ;
        
        propagate proto rip {
        
             proto default {
        
                  announce 0.0.0.0 metric 1 ;
        
             } ;
        
             proto rip {
        
                  noannounce all ;
        
             } ;
        
        } ;

        The code above shows a number of configuration details. It starts with a number of options and the switch that turns EGP on and sets the neighbor IP address. This is followed by code that defines the way EGP behaves. Most of the details are of little interest and are seldom (if ever) modified by a user. Instead, configuration routines tend to manage this file’s contents.

        The UNIX system administrator also has a program called route that enables direct entry of routing table information. The information on a UNIX system regarding routing is usually stored in the file /etc/gateways.

        It has become common practice to allow a default network Internet address of 0.0.0.0, which refers to a gateway on the network that should be capable of resolving an unknown address. (This is included in the previous sample configuration file as proto default.) The default route is used when the local machine cannot resolve the address properly. Because the routing tables on a gateway are usually more complete than those on a local machine, this helps send packets to their intended destination. If the default address gateway cannot resolve the address, an Internet Control Message Protocol (ICMP) error message is returned to the sender.

        Routing


        Routing refers to the transmission of a packet of information from one machine through another. Each machine that the packet enters analyzes the contents of the packet header and decides its action based on the information within the header. If the destination address of the packet matches the machine's address, the packet should be retained and processed by higher-level protocols. If the destination address doesn't match the machine's, the packet is forwarded further around the network. Forwarding can be to the destination machine itself, or to a gateway or bridge if the packet is to leave the local network.

        Routing is a primary contributor to the complexity of packet-switched networks. It is necessary to account for an optimal path from source to destination machines, as well as to handle problems such as a heavy load on an intervening machine or the loss of a connection. The route details are contained in a routing table, and several sophisticated algorithms work with the routing table to develop an optimal route for a packet.

        Creating a routing table and maintaining it with valid entries are important aspects of a protocol. Here are a few common methods of building a routing table:

        Each method has advantages and disadvantages. The fixed table approach, whether located on each network node or downloaded at regular intervals from a centrally maintained fixed table, is inflexible and can't react to changes in the network topology quickly. The central table is better than the first option, simply because it is possible for an administrator to maintain the single table much more easily than a table on each node.

        The dynamic table is the best for reacting to changes, although it does require better control, more complex software, and more network traffic. However, the advantages usually outweigh the disadvantages, and a dynamic table is the method most frequently used on the Internet.

        Fewest-Hops Routing


        Most networks and gateways to internetworks work on the assumption that the shortest route (in terms of machines traveled through) is the best way to route messages. Each machine that a message passes through is called a hop, so this routing method is known as fewest hops. Although experimentation has shown that the fewest-hops method is not necessarily the fastest method (because it doesn't take into account transmission speed between machines), it is one of the easiest routing methods to implement.

        To provide fewest-hops routing, a table of the distance between any two machines is developed, or an algorithm is available to help calculate the number of hops required to reach a target machine. This is shown using the sample internetwork of gateways in Figure 5.2 and its corresponding table of distances between the gateways in the figure, which is shown in Table 5.1.

        Figure 5.2. An internetwork of gateways.

        Table 5.1. Table of fewest hops from Figure 5.2.


        A

        B

        C

        D

        E

        F

        G

        H

        I

        A


        1

        2

        1

        2

        3

        4

        3

        4

        B

        1


        1

        2

        3

        4

        5

        4

        5

        C

        2

        1


        1

        2

        3

        4

        3

        4

        D

        1

        2

        1


        1

        2

        3

        2

        3

        E

        2

        3

        2

        1


        1

        2

        1

        2

        F

        3

        4

        3

        2

        1


        1

        2

        1

        G

        4

        5

        4

        3

        2

        1


        2

        1

        H

        3

        4

        3

        2

        1

        2

        2


        1

        I

        4

        5

        4

        3

        2

        1

        1

        1


        When a message is to be routed using the fewest-hops approach, the table of distances is consulted, and the route with the fewest number of hops is selected. The message is then routed to the gateway that is closest to the destination network. When intermediate gateways receive the message, they perform the same type of table lookup and forward to the next gateway on the route.

        There are several problems with the fewest-hops approach. If the tables of the gateways through which a message travels to its destination have different route information, it is conceivable that a message that left the source machine on the shortest route could end up following a more circuitous path because of differing tables in the intervening gateways. The fewest-hops method also doesn't account for transfer speed, line failures, or other factors that could affect the overall time to travel to the destination; it is merely concerned with the shortest apparent distance, assuming that all connections are equal. To accommodate these factors, another routing method must be used.

        Type of Service Routing


        This type of routing depends on the type of routing service available from gateway to gateway. This is called type of service (TOS) routing. It is also more formally called quality of service (QOS) by OSI. TOS includes consideration for the speed and reliability of connections, as well as security and route-specific factors.

        To effect TOS routing, most systems use dynamic updating of tables that reflect traffic and link conditions. They also take into account current queue lengths at each gateway, because the fastest theoretical route might not matter if the message is backlogged in a queue. This information is obtained through the frequent transfer of status messages between gateways, especially when conditions deteriorate.

        Dynamic updating of tables can have a disadvantage in that if tables are updated too frequently, a message might circulate through a section of the internetwork without proper routing to its destination, or proceed through a long and convoluted path. For this reason, dynamic updating occurs at regular but not too frequent intervals. To prevent stray datagrams from circulating on the internetwork too long, the Time to Live information in the IP message header is important.



        The IP header's Time to Live (TTL) field is very important to dynamic gateway routing protocols, which is why it is a mandatory field. Without it, datagrams could circulate throughout the network indefinitely.

        The dynamic nature of TOS routing can sometimes cause a message's fragments to be routed in different ways to a destination. For example, if a long message of 10 datagrams is being sent by one route, but the routing tables are changed during transmission to reflect a backlog, the remainder of the datagrams might be sent via an alternate route. This doesn't matter, of course, because the receiving machine reassembles the message in the proper order as the datagrams are received.

        Updating Gateway Routing Information


        A somewhat simplified example of a dynamic update is useful at this stage. The exact communications protocols between gateways are examined in more detail later today.

        Assume that two autonomous networks are connected to each other at two locations, as shown in Figure 5.3, with connections to different autonomous networks at other locations. The A–C connection and the B–D connection can both be used for routing from within the networks, depending on which is the optimal path. Gateway C has a copy of gateway A's routing table, and vice versa. Gateways B and D each have copies of the other's routing tables, as well. These copies are transmitted at intervals so the gateways can maintain an up-to-date picture of the connections available through the other gateway. The gateways use EGP to send the messages. (They would use GGP if they were core gateways.)

        Figure 5.3. Two interconnected networks.

        Suppose that a gateway link within one of the networks was broken due to a machine or connection failure, such as that between gateway C and machine X in Figure 5.3. Gateway C would find out about the problem through an IGP message and update its routing table to reflect the break, usually by putting the largest legal value for routing length in that entry. (Remember that IGP is a general term for any internal network protocol for gateway communications, such as RIP or HELLO.) Gateway C transfers its new copy of the routing table to gateway A.

        Routing a message to machine Y would now be impossible through the C–X connection. However, because gateway A has the routing information from C, and it exchanges routing information with gateway B, which also exchanges with gateway D, any message passing through either D or B for machine Y could be rerouted up through gateway A, then C, and finally to Y. An EGP message between B–D and A–C would indicate that the new route costs less than the maximum value assigned going through C–X (which is broken), so the round-about transfer through the four gateways can be used.

        EGP messages between gateways are usually sent whenever a connection problem exists and the routing information is set to its maximum (worst) value, or when a better connection alternative has been discovered for some reason. This can be because of an update from a remote gateway's routing table, or the addition of new connections, machines, or networks to the system. Whichever happens, an EGP message informs all the connected gateways of the changes.

        The IGP and EGPGateway Protocols


        Gateways need to know what is happening to the rest of the network in order to route datagrams properly and efficiently. This includes not only routing information but also the characteristics of subnetworks. For example, if one gateway is particularly slow but is the only access method to a subnetwork, other gateways on the network can tailor the traffic to suit.

        A GGP is used to exchange routing information between devices. It is important not to confuse routing information, which contains addresses, topology, and details on routing delays, with the algorithms used to make routing information. Usually the routing algorithms are fixed within a gateway and not modified. Of course, as the routing information changes, the algorithm adapts the chosen routes to reflect the new information.

        GGPs are primarily for autonomous (self-complete) networks. An autonomous system uses gateways that are connected in one large network, such as one might find in a large corporation. Two kinds of gateways must be considered in an autonomous network. The gateways between smaller subnetworks help tie the small systems into the larger corporate network, but the gateways for each subnetwork are usually under the control of one system (usually in the IS department). These gateways are considered autonomous because the connections between gateways are constant and seldom change. These gateways communicate through an IGP.

        Large internetworks like the Internet are not as static as corporate systems. Gateways can change constantly as the subsidiary networks make changes, and the communications routes between gateways are more subject to change, too. For widely spread companies, there might be gateways spread throughout the country (or the world) that are all part of the same corporate network but use the Internet to communicate. The communications between these gateways are slightly different than when they are all physically connected together. These gateways communicate through an EGP.

        There are fewer rules governing IGPs than EGPs simply because the IGP can handle custom-developed applications and protocols within its local network. When the Internet is used for gateway-to-gateway communications, the messages must conform to the internetwork standards. Also, when connecting two subnetworks, it is possible to send only one message to the subnetwork gateway through EGP, which can then be duplicated, modified, and propagated to all gateways on the internal system using IGP. EGP has formalized rules governing its use.

        Gateway-to-Gateway Protocol (GGP)


        GGP is used for communications between core gateways. A recent improvement of the protocol, called SPREAD, is starting to be used but is not yet as common as GGP. Even if GGP is phased out in favor of SPREAD, it is a useful illustration of gateway-to-gateway protocols.

        GGP is a vector-distance protocol, meaning that messages tend to specify a destination (vector) and the distance to that destination. Vector-distance protocols are also called Bellman-Ford protocols, after the researchers who first published the idea. For a vector-distance protocol to be effective, a gateway must have complete information about all the gateways on the internetwork; otherwise, computing a distance with a fewest-hops type of protocol cannot succeed.



        You might recall from earlier today that core gateways have complete information about all other core gateways, so a vector-distance protocol works. Non-core gateways don't have a complete internetwork map, so GGP-type messages are not useful.

        A gateway establishes its connections to other gateways by sending out messages, waiting for replies, and then building a table. This is initially accomplished when a gateway is installed and has no routing information at all. This aspect of communications is not defined within GGP but relies on network-specific messages. Once the initial table has been defined, GGP is used for all messages.

        Connectivity with another gateway on the Internet is determined using the K-out-of-N method. In this procedure, a gateway sends an echo message to another gateway and waits for a reply. It repeats this every fifteen seconds. According to the Internet standards, if the gateway does not receive three (K) replies out of four (N) requests, the other gateway is considered down, or unusable, and routing messages are not sent to that gateway. This process can be repeated at regular intervals.

        If a down gateway becomes active again, the Internet standards require two out of four echo messages to be acknowledged. This is called J-out-of-M, where J is two and M is four. The Internet-assigned values for J, K, M, and N can be changed for autonomous networks, but the standard defines the values for use on the Internet itself.

        Each message between gateways has a sequence number that is incremented with each transmitted message. Each gateway tracks its own sequence number for sending to every other gateway it is connected to, as well as the incoming sequence numbers from that gateway. They are not necessarily the same, because more messages might flow one way than the other, although usually each message should have an acknowledgment or reply of some type.

        Sequence numbers have important meanings for the messages and are not just for the sake of keeping an incremental count of the traffic volume. When a gateway receives a message from another gateway, it compares the sequence number in that message to the last received sequence number in its internal tables. If the latest message has a higher sequence number than the last message received, the gateway accepts the message and updates its sequence number to the latest received value. If the number was less than the last received sequence number, the message is considered old and is ignored, with an error message containing the just-received message sent back. This process is shown in Figure 5.4.

        Figure 5.4. Processing sequence numbers in GGP.

        The receiving gateway acknowledges the received message by sending a return message that contains the sequence number of the just-received message. The other gateway compares that number with the number of its last sent message, and if they are the same, the gateway knows that the message was properly received. If the numbers do not match, the gateway knows an error occurred and transmits the message again.

        When a message is ignored by the recipient gateway, the sending gateway receives a message with the sequence number of the ignored message. It can then determine which messages were skipped and adjust itself accordingly, resending messages that need to be sent.

        The GGP message format is shown in Figure 5.5. After it is constructed, it is encapsulated into an IP datagram that includes source and target addresses. The first field is a message type, which is set to a value of 12 for routing information. The sequence number was discussed earlier and provides an incremental counter for each message. The Update field is set to a value of 0 unless the sending gateway wants a routing update for the provided destination address, in which case it is set to a value of 1. The Number of Distances field holds the number of groups of addresses contained in the current message.

        Figure 5.5. The GGP message format.

        For each distance group in the message, a distance value and the number of networks that can be reached at that distance are provided, followed by all the network address identifications. According to the GGP standard, not all the distances need to be reported, but the more information supplied, the more useful the message is to each gateway.

        GGP does not deal with full Internet addresses specifically, so the host portion of the address does not necessarily have to be included in the address, although the network address is always provided. This can result in different lengths of addresses in the identification field (8, 16, or 24 bits, depending on the type of address).

        Three other formats are used with GGP messages, as shown in Figure 5.6. The acknowledgment message uses the Type field to indicate whether the message is a positive acknowledgment (type is set to 2) or a negative acknowledgment (type is set to 10) . The sequence number, as mentioned earlier today, is used to identify the message to which the acknowledgment applies.

        Figure 5.6. Other GGP message formats.

        The echo request and echo reply formats are passed between gateways to inform the gateways of status changes and to ensure the gateway is up. An echo request has the Type field set to the value 8, whereas an echo reply has the Type field set to a value of 0. Because the address of the sending gateway is embedded in the IP header, it is not duplicated in the GGP message. The remaining 24 bits of the message are unused.

        The network interface status message is used by a gateway to ensure that it is able to send and receive messages properly. This type of message can be sent to the originating gateway itself, with the type field set to a value of 9 and the IP address in the header set to the network interface's address.

        The External Gateway Protocol (EGP)


        As mentioned earlier, an EGP is used to transfer information between non-core neighboring gateways. Non-core gateways contain complete details about their immediate neighbors and the machines attached to them, but they lack information about the rest of the network. Core gateways know about all the other core gateways but often lack the details of the machines beyond a gateway.

        EGP is usually restricted to information within the gateway's autonomous system. This prevents too much information from passing through the networks, especially when most of the information that relates to external autonomous systems would be unusable to another gateway. EGP therefore imposes restrictions on the gateways about the machines EGP passes routing information about.

        Neighbors and EGP


        Because EGP was developed to enable remote systems to exchange routing information and status messages, the protocol is heavily based in requests or commands followed by replies. The four EGP commands and their possible responses are shown in Table 5.2.

        Table 5.2. EGP commands.

        Command Name

        Command Description

        Response Name

        Response Description

        Request

        Request that a neighbor become a gateway

        Confirm/Refuse

        Agree or refuse the request

        Cease

        Request the termination of a neighbor

        Cease-Ack

        Agree to termination

        Hello

        Request confirmation of routing to neighbor (neighbor reachability)

        IHU

        Confirms the routing

        Poll

        Request that the neighbor provide network information (network reachability)

        Update

        Provides network information


        To understand Table 5.2 properly, you must understand the concept of neighbor to an internetwork. Gateways are neighbors if they share the same subnetwork. They might be gateways to the same network (such as the Internet) or work with different networks. When the two want to exchange information, they must first establish communications between each other; the two gateways are essentially agreeing to exchange routing information. This process is called neighbor acquisition.

        Neighbor doesn't mean the networks have to be next to each other. They are connected by a gateway, but the networks can be on different continents. The term neighbor has to do with connections, not geography.

        The process of becoming neighbors is formal, because one gateway might not want to become a neighbor at that particular time (for any number of reasons, but usually because the gateway is busy). It begins with a Request, which is followed by either an acceptance (Confirm) or refusal (Refuse) from the second machine. If the two gateways are neighbors, either can break the relationship with a Cease message.

        After two gateways become neighbors, they assure each other that they are still in contact by occasionally sending a Hello message, to which the second gateway responds with an IHU (I Heard You) message as soon as possible. These Hello/IHU messages can be sent at any time. With several gateways involved on a network, the number of Hello messages can become appreciable as the gateways continue to remain in touch. This process is called neighbor reachability.

        The other message pair sent by EGP is network reachability, in which case one gateway sends a Poll message and expects an Update message in response. The response contains a list of networks that can be reached through that gateway, with a number representing the number of hops that must be made to reach the networks. By assembling the Update messages from different neighbors, a gateway can decide the best route to send a datagram.

        Finally, an error message is returned whenever the gateway cannot understand an incoming EGP message.

        EGP Messages


        The layout of the different messages used by EGP are shown in Figure 5.7. The fields have the following meanings:

        Figure 5.7. EGP message format.

        The Reason field of the Error message can contain one of the following integers:

        5—No response received to a poll

        Through a combination of the message Type, Code, and Status fields, the purpose and meaning of the EGP message can be more accurately determined. Table 5.3 shows all codes and status values.

        Table 5.3. EGP messages.

        Type

        Description

        Code

        Description

        Status

        Description

        1

        Update

        0


        0

        Indeterminate





        1

        Up





        2

        Down





        128

        Unsolicited

        2

        Poll

        0


        0

        Indeterminate





        1

        Up





        2

        Down

        3

        Neighbor Acquisition

        0

        Request

        0

        Not specified



        1

        Confirm

        1

        Active mode



        2

        Refuse

        2

        Passive mode



        3

        Cease

        3

        Insufficient Resources



        4

        Cease-Ack

        4

        Prohibited





        5

        Shutting Down





        6

        Parameter Problem





        7

        Protocol Violation

        5

        Neighbor Reachability

        0

        Hello

        0

        Indeterminate



        1

        I Heard You

        1

        Up





        2

        Down

        8

        Error

        0


        0

        Indeterminate





        1

        Up





        2

        Down





        128

        Unsolicited


        The Status field can indicate whether a gateway is up or down. In the down state, the gateway does not perform any routing. The Neighbor Acquisition status indicator can show whether the machine is active or passive. When passive, the gateway does not generate any Hello commands, but it responds to them. At least one neighbor has to be in the active state to issue the Hellos.

        When a list of networks and their distances must be added to an EGP header, it is done in the format shown in Figure 5.8. The number of distances in the list is specified, followed by entries with the same format giving the distance (number of hops) to the gateway, the number of networks that can be reached through that gateway, and the network addresses. The number of internal and external gateways in the EGP header tells the gateway how many entries are in the list.

        Figure 5.8. Routing information in an EGP header.

        Using EGP, gateways can update each other and keep their routing tables current. A similar scheme is used for IGP, although the messages can be custom-designed by the network manager and application development team because they are not transmitted over the Internet.

        Neighbor Acquisition Messages

        A Neighbor Acquisition message (Request, Confirm, and Refuse Acquisition message types) is sent when a neighbor is being checked for acquisition. The same message format is used whether the particular message is a request, a confirmation, or a refusal.

        The type is set to a value of 3 to indicate that the message is a neighbor acquisition, and the Code field provides the details as to the type of Acquisition message, as shown in Table 5.4.

        Table 5.4. EGP Acquisition message codes.

        Code

        Description

        0

        Request Acquisition

        1

        Confirm Acquisition

        2

        Refuse Acquisition

        3

        Cease

        4

        Cease Acknowledgment


        The Status field in the Acquisition message header is set to one of eight possible values and is used to provide further information about the request. The valid Status field values are shown in Table 5.5.

        Table 5.5. EGP Acquisition message Status values.

        Status

        Description

        0

        Unspecified; used when no other code is applicable

        1

        Active; indicates an active status mode

        2

        Passive; indicates a passive status mode

        3

        Insufficient resources available

        4

        Administratively prohibited

        5

        Going down either because of operator intervention or expiration of the t3 timer

        6

        Parameter error with incoming message

        7

        Protocol violation in incoming message or response message is incompatible with current machine state


        The EGP Neighbor Acquisition message adds two new fields to the basic EGP message header. The 16-bit Hello Interval field specifies the minimum interval between Hello command pollings, in seconds. The 16-bit Poll Interval field specifies the minimum interval between Poll command pollings, again in seconds.

        Neighbor Reachability Messages

        The Neighbor Reachability messages are used to ensure that a neighbor that was previously acquired is still active and communicating. No extra fields are added to the basic EGP message format shown in Figure 5.7.

        The Type field is set to a value of 5, but the Code field has a value of either 0 for a Hello message or 1 for an IHU (I Heard You) response. The Status field can have one of three values, shown in Table 5.6.

        Table 5.6. EGP Neighbor Reachability Status field values.

        Status

        Description

        0

        Indeterminate; used when no other code is applicable

        1

        Neighbor is in an up state

        2

        Neighbor is in a down state



        Poll Messages

        The Poll messages are used to request network reachability information. An extra two fields are added to the basic EGP message format, which are a 16-bit field reserved for future use and a 32-bit IP Source Network field.

        The Poll messages have the Type field set to a value of 2 and the Code field set to a value of 0. The Status field is set to one of the same three values used in the Reachability message, shown in Table 5.6.

        The 16-bit Reserved field attached to the end of the basic EGP message format is ignored in the current versions of EGP. A 32-bit IP Source Network field is used to specify the IP address of the network about which the gateway is requesting reachability information.

        Update Messages

        Update messages are sent as a reply to a Poll message and provide information about network reachability. The format of the Update message is shown in Figure 5.9 and is similar to the GGP format discussed earlier.

        Figure 5.9. EGP Update message format.

        The Type of an Update message is set to 1, and the Code is set to 0. The Status field is set to one of the values shown in Table 5.7. (The values are the same as those for Reachability and Poll messages except for the addition of one value.)

        Table 5.7. EGP Update message Status field values.

        Status

        Description

        0

        Indeterminate; used when no other code is applicable

        1

        Neighbor is in an up state

        2

        Neighbor is in a down state

        128

        Unsolicited message


        After the familiar EGP header information are three new fields. The number of internal gateways and number of external gateways fields specify the number of interior and exterior gateways that are reported in the message, respectively. The IP Source Network Address field contains the IP address of the network to which the information relates.

        Following the three gateway summaries and the usual header are one or more sets of information about each gateway the current system is sending information about. These are called gateway blocks because each set of fields refers to one gateway. The first field is the gateway's IP address. The Number of Distances field provides the number of distances that are reported in the gateway block and the number of networks that lie at that distance. Then, for each distance specified, the IP network address of each network is provided. Many blocks of gateway information can be provided in an Update message.

        Error Messages

        The final EGP message is the Error message, which has the same format as the basic EGP message, with two fields attached. The 16-bit first field is reserved. Following this is a 96-bit field that contains the first 96 bits of the message that generated the error.

        EGP to GGP Messages


        Core gateways use GGP, and non-core gateways use EGP, so there must be some method for the two to communicate with each other to find out about hidden machines and networks that lie beyond their routing tables. This can be shown by Figure 5.10, where gateway A is a core gateway leading from the internetwork to a network that has non-core gateways leading to two other networks. Another gateway on the internetwork does not have information about the networks and gateways past the core gateway, unless specifically updated about them through a request.

        Figure 5.10. Core and non-core gateways.

        The Internet uses a method by which any autonomous (non-core) gateway can send reachability information to other systems, which must also go to at least one core gateway. If there is a larger autonomous network, one gateway usually assumes the responsibility for handling this reachability information. In Figure 5.10, gateway A is responsible for sending information about the three networks that lead from it, as well as the two non-core gateways.

        EGPs use a polling process to keep themselves aware of their neighbors as they become active or go down, and to exchange routing and status information with all their neighbors. EGP is also a state-driven protocol, meaning that it depends on a state table containing values that reflect gateway conditions and a set of operations that must be performed when a state table entry changes. There are five states, as shown in Table 5.8.

        Table 5.8. EGP states.

        State

        Description

        0

        Idle

        1

        Acquisition

        2

        Down

        3

        Up

        4

        Cease


        The meanings of each of these EGP states follow:

        All EGP messages fall into one of three categories: commands, responses, or indications. A command usually requires an action to be performed, whereas a response is a reply to a command to perform some action. An indication shows current status. Command-response signals are shown in Table 5.9.

        Table 5.9. EGP commands and their responses.

        Command

        Response

        Request

        Confirm

        Refuse

        none

        Error

        none

        Cease

        Cease Ack

        Error

        none

        Hello

        IHU (I Heard You)

        Error

        none

        Poll

        Update

        Error

        none



        EGP State Variables and Timers


        As mentioned earlier, EGP is state-driven, which means that the current state of the system depends on the last message received, or the condition of one of the software timers. EGP maintains a state table with several parameters that can be referenced to determine actions. These values usually refer to delays between sending or receiving messages of a specific type. In addition, a set of timers is maintained for ensuring that intervals between events are reasonable. The EGP parameters and timers are shown in Table 5.10, using the names employed in the RFC that defines EGP.

        Table 5.10. EGP parameters and timers.

        Name

        Description

        M

        Hello polling mode.

        P1

        Minimum interval acceptable between successive received Hello commands. Default is 30 seconds.

        P2

        Minimum interval acceptable between successive received Poll commands. Default is 120 seconds.

        P3

        Interval between Request or Cease command retransmissions. Default is 30 seconds.

        P4

        Interval during which the state variables are maintained without receiving an incoming message when in the up or down state. Default is one hour.

        P5

        Interval during which the state variables are maintained without receiving an incoming message when in the cease or acquisition state. Default is 2 minutes.

        R

        Receive sequence number.

        S

        Send sequence number.

        T1

        Interval between Hello command retransmissions.

        T2

        Interval between Poll command retransmissions.

        T3

        Interval during which reachability attempts are counted.

        t1

        Retransmission timer for Request, Hello, and Cease messages.

        t2

        Retransmission timer for Poll messages.

        t3

        Abort timer.


        Many of the state parameters are set during the initial establishment of a connection between neighbors. The exceptions are the P1 through P5 values, which are established by the host system and are not modified by the neighbors. The send sequence number is determined only after a message has been received from the other gateway.

        A full discussion of the changes between EGP states and the events that occur when a state change occurs is longer than this book and is not of relevance to this level of discussion. Therefore, the original RFC should be consulted for full state condition information. It is useful at this point simply to be aware of the state-driven nature of EGP and to understand that the state can be changed by a message reception, lack of a reply to a message, or expiration of a timer.

        Interior Gateway Protocols (IGP)


        There are several IGPs in use, none of which have proven themselves dominant. Usually, the choice of an IGP is made on the basis of network architecture and suitability to the network's software requirements. Earlier today, RIP and HELLO were mentioned. Both are examples of IGPs. Together with a third protocol called Open Shortest Path First (OSPF), these IGPs are now examined in more detail.

        Both RIP and HELLO calculate distances to a destination, and their messages contain both a machine identifier and the distance to that machine. In general, messages tend to be long, because they contain many entries for a routing table. Both protocols are constantly connecting between neighbors to ensure that the machines are active and communicating, which can cause network traffic to build.

        The Routing Information Protocol (RIP)


        The Routing Information Protocol found wide use as part of the University of California at Berkeley's LAN software installations. Originally developed from two routing protocols created at Xerox's Palo Alto Research Center, RIP became part of UCB's BSD UNIX release, from which it became widely accepted. Since then, many versions of RIP have been produced, to the point where most UNIX vendors have their own enhanced RIP products. The basics are now defined by an Internet RFC.

        RIP uses a broadcast technology (showing its LAN heritage). This means that the gateways broadcast their routing tables to other gateways on the network at regular intervals. This is also one of RIP's downfalls, because the increased network traffic and inefficient messaging can slow networks down compared to other IGPs. RIP tends to obtain information about all destinations in the autonomous system to which the gateways belong. Like GGP, RIP is a vector-distance system, sending a network address and distance to the address in its messages.

        A machine in a RIP-based network can be either active or passive. If it is active, it sends its routing tables to other machines. Most gateways are active devices. A passive machine does not send its routing tables but can send and receive messages that affect its routing table. Most user-oriented machines (such as PCs and workstations) are passive devices. RIP employs the User Datagram Protocol (UDP) for messaging, employing port number 520 to identify messages as originating with RIP.

        The format of the RIP messages is shown in Figure 5.11. The message header is composed of three fields for the command (set to 1 if a request and 2 if a response), the version number of the RIP protocol, and an unused reserved field. The rest of the message contains address information. Each set begins with an identifier of the family protocol used (RIP is not specifically for the Internet's protocols, but if used on the Internet this value is set to 2) and a set of network IDs. There are 96 bits available for the network address, of which only a maximum of 32 are necessary for an Internet address. The last field is a metric value that usually identifies the number of hops to the network.

        Figure 5.11. RIP message format.

        A Request message is usually sent to another gateway when a routing update is needed. When a request is received, the system examines the message to check each network address provided. If its routing table has a distance to that network address, it is placed in the corresponding metric field in the response. If there is no entry in the local routing table, no value is returned. One convention in common use is to code the family as 1 and the metric field as 16. When this is received, the message is interpreted as a request for the entire routing table.

        Each RIP-based machine in the network maintains a routing table, with an entry for each machine that it can communicate with. The table has entries for the target's IP address, its distance, the IP address of the next gateway in the path to the target, a flag to show whether the route has recently been updated, and a set of timers that control the route. The distance is expressed as a number of hops required to reach the target and has a value from 1 to 15. If the target is unreachable, a value of 16 is set.

        The timers involved with RIP are devoted to each possible route in the routing table. A time-out timer is set when the route is initialized and each time the route is updated. If the timer expires (the default setting is 180 seconds) before another update, the route is considered unreachable. A second timer, called the garbage-collection timer, takes over after the time-out timer and marks when the route is completely expunged from the routing table. The garbage-collection timer has a default value of 120 seconds. If a request for a routing update is received after the time-out timer has expired but before the garbage-collection timer has expired, the entry for that gateway is sent but with the maximum value for the route value. After the garbage-collection timer has expired, the route is not sent at all.

        A response timer triggers a set of messages every 30 seconds to all neighboring machines, in an attempt to update routing tables. These messages are composed of the machine's IP address and the distance to the recipient machine.

        The HELLO Protocol


        The HELLO protocol is used often, especially where TCP/IP installations are involved. It is different from RIP in that HELLO uses time instead of distance as a routing factor. This requires the network of machines to have reasonably accurate timing, which is synchronized with each machine. For this reason, the HELLO protocol depends on clock synchronization messages.

        The format of a HELLO message is shown in Figure 5.12. The primary header fields are as follows:

        Figure 5.12. HELLO message format.

        Following the header are several entries with a delay estimate to the machine and an offset, which is an estimate of the difference between the sending and receiving clocks. The offsets are important because HELLO is a time-critical protocol, so the offset enables correction between times on different machines.

        The timestamp on messages is used by machines that the message passes through to calculate delays in the network. In this manner, a routing table based on realistic delivery times can be constructed.

        The Open Shortest Path First (OSPF) Protocol


        The Open Shortest Path First protocol was developed by the Internet Engineering Task Force, with the hope that it would become the dominant protocol within the Internet. In many ways, the name "shortest path" is inaccurate in describing this protocol's routing process (both RIP and HELLO use a shortest path method—RIP based on distance and HELLO on time). A better description for the system would be "optimum path," in which several criteria are evaluated to determine the best route to a destination. The HELLO protocol is used for passing state information between gateways and for passing basic messages, whereas the Internet Protocol (IP) is used for the network layer.

        OSPF uses the destination address and type of service (TOS) information in an IP datagram header to develop a route. From a routing table that contains information about the topology of the network, an OSPF gateway (more formally called a router in the RFC, although both terms are interchangeable) determines the shortest path using cost metrics, which factor in route speed, traffic, reliability, security, and several other aspects of the connection. Whenever communications must leave an autonomous network, OSPF calls this external routing. The information required for an external route can be derived from both OSPF and EGP.

        There are two types of external routing with OSPF. A Type 1 route involves the same calculations for the external route as for the internal. In other words, the OSPF algorithms are applied to both the external and internal routes. A Type 2 route uses the OSPF system only to calculate a route to the gateway of the destination system, ignoring any routes of the remote autonomous system. This has an advantage in that it can be independent of the protocol used in the destination network, which eliminates a need to convert metrics.

        OSPF enables a large autonomous network to be divided into smaller areas, each with its own gateway and routing algorithms. Movement between the areas is over a backbone, or the parts of the network that route messages between areas. Care must be taken to avoid confusing OSPF's areas and backbone terminology with those of the Internet, which are similar but do not mean precisely the same thing. OSPF defines several types of routers or gateways:

        OSPF is designed to enable gateways to send messages to each other about internetwork connections. These routing messages are called advertisements, which are sent through HELLO update messages. Four types of advertisements are used in OSPF:

        OSPF maintains several tables for determining routes, including the protocol data table (the high-level protocol in use in the autonomous system), the area data table or backbone data table (which describes the area), the interface data table (information on the router-to-network connections), the neighbor data table (information on the router-to-router connections), and a routing data table (which contains the route information for messages). Each table has a structure of its own, the details of which are not needed for this level of discussion. Interested readers are referred to the RFC for complete specifications.

        OSPF Packets

        As mentioned earlier, OSPF uses IP for the network layer. The OSPF specifications provide for two reserved multicast addresses: one for all routers that support OSPF (224.0.0.5) and one for a designated router and a backup router (224.0.0.6). The IP protocol number 89 is reserved for OSPF. When IP sends an OSPF message, it uses the protocol number and a Type of Service (TOS) field value of 0. Usually, the IP precedence field is set higher than normal IP messages, also.

        OSPF uses two header formats. The primary OSPF message header format is shown in Figure 5.13. Note that the fields are not shown in their scale lengths in this figure for illustrative purposes. The Version Number field identifies the version of the OSPF protocol in use (currently version 1). The Type field identifies the type of message and might contain a value from those shown in Table 5.11.

        Figure 5.13. OSPF message header format.

        Table 5.11. OSPF header Type values.

        Type

        Description

        1

        Hello

        2

        Database description

        3

        Link state request

        4

        Link state update

        5

        Link state acknowledgment


        The Packet Length field contains the length of the message, including the header. The Router ID is the identification of the sending machine, and the Area ID identifies the area the sending machine is in. The Checksum field uses the same algorithm as IP to verify the entire message, including the header.

        The Authentication Type (AUType) field identifies the type of authentication to be used. There are currently only two values for this field: 0 for no authentication, and 1 for a password. The Authentication field contains the value that is used to authenticate the message, if applicable.

        The second header format used by OSPF is for Link State advertisements only; it is shown in Figure 5.14. All Link State advertisements use this format, which identifies each advertisement to all routers. This header mirrors the topologic table.

        Figure 5.14. OSPF Link State advertisement header format.

        The Link State Age field contains the number of seconds since the Link State advertisement originated. The Options field contains any IP Type of Service (TOS) features supported by the sending machine. The Link State Type identifies the type of link advertisement, using one of the values shown in Table 5.12. The value in the Link State Type field further defines the format of the advertisement.

        Table 5.12. Link State advertisement header Type values.

        Value

        Description

        1

        Router links (router to area)

        2

        Network links (router to network)

        3

        Summary link (information on the IP network)

        4

        Summary link (information on autonomous system border router)

        5

        AS external link (external to autonomous system)


        The Link State ID field identifies which portion of the internetwork is described in the advertisement. The value depends on the Link State Type field and can contain IP addresses for networks or router IDs. The Advertising Router field identifies the originating router. The Link State Sequence Number is an incrementing number used to prevent old or duplicate packets from being interpreted. The Checksum field uses an IP algorithm for the entire message, including the header. Finally, the Length field contains the size of the advertisement, including the header.

        HELLO Packets

        Both types of OSPF headers are further encapsulated by the HELLO protocol, which is used for messaging between neighboring routers. The information in the HELLO header sets the parameters for the connection. The entire HELLO packet format is shown in Figure 5.15.

        Figure 5.15. OSPF HELLO packet format.

        After the OSPF header is the Network Mask field, which is dependent on the interface. The Hello Interval is the number of seconds between subsequent Hello packets from the same router. The Options field is for IP's Type of Service supported values. The Router Priority field defines whether the router can be designated as a backup. If the field has a 0 value, the router cannot be defined as a backup. The Dead Interval is the number of seconds before a router is declared to be down and unavailable. The Designated and Backup Router fields hold the addresses of the designated and backup routers, if there are any. Finally, each neighbor has a set of fields that contain the address of each router that has recently (within the time specified by the Dead Interval) sent Hello packets over the network.

        When this type of message is received by another router and it has been validated as containing no errors, the neighbor information can be processed into the neighbor data table.

        Another message that is used to initialize the database of a router is the database description packet. It contains information about the topology of the network (either in whole or in part). To provide database description packet service, one router is set as the master, and the other is the slave. The master sends the database description packets, and the slave acknowledges them with database description responses.

        The format of the database description packet is shown in Figure 5.16. After the OSPF header is a set of unused bits, followed by three 1-bit flags. When the I (initial) bit is set to 0, it indicates that this packet is the first in a series of packets. The M (more) bit, when set to 1, means that more database description packets follow this one. The MS (master/slave) bit indicates the master/slave relationship. When it has a value of 1 it means that the router that sent the packet is the master. A 0 indicates that the sending machine is the slave. The Data Descriptor Sequence Number is an incrementing counter. The rest of the packet contains Link State advertisements as seen in Figure 5.14.

        Figure 5.16. The database description packet layout.

        Link State Request and Update Packets

        The Link State Request packet asks for information about a topological table from a database, whereas the Update packet can provide topological information of the types shown in Table 5.11. The Request packet is usually sent when an entry in the router's topological table is corrupted, missing, or out of date. The format of the Link State Request packet is shown in Figure 5.17. The Link State Request packet contains the OSPF header and a block of three repeating fields for the Link State Type, Link State ID, and Advertising Router.

        Figure 5.17. OSPF Link State Request packet format.

        The Link State Update packet has four formats, depending on the link state type: router links, network links, summary links, or autonomous systems external links. The Router Links advertisement packet is sent to neighbors periodically and contains fields for each router link and the type of service provided in each link, as shown in Figure 5.18.

        Figure 5.18. OSPF Router Links advertisement packet format.

        After the OSPF header and the Link State advertisement header are two single bit flags surrounded by 6- and 8-bit unused fields. The E (external) flag, when set to 1, indicates that the router is an autonomous systems (AS) boundary router. The B (border) flag, when set to 1, indicates that the router is an area border router. Following the unused 8-bit area is a field for the number of links (advertisements) in the message. Following this, the links are provided in sequence, one link to a block.

        Each Link State advertisement block in the Router Links advertisement packet has a field for the Link ID (the type of router, although the value is dependent on the Type field later in the block), the Link Data (whose value is an IP address or a network mask, depending on the Type field's setting), the Type field (a value of 1 indicates a connection to another router, 2 a connection to a transit network, and 3 a connection to a stub network), and the Number of TOS field, which shows the number of metrics for the link (at least one must be provided, which is called TOS 0). Then, a repeating block is appended for each TOS, providing the type and the metric.

        The other three formats available are the Network Links advertisement, Summary Links advertisement, and Autonomous Systems (AS) External Links advertisement. The formats of these advertisements are shown in Figure 5.19. The fields have all been described earlier in this section.

        Figure 5.19. OSPF Network, Summary, and AS Links advertisement layouts.

        The last packet involved in OSPF is the Link State acknowledgment packet, which is required when a Link State advertisement has been received correctly. The layout of the acknowledgment packet is shown in Figure 5.20. The fields following the OSPF header are for the Link State Type, Link ID, Advertising Router ID, Link State Sequence Number, Link State Checksum value, and Link State Age, all of which have been mentioned earlier.

        Figure 5.20. Link State acknowledgment packet layout.

        Summary


        Today I looked at the gateway protocols used within the TCP/IP family specifically, as well as those in general use on the Internet and most networks. Gateways are a critical component for forwarding information from one network to another. Without gateways, each machine on the network would require a full map of every other machine on the internetwork.

        As I have shown, there are several protocols of importance, depending on the role of the gateway. I also looked at the use of bridges, routers, and brouters in a network, and the role that each of these can play. With this material, I can leave the subject of gateways. Except for some message passing and administration material, you now know all you need about gateway protocols used with TCP/IP.

        Q&A


        What is a boundary gateway?

        A boundary gateway sits between two networks within a larger internetwork, as would be found in a large corporation. The boundary gateways mark the edges (or boundaries) of each LAN, passing message to other LANs within the larger internetwork. Boundary gateways do not communicate with the networks outside the organization. This task is performed by exterior gateways.

        How are sequence numbers used to control status messages within GGP? Explain for both the sending and receiving gateways.

        The sending gateway sends packets with an incrementing sequence number. The destination gateway receives each packet and echoes back the sequence number in a message. If the destination gateway receives the next packet with a sequence number that does not follow the one last received, an error message is returned to the sender with the sequence number of the last packet in it. If the sequence number is correct, an acknowledgment is sent. As the sending gateway receives packets back from the destination, it compares the sequence number in the packet to its own internal counter. If the sequence number in the destination machine's packet does not match, the packet that would have been next in sequence from the last correctly received packet is resent.

        What is a core gateway?

        A core gateway is one that resides as an interface between a network and the internetwork. A non-core gateway is between two LANs that are not connected to the larger internetwork.

        Protocol conversion takes place in which of the following: gateways, routers, bridges, or brouters?

        Gateways perform protocol conversion. They have to because they can join two dissimilar network types. Some recent routers and brouters are capable of protocol conversion.

        What are the three types of routing table?

        Routing tables can be fixed (a table that is modified manually every time there is a change), dynamic (one that modifies itself based on network traffic), or fixed central (one downloaded at intervals from a central repository, which can be dynamic).

        Quiz


        1. Define the role of gateways, routers, bridges, and brouters.

        2. What is a packet-switched network?

        3. What is the difference between interior and exterior neighbor gateways?

        4. What are the advantages and disadvantages of the three types of routing tables?

        5. What is the HELLO protocol used for?

        Previous Page Page Top TOC Next Page

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

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

              <dfn id="fjh72"></dfn>
              国产无遮挡又黄又爽又色学生软件 | 日本一 级 黄 色 片免费 | 日韩性网址 | 色婷婷国产综合 | 日本福利视频一区 | 91大香蕉 | 亚洲高清A∨在线 | 成人大香蕉网 | 亚洲黄色视频网站在线观看视频 | 色婷婷亚洲AV无码精品 | 日一本一乱一纶一视一频一一区一二区 | 操逼免费观看视频 | 国产人妻人伦精品1国产 | 777精品四色 | 国产AV无码成人精品毛片 | 俺去AV| 91美女在线 | 大香蕉大香蕉最新视频在线75 | 亚洲91成人 | 国产一区二区三区四区五区在线 | 做爱高清网站 | 亚洲高清人妻 | 小泽玛利亚黑人初体验 | 久操精品视频 | 亚洲高清无码在线观看视频 | 丰满人妻一区二区三区在线视频53 | 精品色色 | 日逼看片| 国产久久久久久久久 | 免费性爱视频网站 | 久草中文网 | 中文字幕在线观看永久不卡 | 人妻无码在线视频 | 欧美性爱在线播放精品 | 亚洲精品视频免费看 | 伊人激情综合网 | 青青操视频在线观看 | 骚逼影院 | 99精产秘 18 在线观看 | 欧美黄色免费观看 | www网站在线观看 | 国产久久久久久久久久久 | 大香蕉1区| 欧美大吊视频 | 操操操逼网 | 免费操逼视频。 | 亚洲欧洲欧美日韩中文字幕 | 国产av靠逼 | A片免费黄色电影网站 | 一级黄色片免费观看 | 中文字幕区一 | 三级网站在线观看免费 | 精品多人P群无码专区 | 云盘流出真实操逼免费视频国产 | 亚洲巨爆乳一区二区三区 | 免费看逼的网站 | 天天操天天摸天天日 | 亚洲国产精品99久久 | 大香蕉国产在线视频 | 国产激情视频区 | 婷婷深爱五月丁香网 | 高清无码在线观看免费 | 国产极品性爱 | 国产高清无码在线不卡视频 | 欧美一级黄色片免费看 | 亚洲成人aⅤ | 超拍自碰| 亚洲日韩视频 | 91麻豆一区二区三区 | 91精品国产91久久久久久吃药 | 日本 国产 欧美 | 乱伦大香蕉~ | 麻豆成人视频 | 草逼精品| 亚洲AAA在线观看 | 青春草在线视频 | 在线精品福利 | 免费黄的在线观看中文字幕视频 | 18禁免费看片 | 欧美操逼在线观看 | 精品无码一区二区三区无毛 | 热无码视频一区 | 国产一区二区三区四区五区在线 | 亚洲色图一区二区 | 欧美色图色就是色 | 成人啪啪网站 | 操B强奸毛片国产 | 小h片| 国产一级无码Av片在线观看 | 成人毛片18| 国产 福利 视频 | 精品国产免费无码久久噜噜噜AV | 天堂婷婷| 成人毛片18女人毛片免费看百度 | 北条麻妃一区二区三区在线 | 99国产免费 | 欧美日韩性交 | 五月丁香五月 | 国产精品揄拍500视频 | 国产一级a毛一级a看… | av一级黄片 | 热热av| 亚洲男人天堂2024 | 国产成人无码区免费视频 | 一级肏逼网 | 免费在线观看黄 | 绿帽娇妻3p粗大单男在线视频 | 亚洲AAA在线观看 | 国产精品久久久久久久久久久易记 | 亚洲欧美乱伦 | 欧美一区二区三区系列电影 | 国产女人18水真多18精品一级做 | 波多野结衣黄色视频 | 影音先锋成人在线 | 影音先锋三级 | 亚洲电影天堂在线 | 中文无码网站 | 丁香五月六月婷婷 | 日韩禁18| 自拍偷拍网站 | 天堂国产一区二区三区不卡 | 黄色免费成人视频 | 男人的天堂地址 | 日本三级韩国三级欧美三级 | 亚洲日韩Av无码中文字幕美国 | 成人免费乱码大片a毛片蜜芽 | 天天综合网天天综合7799 | 亚洲 欧美 综合 | 狠狠躁日日躁XXXXAAAA | 欧美香蕉网| 91视频搞靠逼 | 人人干人人撸网 | 亚洲一级片免费看 | 中国女人一级一次看片 | 黑妞操逼| 五月天色婷婷97在线视频播放 | 国产乱人乱偷精品视频 | 操18p | 国产裸体视频网站女69 | 激情视频噜噜 | 日韩毛片网 | 小黄片在线免费观看 | 熟妇性爱视频 | 在线a免费观看 | 亚洲中文字幕性爱 | 日韩无码影音先锋 | 午夜成人网站在线观看 | 我要看18毛片 | 操高中生到高潮在线观看免费 | 日韩福利资源 | 日本乱伦一区二区三区 | 毛片av免费看 | 五月婷婷天天干 | 无码人妻一区二区三区精品不付款 | 欧美视频精品 | 日本黄色视频网站大全 | 精品孕妇一级A片免费看 | 日韩插| 狠狠躁日日躁夜夜躁A片无码 | 无码精品一区二区三区在线 | 日本精品网 | 成人1区| XX性XXX | 欧美一级AA | 一级性爱视频中文字幕 | 国产无毛一线天 | 天天色天天干天天 | 欧美精品偷拍 | 三级经典在线 | 亚洲激情视频在线 | 一本道无码在线免费 | 国产自偷自拍 | 激情乱伦无码 | 日韩aaaaaaa | 五月天抽插操 | 性,国产三级在线 | 老汉AV| 国产第一页精品先锋影音视频 | 黄色操逼视频网站 | 国产黄在线看 | 操一操逼一逼 | 大香蕉尹人在线 | 亚洲aⅤ中文字幕 | 久久久精品www | 水蜜桃视频在线观看 | 淫色成人視頻 | 免费操逼网址 | 在线观看黄色网 | 日韩中文字幕无码中字字幕 | 日韩特级视频 | 99热6在线观看 | 国产国语对白 | 国产骚逼 | 你懂的在线观看视频 | 黄色永久网站 | 黄色电影免费在线观看网站 | 爱爱视频看看 | 精品免费囯产一区二区三区四区的使用方法 | 成人黄色性生活aV免费看 | 喷水视频在线观看 | 精品人妻一区二区三区香蕉 | 亚洲AV成人精品一区二区三区_ | 91AV免费在线观看 | 美国一级av | 色图网址 | 狠狠搞视频| 欧美乱妇高清无乱码 | 囯产精品久久久久久久久久久久久久 | 免费①区二区三区四区 | 欲色网站 | 综合自拍偷拍网 | 影音先锋福利 | 五月婷婷色色网 | 亚洲AV永久无码精品国产精 | 一道本二区三区 | 高清操逼视频 | 毛片av免费看 | 夜夜做夜夜爽 | 日本乱婬妺妺躁爽A片 | 西西特级444www高清视频 | 精品999999 | 强奸操逼视频网站 | 成人无码免费 | 请问谁有三级网址 | 亚洲日本中文字幕 | 操逼黄色视频网站 | 国产操逼免费网站 | 男女激情操逼一区福利网站 | 中文人妻无码一区二区三区不卡 | 中文在线a 在线播放 | 91九色首页 | 操的爽视频 | 亚洲综合激情视频 | 后入极品美女视频在线 | 哪个网站可以看AV | 国产毛片久久久久久久 | 淫色娱乐,成人综合大全 | 无码在线看高清 | 操操网伊人网 | 91第一页 | 午夜成人一区二区 | 超碰在线无码 | 翔田千里巨凥A片在线 | 亚洲午夜成人天堂精品 | 中文字幕在线观看免费高清完整版在线 | 成人黄色免费在线 | 中国毛片视频 | 欧美三级中文字幕 | 91九色在线观看 | 91国产乱伦| 日本色管视频 | 黄色的网站在线 | 青青草青娱乐在线视频 | 91丨PORNY丨成人蝌蚪 | 午夜精品久久久久久久99黑人 | 大香蕉伊人草逼 | 国产成人主播 | 免费黄色a片子 | 特级日本欧美日韩亚洲精品综合免费在线 | 极品久久久久久久 | 996re热精品视频 | 黄色福利网站 | 亚洲免费一级 | 国产亚洲在线观看 | 高清无码成人在线观看 | 小黄片免费 | 国产麻豆精品视频 | 国产久久视频精品影视 | 蜜桃视频在线播放 | 久久婷婷丁香五月 | 国产亚洲无码在线观看 | 日本黄色成熟视频 | 亚洲在线视频播放 | 午夜婷婷福利 | 黄色一级视频在线观看 | 亚洲一区二区政府在线播放IV | 黄片免费在线视频 | 天天干天天射天天射 | 欧洲在线人人操人人爱 | 影音一区二区三区 | 久久精品夜色噜噜亚洲A∨_ | 亚洲三级片无码 | 免费毛片18女人毛片大全在线看 | 一区一二三视频 | 手机免费看操逼视频 | 中文字幕高清无码在线视频 | 围产精品久久久久久久粉嫩 | 99久久免费精品 | 日本大香蕉伊人网 | 亚洲视频 中文字幕 | 黑大巨大一区二区三区 | 国产成人精品无码区免费福利 | 五月婷丁香综合 | 色婷婷免费在线观看 | 男女动态拍拍片 | 在线三级日韩 | 曰韩色逼视频 | 中国美女操逼网站 | 男女啪啪的网站 | 思思热视频在线观看 | SM在线免费观看 | 2020天天日天天干 | 特黄特色一级特黄大片 | 日韩黄色一级免费片 | 色欧久久| 美女做爱视频 | 久久久久久91亚洲精品中文字幕 | 三级黄色免费网站 | 无码三级毛片 | 免费黄色色情成人影片 | 人人妻人人舔 | 国产av漫画 | 夜夜爱夜夜操 | 久久大香蕉精 | 操逼逼逼逼逼逼逼逼 | 青青草无码 | 青青草原夫妇在线观看视频网站 | 乱伦一级视频 | 中国妓女一级A片 | 亚洲欧洲日本国产一区二区 | 91操美女视频 | 亚洲乱仑小说图片 | 日本十八禁网站 | 国产成人精品在线观看 | 逼操逼视频 | 少妇大战黑人无套A片 | 日韩免费精品一区二区三区色欲AV | 波多网站 | 超碰人操人 | 国产ts一区 | 日本高清色情 | 我要看黄色A片 | 日韩一区二区三区在线观看 | 永久免费 看片直接看 | 日韩精品一区二区三区四区五区六区 | 2018天天日天天干 | 一级片电影网站 | 精品人人妻人人澡人人爽牛牛 | 超碰人人操人人操 | 天堂 在线8 | 黄色三级A片 | 制服.丝袜.亚洲.中文 | 99国产视频在线 | 久久人体 | 自拍超碰| 日本特黄在线 | 日韩A电影 | 亲子乱高潮1000部视频A片 | 激情无码国产 | 日本高清色情视频 | 大香蕉狠狠撸手机免费看视频 | 天天操天天干天天操 | 成人免费无码婬片在线 | 国产三级日本三级在线播放 | 国产乱婬A∨片免费观看 | 国产黄色三级 | 荫蒂添到高潮免费视频 | 亚洲一级特黄视频 | 国产卡一卡二卡三卡四在线观看 | 靠逼偷拍 | 国产a级 一片 | 国产精品内射婷婷 | 黄色A片免费视屏观看 | 天天日天天噜 | 国产日产精品一区二区三区四区 | 一黄大毛片 | 一级黄色视频免费在线观看 | 久久迷情 | 性爱国产一区 | 日本黄色电影在线观看 | 台湾成人久久网站视频 | 免费一区二三区 | 交+视频+在线+观看 | 爱综合五月天 | www.666.日本高清 | 亚洲日韩免费观看 | 日韩欧美在线专区 | 影音先锋毛片 | 五月婷婷综合在线 | 超碰人人操人人操 | 婷婷五月天亚洲无码 | 爽一爽一区二区四区 | 一级毛片在线看 | 淫五月| 人妻洗澡被强公日日澡 | 日韩欧美高清dvd碟片 | 人妻摸一摸日日爽一爽,免费视频 | 日逼极品无码 | 97 超碰自拍 | 超碰免费网 | 亚洲日韩精品视频在线 | 2019天天操 | 三级色网 | 韩国TS『人妖av | 女人18水真多毛片一级A片 | 操逼大战 | 插插久久 | 俺也去大香蕉 | 色女人影院 | 囯产精品99久久久久久WWW | 三级操逼| 四虎黄色 | 噜噜噜噜射 | 九一久久 | 久久加勒比婷婷 | 成人淫色视频在线观看 | 免费黄色电影强 | 国产69精品久久久久久久久久久久 | 秋霞欧美撸丝 | 超哥约草大二91国产最新 | 中文在线a 在线 | 欧美操逼电影免费 | 波多野吉衣208在线 | 欧美在线日韩在线 | 小早川怜子巨臀无码流出 | 99热精品在线观看首页 | 欧美一级久久 | 丰满老妇高潮一级A片 | 国产亚洲一区二区三区 | 人人爱人人草91 | 日韩人妻无码一级毛片欧美 | 韩国高清无码 | 亚洲免费看黄 | 国产精品久久久久久久久久久久久 | 中文字幕一区二区三区润滑油 | MD-0127 艾秋 分享骚货老婆 强势调教处男晚辈 | 六月婷婷综合激情无码 | 91丝袜 | 高清无码视频免费阅读 | 激情1234 | 美女自慰网站在线观看 | 人人干人人摸 | 老司机免费福利视频 | 免费黄色小网站 | 日本爱爱免费视频 | 欧美一区二区三区四区五区视频 | 日比视频免费 | 人人鲁人人爱 | 国产欧美黄色一级二级三级 | 特一级黄片 | 青青青亚州视频在线 | 大鸡巴久久久久久久久 | 午夜黄色毛片 | 国产aaaaaa | va色婷婷亚洲在线 | 日本人人xxxx | 亚洲操B在线看 | 学生妹一级片,黄色的学生妹一级片 | 制服.丝袜.亚洲.中文 | 国产精品成人无码久久久 | 日韩A片| 色偷偷av | 五月婷婷综合激情 | 天堂sV在线最新版在线 | 亚洲欧美99 | 麻豆精品秘 国产传媒潘甜甜 | 视频乱伦毛片 | 精品人妻伦一二三区蜜桃 | 在线观看日韩三级片 | 最新日韩免费在线 | 亚欧州无码视频在线播放 | AV天堂手机 | 操你逼逼 | 黄色视频在线免费观 | AV无码免费一区二区三区不卡 | 草在线视频 | 91社蜜桃视频 | 婷婷社区五月天 | 蜜桃av秘 无码一区二区三 | 亚洲成人在线网 | 男人资源站 | 精品国产成人偷情内射 | 欧洲不卡视频 | 国产日本在线观看 | 日本黄色电影一区 | www.肏逼| 亚洲天堂免费在线 | 国产免费黄色电影在线观看 | 乱伦电影影音先锋 | 欧美A级视频在线观看 | 在线观看国产视频 | 国产大尺度视频 | 久久久久无码精品国产91福利 | 中文字幕欧美有码传媒人妻 | 影音先锋男人资源站 | 私库AV在线 | 外国一级片| 青草九九在线观看视频 | 黑人狂躁女人高潮视频 | 午夜一级805o | 97超碰人人模人人人爽人人爱 | 久99久热 | 久热在线视频观看 | 海外网站天天爽夜夜爽专业操老外 | 色欲天香天天免费视频 | 一呦二呦三呦精品网站 | 一级性爱日逼 | 成 年 人 电影app免费 | 黄色小电影网站 | 苍井空最新一区二区三区电影 | 在线性爱AV | 婷婷色色五月天图片 | 啪啪视频免费网站 | 淫色手机在线视频 | 日韩三级在线免费观看 | 一级片视频在线观看 | 国产操逼视频暴操特操 | 三级无码久久 | 性生活毛片 | 久久久久久久久国产精品视频 | 性无码专区| 色就是色欧美亚 | 超碰青青操 | 日韩欧美V | 观看操逼| 精品视频免费在线观看 | 婷婷国产 | 日韩国产免费 | 嫩草久久 | 手机看片日| 国产一级黄色A片 | 国产精品久久久久久久久久久久久久 | 手机看片欧美+日韩+国产 | www.大鸡巴免费99 | 国产少妇在线 | 欧美丰满老熟妇XXXXX性 精品人妻一区二区三区蜜桃 | 免费在线看黄色片视频。 | 操逼网站视频香蕉 | 无码一区二区吧 | 日韩av有码 | 日本黄色电影网站wwww | 国产在线性 | 色黄大色黄女片免费看直播 | 欧美激情久久久 | 豆花无码视频一区二区三区四区 | 三区毛片| 国产免费激情片 | 西西特级444人体大胆图片 | 欧美精品A片在线观看报备 | 久久久精品熟女 | 一起草 中文字幕 无码专区 | 小黄片免费观看 | 亚洲视频网在线直播 | 在线免费观看A视频欧美 | 成人H精品动漫在线无码播放 | 青青色在线 | 青春草免费视频在线 | 成人黄片免费视频 | 国产CD系列TS人妖视频 | 青草视频在线免费观看 | 天天色天天操天天 | 狠狠撸伊人在线 | 大香伊人中文字幕精品 | 永久黄网站色视频免费观看w | 久久国产乱子伦精品一区二区 | 18禁网站免费91 | 色狠狠色狠狠综合天天 | 亚洲天堂地址 | 国产黄色电影视频 | 欧美午夜精品 | 一区二区三区四区无码高清 | 导航黄色一级片 | 高清无码高潮 | 日本成人片在线看 | 五月天欧美性爱 | 天天插日日干 | 欧美成人免费在线 | 99精品视频免费 | 在线淫色网址 | 亚洲婷婷视频 | 色哟哟哟精品 | 中国老太卖婬视频播放 | 日韩v欧美v日本v亚洲v国产v | 亚洲国产色情 | 手机看片久草 | 亚洲成人看吧 | 天堂…资源在线 | 三级片小说视频 | 无码人妻精品一区二区蜜桃色欲 | 日韩成人app | 日韩无码高清视频看看看看 | 做aa视频 | 国产婷婷色一区二区三区 | 99香蕉精品99久久久久久 | 人妻丰满熟妇av无码区蜜桃 | 日本黄色性情视频 | 91靠逼视频 | 成人网站污 | 国产一级a爱做片免费看 | AAA片播放 | 亚洲国产精品久久久久久 | 中文无码观看 | 久久婷婷五月综合 | 一级黄色天堂 | 国产无码动漫一区 | re在线精品视频 | 成人免费在线观看黄片 | 伊人78 | 日韩无码视频不卡 | 四虎性爱视频 | 国产日韩欧美色图 | 99热在线只有精品 | 一级a一级a爱片免费网站 | 91天天爱天天射天天干天天 | 国产亚洲日韩在线 | 人人草在线视频 | 亚洲日韩欧美一级片 | 精品人妻无码一区二区三级精东 | 五月婷婷大香蕉 | 成人少妇AV | 国产男女猛烈无遮挡在线喷水 | 国产在线成人免费视频色婷婷 | 国产一级A片在线免费观看 | 一极黄色毛片影院 | 亚州天堂| xx在线| 在线中文视频VA | 日本精品在线播放 | 免费一二区| 亚洲一区二区电影网 | 欧美成人电影一区 | 91亚洲影院 | 国产传媒-第1页-MM606-萌萌视频 | 久久撸一撸视频 | 亚洲无码理论 | www.色色网 | 欧美一级特黄一区二区 | 秋霞在线一区二区 | 国产午夜无码福利视频 | 在线能看的丝袜网站 | 就是操就是干 | 特级AV免费在线观看 | 日本一级片在线 | 激情五月图片亚洲婷婷 | 在线 天堂国产产 | 久伊人狠狠干 | 亚洲一区欧美日韩国产 云播 | 欧美一交一乱一交一色一色情 | 国产一级黄色录像 | 国产不卡毛片 | 欧美变态性爱一区二区三区 | 无码操逼片 | 影音先锋一区二区三区 | 无码中文字幕视频在线观看 | 国产精品永久无码AV毛片18禁 | 丁香五月激情六月 | 日本成人黄色网址 | 一级片视频黄色 | 国产乱伦视频免费看 | 大鸡巴日逼 | 免费福利在线观看 | 九一精品在线观看 | 久久久久久久性 | 三级精品视频 | 亚洲色屏| 国产搞鸡巴 | 美女影视123区 | 操大屄网| 免费视频一二区 | 操逼操逼操逼操逼操逼操逼操逼操逼 | 热久久国产精品视频 | www.国产免费 | 日韩无码黄色电影网站 | 日韩免费三级电影 | 在线免费看逼视频 | 久久久久夜色精 | 亚洲一级Av无码毛片久久精品 | A片网电影在线观看 | 欧美热热 | 久久国产视觉盛宴 | 精品婷婷乱码久久久久久蜜桃 | 日韩成人AV电影在线观看 | 综合se| 日韩av一卡电影在线观看 | 久久中文娱乐网 | 天天操天天干天天透 | 开心激情成人网址 | 中文字幕1页 | wwwww黄| 国产毛片精品 | 熟女视频大香蕉视频大香蕉视频大香蕉 | 亚洲一级无码视频 | 撸色射撸色 | 婷婷五月精品 | 一级黄片a | 超碰在线97国产 | 久久精品视频电影 | 人妻人人爽 | 有码一区二区 | 午夜18+视频 | 青青草成人免费在线视频 | 亚洲中文字幕的 | 伊人久热aV | 天堂色色| 俺来也俺去也www色 | 麻豆成人AV一二三区在线播放 | 国产尤物| 日本黄 色 片 | 中文字幕一区二区二三区四区 | 亚洲一级视频在线观看 | 中午字幕在线观看 | 抽插视频网站 | 91大神福利 | 免费观看黄色一级片 | av短片在线播放婷婷 | 成人精品视频网址 | 久久午夜无码鲁丝片午夜精 | 成人毛片18女人在线播放 | 色偷偷久久一区二区三区 - 百度 涩小说校园春色图片区视频区小说区 | 人人射人人摸 | 婷婷社区五月天 | 日韩乱伦小说 | 五月丁香欧美 | 四虎成人免费毛片在线 | 女人操逼 | 无码日韩一区 | 黄色视频大全免费看 | 午夜视频在线播放 | 国产精品粉嫩在线播放 | 精品成AV人片在线观看 | 日韩成人黄色电影网站 | 国产一级乱伦片 | 青青青草娱乐 | 人人草网站 | 亚洲最新中文字幕 | 免费在线观看亚洲天堂 | 网络红人思瑞视频在线观看 | 依依成人综合 | 国产精品久久久久久高潮 | 日韩成人无码Av播放 | 毛茸茸的孕妇孕交视频无码 | 国产精品综合久久久久久 | 北条麻妃网址 | AV电影网站在线观看 | 日日干免费视频 | 日韩黄色免费爱爱 | 熊猫成人免费视频网站 | 欧美精品在线第一页 | 好吊无码一区二区三区 | 亚洲视频日韩精彩动漫一区二区 | 大鸡吧视频网 | 18禁成人av | 乱伦天堂H | 狼友视频在线观看 | 丰满人妻一区二区三区在线视频53 | www.18av | 日韩无码1 | 天天操天天摸天天日 | 色播成人网站 | 操逼视频免费观看网站 | sese999 | の夫婦交換中中文字幕 | 激情久久一区二区 | 欧美性BBB槡BBB槡BBB | 青娱乐在线电影 | 激情五月图片亚洲婷婷 | 久久精品一区二区 | 奇米狠狠久久 | 精品国产美女 | 成人AV电影天堂 | a在线中文字幕 | 中文字幕一区二区三区四区50岁 | 91亚洲性爱 | 成人黄片免费 | 国产精品激情无码视频小说 | 高清无码在线免费观看视频 | 色婷婷成人做爱a片免费看网站 | 无码有码一区 | 可以看的欧美激情网站 | 欧美日韩乱国产 | 男人天堂色天堂 | 天天干天天射天天干 | 亚洲精品91 | 免费操屌网站 | 精品熟妇视频一区二区三区 | 成人蜜桃网 | 大香蕉伊人在线综合 | 秋霞在线一区二区 | 三级成人网 | 亚洲无码成人片 | 性生活毛片| 学生妹无码内射 | 超碰在线看不卡了 | 五月天婷婷大香蕉 | 中文字幕人妻丰满熟妇 | 日韩A级电影在线 | www骚逼 | 久久久久久三级 | 中文AV网 | 国产精品成人午夜福利 | 免费 无码 国产在线怀 | 黄色免费性爱视频 | 国产精品国产三级国产AⅤ原创 | 国产女在线 | 欧美日本美女网18 | 91青青草在线观看 | 爱爱短视频电影无码免费 | 欧美日本三级少妇三级久久 | 中文字幕第18页 | 一区国产好的作爱视 | 极品色网站 | 国内色情一级视频 | 黑逼逼无码区 | 欧美操老女人视频 | av黄色电影一区天堂一区二区三区 | 亚洲欧洲视频在线 | 欧美色图亚洲无码 | av在线三区 | 日韩一级免费毛片 | 亚洲无码一卡 | 91dajiba| 自拍超碰人人人人 | 俺去也一二三区 | 大香蕉色播 | 欧美做爱无吗码 | 色吟AV| 北条麻妃最新黑人 码 | 毛片网站视频 | 日韩A片免费看 | 免费黄色视频大全 | 中文精品欧美无线码一区 | 国产操逼精品免费录像视频 | 黄色片视频日韩 | 欧美色图一区二区三区 | 精品无码一区二区三区爱奴 | 久久大香蕉在线视频 | 国产福利久久 | 大香视频99 | 午夜精品蜜桃 | 18禁网站免费 | 亚洲视频在线网站 | 欧洲超清一区二区三区视频 | 超碰在线黄色 | 日本精品网站在线观看 | 国产精品成人小视频 | 性爱插入毛片免费视频 | 久草热人妻 | 思思热av | 丁香花电影高清在线小说阅读 | 久久18 | 97在线精品 | 台湾精品在线 | 日韩中文字幕在线免费观看视频 | 青青草在线视频无码 | 操逼视频图片 | 红桃视频国产在线 | 18 精品 爽 视频 | 亚洲色播爱爱爱 | 美女被日视频网站 | 亚洲欧美非洲黄色毛片 | 高清二区三区一区日本 | 岛国乱婬A片免费看 | 日屄在线免费视频 | 一级一级一级一级一级一级 | 99热香蕉 | 欧美狠狠狠| 色逼影视 | 大香蕉在线电影网 | 日韩免费操逼 | 狠狠躁夜夜躁 | 久操大香蕉在线视频 | 日本zaixian三区 | 激情五月婷婷 | 久久国产影院 | 草精品在线观看 | 20011年高清a免费看一级毛片 | 日本在线视频免费观看区 | 西西特级444www高清视频 | 久久三级片网站 | 国产精品色婷婷7777777 | 欧美日日夜夜干 | 欧美三日本三级少妇三级999 | 国产成年无码久久久久毛片 | 国产亚洲精品成人a v久久网站 | 围产精品久久久久久久久久久久 | 操逼aaa | 日韩在线大香蕉 | 国产精品乱码一区二三区小蝌蚪 | 大香蕉在线精品 | 青青草视频网站在线免费观看 | 超碰人人在线观看 | av影视天堂 | 亚洲欧美动漫 | 99精品大香蕉 | 北京老太HD大全 | 天天舔天天日天天干 | 99国产精品久久久久久久成人 | AV日韩在线播放 | 亚洲AV高清无码 | ww超碰| 综合久久久福利蜜芽 | 黄色片网站免费观看完整版 | 欧美午夜精品久久久久免费视 | 色老板视频在线观看 | 波多野吉衣AⅤ无码一区小说 | 日本女人一区二区三区 | 国产成人高潮毛片 | 成人性爱视频免费在线播放 | 操我小骚逼 | 亚洲高清五码视频 | 全黄做爰100分钟视频 | 亚洲综合p | 热久久免费视频在线观看 | 成人网站在线 | 亚洲AⅤ无码日韩AV中文AV伦 | 久久亚洲国产成人精品性色 | 永久免费 看片!在线观看 | NP玩烂了公用爽灌满视频播放 | 天堂在线视频免费 | 日韩国产无码一区 | 亚洲乱伦小说网 | 亚洲激情小说区 | 久热免费 | 月色婷亚洲 | 亚洲国产伦理 | 久草中文视频 | 色综合久 | 亚洲永久免费视频 | 老司机综合网 | 亚洲无码家庭乱论小说区 | 久久免费视屏 | 好吊无码一区二区三区 | 青青操日日干 | 亚洲欧洲精品成人久久奇米网 | 欧美色网 | 免费欧美成人 | 日韩欧美肏屄高清视频 | 操鼻免费素材网站 | 亚洲丁香婷婷 | 2024天天干 | 北条麻妃网址 | 久草资源在线观看 | 无码免费一区二区三区 | 青青草在线视频黄色 | 免费看一级一级人妻片 | 青娱乐成人在线视频 | 亚洲啪啪网 | 国产操逼视频豆花 | 俺去俺也射 | 美国少妇xxxx内射 | 伊人操逼 | 国产成人无码永久免费 | 草逼免费网站 | 亚洲入口 | 亚洲免费视频在线播放 | 操逼操逼操逼操逼操逼操逼操逼操逼 | 字幕一区二区三区四区五区在线看 | 91社蜜桃视频 | 91在线成人电影 | www亚洲AV | 国产 无码 高潮 在线 | 大香焦草久| 免费 无码 国产在线怀 | 亚洲成人app | 天天操天天干天天 | 依人av| 中国第一美女毛片 | 国产乱伦高清 | 青娱乐户外黄色片 | 国产黄色A| 12一14女人毛片 | 吴梦梦无码一区二区三区首发新作 | 精品区一二三 | 久久露脸国语精品国产91 | 97黑人强奸韩日制服丝袜免费视频 | 国模综合网| 国产精品a V视频 | www.一区二区三区四区 | 国产成人影视在线观看 | 青草影视视频 | 91亚洲欧美福利在线观看 | 中文无码视频在线 | 久青在线伊人 | 香蕉国产视频2024 | 国产精品一卡二卡在线观看 | 精品国产乱码一区二区 | 亚洲欧洲在线观看视频 | 视频在线一区在线观看 | 久久久国产精品 | 堆女郎松果浴室自慰正在播放 | 亚洲无码免费观看高清 | 狠狠操狠狠爽 | 日韩欧美黄色电影网站 | 天天日天天干天天射天天操 | 午夜福利无码电影 | 成人三级片在线免费观看 | 国自拍一区 | 亚洲无码视屏 | 2019人人操 | 内射国产视频 | 91麻豆精品国产91久久久 | 99久久婷婷国产精品2020 | 欧美黄片免费 | 操逼无码在线 | 免费看国产成人A级视频 | 日韩美美少少妇在线观看 | 亚洲 成人 在线 | 亚洲无码 国产精品 豆花 | 小视频你懂的 | 在线观看黄色视频网站 |