精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一篇搞懂TCP、HTTP、Socket、Socket連接池

開發(fā) 前端
作為一名開發(fā)人員我們經常會聽到HTTP協(xié)議、TCP/IP協(xié)議、UDP協(xié)議、Socket、Socket長連接、Socket連接池等字眼,然而它們之間的關系、區(qū)別及原理并不是所有人都能理解清楚,這篇文章就從網絡協(xié)議基礎開始到Socket連接池,一步一步解釋他們之間的關系。

七層網絡模型

首先從網絡通信的分層模型講起:七層模型,亦稱OSI(Open System Interconnection)模型。自下往上分為:物理層、據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。所有有關通信的都離不開它,下面這張圖片介紹了各層所對應的一些協(xié)議和硬件。

圖片圖片

通過上圖,我知道IP協(xié)議對應于網絡層,TCP、UDP協(xié)議對應于傳輸層,而HTTP協(xié)議對應于應用層,OSI并沒有Socket,那什么是Socket,后面我們將結合代碼具體詳細介紹。

TCP和UDP連接

關于傳輸層TCP、UDP協(xié)議可能我們平時遇見的會比較多,有人說TCP是安全的,UDP是不安全的,UDP傳輸比TCP快,那為什么呢,我們先從TCP的連接建立的過程開始分析,然后解釋UDP和TCP的區(qū)別。

TCP的三次握手和四次分手

我們知道TCP建立連接需要經過三次握手,而斷開連接需要經過四次分手,那三次握手和四次分手分別做了什么和如何進行的。

圖片圖片

第一次握手:建立連接。客戶端發(fā)送連接請求報文段,將SYN位置為1,Sequence Number為x;然后,客戶端進入SYN_SEND狀態(tài),等待服務器的確認;

第二次握手:服務器收到客戶端的SYN報文段,需要對這個SYN報文段進行確認,設置Acknowledgment Number為x+1(Sequence Number+1);同時,自己自己還要發(fā)送SYN請求信息,將SYN位置為1,Sequence Number為y;服務器端將上述所有信息放到一個報文段(即SYN+ACK報文段)中,一并發(fā)送給客戶端,此時服務器進入SYN_RECV狀態(tài);

第三次握手:客戶端收到服務器的SYN+ACK報文段。然后將Acknowledgment Number設置為y+1,向服務器發(fā)送ACK報文段,這個報文段發(fā)送完畢以后,客戶端和服務器端都進入ESTABLISHED狀態(tài),完成TCP三次握手。

完成了三次握手,客戶端和服務器端就可以開始傳送數據。以上就是TCP三次握手的總體介紹。通信結束客戶端和服務端就斷開連接,需要經過四次分手確認。

第一次分手:主機1(可以使客戶端,也可以是服務器端),設置Sequence Number和Acknowledgment Number,向主機2發(fā)送一個FIN報文段;此時,主機1進入FIN_WAIT_1狀態(tài);這表示主機1沒有數據要發(fā)送給主機2了;

第二次分手:主機2收到了主機1發(fā)送的FIN報文段,向主機1回一個ACK報文段,Acknowledgment Number為Sequence Number加1;主機1進入FIN_WAIT_2狀態(tài);主機2告訴主機1,我“同意”你的關閉請求;

第三次分手:主機2向主機1發(fā)送FIN報文段,請求關閉連接,同時主機2進入LAST_ACK狀態(tài);

第四次分手:主機1收到主機2發(fā)送的FIN報文段,向主機2發(fā)送ACK報文段,然后主機1進入TIME_WAIT狀態(tài);主機2收到主機1的ACK報文段以后,就關閉連接;此時,主機1等待2MSL后依然沒有收到回復,則證明Server端已正常關閉,那好,主機1也可以關閉連接了。

可以看到一次tcp請求的建立及關閉至少進行7次通信,這還不包過數據的通信,而UDP不需3次握手和4次分手。

TCP和UDP的區(qū)別

  1. TCP是面向鏈接的,雖然說網絡的不安全不穩(wěn)定特性決定了多少次握手都不能保證連接的可靠性,但TCP的三次握手在最低限度上(實際上也很大程度上保證了)保證了連接的可靠性;而UDP不是面向連接的,UDP傳送數據前并不與對方建立連接,對接收到的數據也不發(fā)送確認信號,發(fā)送端不知道數據是否會正確接收,當然也不用重發(fā),所以說UDP是無連接的、不可靠的一種數據傳輸協(xié)議。
  2. 也正由于1所說的特點,使得UDP的開銷更小數據傳輸速率更高,因為不必進行收發(fā)數據的確認,所以UDP的實時性更好。知道了TCP和UDP的區(qū)別,就不難理解為何采用TCP傳輸協(xié)議的MSN比采用UDP的QQ傳輸文件慢了,但并不能說QQ的通信是不安全的,因為程序員可以手動對UDP的數據收發(fā)進行驗證,比如發(fā)送方對每個數據包進行編號然后由接收方進行驗證啊什么的,即使是這樣,UDP因為在底層協(xié)議的封裝上沒有采用類似TCP的“三次握手”而實現(xiàn)了TCP所無法達到的傳輸效率。

問題

關于傳輸層我們會經常聽到一些問題

1.TCP服務器最大并發(fā)連接數是多少?

關于TCP服務器最大并發(fā)連接數有一種誤解就是“因為端口號上限為65535,所以TCP服務器理論上的可承載的最大并發(fā)連接數也是65535”。首先需要理解一條TCP連接的組成部分:客戶端IP、客戶端端口、服務端IP、服務端端口。所以對于TCP服務端進程來說,他可以同時連接的客戶端數量并不受限于可用端口號,理論上一個服務器的一個端口能建立的連接數是全球的IP數*每臺機器的端口數。實際并發(fā)連接數受限于linux可打開文件數,這個數是可以配置的,可以非常大,所以實際上受限于系統(tǒng)性能。通過#ulimit -n查看服務的最大文件句柄數,通過ulimit -n xxx 修改 xxx是你想要能打開的數量。也可以通過修改系統(tǒng)參數:

圖片圖片

2.為什么TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)?

這是因為雖然雙方都同意關閉連接了,而且握手的4個報文也都協(xié)調和發(fā)送完畢,按理可以直接回到CLOSED狀態(tài)(就好比從SYN_SEND狀態(tài)到ESTABLISH狀態(tài)那樣);但是因為我們必須要假想網絡是不可靠的,你無法保證你最后發(fā)送的ACK報文會一定被對方收到,因此對方處于LAST_ACK狀態(tài)下的Socket可能會因為超時未收到ACK報文,而重發(fā)FIN報文,所以這個TIME_WAIT狀態(tài)的作用就是用來重發(fā)可能丟失的ACK報文。

3.TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)會產生什么問題

通信雙方建立TCP連接后,主動關閉連接的一方就會進入TIME_WAIT狀態(tài),TIME_WAIT狀態(tài)維持時間是兩個MSL時間長度,也就是在1-4分鐘,Windows操作系統(tǒng)就是4分鐘。進入TIME_WAIT狀態(tài)的一般情況下是客戶端,一個TIME_WAIT狀態(tài)的連接就占用了一個本地端口。一臺機器上端口號數量的上限是65536個,如果在同一臺機器上進行壓力測試模擬上萬的客戶請求,并且循環(huán)與服務端進行短連接通信,那么這臺機器將產生4000個左右的TIME_WAIT Socket,后續(xù)的短連接就會產生address already in use : connect的異常,如果使用Nginx作為方向代理也需要考慮TIME_WAIT狀態(tài),發(fā)現(xiàn)系統(tǒng)存在大量TIME_WAIT狀態(tài)的連接,通過調整內核參數解決。

圖片圖片

編輯文件,加入以下內容:

圖片圖片

然后執(zhí)行 /sbin/sysctl -p 讓參數生效。

net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當出現(xiàn)SYN等待隊列溢出時,啟用cookies來處理,可防范少量SYN攻擊,默認為0,表示關閉;

net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。

net.ipv4.tcp_fin_timeout 修改系統(tǒng)默認的TIMEOUT時間。

Socket長連接

所謂長連接,指在一個TCP連接上可以連續(xù)發(fā)送多個數據包,在TCP連接保持期間,如果沒有數據包發(fā)送,需要雙方發(fā)檢測包以維持此連接(心跳包),一般需要自己做在線維持。短連接是指通信雙方有數據交互時,就建立一個TCP連接,數據發(fā)送完成后,則斷開此TCP連接。比如Http的,只是連接、請求、關閉,過程時間較短,服務器若是一段時間內沒有收到請求即可關閉連接。其實長連接是相對于通常的短連接而說的,也就是長時間保持客戶端與服務端的連接狀態(tài)。

通常的短連接操作步驟是:

連接→數據傳輸→關閉連接;

而長連接通常就是:

連接→數據傳輸→保持連接(心跳)→數據傳輸→保持連接(心跳)→……→關閉連接;

什么時候用長連接,短連接?

長連接多用于操作頻繁,點對點的通訊,而且連接數不能太多情況,。每個TCP連接都需要三步握手,這需要時間,如果每個操作都是先連接,再操作的話那么處理 速度會降低很多,所以每個操作完后都不斷開,次處理時直接發(fā)送數據包就OK了,不用建立TCP連接。例如:數據庫的連接用長連接, 如果用短連接頻繁的通信會造成Socket錯誤,而且頻繁的Socket創(chuàng)建也是對資源的浪費。

什么是心跳包為什么需要:

心跳包就是在客戶端和服務端間定時通知對方自己狀態(tài)的一個自己定義的命令字,按照一定的時間間隔發(fā)送,類似于心跳,所以叫做心跳包。網絡中的接收和發(fā)送數據都是使用Socket進行實現(xiàn)。但是如果此套接字已經斷開(比如一方斷網了),那發(fā)送數據和接收數據的時候就一定會有問題??墒侨绾闻袛噙@個套接字是否還可以使用呢?這個就需要在系統(tǒng)中創(chuàng)建心跳機制。其實TCP中已經為我們實現(xiàn)了一個叫做心跳的機制。如果你設置了心跳,那TCP就會在一定的時間(比如你設置的是3秒鐘)內發(fā)送你設置的次數的心跳(比如說2次),并且此信息不會影響你自己定義的協(xié)議。也可以自己定義,所謂“心跳”就是定時發(fā)送一個自定義的結構體(心跳包或心跳幀),讓對方知道自己“在線”,以確保鏈接的有效性。

實現(xiàn):

服務端:

圖片圖片

服務端輸出結果:

圖片圖片

客戶端代碼:

圖片圖片

客戶端輸出結果:

圖片圖片

定義自己的協(xié)議

如果想要使傳輸的數據有意義,則必須使用到應用層協(xié)議比如Http、Mqtt、Dubbo等?;赥CP協(xié)議上自定義自己的應用層的協(xié)議需要解決的幾個問題:

  1. 心跳包格式的定義及處理
  2. 報文頭的定義,就是你發(fā)送數據的時候需要先發(fā)送報文頭,報文里面能解析出你將要發(fā)送的數據長度
  3. 你發(fā)送數據包的格式,是json的還是其他序列化的方式

下面我們就一起來定義自己的協(xié)議,并編寫服務的和客戶端進行調用:

定義報文頭格式:length:000000000xxxx; xxxx代表數據的長度,總長度20,舉例子不嚴謹。

數據序列化方式:JSON。

服務端:

圖片圖片

日志打?。?/p>

圖片圖片

客戶端:

圖片圖片

日志打?。?/p>

圖片圖片

這里可以看到一個客戶端在同一個時間內處理一個請求可以很好的工作,但是想象這么一個場景,如果同一時間內讓同一個客戶端去多次調用服務端請求,發(fā)送多次頭數據和內容數據,服務端的data事件收到的數據就很難區(qū)別哪些數據是哪次請求的,比如兩次頭數據同時到達服務端,服務端就會忽略其中一次,而后面的內容數據也不一定就對應于這個頭的。所以想復用長連接并能很好的高并發(fā)處理服務端請求,就需要連接池這種方式了。

Socket連接池

什么是Socket連接池,池的概念可以聯(lián)想到是一種資源的集合,所以Socket連接池,就是維護著一定數量Socket長連接的集合。它能自動檢測Socket長連接的有效性,剔除無效的連接,補充連接池的長連接的數量。從代碼層次上其實是人為實現(xiàn)這種功能的類,一般一個連接池包含下面幾個屬性:

  1. 空閑可使用的長連接隊列
  2. 正在運行的通信的長連接隊列
  3. 等待去獲取一個空閑長連接的請求的隊列
  4. 無效長連接的剔除功能
  5. 長連接資源池的數量配置
  6. 長連接資源的新建功能

場景:一個請求過來,首先去資源池要求獲取一個長連接資源,如果空閑隊列里面有長連接,就獲取到這個長連接Socket,并把這個Socket移到正在運行的長連接隊列。如果空閑隊列里面沒有,且正在運行的隊列長度小于配置的連接池資源的數量,就新建一個長連接到正在運行的隊列去,如果正在運行的不下于配置的資源池長度,則這個請求進入到等待隊列去。當一個正在運行的Socket完成了請求,就從正在運行的隊列移到空閑的隊列,并觸發(fā)等待請求隊列去獲取空閑資源,如果有等待的情況。

下面簡單介紹Node.js的一個通用連接池模塊:generic-pool。

主要文件目錄結構

圖片圖片

初始化連接池

圖片圖片

使用連接池

下面連接池的使用,使用的協(xié)議是我們之前自定義的協(xié)議。

圖片圖片

日志打?。?/p>

圖片圖片

這里看到前面兩個請求都建立了新的Socket連接 socket_pool 127.0.0.1 9000 connect,定時器結束后重新發(fā)起兩個請求就沒有建立新的Socket連接了,直接從連接池里面獲取Socket連接資源。

源碼分析

發(fā)現(xiàn)主要的代碼就位于lib文件夾中的Pool.js。
構造函數:
lib/Pool.js。

圖片圖片

可以看到包含之前說的空閑的資源隊列,正在請求的資源隊列,正在等待的請求隊列等。

下面查看 Pool.acquire 方法:

lib/Pool.js。

責任編輯:武曉燕 來源: 一安未來
相關推薦

2021-02-22 10:05:30

連接池網絡前端

2023-03-13 21:38:08

TCP數據IP地址

2012-03-19 11:41:30

JavaSocket

2022-02-09 11:22:22

數據庫MySQL連接池

2015-03-03 13:47:34

HttpTCPIP

2019-12-30 15:30:13

連接池請求PHP

2015-05-28 10:34:16

TCPsocket

2010-01-21 11:19:44

TCP Socketlinux

2023-12-05 08:18:51

函數valueOf

2020-06-03 11:06:26

DNS域名緩存

2019-07-09 14:17:28

Linux內存管理進程

2019-08-13 15:36:57

限流算法令牌桶

2010-04-22 17:34:25

2021-07-14 08:24:23

TCPIP 通信協(xié)議

2021-04-14 14:16:58

HttpHttp協(xié)議網絡協(xié)議

2018-10-08 10:14:10

TCPUDP

2020-10-17 08:48:12

搞懂“智能聯(lián)接”

2020-11-06 10:01:06

Nginx

2019-08-26 09:50:15

TCP連接Socket

2020-10-14 14:31:37

LinuxTCP連接
點贊
收藏

51CTO技術棧公眾號

www.欧美| 精品国产99久久久久久| 国产精品入口| 综合av色偷偷网| 亚洲高清在线不卡| 国产污视频在线播放| 国产欧美视频在线观看| 亚洲va欧美va在线观看| 综合激情网五月| 日韩欧美综合| 精品久久国产97色综合| 激情内射人妻1区2区3区 | 国产成人免费| 亚洲一区二区综合| 色婷婷精品国产一区二区三区| 99久久一区二区| 久久久久久久波多野高潮日日| 美女少妇精品视频| 国产成人av一区二区三区不卡| 成人国产精品久久| 欧美日韩一区免费| 欧美交换配乱吟粗大25p| 你懂得网站在线| 国产在线日韩欧美| 欧美中文字幕视频| 全网免费在线播放视频入口| 自拍欧美一区| 亚洲国产成人精品女人久久久 | 国产三级自拍视频| 天堂成人国产精品一区| 久久久亚洲国产天美传媒修理工| 国产精品久久久视频| 日韩美女毛片| 亚洲白虎美女被爆操| 午夜一区二区视频| 国产精品成人国产| 色综合久久久网| 无码中文字幕色专区| 黄色免费在线观看| 国产精品传媒入口麻豆| 日韩av不卡播放| 深夜视频在线免费| av日韩在线网站| 国产精品永久入口久久久| 国产内射老熟女aaaa∵| 美女一区二区久久| 国产精品国产三级国产专播精品人 | 91欧美一区二区三区| 老司机精品视频网| 欧美日韩亚洲综合| 尤蜜粉嫩av国产一区二区三区| 在线男人天堂| 懂色av影视一区二区三区| 女人色极品影院| 肉肉视频在线观看| 亚洲最大成人综合| 国产小视频免费| 羞羞的网站在线观看| 亚洲精品视频在线看| 日本一本草久p| 五月花成人网| 亚洲综合色婷婷| 国产曰肥老太婆无遮挡| 高端美女服务在线视频播放| 亚洲精品网站在线观看| 久久久国内精品| 18video性欧美19sex高清| 亚洲欧美日韩综合aⅴ视频| 400部精品国偷自产在线观看| 大片免费在线看视频| 一区二区三区四区亚洲| 欧美无砖专区免费| 国产三级电影在线播放| 色妹子一区二区| 亚洲欧洲日本精品| 成人污污视频| 亚洲国产成人精品电影| 干b视频在线观看| 欧美黄色大片在线观看| 美女视频黄免费的亚洲男人天堂| 国产一级免费观看| 国产日韩亚洲| 国产裸体写真av一区二区| 一区二区三区亚洲视频| 国产不卡视频在线播放| 蜜桃视频在线观看91| 91社区在线观看| 亚洲综合网站在线观看| 国产性xxxx18免费观看视频| 色香欲www7777综合网| 欧美人与z0zoxxxx视频| 亚洲图片欧美另类| 久久99国产精一区二区三区| 久久色免费在线视频| 日韩黄色a级片| 老司机精品视频网站| 91亚洲精品在线观看| 亚洲男人天堂久久| 久久久久国产精品麻豆ai换脸| 影音先锋欧美在线| av中文字幕电影在线看| 在线观看av一区| 波多野结衣电影免费观看| 亚洲综合小说图片| 久久不射电影网| 国产精品第9页| 久久成人精品无人区| 国产精品一区二区三区免费观看| 尤物在线视频| 狠狠躁天天躁日日躁欧美| 色婷婷激情视频| 国内精品视频在线观看| 欧美放荡办公室videos4k| 免费黄色片视频| 成人av在线观| 91免费视频黄| 成人在线视频观看| 日韩av网站电影| 加勒比av在线播放| 依依综合在线| 欧美一卡二卡在线| 日本精品久久久久中文| 99精品热6080yy久久| 成人日韩在线电影| 国产在线一二三区| 天天做天天摸天天爽国产一区 | 在线观看黄网站| 国产成人午夜电影网| 亚洲一区二区三区免费观看| 中文字幕在线视频久| 精品久久久久久久久久久久包黑料| 永久免费av无码网站性色av| 国产精品一卡| 精品欧美一区二区精品久久| 亚洲七七久久综合桃花剧情介绍| 欧美日韩精品福利| 五月激情四射婷婷| 首页国产欧美久久| 久久综合九色综合久99| 97超碰免费在线| 精品国精品国产| 唐朝av高清盛宴| 国产美女一区二区三区| 一区精品视频| 激情久久99| 日韩在线免费av| 亚洲视频在线观看一区二区| 国产人成亚洲第一网站在线播放| 男人天堂999| 中国av一区| 国产精品第二页| 国产精品一二三区视频| 欧美性受xxxx黑人xyx| 97在线观看免费视频| 日韩av在线发布| 视频一区免费观看| 成人国产激情在线| 中文字幕av一区二区三区谷原希美| 国产一级免费视频| 久久这里只有精品首页| 日韩免费毛片视频| 国内精品久久久久久久影视简单| 国产精品流白浆视频| av网站大全在线观看| 欧美日韩精品高清| 国产波霸爆乳一区二区| 国产91丝袜在线播放0| 日韩精品综合在线| 亚洲精品国产动漫| 国产精品久久久久久亚洲影视| 在线观看免费黄视频| 在线成人av网站| 久久久久无码国产精品| av一区二区三区四区| 国产成人av影视| 四季av在线一区二区三区| 91色精品视频在线| 爱啪啪综合导航| 亚洲欧美综合v| 91尤物国产福利在线观看| 亚洲九九爱视频| www.色天使| 激情另类小说区图片区视频区| 欧美亚洲色图视频| 奇米色欧美一区二区三区| 国产精品一区二区电影| 色婷婷av在线| 亚洲性夜色噜噜噜7777| 99久久精品免费看国产交换| 精品福利在线看| 成人信息集中地| 成人国产精品免费网站| 日本女优爱爱视频| 欧美激情亚洲| 欧美日韩国产免费一区二区三区| 色999韩欧美国产综合俺来也| 九九九久久久久久| 九色在线免费| 欧美不卡123| 中文文字幕一区二区三三| 亚洲精品久久久久久国产精华液| 中文在线永久免费观看| 理论电影国产精品| 欧美大片在线播放| 国产精品成人a在线观看| 精品一区二区不卡| 国产精品毛片aⅴ一区二区三区| 88国产精品欧美一区二区三区| 色开心亚洲综合| 日韩理论片久久| 国产激情久久久久久熟女老人av| 在线免费观看一区| 久草福利资源在线观看| 国产精品久久久久久久久免费丝袜 | 国产成人三级一区二区在线观看一| 韩曰欧美视频免费观看| 午夜免费激情视频| 国产精品少妇自拍| 双性尿奴穿贞c带憋尿| 国产成人午夜精品影院观看视频 | 国产精品另类一区| av直播在线观看| 国产91精品免费| 欧洲美女亚洲激情| 美腿丝袜亚洲三区| 亚洲一区二区蜜桃| 模特精品在线| 免费看日本毛片| 好看不卡的中文字幕| 中文字幕免费在线不卡| jlzzjlzz亚洲女人| 欧美日韩精品免费观看| 农村少妇一区二区三区四区五区| 91在线观看免费网站| 伊人久久大香伊蕉在人线观看热v| 国产成人欧美在线观看| a一区二区三区| 午夜美女久久久久爽久久| 免费看电影在线| 久久久久国产一区二区三区| 性直播体位视频在线观看| 久久夜色精品亚洲噜噜国产mv| 色网站免费在线观看| 日韩一区二区精品视频| 蜜桃视频在线观看免费视频网站www| 国产亚洲精品久久| 97超碰人人在线| 最好看的2019年中文视频| 91精品专区| 色视频www在线播放国产成人| 最近高清中文在线字幕在线观看| 中文字幕视频在线免费欧美日韩综合在线看 | 亚洲最大天堂网| 精品亚洲aⅴ乱码一区二区三区| 四季av一区二区三区| 精品一区二区三区影院在线午夜 | 久久伊人色综合| av激情在线| 欧美国产第一页| 日本欧美电影在线观看| 欧美精品videos性欧美| 亚洲美女炮图| 国产精品久久久久久久久久久久久久 | 国产综合色香蕉精品| 成人在线分类| 超碰97国产在线| 琪琪久久久久日韩精品| 欧美日韩国产一二| 久久影视一区| 国产91在线亚洲| 一区二区福利| 亚洲另类第一页| 国产成人福利片| 中文字幕av网址| 日韩美女久久久| 国产精品自拍视频一区| 91久久香蕉国产日韩欧美9色| 一区二区小视频| 欧美本精品男人aⅴ天堂| 五十路在线视频| www.xxxx欧美| 国产精品vvv| 国产精品影片在线观看| 亚洲不卡在线| 色婷婷综合激情| 亚洲国产成人精品视频| 中文字幕亚洲无线码在线一区| 91免费欧美精品| 亚洲制服国产| 羞羞色国产精品| 亚洲成人va| 成人国产一区二区| 国产videos久久| 日韩一二区视频| 久久最新视频| 日韩大尺度视频| 国产欧美日韩一区二区三区在线观看| 999精品在线视频| 好吊成人免视频| 精品人妻一区二区三区蜜桃| 日韩毛片在线观看| h网站久久久| 国产精品对白刺激| aaa国产精品视频| 亚洲人成网站在线播放2019| 午夜精品久久久久99热蜜桃导演| 青青草原av在线播放| 国产精品资源站在线| 乐播av一区二区三区| 亚洲一区日韩精品中文字幕| 一级aaaa毛片| 亚洲免费高清视频| 欧美videossex另类| 成人国产亚洲精品a区天堂华泰| 青草久久视频| 久久在线中文字幕| 国内精品久久久久影院色 | 精品91久久久| 日韩一级片在线播放| 亚洲视频tv| 国产成人精品电影| 欧美日韩破处| 999一区二区三区| 国产一区二区女| 18啪啪污污免费网站| 日本黄色一区二区| 奇米影视888狠狠狠777不卡| 欧美极品美女视频网站在线观看免费| 福利一区二区| 日本高清一区| 视频在线在亚洲| 无码人妻aⅴ一区二区三区| 亚洲精品视频观看| 国产精品自产拍| 色狠狠久久aa北条麻妃| av激情成人网| 欧洲亚洲一区二区三区四区五区| 国产一区91| 182在线视频| 午夜精品久久久久久久久久 | 一级黄色在线观看| 亚洲精品自拍视频| 免费毛片b在线观看| 国产免费一区二区三区| 激情五月***国产精品| 精品少妇人妻av一区二区三区| 一区二区三区日韩在线观看| 亚洲大尺度视频| 欧美激情奇米色| 99ri日韩精品视频| 欧美又粗又长又爽做受| 成人性生交大片免费看中文网站| 国产一级在线播放| 亚洲成人激情在线观看| bbw在线视频| 国产日产精品一区二区三区四区 | 午夜免费一区二区| 国产欧美在线观看一区| 亚洲性生活大片| 麻豆成人在线看| 77成人影视| 日日碰狠狠添天天爽超碰97| 99久久精品国产麻豆演员表| 亚洲天堂一区在线| 亚洲视频在线观看免费| 九九热这里有精品| 大桥未久一区二区三区| 福利91精品一区二区三区| 中文在线观看免费网站| 亚洲精品一二区| 日韩成人综合网站| 国产性生活免费视频| av一区二区三区四区| 国产乱码77777777| 久久久黄色av| 加勒比久久高清| 人妻丰满熟妇av无码区app| 国产精品色哟哟| 亚洲国产精品久久久久久久| 欧美一区二区三区免费观看| 日韩精品dvd| 蜜桃色一区二区三区| 色哟哟国产精品| 国产原创视频在线观看| 国产原创精品| 日韩国产一区二| 成人免费毛片东京热| 亚洲女成人图区| 国产区一区二| 青青视频在线播放| 亚洲天堂网中文字| 色噜噜在线播放| 成人中文字幕+乱码+中文字幕| 亚洲国产影院| 香蕉久久久久久久| 亚洲国产欧美在线成人app| 国产在视频一区二区三区吞精| 免费人成在线观看视频播放| 中文天堂在线一区| 天天综合永久入口|