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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

GRPC原理解析

發布時間:2025/3/21 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GRPC原理解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GRPC是google開源的一個高性能、跨語言的RPC框架,基于HTTP2協議,基于protobuf 3.x,基于Netty 4.x +。GRPC與thrift、avro-rpc等其實在總體原理上并沒有太大的區別,簡而言之GRPC并沒有太多突破性的創新。(如下描述,均基于JAVA語言的實現)

? ? 對于開發者而言:

? ? 1)需要使用protobuf定義接口,即.proto文件

? ? 2)然后使用compile工具生成特定語言的執行代碼,比如JAVA、C/C++、Python等。類似于thrift,為了解決跨語言問題。

? ? 3)啟動一個Server端,server端通過偵聽指定的port,來等待Client鏈接請求,通常使用Netty來構建,GRPC內置了Netty的支持。

? ? 4)啟動一個或者多個Client端,Client也是基于Netty,Client通過與Server建立TCP長鏈接,并發送請求;Request與Response均被封裝成HTTP2的stream Frame,通過Netty Channel進行交互。

?

? ? 對于GRPC的“鼓吹”,本文不多表述,截止到今日,GRPC仍然處于開發階段,尚沒有release版本,而且特性也很多需要補充;GRPC基于protobuf 3.x,但是protobuf 3.x也沒有release版本;雖然HTTP2協議已成定局,但尚未被主流web容器包括代理服務器支持,這意味著GRPC在HTTP負載均衡方面尚有欠缺;最終,在短期內我們還不能在production環境中實施,可以做技術儲備。不過GRPC的缺點,在將來將會成為它的優點,我們需要時間等待它的成熟。

? ? 1)GRPC尚未提供連接池

? ? 2)尚未提供“服務發現”、“負載均衡”機制

? ? 3)因為基于HTTP2,絕大部多數HTTP Server、Nginx都尚不支持,即Nginx不能將GRPC請求作為HTTP請求來負載均衡,而是作為普通的TCP請求。(nginx將會在1.9版本支持)

? ? 4)GRPC尚不成熟,易用性還不是很理想;就本人而言,我還是希望GRPC能夠像hessian一樣:無IDL文件,無需代碼生成,接口通過HTTP表達。

? ? 5)Spring容器尚未提供整合。

?

? ? 在實際應用中,GRPC尚未完全提供連接池、服務自動發現、進程內負載均衡等高級特性,需要開發人員額外的封裝;最大的問題,就是GRPC生成的接口,調用方式實在是不太便捷(JAVA),最起碼與thrift相比還有差距,希望未來能夠有所改進。

?

一、實例

? ??1、proto文件

? ? GRPC并沒有創造新的序列化協議,而是使用已有的protobuf;基于protobuf來聲明數據模型和RPC接口服務,當然protobuf是一個非常優秀的協議框架。關于protobuf 3.x的相關文檔,請參見【protobuf 3】

? ? 接下來,我們設計一個sayHello接口,我們將數據模型和RPC接口分別保存在兩個文件中。

? ??1)TestModel.proto

?

Java代碼??

  • syntax?=?"proto3";??
  • package?com.test.grpc;??
  • option?java_package?=?"com.test.grpc.service.model";??
  • message?TestRequest{??
  • ????string?name??=?1;??
  • ????int32?id????=?2;??
  • }??
  • message?TestResponse{??
  • ????string?message?=?1;??
  • }??
  • ?

    ? ??2)TestService.proto

    Java代碼??

  • syntax?=?"proto3";??
  • package?com.test.grpc;??
  • option?java_package?=?"com.test.grpc.service";??
  • import?"TestModel.proto";??
  • service?TestRpcService{??
  • ????rpc?sayHello(TestRequest)?returns?(TestResponse);??
  • }??
  • ?

    ? ? proto文件中需要注意加上“syntax”,表示使用protobuf 3的語法。

    ? ??2、生成JAVA代碼

    ? ? 生成代碼,我們最好借助于maven插件,可以在pom文件中增加如下信息:

    Java代碼??

  • <pluginRepositories><!--?插件庫?-->??
  • ????<pluginRepository>??
  • ????????<id>protoc-plugin</id>??
  • ????????<url>https://dl.bintray.com/sergei-ivanov/maven/</url>??
  • ????</pluginRepository>??
  • </pluginRepositories>??
  • <build>??
  • ????<extensions>??
  • ????????<extension>??
  • ????????????<groupId>kr.motd.maven</groupId>??
  • ????????????<artifactId>os-maven-plugin</artifactId>??
  • ????????????<version>1.4.0.Final</version>??
  • ????????</extension>??
  • ????</extensions>??
  • ????<plugins>??
  • ????????<plugin>??
  • ????????????<groupId>com.google.protobuf.tools</groupId>??
  • ????????????<artifactId>maven-protoc-plugin</artifactId>??
  • ????????????<version>0.4.4</version>??
  • ????????????<configuration>??
  • ????????????????<protocArtifact>com.google.protobuf:protoc:3.0.0-beta-2:exe:${os.detected.classifier}</protocArtifact>??
  • ????????????????<pluginId>grpc-java</pluginId>??
  • ????????????????<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>??
  • ????????????</configuration>??
  • ????????????<executions>??
  • ????????????????<execution>??
  • ????????????????????<goals>??
  • ????????????????????????<goal>compile</goal>??
  • ????????????????????????<goal>compile-custom</goal>??
  • ????????????????????</goals>??
  • ????????????????</execution>??
  • ????????????</executions>??
  • ????????</plugin>??
  • ????</plugins>??
  • </build>??
  • ?

    ? ? 然后只需要執行“mvn compile”指令即可,此后我們會在項目的target目錄下看到生成的classes文件,當然最終我們還是需要將service打成jar包發布的。maven仍然可以幫助我們做這些工作,由.proto生成classes是在compile階段,那么jar階段仍然是可以將classes打成jar,只需要借助maven-jar-plugin插件即可。

    ? ??3、開發Server端服務(簡例)

    Java代碼??

  • //server端實現類,擴展原有接口??
  • public?class?TestServiceImpl?implements?TestRpcServiceGrpc.TestRpcService?{??
  • ??
  • ????@Override??
  • ????public?void?sayHello(TestModel.TestRequest?request,?StreamObserver<TestModel.TestResponse>?responseObserver)?{??
  • ????????String?result?=?request.getName()?+?request.getId();??
  • ????????TestModel.TestResponse?response?=?TestModel.TestResponse.newBuilder().setMessage(result).build();??
  • ????????responseObserver.onNext(response);??
  • ????????responseObserver.onCompleted();??
  • ????}??
  • }??
  • ?

    Java代碼??

  • public?class?TestServer?{??
  • ??
  • ????public?static?void?main(String[]?args)?throws?Exception{??
  • ??
  • ????????ServerImpl?server?=?NettyServerBuilder.forPort(50010).addService(TestRpcServiceGrpc.bindService(new?TestServiceImpl())).build();??
  • ????????server.start();??
  • ????????server.awaitTermination();//阻塞直到退出??
  • ????}??
  • }??
  • ?

    ? ? 稍后啟動TestServer即可。

    ? ??4、開發Client端(簡例)

    Java代碼??

  • public?class?TestClient?{??
  • ??
  • ????private?final?TestRpcServiceGrpc.TestRpcServiceBlockingStub?client;??
  • ????public?TestClient(String?host,int?port)?{??
  • ????????ManagedChannel?channel?=??NettyChannelBuilder.forAddress(host,?port).usePlaintext(true).build();??
  • ????????client?=?TestRpcServiceGrpc.newBlockingStub(channel).withDeadlineAfter(60000,?TimeUnit.MILLISECONDS);??
  • ????}??
  • ??
  • ????public?String?sayHello(String?name,Integer?id)?{??
  • ????????TestModel.TestRequest?request?=?TestModel.TestRequest.newBuilder().setId(id).setName(name).build();??
  • ????????TestModel.TestResponse?response?=?client.sayHello(request);??
  • ????????return?response.getMessage();??
  • ????}??
  • }??
  • ?

    ? ? 然后我們運行即可,代碼非常簡單,當然無論是Client還是Server端,我們還有其他額外的參數可以配置,我們稍后詳細介紹。

    ?

    二、原理解析

    ? ? GRPC的Client與Server,均通過Netty Channel作為數據通信,序列化、反序列化則使用Protobuf,每個請求都將被封裝成HTTP2的Stream,在整個生命周期中,客戶端Channel應該保持長連接,而不是每次調用重新創建Channel、響應結束后關閉Channel(即短連接、交互式的RPC),目的就是達到鏈接的復用,進而提高交互效率。

    ?

    ? ??1、Server端

    ? ? 我們通常使用NettyServerBuilder,即IO處理模型基于Netty,將來可能會支持其他的IO模型。Netty Server的IO模型簡析:

    ? ? 1)創建ServerBootstrap,設定BossGroup與workerGroup線程池

    ? ? 2)注冊childHandler,用來處理客戶端鏈接中的請求成幀

    ? ? 3)bind到指定的port,即內部初始化ServerSocketChannel等,開始偵聽和接受客戶端鏈接。

    ? ? 4)BossGroup中的線程用于accept客戶端鏈接,并轉發(輪訓)給workerGroup中的線程。

    ? ? 5)workerGroup中的特定線程用于初始化客戶端鏈接,初始化pipeline和handler,并將其注冊到worker線程的selector上(每個worker線程持有一個selector,不共享)

    ? ? 6)selector上發生讀寫事件后,獲取事件所屬的鏈接句柄,然后執行handler(inbound),同時進行拆封package,handler執行完畢后,數據寫入通過,由outbound handler處理(封包)通過鏈接發出。 ? ?注意每個worker線程上的數據請求是隊列化的。

    ? ? 參見源碼:SingleThreadEventLoop、NioEventLoop。(請求隊列化)

    ?

    ? ? GRPC而言,只是對Netty Server的簡單封裝,底層使用了PlaintextHandler、Http2ConnectionHandler的相關封裝等。具體Framer、Stream方式請參考Http2相關文檔。

    ? ? 1)bossEventLoopGroup:如果沒指定,默認為一個static共享的對象,即JVM內所有的NettyServer都使用同一個Group,默認線程池大小為1。

    ? ? 2)workerEventLoopGroup:如果沒指定,默認為一個static共享的對象,線程池大小為coreSize * 2。這兩個對象采用默認值并不會帶來問題;通常情況下,即使你的application中有多個GRPC Server,默認值也一樣能夠帶來收益。不合適的線程池大小,有可能會是性能受限。

    ? ? 3)channelType:默認為NioServerSocketChannel,通常我們采用默認值;當然你也可以開發自己的類。如果此值為NioServerSocketChannel,則開啟keepalive,同時設定SO_BACKLOG為128;BACKLOG就是系統底層已經建立引入鏈接但是尚未被accept的Socket隊列的大小,在鏈接密集型(特別是短連接)時,如果隊列超過此值,新的創建鏈接請求將會被拒絕(有可能你在壓力測試時,會遇到這樣的問題),keepalive和BACKLOG特性目前無法直接修改。

    Java代碼??

  • [root@sh149?~]#?sysctl?-a|grep?tcp_keepalive??
  • net.ipv4.tcp_keepalive_time?=?60??##單位:秒??
  • net.ipv4.tcp_keepalive_probes?=?9??
  • net.ipv4.tcp_keepalive_intvl?=?75?##單位:秒??
  • ##可以在/etc/sysctl.conf查看和修改相關值??
  • ##tcp_keepalive_time:最后一個實際數據包發送完畢后,首個keepalive探測包發送的時間。??
  • ##如果首個keepalive包探測成功,那么鏈接會被標記為keepalive(首先TCP開啟了keepalive)??
  • ##此后此參數將不再生效,而是使用下述的2個參數繼續探測??
  • ##tcp_keepalive_intvl:此后,無論通道上是否發生數據交換,keepalive探測包發送的時間間隔??
  • ##tcp_keepalive_probes:在斷定鏈接失效之前,嘗試發送探測包的次數;??
  • ##如果都失敗,則斷定鏈接已關閉。??
  • ?

    ? ? 對于Server端,我們需要關注上述keepalive的一些設置;如果Netty Client在空閑一段時間后,Server端會主動關閉鏈接,有可能Client仍然保持鏈接的句柄,將會導致RPC調用時發生異常。這也會導致GRPC客戶端調用時偶爾發生錯誤的原因之一。

    ? ? 4)followControlWindow:流量控制的窗口大小,單位:字節,默認值為1M,HTTP2中的“Flow Control”特性;連接上,已經發送尚未ACK的數據幀大小,比如window大小為100K,且winow已滿,每次向Client發送消息時,如果客戶端反饋ACK(攜帶此次ACK數據的大小),window將會減掉此大小;每次向window中添加亟待發送的數據時,window增加;如果window中的數據已達到限定值,它將不能繼續添加數據,只能等待Client端ACK。

    ? ? 5)maxConcurrentCallPerConnection:每個connection允許的最大并發請求數,默認值為Integer.MAX_VALUE;如果此連接上已經接受但尚未響應的streams個數達到此值,新的請求將會被拒絕。為了避免TCP通道的過度擁堵,我們可以適度調整此值,以便Server端平穩處理,畢竟buffer太多的streams會對server的內存造成巨大壓力。

    ? ? 6)maxMessageSize:每次調用允許發送的最大數據量,默認為100M。

    ? ? 7)maxHeaderListSize:每次調用允許發送的header的最大條數,GRPC中默認為8192。

    ?

    ? ? 對于其他的比如SSL/TSL等,可以參考其他文檔。

    ? ? GRPC Server端,還有一個最終要的方法:addService?!救缦挛膕ervice代理模式】

    ? ? 在此之前,我們需要介紹一下bindService方法,每個GRPC生成的service代碼中都有此方法,它以硬編碼的方式遍歷此service的方法列表,將每個方法的調用過程都與“被代理實例”綁定,這個模式有點類似于靜態代理,比如調用sayHello方法時,其實內部直接調用“被代理實例”的sayHello方法(參見MethodHandler.invoke方法,每個方法都有一個唯一的index,通過硬編碼方式執行);bindService方法的最終目的是創建一個ServerServiceDefinition對象,這個對象內部位置一個map,key為此Service的方法的全名(fullname,{package}.{service}.{method}),value就是此方法的GRPC封裝類(ServerMethodDefinition)。

    ? ? 源碼分析:

    Java代碼??

  • private?static?final?int?METHODID_SAY_HELLO?=?0;??
  • private?static?class?MethodHandlers<Req,?Resp>?implements??
  • ??????...?{??
  • ????private?final?TestRpcService?serviceImpl;//實際被代理實例??
  • ????private?final?int?methodId;??
  • ??
  • ????public?MethodHandlers(TestRpcService?serviceImpl,?int?methodId)?{??
  • ??????this.serviceImpl?=?serviceImpl;??
  • ??????this.methodId?=?methodId;??
  • ????}??
  • ??
  • ????@java.lang.SuppressWarnings("unchecked")??
  • ????public?void?invoke(Req?request,?io.grpc.stub.StreamObserver<Resp>?responseObserver)?{??
  • ??????switch?(methodId)?{??
  • ????????case?METHODID_SAY_HELLO:????????//通過方法的index來判定具體需要代理那個方法??
  • ??????????serviceImpl.sayHello((com.test.grpc.service.model.TestModel.TestRequest)?request,??
  • ??????????????(io.grpc.stub.StreamObserver<com.test.grpc.service.model.TestModel.TestResponse>)?responseObserver);??
  • ??????????break;??
  • ????????default:??
  • ??????????throw?new?AssertionError();??
  • ??????}??
  • ????}??
  • ????....??
  • ??}??
  • ??
  • ??public?static?io.grpc.ServerServiceDefinition?bindService(??
  • ??????final?TestRpcService?serviceImpl)?{??
  • ????return?io.grpc.ServerServiceDefinition.builder(SERVICE_NAME)??
  • ????????.addMethod(??
  • ??????????METHOD_SAY_HELLO,??
  • ??????????asyncUnaryCall(??
  • ????????????new?MethodHandlers<??
  • ??????????????com.test.grpc.service.model.TestModel.TestRequest,??
  • ??????????????com.test.grpc.service.model.TestModel.TestResponse>(??
  • ????????????????serviceImpl,?METHODID_SAY_HELLO)))??
  • ????????.build();??
  • ??}??
  • ?

    ? ? addService方法可以添加多個Service,即一個Netty Server可以為多個service服務,這并不違背設計模式和架構模式。addService方法將會把service保存在內部的一個map中,key為serviceName(即{package}.{service}),value就是上述bindService生成的對象。

    ?

    ? ? 那么究竟Server端是如何解析RPC過程的?Client在調用時會將調用的service名稱 + method信息保存在一個GRPC“保留”的header中,那么Server端即可通過獲取這個特定的header信息,就可以得知此stream需要請求的service、以及其method,那么接下來只需要從上述提到的map中找到service,然后找到此method,直接代理調用即可。執行結果在Encoder之后發送給Client。(參見:NettyServerHandler)

    ?

    ? ??因為是map存儲,所以我們需要在定義.proto文件時,盡可能的指定package信息,以避免因為service過多導致名稱可能重復的問題。

    ?

    ? ??2、Client端

    ? ? 我們使用ManagedChannelBuilder來創建客戶端channel,ManagedChannelBuilder使用了provider機制,具體是創建了哪種channel有provider決定,可以參看META-INF下同類名的文件中的注冊信息。當前Channel有2種:NettyChannelBuilder與OkHttpChannelBuilder。本人的當前版本中為NettyChannelBuilder;我們可以直接使用NettyChannelBuilder來構建channel。如下描述則針對NettyChannelBuilder:

    ? ? 配置參數與NettyServerBuilder基本類似,再次不再贅言。默認情況下,Client端默認的eventLoopGroup線程池也是static的,全局共享的,默認線程個數為coreSize * 2。合理的線程池個數可以提高客戶端的吞吐能力。

    ?

    ? ??ManagedChannel是客戶端最核心的類,它表示邏輯上的一個channel;底層持有一個物理的transport(TCP通道,參見NettyClientTransport),并負責維護此transport的活性;即在RPC調用的任何時機,如果檢測到底層transport處于關閉狀態(terminated),將會嘗試重建transport。(參見TransportSet.obtainActiveTransport())

    ? ? 通常情況下,我們不需要在RPC調用結束后就關閉Channel,Channel可以被一直重用,直到Client不再需要請求位置或者Channel無法真的異常中斷而無法繼續使用。當然,為了提高Client端application的整體并發能力,我們可以使用連接池模式,即創建多個ManagedChannel,然后使用輪訓、隨機等算法,在每次RPC請求時選擇一個Channel即可。(備注,連接池特性,目前GRPC尚未提供,需要額外的開發)

    ?

    ? ? 每個Service客戶端,都生成了2種stub:BlockingStub和FutureStub;這兩個Stub內部調用過程幾乎一樣,唯一不同的是BlockingStub的方法直接返回Response Model,而FutureStub返回一個Future對象。BlockingStub內部也是基于Future機制,只是封裝了阻塞等待的過程:

    Java代碼??

  • try?{??
  • ????????//也是基于Future??
  • ??????ListenableFuture<RespT>?responseFuture?=?futureUnaryCall(call,?param);??
  • ??????//阻塞過程??
  • ??????while?(!responseFuture.isDone())?{??
  • ????????try?{??
  • ??????????executor.waitAndDrain();??
  • ????????}?catch?(InterruptedException?e)?{??
  • ??????????Thread.currentThread().interrupt();??
  • ??????????throw?Status.CANCELLED.withCause(e).asRuntimeException();??
  • ????????}??
  • ??????}??
  • ??????return?getUnchecked(responseFuture);??
  • ????}?catch?(Throwable?t)?{??
  • ??????call.cancel();??
  • ??????throw?t?instanceof?RuntimeException???(RuntimeException)?t?:?new?RuntimeException(t);??
  • }??
  • ?

    ? ??創建一個Stub的成本是非常低的,我們可以在每次請求時都通過channel創建新的stub,這并不會帶來任何問題(只不過是創建了大量對象);其實更好的方式是,我們應該使用一個Stub發送多次請求,即Stub也是可以重用的;直到Stub上的狀態異常而無法使用。最常見的異常,就是“io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED”,即表示DEADLINE時間過期,我們可以為每個Stub配置deadline時間,那么如果此stub被使用的時長超過此值(不是空閑的時間),將不能再發送請求,此時我們應該創建新的Stub。很多人想盡辦法來使用“withDeadlineAfter”方法來實現一些奇怪的事情,此參數的主要目的就是表明:此stub只能被使用X時長,此后將不能再進行請求,應該被釋放。所以,它并不能實現類似于“keepAlive”的語義,即使我們需要keepAlive,也應該在Channel級別,而不是在一個Stub上。

    ?

    ? ? 如果你使用了連接池,那么其實連接池不應該關注DEADLINE的錯誤,只要Channel本身沒有terminated即可;就把這個問題交給調用者處理。如果你也對Stub使用了對象池,那么你就可能需要關注這個情況了,你不應該向調用者返回一個“DEADLINE”的stub,或者如果調用者發現了DEADLINE,你的對象池應該能夠移除它。

    ?

    ? ? 1)實例化ManagedChannel,此channel可以被任意多個Stub實例引用;如上文說述,我們可以通過創建Channel池,來提高application整體的吞吐能力。此Channel實例,不應該被shutdown,直到Client端停止服務;在任何時候,特別是創建Stub時,我們應該判定Channel的狀態。

    Java代碼??

  • synchronized?(this)?{??
  • ????if?(channel.isShutdown()?||?channel.isTerminated())?{??
  • ????????channel?=?ManagedChannelBuilder.forAddress(poolConfig.host,?poolConfig.port).usePlaintext(true).build();??
  • ????}??
  • ????//new?Stub??
  • }??
  • ??
  • //或者??
  • ManagedChannel?channel?=?(ManagedChannel)client.getChannel();??
  • if(channel.isShutdown()?||?channel.isTerminated())?{??
  • ????client?=?createBlockStub();??
  • }??
  • client.sayHello(...)??
  • ?

    ? ? 因為Channel是可以多路復用,所以我們用Pool機制(比如commons-pool)也可以實現連接池,只是這種池并非完全符合GRPC/HTTP2的設計語義,因為GRPC允許一個Channel上連續發送對個Requests(然后一次性接收多個Responses),而不是“交互式”的Request-Response模式,當然這么使用并不會有任何問題。

    ?

    ? ? 2)對于批量調用的場景,我們可以使用FutureStub,對于普通的業務類型RPC,我們應該使用BlockingStub。

    ? ? 3)每個RPC方法的調用,比如sayHello,調用開始后,將會為每個調用請求創建一個ClientCall實例,其內部封裝了調用的方法、配置選項(headers)等。此后將會創建Stream對象,每個Stream都持有唯一的streamId,它是Transport用于分揀Response的憑證。最終調用的所有參數都會被封裝在Stream中。

    ? ? 4)檢測DEADLINE,是否已經過期,如果過期,將使用FailingClientStream對象來模擬整個RPC過程,當然請求不會通過通道發出,直接經過異常流處理過程。

    ? ? 5)然后獲取transport,如果此時檢測到transport已經中斷,則重建transport。(自動重練機制,ClientCallImpl.start()方法)

    ? ? 6)發送請求參數,即我們Request實例。一次RPC調用,數據是分多次發送,但是ClientCall在創建時已經綁定到了指定的線程上,所以數據發送總是通過一個線程進行(不會亂序)。

    ? ? 7)將ClientCall實例置為halfClose,即半關閉,并不是將底層Channel或者Transport半關閉,只是邏輯上限定此ClientCall實例上將不能繼續發送任何stream信息,而是等待Response。

    ? ? 8)Netty底層IO將會對reponse數據流進行解包(Http2ConnectionDecoder),并根據streamId分揀Response,同時喚醒響應的ClientCalls阻塞。(參見ClientCalls,GrpcFuture)

    ? ? 9)如果是BlockingStub,則請求返回,如果響應中包含應用異常,則封裝后拋出;如果是網絡異常,則可能觸發Channel重建、Stream重置等。

    ?

    ?

    ? ? 到此為止,已經把GRPC的基本原理描述完畢,此后如果有其他問題,則繼續補充。

    總結

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

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

    国产精品国产三级国产 | 精品主播网红福利资源观看 | 69精品在线观看 | 成人久久久久久久久久 | 日韩中文字幕在线不卡 | 一区二区三区四区不卡 | 久草在线这里只有精品 | 国产美女免费观看 | 国产一区在线视频 | 9ⅰ精品久久久久久久久中文字幕 | 美女网站视频久久 | 丁香在线视频 | 97国产小视频 | 国产精品99久久久久久久久久久久 | 999视频在线播放 | 中文字幕网站 | 国际精品久久久 | 最近中文字幕免费观看 | 欧美福利视频一区 | 国产99久久久欧美黑人 | 成人a在线观看高清电影 | 久久刺激视频 | 中日韩免费视频 | 天天天天天操 | 色综合天天综合在线视频 | 免费看v片 | 青青河边草免费直播 | 在线成人免费av | 粉嫩aⅴ一区二区三区 | 人人超碰人人 | 97碰在线视频 | 天天五月天色 | 看黄色.com | 成人动漫一区二区三区 | 国产69精品久久久久9999apgf | 国产69精品久久久久久久久久 | 国产精品一区二区av | 久久黄色免费 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 亚洲免费一级电影 | 久久精品在线免费观看 | 九九热在线免费观看 | 国产视频一 | 新版资源中文在线观看 | 亚洲欧洲精品一区二区 | 亚洲精品高清视频在线观看 | 国产特级毛片aaaaaaa高清 | 麻豆视频在线看 | 免费在线观看不卡av | 中文字幕专区高清在线观看 | 日本久久中文字幕 | 亚洲黄色在线免费观看 | 国产成人一区二区啪在线观看 | 99久久精品视频免费 | av久久久| 在线视频免费观看 | 在线草 | 日韩av美女 | 亚洲三级精品 | 成人在线观看资源 | 中文字幕国产精品一区二区 | 六月丁香社区 | 波多野结衣在线视频免费观看 | 国产中文a | 免费日韩三级 | 国内精品视频在线播放 | 欧美成人xxxx | 国产成人精品免高潮在线观看 | 99精品久久久久久久 | 国产精品欧美一区二区三区不卡 | 91视频亚洲 | 国产黄色精品在线观看 | 四虎永久国产精品 | 久久国产精品免费一区 | 国产剧情av在线播放 | 人人爱在线视频 | 天天色天天射天天干 | 久久精品79国产精品 | 国产精品资源 | 欧美日一级片 | 亚洲高清在线 | 中文字幕在线观看一区 | 亚洲老妇xxxxxx| 欧美精品免费一区二区 | 精品视频不卡 | 色欧美88888久久久久久影院 | 美女av免费看 | 中国成人一区 | 天天射天天操天天干 | 一本大道久久精品懂色aⅴ 五月婷社区 | 美国av片在线观看 | 2022久久国产露脸精品国产 | 色视频在线观看 | 亚洲欧美婷婷六月色综合 | www在线免费观看 | 日韩av一区二区三区在线观看 | 天天操天天摸天天射 | 国产美腿白丝袜足在线av | 日韩丝袜视频 | 国产视频九色蝌蚪 | 国产精品不卡在线 | 中文字幕在线成人 | 一区二区视频网站 | 激情五月在线视频 | 国产精品完整版 | 天天爱天天色 | 日日干天天操 | 久草免费资源 | www.99久久.com| 丁香午夜| 久久久久免费精品 | 久久精品一区二区 | 亚洲精品午夜一区人人爽 | 伊人亚洲精品 | 欧美日韩亚洲第一 | 国产视频一区二区三区在线 | 亚洲人成人在线 | 久青草视频在线观看 | 欧美午夜a | 婷婷午夜天 | 亚洲精品视频偷拍 | 天天干天天操天天操 | 色中色综合 | 麻豆影视在线免费观看 | 91欧美精品 | 在线观看 国产 | 在线日本v二区不卡 | 91禁看片 | 天天操天天射天天舔 | 亚洲免费婷婷 | 久久精品视频网站 | 久久成人国产 | 欧美激情在线网站 | 黄色在线免费观看网站 | 91毛片视频| 丁香视频免费观看 | 日韩av中文在线观看 | 中文字幕久久精品亚洲乱码 | 麻豆果冻剧传媒在线播放 | 国产 视频 高清 免费 | 国产精品视频地址 | 亚洲国产成人精品在线 | 免费观看黄 | 久久久在线视频 | 日韩在线观看视频免费 | 精品国产免费一区二区三区五区 | 亚洲精品永久免费视频 | www.伊人网 | 欧美做受xxx | 中文av影院 | 黄色大片日本免费大片 | 日韩精品最新在线观看 | 超碰在线1 | 国产精品一区二区三区免费看 | 九九久久婷婷 | 久久高清视频免费 | 伊人天天操 | 波多野结衣视频一区 | 国产精品夜夜夜一区二区三区尤 | 国产高清成人在线 | 韩国三级一区 | 欧美精品久久久久久 | 精品欧美一区二区精品久久 | 美女网站免费福利视频 | 99日精品 | 久久成人视屏 | 国产一区视频在线观看免费 | 91精品国产综合久久婷婷香蕉 | 亚洲欧美日韩中文在线 | 综合天堂av久久久久久久 | 在线免费观看一区二区三区 | 国产在线观看你懂的 | 五月婷婷久久综合 | 精品一区二区免费视频 | 午夜性生活 | 色中色亚洲 | av网站手机在线观看 | 亚洲全部视频 | 超碰在线网 | 91av综合 | www.av免费| 午夜精品久久久久久久久久久 | 在线免费高清视频 | 中文字幕免 | 夜夜视频资源 | 国内外成人在线视频 | 97视频在线免费观看 | 天天草综合网 | 999久久a精品合区久久久 | 不卡的av在线| 天天操天天吃 | 欧美日韩国产免费视频 | 亚洲综合情 | 日韩毛片在线免费观看 | 精品毛片一区二区免费看 | 国产美女在线免费观看 | 国产精品一区二区视频 | av丝袜制服 | 国产黄色精品在线 | 日韩欧美一区二区三区视频 | 片黄色毛片黄色毛片 | 国产精品美女久久久久久久 | 国产1区2 | 国产精品入口66mio女同 | 国产视频美女 | 日韩电影一区二区三区在线观看 | 激情综合婷婷 | 五月婷婷久久丁香 | 成人av在线影视 | 久久午夜电影 | 色www精品视频在线观看 | 欧美日韩高清一区 | 久久精品视频免费播放 | 99性视频| 亚洲成人资源在线观看 | 激情校园亚洲 | 国产一级高清 | 中文永久免费观看 | 久久九九九九 | 婷婷中文字幕在线观看 | 国产黄色大片免费看 | 精品视频成人 | 日韩亚洲在线视频 | 日本韩国欧美在线观看 | 国产成人精品一区二区三区在线观看 | 婷婷伊人五月天 | 国产在线播放一区二区三区 | 久久超碰99 | 国产99久久99热这里精品5 | 蜜桃av观看 | 一区二区三区日韩精品 | 97色噜噜 | 国产在线高清精品 | 久草在线精品观看 | 亚洲国产精品一区二区久久,亚洲午夜 | 国产精品乱码久久久久久1区2区 | 香蕉视频网址 | 日韩国产精品久久久久久亚洲 | 久久人人爽人人 | 国产免费视频一区二区裸体 | 韩国三级在线一区 | 国产高清av免费在线观看 | 久久99电影 | 在线中文字母电影观看 | 国产一区久久久 | 亚洲欧美久久 | 欧美性久久久 | 91成人天堂久久成人 | 五月丁婷婷 | 九九色网 | 欧美日韩在线观看一区 | 免费观看日韩 | 免费亚洲一区二区 | 色黄www小说| 五月婷婷在线观看 | 91九色网站 | 天天天干夜夜夜操 | 久久在现 | 精品一区二区三区电影 | 免费午夜网站 | 欧美一级片免费播放 | 日批视频在线播放 | 日韩爱爱片 | 精品中文字幕视频 | 激情久久五月天 | 久久久国产日韩 | 日本99干网 | 香蕉视频在线播放 | 亚洲一区二区高潮无套美女 | 国产成人一级 | 久久免费视频网 | 久久久高清 | 免费网站黄 | 久久国产网 | 91九色在线视频观看 | 国产伦精品一区二区三区免费 | 久久不卡国产精品一区二区 | 日本久久久久久科技有限公司 | 久热电影 | 国内精品视频免费 | 国产视频 亚洲精品 | 国产又粗又猛又色又黄视频 | 99精品国产一区二区三区不卡 | 日韩在线播放视频 | 免费a网址| 亚洲欧美成人在线 | 激情影院在线 | h动漫中文字幕 | 国产视频资源 | 日韩精品高清视频 | 国产日韩在线播放 | 天天搞天天干天天色 | 黄色日视频 | 在线播放你懂 | 韩国av免费看 | 亚洲视频在线观看 | 日本黄色免费看 | 国产成人一区二区精品非洲 | 成人一级片免费看 | 韩国av不卡 | 日韩字幕在线 | 狠狠色噜噜狠狠狠合久 | 精品久久久久久久久久久久久久久久 | 国产免费a | 麻豆手机在线 | 国内精品小视频 | 国产精品综合久久久久 | 在线看成人 | 国产精品免费高清 | 成人av资源在线 | 一区二区电影网 | 丁香5月婷婷久久 | 91中文字幕网 | 亚洲电影图片小说 | 九九久久影院 | 欧美国产精品一区二区 | 久久五月婷婷丁香社区 | 五月宗合网 | 91在线观看黄 | 91精品夜夜 | 激情av综合 | 国产成人精品久久亚洲高清不卡 | 国产日韩视频在线 | 久久av福利 | 日韩毛片一区 | 亚洲人成精品久久久久 | 国产精品自产拍在线观看 | 91成人精品一区在线播放69 | 国产精品不卡在线播放 | 欧美一区二区三区免费观看 | 欧美精品一区二区三区一线天视频 | 亚洲精品网站在线 | 久久国产热视频 | 成人免费在线视频 | 国产大陆亚洲精品国产 | 亚洲精品激情 | 日韩在线观看的 | 国产一级a毛片视频爆浆 | 久久免费99精品久久久久久 | 成人在线免费视频 | 天天色天天上天天操 | 亚洲精品美女视频 | 亚洲国产美女久久久久 | 中国一级片在线播放 | 麻豆国产电影 | www.狠狠插.com | 干 操 插| 亚洲日本va午夜在线电影 | 国产女人40精品一区毛片视频 | 国产精品你懂的在线观看 | 国产精品四虎 | 精品国内自产拍在线观看视频 | 久久精品国产亚洲精品2020 | 又色又爽又黄 | 97视频人人澡人人爽 | 久久激情综合网 | 99精品在线免费观看 | 深爱开心激情 | 日韩成人在线免费观看 | 999成人免费视频 | 免费视频黄 | 国产高清在线免费观看 | 色综合www | 热re99久久精品国产99热 | 国产黄色在线看 | 日韩高清在线一区二区三区 | 欧美疯狂性受xxxxx另类 | 免费黄在线观看 | 五月天综合激情网 | 国产精品扒开做爽爽的视频 | 午夜视频在线观看网站 | 日韩欧美高清在线观看 | 网站在线观看你们懂的 | 久爱精品在线 | 在线观看电影av | 亚洲综合在线五月天 | 久久免费高清 | 国产视频在线观看一区 | 亚洲免费观看在线视频 | 草久久久久久 | 国产精品大片 | www178ccom视频在线 | 久久国内视频 | 麻花传媒mv免费观看 | 久久深夜福利免费观看 | 国产黄色一级片 | 欧美一级小视频 | 亚洲精品字幕在线观看 | 久久久一本精品99久久精品66 | 天天射综合网视频 | 成人av电影免费观看 | 99精品视频在线 | 色天堂在线视频 | 美女精品在线观看 | 在线黄色av电影 | 午夜视频在线观看一区 | av电影中文字幕在线观看 | 日韩成人不卡 | av福利资源 | 天天摸天天舔 | 久久国产经典视频 | 白丝av免费观看 | 四虎欧美 | 国产成人一区二区啪在线观看 | 丰满少妇一级片 | 91av手机在线观看 | 黄色av在| 天天干天天插伊人网 | 精品久久一区二区三区 | 国产视| av黄色大片 | 美腿丝袜av | 日韩欧美视频在线免费观看 | 日韩免费小视频 | 成人福利在线播放 | 成年人免费看的视频 | 亚在线播放中文视频 | 日韩在线免费视频观看 | 三级毛片视频 | 日韩影视大全 | av看片在线观看 | 国产精品对白一区二区三区 | 久草在线网址 | 亚洲精品小视频 | 久久精品五月 | 中午字幕在线 | 国产精品五月天 | 久久久久久久国产精品 | 69久久99精品久久久久婷婷 | 成人免费视频网 | 国产精品永久久久久久久www | 中国一级特黄毛片大片久久 | 久草在线免费在线观看 | 热久久免费视频精品 | 在线免费试看 | 99久久9| 一区二区三区中文字幕在线 | www..com黄色片 | 欧美在线观看小视频 | 色网站在线看 | 在线不卡中文字幕播放 | 97在线精品国自产拍中文 | 久久久 激情 | 午夜精品久久久99热福利 | 日韩在线观看三区 | 久草在线最新视频 | 97超碰在线播放 | 免费观看成人av | 日韩精品在线视频 | 久久亚洲在线 | 国产97av| 久久男女视频 | 欧美日韩国产一区二区三区在线观看 | 在线免费观看涩涩 | 久久久久久久久久久久影院 | 亚洲国产精品久久久久久 | 国产在线a不卡 | 免费三级影片 | 2023av| 国产特级毛片aaaaaa毛片 | 亚州天堂| 中文亚洲欧美日韩 | 激情视频二区 | 97超碰香蕉 | 91看片一区二区三区 | 人人干天天射 | 又粗又长又大又爽又黄少妇毛片 | 超级碰碰碰免费视频 | 996久久国产精品线观看 | 日韩午夜大片 | 国产视频综合在线 | 久久久久久久久久亚洲精品 | 久草电影在线观看 | 国产区网址| 91在线中文 | 日韩高清网站 | 亚洲黄色免费电影 | 久久99久久99久久 | 国产在线精品福利 | 国产精品夜夜夜一区二区三区尤 | 日躁夜躁狠狠躁2001 | 人人涩| 色午夜影院| 日韩中文字幕免费电影 | 永久黄网站色视频免费观看w | 国产专区在线 | 日韩欧美一区二区在线观看 | 99精品一区二区三区 | 国产又黄又猛又粗 | 国产 欧美 日产久久 | 亚洲精品tv久久久久久久久久 | 欧美三级高清 | 懂色av懂色av粉嫩av分享吧 | 99亚洲国产| 久草在线资源免费 | 成人久久亚洲 | 亚洲天天干 | 天天鲁天天干天天射 | 国内精品中文字幕 | 91传媒免费在线观看 | 九九九电影免费看 | 久久涩涩网站 | 99久久精品费精品 | 国模精品一区二区三区 | 国产手机视频在线播放 | 色网站免费在线观看 | av中文字幕av | 99视频精品视频高清免费 | 国产网站在线免费观看 | av 一区二区三区四区 | a级国产乱理论片在线观看 伊人宗合网 | 超碰在线97国产 | av福利网址导航大全 | 狠狠操狠狠干天天操 | 午夜黄色一级片 | 狠狠综合久久 | 欧美精品久久久久久久免费 | 黄色精品久久久 | 激情五月六月婷婷 | 亚洲成a人片在线观看网站口工 | 制服丝袜成人在线 | 日韩在线视频免费播放 | 九月婷婷人人澡人人添人人爽 | 中文字幕日本在线 | 国产精品18久久久久久久 | 视频一区二区三区视频 | 久久久这里有精品 | 狠狠狠操 | 国产99久久久国产精品免费看 | 人人澡人人干 | 中文字幕第一页在线 | 久草com | 欧美激情亚洲综合 | 亚洲日韩欧美一区二区在线 | 欧美片一区二区三区 | 国产成人精品免高潮在线观看 | 蜜臀av性久久久久蜜臀av | 最近中文字幕免费av | 婷婷激情欧美 | 日韩有码专区 | 久久精品成人热国产成 | 国产色爽 | 狠狠干夜夜操天天爽 | 最新中文在线视频 | 免费av大全 | 99久久综合狠狠综合久久 | 国产精品久久视频 | 一区 二区 精品 | 毛片二区 | 亚洲精品视频久久 | 五月天综合色激情 | 81国产精品久久久久久久久久 | 免费国产黄线在线观看视频 | 91亚色免费视频 | 久久精品xxx| 欧美色就是色 | 国内丰满少妇猛烈精品播 | 日韩三级视频在线观看 | 日本久久久精品视频 | 99热超碰在线 | av在线一 | 五月精品 | 蜜桃视频精品 | 性色在线视频 | 字幕网在线观看 | 五月婷婷导航 | 色片网站在线观看 | 91香蕉视频污在线 | 国产亚洲激情视频在线 | 欧美日韩综合在线观看 | 国产精品国产自产拍高清av | 高清av免费看 | 欧美日韩二三区 | 激情欧美一区二区三区免费看 | 国产精品久久久久一区二区国产 | 在线观看国产成人av片 | 91视频 - x99av| 午夜精品一区二区三区在线 | 亚洲一区二区视频在线播放 | 日韩在线观看电影 | 超碰人人在线观看 | 美女视频免费精品 | 99精品视频在线观看免费 | 五月天婷亚洲天综合网鲁鲁鲁 | 日韩视频免费看 | 精品一区 在线 | 国产精品区在线观看 | 六月丁香激情综合色啪小说 | 久久精品免费看 | 久久天天躁狠狠躁亚洲综合公司 | 亚洲理论在线观看电影 | 欧美日韩调教 | 欧美一区在线观看视频 | 日本精品一区二区三区在线播放视频 | 婷婷精品国产欧美精品亚洲人人爽 | 开心激情综合网 | 亚洲黄色片一级 | 日韩欧美在线视频一区二区三区 | 操操操日日 | 在线看一区二区 | 久久视屏网 | 国产黄色av影视 | 九九涩涩av台湾日本热热 | 亚洲成人家庭影院 | 国产成人1区 | 天天做夜夜做 | 国产精品wwwwww| 91麻豆精品国产自产 | 91精品国产成 | 国产一区91 | 三级免费黄 | 成人av直播 | 亚洲成人av电影 | 久久经典国产 | 国产又粗又猛又黄又爽的视频 | 91在线日韩 | 精品视频 | 波多野结衣网址 | 亚洲国产人午在线一二区 | 伊人狠狠 | 亚洲国产精品推荐 | 欧美色图p | 麻豆视频www | 亚洲高清色综合 | 国产高清在线免费观看 | 国产精品1区2区在线观看 | 久久午夜国产精品 | 久久天天躁 | 天天色天天射天天综合网 | 成人免费视频免费观看 | 日日操日日| 中文字幕资源在线 | 在线精品亚洲 | 久久久免费观看完整版 | 伊人色综合久久天天网 | www.亚洲黄 | 欧美综合在线视频 | 久草在线高清 | 久久久久久高潮国产精品视 | 激情五月婷婷网 | 亚洲三级在线 | 超碰在线人人艹 | 亚洲成a人片77777kkkk1在线观看 | japanese黑人亚洲人4k | 91麻豆精品国产91久久久久 | 99亚洲精品在线 | 亚洲人成人天堂h久久 | 在线看中文字幕 | 国产a网站| 天天狠狠| 亚洲精品在线观看不卡 | 91精品国产乱码久久桃 | 视频在线99 | 国产一级视频在线 | 日韩一区二区三区观看 | 在线观看中文字幕2021 | 天天鲁一鲁摸一摸爽一爽 | 麻花豆传媒mv在线观看 | 18做爰免费视频网站 | 看污网站 | 成人一级视频在线观看 | 欧美亚洲xxx | 福利电影久久 | 久久伊人热 | 国产又粗又硬又爽视频 | 黄色网免费 | 欧美久久久久 | 天天干天天干天天射 | 久久69av| 色黄久久久久久 | 亚洲三区在线 | 99综合影院在线 | 久久久麻豆精品一区二区 | 国产区在线视频 | 国产精品国产毛片 | 国产精品ⅴa有声小说 | 久久久69 | 97天堂网| 中文字幕在线免费观看视频 | 国产一二三区av | 欧美日本一二三 | 草免费视频 | 欧美色噜噜 | 91在线中文| 国产高清无线码2021 | 96久久欧美麻豆网站 | 亚洲欧美日韩精品久久奇米一区 | 精品一二三四在线 | 在线a视频免费观看 | 高清免费av在线 | 91在线麻豆 | 亚洲码国产日韩欧美高潮在线播放 | 黄色大片视频网站 | 午夜精品久久久99热福利 | 在线观看日本韩国电影 | 日韩精品播放 | 国产成人区 | 成人高清在线 | 色中文字幕在线观看 | 国产破处视频在线播放 | 天天射综合网视频 | 毛片网站在线看 | 国产资源在线免费观看 | 久久国产二区 | 日本在线h | 精品一区二区三区四区在线 | 国产精品大尺度 | 夜夜操天天| 日韩区欠美精品av视频 | 成人a视频在线观看 | 玖玖999| 福利久久| 久久激情片 | 久久成人欧美 | 天天射网 | 91福利在线观看 | 亚洲综合色视频 | 国产一级二级av | 欧美极品久久 | 日韩在线视频一区二区三区 | 亚洲精品高清在线 | 国产91免费看 | 久久久久久久久久久免费 | 91av在线精品 | 免费成人黄色av | 日韩不卡高清 | 久久91久久久久麻豆精品 | 亚洲精品乱码久久久一二三 | 国语自产偷拍精品视频偷 | 9999精品视频 | 一级黄色片在线免费观看 | 国产无区一区二区三麻豆 | 91精品一区二区三区久久久久久 | 69绿帽绿奴3pvideos | 91视频高清 | 麻豆va一区二区三区久久浪 | 亚洲人成在线电影 | 麻豆极品 | 中文字幕超清在线免费 | 2022国产精品视频 | 国产免费视频一区二区裸体 | 一区二区三区高清在线观看 | 毛片随便看 | 欧美美女视频在线观看 | 亚洲精品免费在线播放 | 99热999| 欧美国产亚洲精品久久久8v | 99爱在线观看 | 在线观看蜜桃视频 | 欧美一区二区在线看 | 最新黄色av网址 | 天天干天天拍天天操天天拍 | 在线国产精品视频 | 在线免费观看视频一区 | 欧美性色黄大片在线观看 | 天天干,夜夜爽 | 日韩视频免费在线观看 | 国产免费观看高清完整版 | 中文字幕在线乱 | 久久久久久久久久影视 | 久久99久久99 | 婷婷亚洲最大 | 国产精品一区二区免费视频 | 91桃色免费视频 | 69国产盗摄一区二区三区五区 | 九九热免费在线视频 | 精品国产乱码久久久久久1区二区 | av在线日韩 | 激情图片区 | 欧美激情综合色综合啪啪五月 | 五月色丁香 | 伊人官网 | 色99久久| 国产中文字幕免费 | 粉嫩aⅴ一区二区三区 | 久久久久国产a免费观看rela | 国产成人黄色av | 色99中文字幕 | 亚洲午夜精品久久久久久久久久久久 | 天天做日日做天天爽视频免费 | 日韩久久久久久久久久久久 | 久久精品7 | 日韩久久午夜一级啪啪 | 欧美性色综合 | 日韩欧美综合精品 | 国产福利精品在线观看 | 国产一区在线免费观看视频 | 一级黄色片在线免费观看 | 欧美一级电影 | 久久国产香蕉视频 | 日本精品一区二区三区在线观看 | 欧美激情精品久久久久 | 中文字幕av有码 | 99热播精品 | 国产亚洲欧美在线视频 | 亚洲伊人色 | 亚洲日b视频 | 粉嫩高清一区二区三区 | 2021国产在线 | 亚洲午夜久久久久 | 国产精品涩涩屋www在线观看 | 久久精品国产v日韩v亚洲 | 午夜天天操| 婷婷丁香国产 | 国产午夜av | 久久天堂精品视频 | 国产伦精品一区二区三区免费 | 久草在线观 | 免费午夜网站 | 狠狠干电影| 日韩久久午夜一级啪啪 | 91精品国产综合久久福利不卡 | 在线韩国电影免费观影完整版 | 9999免费视频| 国产精品成人久久久 | 久久成人高清视频 | 久久精品亚洲 | 欧美肥妇free | 国产高清无线码2021 | 国产精品久久久久一区二区国产 | 中文字幕亚洲欧美日韩2019 | 日韩中出在线 | 激情av五月婷婷 | 久久综合久久久久88 | 精品自拍av| 超碰伊人网| 免费看成人 | 96国产在线| 粉嫩aⅴ一区二区三区 | 亚洲美女视频在线 | 精品一区欧美 | 69av视频在线观看 | 伊人精品在线 | 日韩女同一区二区三区在线观看 | www.久久爱.cn | 国产在线看一区 | 久久久久亚洲精品中文字幕 | 国产精品国产三级国产专区53 | 亚洲精品视频网站在线观看 | 日本三级久久久 | 国产精品久久久久9999吃药 | 国产精品久久久久久久久岛 | 黄色小说在线观看视频 | 欧美一性一交一乱 | 国产成人中文字幕 | 99riav1国产精品视频 | av九九 | 久久涩涩网站 | 九九热视频在线 | 欧美日韩后 | 色综合天天综合网国产成人网 | 四虎永久视频 | 久久精品美女视频网站 | 黄色成人91 | 999在线精品 | 国产一区二区在线影院 | 在线观看免费黄色 | 久久九九久久九九 | 日韩欧美在线第一页 | 国产成人333kkk | 成人一区二区在线 | 91影视成人 | 99在线免费视频观看 | 亚洲在线国产 | 激情婷婷在线 | 精品久久一区 | 久日精品 | 久热色超碰 | 在线黄色毛片 | 激情五月综合网 | 丁香婷婷综合色啪 | 狠狠网 | 久久午夜羞羞影院 | 久久久三级视频 | 91精品国产高清自在线观看 | 三级黄色片在线观看 | 国产99久久久国产精品成人免费 | 色噜噜在线观看 | 中文字幕在线有码 | 日韩av线观看 | 国产精品岛国久久久久久久久红粉 | 久久精品伊人 | 91av在| 中文字幕av影院 | 91热爆在线观看 | 国产在线播放不卡 | 二区精品视频 | 色吧久久| 国产精品久久久久一区 | 久久成人视屏 | 欧美福利视频 | 中文字幕亚洲欧美日韩 | 成年人免费观看国产 | 偷拍精品一区二区三区 | 午夜av电影| 免费日韩高清 | 欧美一级性视频 | 三级av在线免费观看 | 天天操狠狠操 | 精品久久中文 | 黄色一级影院 | 日韩乱码中文字幕 | 国产亚洲视频在线 | 精品久久国产一区 | 综合五月婷婷 | 天天干天天射天天操 | 伊人夜夜 | 国产黄免费 | 激情视频二区 | 97av在线视频 | 伊人色综合久久天天网 | 热久久最新地址 | 国产成人亚洲在线观看 | 国产亚洲精品久久久久久移动网络 | 伊人亚洲综合 | 欧美激情va永久在线播放 | 丝袜一区在线 | 中文字幕在线视频一区二区 | 国产一区成人在线 | 99视频精品免费视频 | 在线播放视频一区 | 久草在线官网 | 国内精品在线观看视频 | 欧美a级免费视频 | 精品网站999www | 色偷偷av男人天堂 | 公与妇乱理三级xxx 在线观看视频在线观看 | 黄色大片视频网站 | 成人国产网址 | 欧美成人免费在线 | 99精品在线看 | av黄免费看 | 9999亚洲| 99久久99久久精品 | 欧美日韩不卡一区 | 69久久久 | av在线在线 | 国产黄色片一级 | 国产69熟 | 亚洲国产精品成人女人久久 | 国产精品自产拍在线观看 | 国产亚洲精品久久久久久大师 | 三级小视频在线观看 | 亚洲码国产日韩欧美高潮在线播放 | 国产三级精品三级在线观看 | 狠狠色丁香婷婷综合欧美 | 国产精选在线观看 | 西西44人体做爰大胆视频 | 在线视频一区二区 | 日本最新一区二区三区 | 成片免费观看视频 | 在线播放av网址 | 黄色免费国产 | 最近中文字幕免费观看 | 日韩欧美高清免费 | 亚洲欧美视频在线 | 亚洲激情在线 | 婷婷网五月天 | 日韩在线视频不卡 | 日日爽天天操 | 在线91观看 | 天天射天天搞 | 欧美日韩中文字幕综合视频 | 日韩国产高清在线 | 亚洲欧洲精品一区二区精品久久久 | av黄色免费在线观看 | 国产三级久久久 | 丁香网五月天 | 黄色软件网站在线观看 | 一二三区在线 | 欧洲精品视频一区 | 精品伊人久久久 | 欧美日韩不卡一区二区 | 久久精品综合 | 欧美一区三区四区 | 女人18毛片90分钟 | 天天干天天拍 | 欧美视频不卡 | 夜夜夜夜夜夜操 | 成人在线免费看视频 | 久久国产影视 | 久久视频在线观看免费 | 日韩久久精品一区 | 2022国产精品视频 | 欧美日本不卡视频 | av黄色免费在线观看 | 超碰在线官网 | 日韩在线观看视频网站 | 我要看黄色一级片 | 日韩成人黄色 | 日韩精品1区2区 | 最近中文字幕国语免费高清6 | 国产又粗又硬又爽视频 | av直接看| 亚洲国产婷婷 | 国产精品入口麻豆www | 日韩欧美高清一区二区三区 | 日韩在线精品视频 |