日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ZMQ研究

發布時間:2025/7/25 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ZMQ研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FROM:?http://www.open-open.com/lib/view/open1344869477975.html

ZeroMQ,史上最快的消息隊列

—– ZMQ的學習和研究

一、ZeroMQ的背景介紹

引用官方的說法: “ZMQ(以下ZeroMQ簡稱ZMQ)是一個簡單好用的傳輸層,像框架一樣的一個socket library,他使得Socket編程更加簡單、簡潔和性能更高。是一個消息處理隊列庫,可在多個線程、內核和主機盒之間彈性伸縮。ZMQ的明確目標是“成為標準網絡協議棧的一部分,之后進入Linux內核”。現在還未看到它們的成功。但是,它無疑是極具前景的、并且是人們更加需要的“傳統”BSD套接字之上的一 層封裝。ZMQ讓編寫高性能網絡應用程序極為簡單和有趣?!?/p>

近幾年有關”Message Queue”的項目層出不窮,知名的就有十幾種,這主要是因為后摩爾定律時代,分布式處理逐漸成為主流,業界需要一套標準來解決分布式計算環境中節點之間的消息通信。幾年的競爭下來,Apache基金會旗下的符合AMQP/1.0標準的RabbitMQ已經得到了廣泛的認可,成為領先的MQ項目。

與RabbitMQ相比,ZMQ并不像是一個傳統意義上的消息隊列服務器,事實上,它也根本不是一個服務器,它更像是一個底層的網絡通訊庫,在Socket API之上做了一層封裝,將網絡通訊、進程通訊和線程通訊抽象為統一的API接口。

二、ZMQ是什么?

閱讀了ZMQ的Guide文檔后,我的理解是,這是個類似于Socket的一系列接口,他跟Socket的區別是:普通的socket是端到端的(1:1的關系),而ZMQ卻是可以N:M 的關系,人們對BSD套接字的了解較多的是點對點的連接,點對點連接需要顯式地建立連接、銷毀連接、選擇協議(TCP/UDP)和處理錯誤等,而ZMQ屏蔽了這些細節,讓你的網絡編程更為簡單。ZMQ用于node與node間的通信,node可以是主機或者是進程。

三、本文的目的

在集群對外提供服務的過程中,我們有很多的配置,需要根據需要隨時更新,那么這個信息如果推動到各個節點?并且保證信息的一致性和可靠性?本文在介紹ZMQ基本理論的基礎上,試圖使用ZMQ實現一個配置分發中心。從一個節點,將信息無誤的分發到各個服務器節點上,并保證信息正確性和一致性。

四、ZMQ的三個基本模型

ZMQ提供了三個基本的通信模型,分別是“Request-Reply “,”Publisher-Subscriber“,”Parallel Pipeline”,我們從這三種模式一窺ZMQ的究竟

ZMQ的hello world!

由Client發起請求,并等待Server回應請求。請求端發送一個簡單的hello,服務端則回應一個world。請求端和服務端都可以是 1:N 的模型。通常把 1 認為是 Server ,N 認為是Client 。ZMQ 可以很好的支持路由功能(實現路由功能的組件叫作Device),把 1:N 擴展為N:M (只需要加入若干路由節點)。如圖1所示:

圖1:ZMQ的Request-Reply 通信

服務端的php程序如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <?php /* * Hello World server * Binds REP socket to tcp://*:5555 * Expects "Hello" from client, replies with "World" * @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; */ $context = new ZMQContext(1); // Socket to talk to clients $responder = new ZMQSocket($context, ZMQ::SOCKET_REP); $responder-&gt;bind("tcp://*:5555"); while(true) { // Wait for next request from client $request = $responder-&gt;recv(); printf ("Received request: [%s]\n", $request); // Do some 'work' sleep (1); // Send reply back to client $responder-&gt;send("World"); }

Client程序如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php /* ?*? Hello World client ?*? Connects REQ socket to tcp://localhost:5555 ?*? Sends "Hello" to server, expects "World" back ?* @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; ?*/ $context = new ZMQContext(); //? Socket to talk to server echo "Connecting to hello world server...\n"; $requester = new ZMQSocket($context, ZMQ::SOCKET_REQ); $requester-&gt;connect("tcp://localhost:5555"); for($request_nbr = 0; $request_nbr != 10; $request_nbr++) { ????printf ("Sending request %d...\n", $request_nbr); ????$requester-&gt;send("Hello"); ????$reply = $requester-&gt;recv(); ????printf ("Received reply %d: [%s]\n", $request_nbr, $reply); }

從以上的過程,我們可以了解到使用ZMQ寫基本的程序的方法,需要注意的是:

a) 服務端和客戶端無論誰先啟動,效果是相同的,這點不同于Socket。

b) 在服務端收到信息以前,程序是阻塞的,會一直等待客戶端連接上來。

c) 服務端收到信息以后,會send一個“World”給客戶端。值得注意的是一定是client連接上來以后,send消息給Server,然后Server再rev然后響應client,這種一問一答式的。如果Server先send,client先rev是會報錯的。

d) ZMQ通信通信單元是消息,他除了知道Bytes的大小,他并不關心的消息格式。因此,你可以使用任何你覺得好用的數據格式。Xml、Protocol Buffers、Thrift、json等等。

e) 雖然可以使用ZMQ實現HTTP協議,但是,這絕不是他所擅長的。

ZMQ的Publish-subscribe模式

我們可以想象一下天氣預報的訂閱模式,由一個節點提供信息源,由其他的節點,接受信息源的信息,如圖2所示:

圖2:ZMQ的Publish-subscribe

示例代碼如下 :

Publisher:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 <?php /* * Weather update server * Binds PUB socket to tcp://*:5556 * Publishes random weather updates * @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; */ // Prepare our context and publisher $context = new ZMQContext(); $publisher = $context-&gt;getSocket(ZMQ::SOCKET_PUB); $publisher-&gt;bind("tcp://*:5556"); while (true) { // Get values that will fool the boss $zipcode = mt_rand(0, 100000); $temperature = mt_rand(-80, 135); $relhumidity = mt_rand(10, 60); // Send message to all subscribers $update = sprintf ("%05d %d %d", $zipcode, $temperature, $relhumidity); $publisher-&gt;send($update); }</pre> Subscriber <pre>&lt;?php /* * Weather update client * Connects SUB socket to tcp://localhost:5556 * Collects weather updates and finds avg temp in zipcode * @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; */ $context = new ZMQContext(); // Socket to talk to server echo "Collecting updates from weather server…", PHP_EOL; $subscriber = new ZMQSocket($context, ZMQ::SOCKET_SUB); $subscriber-&gt;connect("tcp://localhost:5556"); // Subscribe to zipcode, default is NYC, 10001 $filter = $_SERVER['argc'] &gt; 1 ? $_SERVER['argv'][1] : "10001"; $subscriber-&gt;setSockOpt(ZMQ::SOCKOPT_SUBSCRIBE, $filter); // Process 100 updates $total_temp = 0; for ($update_nbr = 0; $update_nbr &lt; 100; $update_nbr++) { $string = $subscriber-&gt;recv(); sscanf ($string, "%d %d %d", $zipcode, $temperature, $relhumidity); $total_temp += $temperature; } printf ("Average temperature for zipcode '%s' was %dF\n", $filter, (int) ($total_temp / $update_nbr));

這段代碼講的是,服務器端生成隨機數zipcode、temperature、relhumidity分別代表城市代碼、溫度值和濕度值。然后不斷的廣播信息,而客戶端通過設置過濾參數,接受特定城市代碼的信息,收集完了以后,做一個平均值。

a) 與Hello World不同的是,Socket的類型變成SOCKET_PUB和SOCKET_SUB類型。

b) 客戶端需要$subscriber->setSockOpt(ZMQ::SOCKOPT_SUBSCRIBE, $filter);設置一個過濾值,相當于設定一個訂閱頻道,否則什么信息也收不到。

c) 服務器端一直不斷的廣播中,如果中途有Subscriber端退出,并不影響他繼續的廣播,當Subscriber再連接上來的時候,收到的就是后來發送的新的信息了。這對比較晚加入的,或者是中途離開的訂閱者,必然會丟失掉一部分信息,這是這個模式的一個問題,所謂的Slow joiner。稍后,會解決這個問題。

d) 但是,如果Publisher中途離開,所有的Subscriber會hold住,等待Publisher再上線的時候,會繼續接受信息。

ZMQ的PipeLine模型

想象一下這樣的場景,如果需要統計各個機器的日志,我們需要將統計任務分發到各個節點機器上,最后收集統計結果,做一個匯總。PipeLine比較適合于這種場景,他的結構圖,如圖3所示。

圖3:ZMQ的PipeLine模型

Parallel task ventilator in PHP

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php /* * Task ventilator * Binds PUSH socket to tcp://localhost:5557 * Sends batch of tasks to workers via that socket * @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; */ $context = new ZMQContext(); // Socket to send messages on $sender = new ZMQSocket($context, ZMQ::SOCKET_PUSH); $sender-&gt;bind("tcp://*:5557"); echo "Press Enter when the workers are ready: "; $fp = fopen('php://stdin', 'r'); $line = fgets($fp, 512); fclose($fp); echo "Sending tasks to workers…", PHP_EOL; // The first message is "0" and signals start of batch $sender-&gt;send(0); // Send 100 tasks $total_msec = 0; // Total expected cost in msecs for ($task_nbr = 0; $task_nbr &lt; 100; $task_nbr++) { // Random workload from 1 to 100msecs $workload = mt_rand(1, 100); $total_msec += $workload; $sender-&gt;send($workload); } printf ("Total expected cost: %d msec\n", $total_msec); sleep (1); // Give 0MQ time to deliver

Parallel task worker in PHP

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <?php /* * Task worker * Connects PULL socket to tcp://localhost:5557 * Collects workloads from ventilator via that socket * Connects PUSH socket to tcp://localhost:5558 * Sends results to sink via that socket * @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; */ $context = new ZMQContext(); // Socket to receive messages on $receiver = new ZMQSocket($context, ZMQ::SOCKET_PULL); $receiver-&gt;connect("tcp://localhost:5557"); // Socket to send messages to $sender = new ZMQSocket($context, ZMQ::SOCKET_PUSH); $sender-&gt;connect("tcp://localhost:5558"); // Process tasks forever while (true) { $string = $receiver-&gt;recv(); // Simple progress indicator for the viewer echo $string, PHP_EOL; // Do the work usleep($string * 1000); // Send results to sink $sender-&gt;send(""); }

Parallel task sink in PHP

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <?php /* * Task sink * Binds PULL socket to tcp://localhost:5558 * Collects results from workers via that socket * @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; */ // Prepare our context and socket $context = new ZMQContext(); $receiver = new ZMQSocket($context, ZMQ::SOCKET_PULL); $receiver-&gt;bind("tcp://*:5558"); // Wait for start of batch $string = $receiver-&gt;recv(); // Start our clock now $tstart = microtime(true); // Process 100 confirmations $total_msec = 0; // Total calculated cost in msecs for ($task_nbr = 0; $task_nbr &lt; 100; $task_nbr++) { $string = $receiver-&gt;recv(); if($task_nbr % 10 == 0) { echo ":"; } else { echo "."; } } $tend = microtime(true); $total_msec = ($tend - $tstart) * 1000; echo PHP_EOL; printf ("Total elapsed time: %d msec", $total_msec); echo PHP_EOL;

從程序中,我們可以看到,task ventilator使用的是SOCKET_PUSH,將任務分發到Worker節點上。而Worker節點上,使用SOCKET_PULL從上游接受任務,并使用SOCKET_PUSH將結果匯集到Slink。值得注意的是,任務的分發的時候也同樣有一個負載均衡的路由功能,worker可以隨時自由加入,task ventilator可以均衡將任務分發出去。

五、其他擴展模式

通常,一個節點,即可以作為Server,同時也能作為Client,通過PipeLine模型中的Worker,他向上連接著任務分發,向下連接著結果搜集的Sink機器。因此,我們可以借助這種特性,豐富的擴展原有的三種模式。例如,一個代理Publisher,作為一個內網的Subscriber接受信息,同時將信息,轉發到外網,其結構圖如圖4所示。


圖4:ZMQ的擴展模式

六、多個服務器

ZMQ和Socket的區別在于,前者支持N:M的連接,而后者則只是1:1的連接,那么一個Client連接多個Server的情況是怎樣的呢,我們通過圖5來說明。

圖5:ZMQ的N:1的連接情況

我們假設Client有R1,R2,R3,R4四個任務,我們只需要一個ZMQ的Socket,就可以連接四個服務,他能夠自動均衡的分配任務。如圖5所示,R1,R4自動分配到了節點A,R2到了B,R3到了C。如果我們是N:M的情況呢?這個擴展起來,也不難,如圖6所示。

圖6:N:M的連接

我們通過一個中間結點(Broker)來進行負載均衡的功能。我們通過代碼了解,其中的Client和我們的Hello World的Client端是一樣的,而Server端的不同是,他不需要監聽端口,而是需要連接Broker的端口,接受需要處理的信息。所以,我們重點閱讀Broker的代碼:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 <?php /* * Simple request-reply broker * @author Ian Barber &lt;ian(dot)barber(at)gmail(dot)com&gt; */ // Prepare our context and sockets $context = new ZMQContext(); $frontend = new ZMQSocket($context, ZMQ::SOCKET_ROUTER); $backend = new ZMQSocket($context, ZMQ::SOCKET_DEALER); $frontend-&gt;bind("tcp://*:5559"); $backend-&gt;bind("tcp://*:5560"); // Initialize poll set $poll = new ZMQPoll(); $poll-&gt;add($frontend, ZMQ::POLL_IN); $poll-&gt;add($backend, ZMQ::POLL_IN); $readable = $writeable = array(); // Switch messages between sockets while(true) { $events = $poll-&gt;poll($readable, $writeable); foreach($readable as $socket) { if($socket === $frontend) { // Process all parts of the message while(true) { $message = $socket-&gt;recv(); // Multipart detection $more = $socket-&gt;getSockOpt(ZMQ::SOCKOPT_RCVMORE); $backend-&gt;send($message, $more ? ZMQ::MODE_SNDMORE : null); if(!$more) { break; // Last message part } } } else if($socket === $backend) { $message = $socket-&gt;recv(); // Multipart detection $more = $socket-&gt;getSockOpt(ZMQ::SOCKOPT_RCVMORE); $frontend-&gt;send($message, $more ? ZMQ::MODE_SNDMORE : null); if(!$more) { break; // Last message part } } } }

Broker監聽了兩個端口,接受從多個Client端發送過來的數據,并將數據,轉發給Server。在Broker中,我們監聽了兩個端口,使用了兩個Socket,那么對于多個Socket的情況,我們是不需要通過輪詢的方式去處理數據的,在之前,我們可以使用libevent實現,異步的信息處理和傳輸。而現在,我們只需要使用ZMQ的$poll->poll以實現多個Socket的異步處理。

七、進程間的通信

ZMQ不僅能通過TCP完成節點間的通信,也可以通過Socket文件完成進程間的通信。如圖7所示,我們fork三個PHP進程,將進程1的數據,通過Socket文件發送到進程3。

圖7:進程間的通信

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 <?php function step1() { ????????$context = new ZMQContext(); ????????// Signal downstream to step 2 ????????$sender = new ZMQSocket($context, ZMQ::SOCKET_PAIR); ????????$sender-&gt;connect("ipc://step2.ipc"); ????????$sender-&gt;send("hello ,i am step1"); } function step2() { ????????$pid = pcntl_fork(); ????????if($pid == 0) { ????????????????step1(); ????????????????exit(); ????????} ????????$context = new ZMQContext(); ????????//? Bind to ipc: endpoint, then start upstream thread ????????$receiver = new ZMQSocket($context, ZMQ::SOCKET_PAIR); ????????$receiver-&gt;bind("ipc://step2.ipc"); ????????// Wait for signal?? ????????sleep(10); ????????$strings = $receiver-&gt;recv(); ????????echo "step2 receiver is $strings". PHP_EOL; ????????sleep(10); ????????// Signal downstream to step 3 ????????$sender = new ZMQSocket($context, ZMQ::SOCKET_PAIR); ????????$sender-&gt;connect("ipc://step3.ipc"); ????????$sender-&gt;send($strings); } // Start upstream thread then bind to icp: endpoint $pid = pcntl_fork(); if($pid == 0) { ????????step2(); ????????exit(); } $context = new ZMQContext(); $receiver = new ZMQSocket($context, ZMQ::SOCKET_PAIR); $receiver-&gt;bind("ipc://step3.ipc"); // Wait for signal $sr = $receiver-&gt;recv(); echo "the result is {$sr}".PHP_EOL;

在運行中,我們可以看到多了兩個文件,如圖8所示。

圖8:運行過程中生成的文件

八、利用ZeroMQ實現一個配置推送中心

當我們將WEB代碼部署到集群上的時候,如果需要實時的將最新的配置信息,主動的推送到各個機器節點。在此過程中,我們一定要保證,各個節點收到的信息的一致性和正確性,如果使用HTTP,由于他的無狀態性,我們無法保證信息的一致性,當然,你可以使用HTTP來實現,只是更復雜,為什么不用ZMQ?他能讓你更簡單的實現這些功能。

我們使用ZMQ的信息訂閱模式。在那個模式中,我們注意到,對于后來的加入節點,始終會丟失在他加入之前,已經發送的信息(Slow joiner)。我們可以開啟另外一個ZMQ的通信通道,用于報告當前節點的情況(節點的身份、準備狀態等),其結構如圖9所示。

圖9:擴展ZMQ的訂閱者模式

我們通過$context->getSocket(ZMQ::SOCKET_REQ);設置一個新的Request-Reply連接,來用于Subscriber向Publisher報告自己的身份信息,而Publisher則等待所有的Subscriber都連接上的時候,再選擇Publish自己的信息。

Subscriber端的程序如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 <?php $hostname = $_SERVER['argc'] &gt; 1 ? $_SERVER['argv'][1] : "s1"; $context = new ZMQContext(2); $sub = new ZMQSocket($context,ZMQ::SOCKET_SUB); $sub-&gt;connect("tcp://localhost:5561"); //$subscriber-&gt;setSockOpt(ZMQ::SOCKOPT_IDENTITY, $hostname); $sub-&gt;setSockOpt(ZMQ::SOCKOPT_SUBSCRIBE,""); $client = $context-&gt;getSocket(ZMQ::SOCKET_REQ); $client-&gt;connect("tcp://localhost:5562"); while(1) { //$client-&gt;connect("tcp://localhost:5562"); $client-&gt;send($hostname); $version = $client-&gt;recv(); echo $version."\r\n"; if (!empty($version)) { $recive = $sub-&gt;recv(); $vars = json_decode($recive); var_dump($vars); } }

Publisher端的程序如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 <?php $CONFIG["TAOKE_BTS"]["ENABLE"] = true; $CONFIG["QP_BTS"]["ENABLE"] = true; $CONFIG["QP_BTS"]["TK_TEST"] = 13; $string = json_encode($CONFIG); $clients = array("s2","s1","s3"); $context = new ZMQContext(10); //Socket talk to clients $publisher = new ZMQSocket($context,ZMQ::SOCKET_PUB); $publisher-&gt;bind("tcp://*:5561"); //Socket to publish message $server = new ZMQSocket($context,ZMQ::SOCKET_REP); $server-&gt;bind("tcp://*:5562"); while(count($clients)!=0) { ??????$client_name = $server-&gt;recv(); ????????echo "{$client_name} is connect!\r\n"; if (in_array($client_name, $clients)) { //coming one client ????????$key = array_search($client_name, $clients); ????????unset($clients[$key]); ????????echo "$client_name has come in!\r\n"; ????????$server-&gt;send("Version is 2.0"); } else { ????????$server-&gt;send("You are a stranger!"); } } $publisher-&gt;send($string); ?&gt;

每個節點通過5562端口,使用Rep模式和Publisher連接,通過這個連接告之Publisher自己的機器名,而Publisher端通過白名單的方式,維護一個機器列表,當機器列表中所有的機器連接上來以后,通過5561端口,將最新的配置信息發送出去。

后續的處理,Subscriber可以選擇將配置信息寫入到APC緩存,程序將始終從緩存中讀取部分配置信息,Subscriber并將更新后的狀態信息,實時的通過5562報告給Publisher。

雖然,在本示例中不會出現,但是,如果需要發布的信息量過大,在接受信息的過程中,Subscriber端突然中斷網絡(或者是程序崩潰),那么當他在連接上來的時候,有部分信息就會丟失?ZMQ考慮到這個問題,通過$subscriber->setSockOpt(ZMQ::SOCKOPT_IDENTITY, $hostname);設置一個id,當這個id的Subscriber重新連接上來的時候,他可以從上次中斷的地方,繼續接受信息,當然,節點的中斷,不會影響其他的節點繼續的接受信息。

那么ZMQ是怎么實現斷線重連后,繼續發送信息呢 ?他會將斷開的Subscriber應該接受到的信息發到內存中,等待他重新上線后,將緩存的信息,繼續發送給他。當然,內存必然是有限的,過多就會出現內存溢出。ZMQ通過

SetSockOpt(ZMQ::SOCKOPT_SWAP, 250000)設置Swap空間的大小,來防止out of memory and crash。最終,我們的程序運行結果,如圖10所示。


圖10:配置中心的運行結果

當然,這只是一個大體的思路,如果應用到實際的成產環境中,還需要考慮更多的問題,包含穩定性,容錯等等。然而,ZMQ由于高并發,以及穩定性和易用性,前景不錯,他的目標是進入Linux內核,我們期待那一天的到來。

參考資料 :

http://www.infoq.com/cn/news/2010/09/introduction-zero-mq Infoq對zeromq的簡介

http://zguide.zeromq.org/page:all ZeroMQ的guide文檔

來自: www.searchtb.com


總結

以上是生活随笔為你收集整理的ZMQ研究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

天天综合视频在线观看 | 色一色在线| 欧美在线视频二区 | 色先锋资源网 | 国产精品一区在线观看你懂的 | 日韩欧美网址 | 91麻豆操| 久久久亚洲精品 | 狠狠干综合网 | 国产精品女同一区二区三区久久夜 | 九九免费在线看完整版 | www在线免费观看 | 九九99| 国产三级视频在线 | 在线电影中文字幕 | 精品久久久久免费极品大片 | 狠狠狠色丁香婷婷综合久久五月 | 在线观看视频你懂 | 午夜精品久久久久久久99热影院 | www成人av| 天海翼一区二区三区免费 | 欧美在线观看视频一区二区 | 久久免费视频一区 | 色吊丝在线永久观看最新版本 | a视频在线播放 | 综合铜03| 人人澡人摸人人添学生av | 日韩欧美精选 | 特级西西人体444是什么意思 | 日韩精品视频在线观看网址 | 在线黄色国产 | 天天插天天色 | 国产福利91精品张津瑜 | 97免费在线视频 | 久久成人国产精品免费软件 | 免费涩涩网站 | 午夜久久影视 | 九色视频网址 | 91视频在线播放视频 | 国产精品久久久久久久久久久久午夜片 | 最新国产精品亚洲 | 久草网站在线 | 99亚洲视频 | 天天操天天舔天天爽 | 国产69精品久久久久9999apgf | 开心丁香婷婷深爱五月 | 久久av影视 | 欧美精品免费一区二区 | 狠狠狠干 | 久久天天躁夜夜躁狠狠躁2022 | 五月婷婷综合激情网 | 久久99热国产 | 日韩精品一区电影 | 正在播放久久 | 久草网站 | 99久久精品免费看国产麻豆 | 婷婷久久精品 | 国产午夜三级一二三区 | 国产免费又爽又刺激在线观看 | 激情 亚洲 | a视频在线 | 免费观看的黄色 | 在线成人国产 | 日本爽妇网 | 久久艹综合 | 狠色在线| 91精品视频免费看 | 四虎在线免费视频 | 嫩草伊人久久精品少妇av | 精品久久久免费视频 | 色婷婷视频| 成人黄色资源 | 亚洲视频999 | 一区二区观看 | 亚洲一区网 | 国产综合小视频 | 伊人五月天.com | 免费视频在线观看网站 | 欧美日韩中文字幕在线视频 | 免费涩涩网站 | 国产又粗又猛又色又黄网站 | 成人a在线观看高清电影 | 亚洲欧洲精品一区 | 午夜 久久 tv | 日韩在线视 | 日日干精品 | 美女网站在线看 | 在线观看 国产 | 国产成人区 | 国产精品久久久av久久久 | 午夜av在线电影 | 午夜久久福利视频 | 国产日韩在线观看一区 | 天天操福利视频 | 精品国产亚洲在线 | 国产成人久久精品77777综合 | www色av| 97精品国自产拍在线观看 | 91大神dom调教在线观看 | 色资源在线 | 久久国产精品系列 | 在线黄色免费 | 最近中文字幕完整高清 | 亚洲一区 av | 日韩av黄| 成人小视频在线 | 日韩av在线小说 | 日本中文字幕观看 | 成人理论电影 | 中文字幕在线视频一区 | 日韩成人av在线 | 国产免费亚洲 | 超碰在线亚洲 | 国产69熟| 日批视频在线观看免费 | 99精品黄色| 91中文字幕网 | 亚洲免费一级 | 色噜噜噜噜 | 国产精品久久久久一区二区三区共 | 国产精品欧美在线 | 久久综合精品国产一区二区三区 | 亚洲国产欧洲综合997久久, | www视频免费在线观看 | 亚洲爱爱视频 | 色综合久久综合中文综合网 | 白丝av免费观看 | 日韩成人免费观看 | 九九99| 国产视频日韩 | 成年人黄色免费网站 | 国产中文在线视频 | 在线观看国产成人av片 | 欧美精品一区二区三区四区在线 | 久久综合中文字幕 | 日韩精品一区二区三区外面 | 99欧美 | 精品日韩视频 | 99产精品成人啪免费网站 | 亚洲色图 校园春色 | 成人av电影免费观看 | 日韩久久久久久久久久久久 | 国产精品岛国久久久久久久久红粉 | 亚洲 欧洲 国产 日本 综合 | 波多野结衣亚洲一区二区 | 国产精品色婷婷视频 | 日韩欧美精品一区二区三区经典 | av色综合| 国产精品资源网 | 最近最新mv字幕免费观看 | 色婷婷综合久久久久 | 精精国产xxxx视频在线播放 | 波多野结衣一区二区三区中文字幕 | 精品字幕 | 国产精品久久视频 | 亚洲乱码国产乱码精品天美传媒 | 成人作爱视频 | 久在线观看 | 最近中文字幕完整视频高清1 | av噜噜噜在线播放 | 国产精品婷婷午夜在线观看 | 日韩av在线看 | 黄色软件在线看 | 久久新视频| 国产精品美女网站 | 五月婷婷一区 | 91色在线观看 | 开心激情五月网 | 在线观看免费中文字幕 | 精品国产视频一区 | 2023av| 亚洲午夜精品在线观看 | 久久久久国产精品厨房 | 久久国产综合视频 | 一色av| 日韩午夜高清 | 国产资源在线观看 | 99久久精品国产免费看不卡 | 国内免费的中文字幕 | 嫩草av影院| 亚洲精品视频网站在线观看 | www狠狠操 | 日韩在线视频观看免费 | 91高清免费 | 激情五月婷婷激情 | 欧美福利片在线观看 | 中文字幕精品一区二区精品 | 久久电影日韩 | 免费看的黄色小视频 | 亚洲精品乱码久久久久久写真 | 狠狠网亚洲精品 | 成人va天堂 | 亚洲高清久久久 | 精品视频在线播放 | 不卡av电影在线 | 国产美女免费观看 | 2019中文最近的2019中文在线 | 免费观看mv大片高清 | 在线观看成人小视频 | 日韩欧美专区 | 国产经典av | 中文字幕高清在线播放 | 国产高清久久久 | 日韩电影在线视频 | 国产精品久久久久高潮 | 奇人奇案qvod | 国内精品视频免费 | 国产在线观看你懂得 | 欧美大片www | 国产精品av久久久久久无 | 成人在线观看影院 | 狠狠干狠狠色 | 婷婷在线观看视频 | 欧美激精品 | 日韩中文字幕在线观看 | 成片人卡1卡2卡3手机免费看 | 亚洲免费色 | 日韩乱码在线 | 99精品免费在线观看 | 日韩精品中文字幕在线不卡尤物 | 在线观看亚洲专区 | 黄色影院在线免费观看 | 波多野结衣电影一区二区三区 | 久久精品91久久久久久再现 | 欧洲精品码一区二区三区免费看 | 亚洲国产成人精品久久 | 91中文字幕在线 | 91成人短视频在线观看 | 一区二区三区高清不卡 | 欧美激情在线看 | 黄色av电影免费观看 | 91成人在线观看喷潮 | 久久精品视频18 | 欧美视频网址 | 五月情婷婷 | 手机成人在线 | 亚洲精品tv久久久久久久久久 | 在线免费黄色av | 日韩中文字幕网站 | 麻豆一精品传二传媒短视频 | 成人一级片免费看 | 日韩黄色av网站 | 免费看国产视频 | 成人免费视频网站在线观看 | 国产免费资源 | av电影免费在线播放 | 日韩精品中文字幕在线播放 | 亚洲乱码国产乱码精品天美传媒 | 99视频网址 | 午夜三级在线 | 夜夜视频资源 | 中文在线天堂资源 | 五月婷婷综合激情 | 日韩精品在线视频 | 久久黄色免费观看 | 国产精品久久久久999 | 国产精品亚洲片在线播放 | 国产三级精品在线 | 欧美精品v国产精品v日韩精品 | 中文字幕 国产精品 | 欧美日韩视频免费看 | 国产视频一区二区三区在线 | 天天做综合网 | 狠狠狠色| 精品国产a| 91九色在线观看视频 | 午夜精品av | 91网在线观看 | 亚洲精品在线国产 | 成人h电影 | 国产日韩视频在线播放 | 国产精品中文久久久久久久 | 久久精品牌麻豆国产大山 | 最近高清中文在线字幕在线观看 | 四虎欧美 | 日韩欧美99 | 黄色三级在线观看 | 日韩影视精品 | 欧美一区成人 | 国产精品毛片一区 | 亚洲欧美日韩国产一区二区三区 | 日韩av影视在线观看 | 中文字幕av网站 | 国产高清在线观看av | 国产看片免费 | 欧洲亚洲精品 | 最近字幕在线观看第一季 | 性色av免费观看 | 日本精品一区二区三区在线播放视频 | 超级碰视频 | 日韩av视屏在线观看 | 欧美精品在线观看免费 | 涩五月婷婷 | 97国产大学生情侣白嫩酒店 | 亚洲理论在线 | 精品字幕| 黄色毛片一级 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 在线免费中文字幕 | 国内少妇自拍视频一区 | 成人av在线亚洲 | 黄色小网站免费看 | 久久久www免费电影网 | 久久久久久蜜av免费网站 | 99精品热视频 | 91精品国产高清自在线观看 | 免费观看成年人视频 | 天天爽夜夜爽精品视频婷婷 | 精品亚洲va在线va天堂资源站 | 日韩精品一区二区三区不卡 | 婷婷网站天天婷婷网站 | 久久这里只有精品视频99 | 国产v在线播放 | 一本一道久久a久久精品 | 欧美精品久久99 | 玖玖视频 | 亚洲视频分类 | 日本中文字幕在线一区 | 欧美99热| 亚洲精品国产成人 | 一本一本久久a久久精品综合小说 | 97精品免费视频 | 91久久人澡人人添人人爽欧美 | 国产第一页在线观看 | 在线亚洲人成电影网站色www | 久久9999久久免费精品国产 | 精品国产黄色片 | 69热国产视频 | 在线观看精品视频 | 亚洲国产精品人久久电影 | 精品乱码一区二区三四区 | 精品99免费 | 成年人免费观看国产 | 日韩二区在线 | 日韩在观看线 | 久久,天天综合 | 外国av网| 婷婷久操 | 国产精品久久久久久久妇 | 日韩视频中文字幕 | 精品你懂的 | 国产一级久久 | 久久精品免视看 | 九月婷婷综合网 | 欧美在线不卡一区 | 热精品| 中文字幕av在线电影 | 国产精品99久久久久久有的能看 | 在线a视频| 黄a网 | 在线观看视频在线观看 | 天天射夜夜爽 | 久久九九国产视频 | 婷婷丁香在线 | 欧美精品久久久久久久久久久 | 日本中文字幕在线观看 | 免费欧美高清视频 | 伊人在线视频 | 色综合久久88色综合天天免费 | 亚洲欧美视频在线播放 | 中文字幕有码在线播放 | 日韩大片在线免费观看 | 又黄又爽又无遮挡的视频 | 国产精品久久久久四虎 | 亚洲精品乱码久久 | 在线免费观看视频一区 | 国产三级香港三韩国三级 | 国产精品久久久毛片 | 国产九九九精品视频 | 成人中文字幕在线观看 | 国产精品日韩欧美 | 91在线精品视频 | 九九爱免费视频在线观看 | 激情黄色av | 国产精品一区二区三区在线 | 色婷婷播放 | 色偷偷男人的天堂av | 欧美一级片在线免费观看 | 91在线影视 | 91色视频 | 中文字幕精品www乱入免费视频 | 天天插天天狠 | 91精品老司机久久一区啪 | 激情 一区二区 | 国产亚洲片 | 2024国产在线 | 99热在线这里只有精品 | 欧美巨乳网 | 国产精品一区二区你懂的 | 激情五月开心 | 国产麻豆剧果冻传媒视频播放量 | 特级毛片网 | 日韩在线视频一区二区三区 | 欧美国产日韩一区二区三区 | 日女人免费视频 | 国产精品女教师 | 亚洲三级黄 | 精品福利网 | 日韩电影一区二区在线观看 | 国产福利一区二区三区视频 | 色综合天天狠天天透天天伊人 | 国产女v资源在线观看 | 免费av在线 | 国产精品久久久久久久久久白浆 | 99精品视频一区 | 奇米导航| 日韩三级久久 | 美腿丝袜一区二区三区 | 91入口在线观看 | 69久久99精品久久久久婷婷 | 亚洲综合视频网 | 一区在线观看视频 | 中文字幕二区 | 欧美精品v国产精品 | 又黄又刺激又爽的视频 | 99色视频| 麻豆视频免费看 | 国产手机av在线 | 久久九九九九 | 久久高清精品 | 日韩黄色中文字幕 | 色欲综合视频天天天 | 国产精品va最新国产精品视频 | 国产不卡免费视频 | 欧美 日韩 成人 | 精品久久国产精品 | 69av免费视频 | 天天躁日日躁狠狠躁av中文 | 欧美在线日韩在线 | 99久久国产免费,99久久国产免费大片 | 狠色狠色综合久久 | 人人干人人做 | 国产精品成人久久久 | 日韩黄色软件 | 黄色国产精品 | 99综合久久 | 97爱爱爱 | 久久精品成人 | 玖玖视频 | 在线国产能看的 | 欧美精品亚州精品 | 成人a视频片观看免费 | 在线观看中文字幕 | 日产乱码一二三区别免费 | 美女在线观看网站 | 日批视频在线播放 | 日本免费一二三区 | 亚洲有 在线| 日韩欧美aaa| 国产精品一区专区欧美日韩 | 极品久久久久久久 | 1024在线看片 | 欧美日韩伦理在线 | 福利视频导航网址 | 91亚洲欧美激情 | 狠狠天天 | 91亚洲国产 | 99视频这里只有 | 婷婷色吧 | 欧洲黄色片 | 97碰视频| 亚洲精选视频免费看 | 成年人在线播放视频 | 久久区二区 | 国产一区精品在线观看 | 午夜 久久 tv | 日本视频网| 999色视频| 国产99久久久国产精品成人免费 | 久久国产精品视频免费看 | 亚洲伊人网在线观看 | 成人 亚洲 欧美 | 亚洲综合精品在线 | 国产黄a三级三级三级三级三级 | 综合伊人久久 | 中文字幕久久精品亚洲乱码 | 99视频精品 | 久久久久欠精品国产毛片国产毛生 | 亚洲国产久 | 中文字幕网址 | www九九热 | 色99导航| 97超碰色偷偷 | 免费精品在线视频 | 女人18毛片a级毛片一区二区 | 91成人看片| 中文字幕免费久久 | 精品成人国产 | 亚洲九九九在线观看 | 黄色网址av | 国产精品99爱| 婷婷激情站 | 久久超碰97 | 日韩av午夜在线观看 | 国产一级电影网 | 国产精品正在播放 | www.一区二区三区 | 日韩在线视频网 | 久久永久免费 | 不卡中文字幕av | 日韩精品一区二区三区第95 | av在线播放快速免费阴 | 精品理论片 | 久久精品免费 | 成人av片免费观看app下载 | 精一区二区 | 久久久久看片 | 日本中文字幕在线看 | 中文字幕在线影视资源 | 国产精品99免费看 | 亚洲男女精品 | 成年人黄色在线观看 | 日韩资源在线观看 | 亚洲欧美精品在线 | 久久精品99精品国产香蕉 | www.com久久| 亚洲国内精品在线 | 久草在线国产 | 国产精品不卡在线播放 | 国产香蕉97碰碰久久人人 | 开心激情五月婷婷 | 久久er99热精品一区二区 | 天天操综合 | 波多野结衣亚洲一区二区 | 爱射综合| 久久久久网站 | 69av在线视频 | 五月天亚洲综合小说网 | 久久国产精品久久久久 | 99久久久国产精品免费99 | 看片一区二区三区 | 免费视频国产 | 色婷婷骚婷婷 | 国产女v资源在线观看 | 色吊丝在线永久观看最新版本 | 免费一级片在线 | av资源在线看| 五月天亚洲综合小说网 | 亚洲最大免费成人网 | av在线免费网站 | 精品久久久一区二区 | 91丨九色丨91啦蝌蚪老版 | 91日韩免费 | 中文字幕丝袜美腿 | 国产精品久久综合 | 91成人免费视频 | av在线电影免费观看 | 亚洲激色 | 国产福利不卡视频 | 91手机在线看片 | 欧美日本啪啪无遮挡网站 | av视屏在线播放 | 国产一区二区久久久久 | 亚洲人片在线观看 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产亚洲在 | 在线免费观看不卡av | 色噜噜狠狠狠狠色综合久不 | www.亚洲精品视频 | av成人在线电影 | 99久久精品电影 | 91精品久久久久久综合五月天 | 人九九精品 | 国产精品精品久久久久久 | 精品美女久久久久 | 在线观看成人福利 | 亚洲专区在线视频 | 欧美另类tv| 久久精品导航 | 日本精a在线观看 | 国产精品久久久久9999吃药 | 国产福利免费在线观看 | 99热精品久久 | 97超碰在线资源 | 99成人在线视频 | 国产一二三四在线观看视频 | 毛片永久免费 | 精品欧美在线视频 | 天天色天天干天天色 | 天天操天天添天天吹 | 在线观看自拍 | 午夜精品久久久久久99热明星 | 高清不卡一区二区在线 | 久草在线免费新视频 | 91人人爱 | 国产一二区在线观看 | 亚洲精品在线观看的 | 91九色国产蝌蚪 | 国产一二三区在线观看 | 亚洲国产综合在线 | 国产视频精品免费 | 91人人揉日日捏人人看 | 欧美日韩国产精品一区二区亚洲 | 伊人中文字幕在线 | 超碰日韩在线 | 不卡的av中文字幕 | 99久久精品无免国产免费 | 久久在线精品 | 久久精品视频日本 | 黄色一级在线免费观看 | 婷婷色综 | 国产大片免费久久 | 91精品久久久久久久久久入口 | 日韩欧美专区 | 亚洲精品av中文字幕在线在线 | 开心激情五月婷婷 | 97超碰人人澡人人 | 成人黄色在线观看视频 | 91麻豆精品国产91久久久久久 | 在线观看免费黄视频 | 一区二区三区播放 | 九九在线高清精品视频 | 国产亚洲精品xxoo | 一区二区精 | 在线播放91| 欧美久久久久久久久久 | 国产精品第2页 | 美女av免费看 | 久久国内免费视频 | 久久精品美女视频网站 | 亚洲理论电影网 | 天天射天天舔天天干 | 国产精品一区二区在线免费观看 | 精品字幕在线 | 丁香花中文在线免费观看 | 久久视频免费在线 | 久久久精品一区二区 | 日精品在线观看 | 中文字幕精品三级久久久 | 中文字幕在线一二 | 国产在线视频一区 | 久久精品1区2区 | 97碰碰精品嫩模在线播放 | 天天爽网站 | 亚洲伊人第一页 | 在线观看网站黄 | 日本一区二区免费在线观看 | 日韩久久久久久久久 | 一区二区三区动漫 | 狠狠干2018 | 国产老太婆免费交性大片 | 天天插天天干天天操 | 最新午夜 | 国产精品日韩精品 | 欧美精品久久久久久久久久丰满 | www亚洲一区 | 国产在线精品视频 | 91av99| 国产成人在线精品 | 97久久久免费福利网址 | 27xxoo无遮挡动态视频 | 亚洲精品在线电影 | 国产激情小视频在线观看 | 97网站| 久久视频在线观看免费 | 91人人网| 国产精品久久久久一区二区 | 国产精品一区二区三区观看 | 99视频在线观看视频 | 婷婷精品在线视频 | 国产成人黄色网址 | 免费国产一区二区视频 | 毛片网站观看 | 狠狠色丁香婷婷综合视频 | 亚洲午夜激情网 | 亚洲精品美女在线观看播放 | 亚洲欧美va| 欧美激情综合五月色丁香小说 | 欧美色精品天天在线观看视频 | 肉色欧美久久久久久久免费看 | 成人精品999 | 亚洲精品国产片 | 成人午夜黄色影院 | 亚洲精品在线二区 | 在线观看国产麻豆 | 婷婷av综合 | 在线国产日韩 | 欧美成人精品在线 | 色妞久久福利网 | 97网| 久久精品99国产精品酒店日本 | 国产在线观看91 | 日韩精品中文字幕久久臀 | 国产 视频 久久 | 欧美成人黄色 | 4hu视频| 少妇18xxxx性xxxx片 | 91av亚洲| 91网页版免费观看 | 精品久操 | 亚洲最新av在线网址 | av一区二区在线观看中文字幕 | 99精品国产福利在线观看免费 | 亚洲精品五月天 | 亚洲在线观看av | 国产专区精品 | 久久精品日产第一区二区三区乱码 | 成人国产一区二区 | 中文字幕日韩免费视频 | 亚洲成免费 | 天堂av官网 | 色综合久久五月天 | 在线免费视频你懂的 | 91精品国产综合久久福利 | 天天弄天天操 | 欧美成人xxx| 免费日韩精品 | 韩国在线视频一区 | 色综合中文字幕 | 成人欧美一区二区三区在线观看 | 五月婷婷一区 | 亚洲国产午夜视频 | 日韩精品在线视频 | 91麻豆精品国产91久久久更新时间 | 黄色特一级片 | 手机av在线免费观看 | 色综合天天狠狠 | 亚洲综合日韩在线 | 国产一级片网站 | 粉嫩高清一区二区三区 | 国产福利一区二区三区在线观看 | 久久99久国产精品黄毛片入口 | 久久免费福利 | 在线影院av | 国产视频手机在线 | 免费观看一级视频 | 偷拍久久久 | 日韩在线不卡av | 国产成人一区二区三区在线观看 | 国产亚洲精品无 | 狠狠网 | 最近免费在线观看 | 又色又爽又黄高潮的免费视频 | 五月色综合 | 欧洲亚洲国产视频 | 91在线视频免费91 | 69av久久| 四虎国产精 | 色香蕉视频| 久久精品高清视频 | 99精品视频播放 | 精品国产区在线 | 毛片随便看 | 91成人网在线观看 | 九九精品毛片 | 国产精品一区二区免费 | 97国产小视频 | 久久96国产精品久久99漫画 | 色永久免费视频 | 美女国产在线 | 91视频 - x99av | 国产成人777777 | 91精品国产91久久久久福利 | 日韩欧美国产免费播放 | a在线v | 国产精品久久久久久久久久久免费看 | 日本在线h | 五月婷婷激情 | 日韩欧美在线不卡 | 免费在线观看视频a | 亚洲 欧美 日韩 综合 | 免费福利片2019潦草影视午夜 | 久久久久久久99 | 2021国产在线视频 | 最新极品jizzhd欧美 | 免费男女羞羞的视频网站中文字幕 | 制服丝袜亚洲 | 久久久九九 | av播放在线 | ,午夜性刺激免费看视频 | 亚洲一二视频 | 毛片播放网站 | 天天射天天操天天干 | 免费观看9x视频网站在线观看 | 国产乱视频 | 国产破处在线视频 | 中文字幕一区二区三区在线观看 | 中文字幕在线看视频国产中文版 | 国产一级二级在线播放 | 99爱这里只有精品 | 探花视频在线观看 | 中文区中文字幕免费看 | 麻豆91精品 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 91av视频观看 | 国产在线观看免 | www.色婷婷.com | 一区二区视频在线免费观看 | a黄色片在线观看 | 欧美国产在线看 | 成人a免费看 | 日本黄色免费电影网站 | 国产在线视频一区二区三区 | 黄色免费电影网站 | 探花视频在线观看+在线播放 | 亚洲成人家庭影院 | 亚洲少妇自拍 | 日日日视频 | 国产亚洲日本 | 成人免费在线观看av | 亚洲专区 国产精品 | 99成人精品| 久久伊人色综合 | 日韩免费视频观看 | 五月的婷婷 | 蜜臀av.com| 久久在线视频在线 | 欧美激情视频免费看 | 久久久www成人免费精品 | 色婷婷视频在线观看 | 中文字幕日韩电影 | 亚洲精品在线观看的 | 亚洲精品久 | 久草视频中文在线 | 丁香六月婷 | 天堂av在线中文在线 | 91成人精品一区在线播放69 | 91精品在线免费视频 | 久久优| 精品国产视频在线观看 | 五月激情六月丁香 | 狠狠的操狠狠的干 | 国产精品久久久久久久久久99 | 九色激情网| 天天综合入口 | 日韩精品你懂的 | a黄色大片 | 99riav1国产精品视频 | 国产精品自产拍在线观看 | 午夜精品久久久久久久久久久 | 国产91精品看黄网站 | 亚洲免费av一区二区 | 久久成人精品电影 | 最新免费中文字幕 | 欧美一二三区在线播放 | av网站在线观看播放 | 99久久www | 夜夜操天天摸 | 亚洲精品自在在线观看 | av在线免费观看不卡 | 成人观看 | 99久久精品免费看 | 综合网成人 | 天天夜操| 极品美女被弄高潮视频网站 | 丁香婷婷久久久综合精品国产 | 久久久国产一区 | 亚洲国内精品在线 | 精品伦理一区二区三区 | 欧美精品乱码久久久久久按摩 | 午夜三级毛片 | 中文字幕日韩国产 | 天海翼一区二区三区免费 | 欧洲视频一区 | 美女视频黄免费网站 | 久久精品国产一区二区三区 | 国产日本亚洲高清 | 欧美一二三区在线观看 | 精品专区一区二区 | 国产精品一区二区免费在线观看 | 成人在线一区二区三区 | 91在线网址 | 99九九99九九九视频精品 | 久久超级碰视频 | 欧美日韩视频免费看 | 国产在线观看你懂得 | 国产成人久久av免费高清密臂 | 青草视频在线免费 | 98久久 | 中文字幕一区二区三区在线播放 | 亚洲精品国产综合99久久夜夜嗨 | 日本中文一级片 | 日韩在线不卡视频 | 中文字幕在线观看国产 | 中文字幕在线视频网站 | 中文字幕超清在线免费 | 91成人精品视频 | 国产色婷婷| 国产亚洲成av片在线观看 | 999久久久国产精品 高清av免费观看 | 网站在线观看你们懂的 | 六月婷婷网 | 久久国产乱 | 国产黄a三级三级三级三级三级 | 中文字幕视频观看 | 五月天激情综合 | 91精品国产麻豆 | 五月天激情视频 | 亚洲一区二区高潮无套美女 | 久久精品系列 | 欧美成人精品三级在线观看播放 | 97超碰免费在线 | 夜夜天天干 | 美国三级黄色大片 | 五月天精品视频 | 成人天堂网 | 九九激情视频 | 天天操天天吃 | 成人免费在线播放 | h网站免费在线观看 | 999热线在线观看 | 日一日操一操 | 天堂av色婷婷一区二区三区 | 国产一区福利在线 | 国内综合精品午夜久久资源 | 久久全国免费视频 | 亚洲欧洲精品一区二区 | 婷婷综合导航 | 国产麻豆成人传媒免费观看 | 欧美日本不卡视频 | 久久亚洲综合国产精品99麻豆的功能介绍 | 中文字幕文字幕一区二区 | 中文字幕不卡在线88 | 中文字幕美女免费在线 | 奇米影视999 | 91av免费在线观看 | 婷婷丁香视频 | 91看片在线免费观看 | 欧美精品网站 | 精品美女在线视频 | 日本久久不卡视频 | 国产午夜精品一区二区三区 | 日韩视频专区 | 青青河边草手机免费 | 欧美综合在线视频 | 国产精品一区二区av麻豆 | 国产精品热| 日本黄色大片免费看 | 中文字幕国产在线 | 日本在线视频一区二区三区 | 天天色天天射天天综合网 | 四虎4hu永久免费 | 亚洲1级片 | 国产亚洲在线观看 | 日韩视频www | 蜜桃视频日本 | 久草免费手机视频 | 国产在线观看午夜 | 免费久草视频 | 日日干,天天干 | 97在线精品视频 | av黄色国产 | 色狠狠婷婷 | 91.dizhi永久地址最新 | 欧美激情第八页 | 97av在线 | 亚洲 欧美 国产 va在线影院 | 久久久久久麻豆 | 日韩精品视频久久 | 午夜久久久久久久久久影院 | 日韩高清一二区 | 成人免费看黄 | 开心激情五月网 | 波多野结衣综合网 | 亚洲精品玖玖玖av在线看 | 国产精品久久久久久麻豆一区 | 免费激情在线电影 | 99精品国产99久久久久久福利 | 在线观看91精品国产网站 | 精品欧美一区二区在线观看 | 国产传媒中文字幕 | 久久热首页 | 一区二区三区在线免费播放 | 天天射综合网视频 | 亚洲综合在线视频 | 精品国模一区二区 | 蜜桃av人人夜夜澡人人爽 | 国产群p视频 | 中文字幕av电影下载 | 久久热首页 | 亚洲精品视频免费观看 | 在线观看视频99 | 亚洲精品成人av在线 | 激情综合色综合久久综合 | 91中文字幕网 | 最新91在线视频 | 精品久久免费 | www.天天操.com| 久久这里只有精品首页 | 午夜精品久久久久久久久久久久 | 激情六月婷婷久久 | 国产群p视频 | 国产三级视频在线 | 黄色的网站在线 | 五月婷香 | 丁香六月久久综合狠狠色 | 国产精品久久久久久久久大全 | 国产资源在线视频 | 日韩在线视频网址 | 久久久蜜桃 | 最新午夜电影 | 在线免费精品视频 | www.99在线观看 | 午夜精品在线看 | 国精产品一二三线999 | 在线黄色观看 | 色婷婷狠狠 | av丁香|