黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

分析從Linux源碼看TIME_WAIT的持續(xù)時間

瀏覽:223日期:2024-04-09 08:26:35
目錄一、前言二、首先介紹下Linux環(huán)境三、TIME_WAIT狀態(tài)轉(zhuǎn)移圖四、持續(xù)時間真如TCP_TIMEWAIT_LEN所定義么?五、TIME_WAIT定時器源碼5.1、inet_twsk_schedule5.2、具體的清理函數(shù)5.3、先作出一個假設(shè)5.4、如果一個slot中的TIME_WAIT<=1005.5、如果一個slot中的TIME_WAIT>1005.6、PAWS(Protection Against Wrapped Sequences)使得TIME_WAIT延長一、前言

筆者一直以為在Linux下TIME_WAIT狀態(tài)的Socket持續(xù)狀態(tài)是60s左右。線上實際卻存在TIME_WAIT超過100s的Socket。由于這牽涉到最近出現(xiàn)的一個復雜Bug的分析。所以,筆者就去Linux源碼里面,一探究竟。

二、首先介紹下Linux環(huán)境

TIME_WAIT這個參數(shù)通常和五元組重用扯上關(guān)系。在這里,筆者先給出機器的內(nèi)核參數(shù)設(shè)置,以免和其它問題相混淆。

cat /proc/sys/net/ipv4/tcp_tw_reuse 0

cat /proc/sys/net/ipv4/tcp_tw_recycle 0

cat /proc/sys/net/ipv4/tcp_timestamps 1

可以看到,我們設(shè)置了tcp_tw_recycle為0,這可以避免NAT下tcp_tw_recycle和tcp_timestamps同時開啟導致的問題。

三、TIME_WAIT狀態(tài)轉(zhuǎn)移圖

提到Socket的TIME_WAIT狀態(tài),不得就不亮出TCP狀態(tài)轉(zhuǎn)移圖了:

分析從Linux源碼看TIME_WAIT的持續(xù)時間

持續(xù)時間就如圖中所示的2MSL。但圖中并沒有指出2MSL到底是多長時間,但筆者從Linux源碼里面翻到了下面這個宏定義。

#define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT * state, about 60 seconds*/

如英文字面意思所示,60s后銷毀TIME_WAIT狀態(tài),那么2MSL肯定就是60s嘍?

四、持續(xù)時間真如TCP_TIMEWAIT_LEN所定義么?

筆者之前一直是相信60秒TIME_WAIT狀態(tài)的socket就能夠被Kernel回收的。甚至筆者自己做實驗telnet一個端口號,人為制造TIME_WAIT,自己計時,也是60s左右即可回收。

分析從Linux源碼看TIME_WAIT的持續(xù)時間

但在追查一個問題時候,發(fā)現(xiàn),TIME_WAIT有時候能夠持續(xù)到111s,不然完全無法解釋問題的現(xiàn)象。這就逼得筆者不得不推翻自己的結(jié)論,重新細細閱讀內(nèi)核對于TIME_WAIT狀態(tài)處理的源碼。當然,這個追查的問題也會寫成博客分享出來,敬請期待_。

五、TIME_WAIT定時器源碼

談到TIME_WAIT何時能夠被回收,不得不談到TIME_WAIT定時器,這個就是專門用來銷毀到期的TIME_WAIT Socket的。而每一個Socket進入TIME_WAIT時,必然會經(jīng)過下面的代碼分支:

tcp_v4_rcv

|->tcp_timewait_state_process

/* 將time_wait狀態(tài)的socket鏈入時間輪

|->inet_twsk_schedule

由于我們的kernel并沒有開啟tcp_tw_recycle,所以最終的調(diào)用為:

/* 這邊TCP_TIMEWAIT_LEN 60 * HZ */inet_twsk_schedule(tw, &tcp_death_row, TCP_TIMEWAIT_LEN, TCP_TIMEWAIT_LEN);

好了,讓我們按下這個核心函數(shù)吧。

5.1、inet_twsk_schedule

在閱讀源碼前,先看下大致的處理流程。Linux內(nèi)核是通過時間輪來處理到期的TIME_WAIT socket,如下圖所示:

分析從Linux源碼看TIME_WAIT的持續(xù)時間

內(nèi)核將60s的時間分為8個slot(INET_TWDR_RECYCLE_SLOTS),每個slot處理7.5(60/8)范圍time_wait狀態(tài)的socket。

void inet_twsk_schedule(struct inet_timewait_sock *tw,struct inet_timewait_death_row *twdr,const int timeo, const int timewait_len){......// 計算時間輪的slotslot = (timeo + (1 << INET_TWDR_RECYCLE_TICK) - 1) >> INET_TWDR_RECYCLE_TICK;......// 慢時間輪的邏輯,由于沒有開啟TCP_TW_RECYCLE,timeo總是60*HZ(60s)// 所有都走slow_timer邏輯 if (slot >= INET_TWDR_RECYCLE_SLOTS) {/* Schedule to slow timer */if (timeo >= timewait_len) {slot = INET_TWDR_TWKILL_SLOTS - 1;} else {slot = DIV_ROUND_UP(timeo, twdr->period);if (slot >= INET_TWDR_TWKILL_SLOTS)slot = INET_TWDR_TWKILL_SLOTS - 1;}tw->tw_ttd = jiffies + timeo;// twdr->slot當前正在處理的slot// 在TIME_WAIT_LEN下,這個邏輯一般7slot = (twdr->slot + slot) & (INET_TWDR_TWKILL_SLOTS - 1);list = &twdr->cells[slot];} else{// 走短時間定時器,由于篇幅原因,不在這里贅述......}....../* twdr->period 60/8=7.5 */if (twdr->tw_count++ == 0)mod_timer(&twdr->tw_timer, jiffies + twdr->period);spin_unlock(&twdr->death_lock);}

從源碼中可以看到,由于我們傳入的timeout皆為TCP_TIMEWAIT_LEN。所以,每次剛成為的TIME_WAIT狀態(tài)的socket即將鏈接到當前處理slot最遠的slot(+7)以便處理。如下圖所示:

分析從Linux源碼看TIME_WAIT的持續(xù)時間

如果Kernel不停的產(chǎn)生TIME_WAIT,那么整個slow timer時間輪就會如下圖所示:

分析從Linux源碼看TIME_WAIT的持續(xù)時間

所有的slot全部掛滿了TIME_WAIT狀態(tài)的Socket。

5.2、具體的清理函數(shù)

每次調(diào)用inet_twsk_schedule時候傳入的處理函數(shù)都是:

/*參數(shù)中的tcp_death_row即為承載時間輪處理函數(shù)的結(jié)構(gòu)體*/inet_twsk_schedule(tw,&tcp_death_row,TCP_TIMEWAIT_LEN,TCP_TIMEWAIT_LEN)/* 具體的處理結(jié)構(gòu)體 */struct inet_timewait_death_row tcp_death_row = {....../* slow_timer時間輪處理函數(shù) */.tw_timer= TIMER_INITIALIZER(inet_twdr_hangman, 0, (unsigned long)&tcp_death_row),/* slow_timer時間輪輔助處理函數(shù)*/.twkill_work= __WORK_INITIALIZER(tcp_death_row.twkill_work, inet_twdr_twkill_work),/* 短時間輪處理函數(shù) */.twcal_timer= TIMER_INITIALIZER(inet_twdr_twcal_tick, 0, (unsigned long)&tcp_death_row),};

由于我們這邊主要考慮的是設(shè)置為TCP_TIMEWAIT_LEN(60s)的處理時間,所以直接考察slow_timer時間輪處理函數(shù),也就是inet_twdr_hangman。這個函數(shù)還是比較簡短的:

void inet_twdr_hangman(unsigned long data){struct inet_timewait_death_row *twdr;unsigned int need_timer;twdr = (struct inet_timewait_death_row *)data;spin_lock(&twdr->death_lock);if (twdr->tw_count == 0)goto out;need_timer = 0;// 如果此slot處理的time_wait socket已經(jīng)達到了100個,且還沒處理完if (inet_twdr_do_twkill_work(twdr, twdr->slot)) {twdr->thread_slots |= (1 << twdr->slot);// 將余下的任務交給work queue處理schedule_work(&twdr->twkill_work);need_timer = 1;} else {/* We purged the entire slot, anything left? */// 判斷是否還需要繼續(xù)處理if (twdr->tw_count)need_timer = 1;// 如果當前slot處理完了,才跳轉(zhuǎn)到下一個slottwdr->slot = ((twdr->slot + 1) & (INET_TWDR_TWKILL_SLOTS - 1));}// 如果還需要繼續(xù)處理,則在7.5s后再運行此函數(shù)if (need_timer)mod_timer(&twdr->tw_timer, jiffies + twdr->period);out:spin_unlock(&twdr->death_lock);}

雖然簡單,但這個函數(shù)里面有不少細節(jié)。第一個細節(jié),就在inet_twdr_do_twkill_work,為了防止這個slot的time_wait過多,卡住當前的流程,其會在處理完100個time_wait socket之后就回返回。這個slot余下的time_wait會交給Kernel的work_queue機制去處理。

分析從Linux源碼看TIME_WAIT的持續(xù)時間

值得注意的是。由于在這個slow_timer時間輪判斷里面,根本不判斷精確時間,直接全部刪除。所以輪到某個slot,例如到了52.5-60s這個slot,直接清理52.5-60s的所有time_wait。即使time_wait還沒有到60s也是如此。而小時間輪(tw_cal)會精確的判定時間,由于篇幅原因,就不在這里細講了。

注: 小時間輪(tw_cal)在tcp_tw_recycle開啟的情況下會使用

5.3、先作出一個假設(shè)

我們假設(shè),一個時間輪的數(shù)據(jù)最多能在一個slot間隔時間,也就是(60/8=7.5)內(nèi)肯定能處理完畢。由于系統(tǒng)有tcp_tw_max_buckets設(shè)置,如果設(shè)置的比較合理,這個假設(shè)還是比較靠譜的。

注: 這里的60/8為什么需要精確到小數(shù),而不是7。

因為實際計算的時候是拿60*HZ進行計算,

如果HZ是1024的話,那么period應該是7680,即精度精確到ms級。

所以在本文中計算的時候需要精確到小數(shù)。

5.4、如果一個slot中的TIME_WAIT<=100

如果一個slot的TIME_WAIT<=100,很自然的,我們的處理函數(shù)并不會啟用work_queue。同時,還將slot+1,使得在下一個period的時候可以處理下一個slot。如下圖所示:

分析從Linux源碼看TIME_WAIT的持續(xù)時間

5.5、如果一個slot中的TIME_WAIT>100

如果一個slot的TIME_WAIT>100,Kernel會將余下的任務交給work_queue處理。同時,slot不變!也即是說,下一個period(7.5s后)到達的時候,還會處理同樣的slot。按照我們的假設(shè),這時候slot已經(jīng)處理完畢,那么在第7.5s的時候才將slot向前推進。也就是說,假設(shè)slot一開始為0,到真正處理slot 1需要15s!

分析從Linux源碼看TIME_WAIT的持續(xù)時間

假設(shè)每一個slot的TIME_WAIT都>100的話,那么每個slot的處理都需要15s。

對于這種情況,筆者寫了個程序進行模擬。

public class TimeWaitSimulator { public static void main(String[] args) {double delta = (60) * 1.0 / 8;// 0表示開始清理,1表示清理完畢// 清理完畢之后slot向前推進int startPurge = 0;double sum = 0;int slot = 0;while (slot < 8) { if (startPurge == 0) {sum += delta;startPurge = 1;if (slot == 7) { // 因為假設(shè)進入work_queue之后,很快就會清理完 // 所以在slot為7的時候并不需要等最后的那個purge過程7.5s System.out.println('slot ' + slot + ' has reach the last ' + sum); break;} } if (startPurge == 1) {sum += delta;startPurge = 0;System.out.println('slot ' + 'move to next at time ' + sum);// 清理完之后,slot才應該向前推進slot++; }} }}

得出結(jié)果如下面所示:

slot move to next at time 15.0

slot move to next at time 30.0

slot move to next at time 45.0

slot move to next at time 60.0

slot move to next at time 75.0

slot move to next at time 90.0

slot move to next at time 105.0

slot 7 has reach the last  112.5

也即處理到52.5-60s這個時間輪的時候,其實外面時間已經(jīng)過去了112.5s,處理已經(jīng)完全滯后了。不過由于TIME_WAIT狀態(tài)下的Socket(inet_timewait_sock)所占用內(nèi)存很少,所以不會對系統(tǒng)可用資源造成太大的影響。但是,這會在NAT環(huán)境下造成一個坑,這也是筆者文章前面提到過的Bug。上面的計算如果按照圖和時間線畫出來,應該是這么個情況:

分析從Linux源碼看TIME_WAIT的持續(xù)時間

也即TIME_WAIT狀態(tài)的Socket在一個period(7.5s)內(nèi)能處理完當前slot的情況下,最多能夠存在112.5s!

如果7.5s內(nèi)還處理不完,那么響應時間輪的輪轉(zhuǎn)還得繼續(xù)加上一個或多個perod。但在tcp_tw_max_buckets的限制,應該無法達到這么嚴苛的條件。

5.6、PAWS(Protection Against Wrapped Sequences)使得TIME_WAIT延長

事實上,以上結(jié)論還是不夠嚴謹。TIME_WAIT時間還可以繼續(xù)延長!看下這段源碼:

enum tcp_tw_statustcp_timewait_state_process(struct inet_timewait_sock *tw, struct sk_buff *skb, const struct tcphdr *th){......if (paws_reject)NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_PAWSESTABREJECTED);if (!th->rst) {/* In this case we must reset the TIMEWAIT timer. * * If it is ACKless SYN it may be both old duplicate * and new good SYN with random sequence number <rcv_nxt. * Do not reschedule in the last case. *//* 如果有回繞校驗失敗的包到達的情況下,或者其實ack包 * 重置定時器到新的60s之后 * /if (paws_reject || th->ack)inet_twsk_schedule(tw, &tcp_death_row, TCP_TIMEWAIT_LEN, TCP_TIMEWAIT_LEN);/* Send ACK. Note, we do not put the bucket, * it will be released by caller. *//* 向?qū)Χ税l(fā)送當前time wait狀態(tài)應該返回的ACK */return TCP_TW_ACK;}inet_twsk_put(tw);/* 注意,這邊通過paws校驗的包,會返回tcp_tw_success,使得time_wait狀態(tài)的 * socket五元組也可以三次握手成功重新復用 * /return TCP_TW_SUCCESS;}

上面的邏輯如下圖所示:

分析從Linux源碼看TIME_WAIT的持續(xù)時間

注意代碼最后的return TCP_TW_SUCCESS,通過PAWS校驗的包,會返回TCP_TW_SUCCESS,使得TIME_WAIT狀態(tài)的Socket(五元組)也可以三次握手成功重新復用!

以上就是分析從Linux源碼看TIME_WAIT的持續(xù)時間的詳細內(nèi)容,更多關(guān)于Linux源碼 TIME_WAIT持續(xù)時間的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Linux系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 日本aaa视频| 乱人伦中文视频在线观看 | 欧美中文| 精品欧美色视频网站在线观看 | 狠狠色狠狠色很很综合很久久 | 精品国产乱码久久久久久影片 | 欧美日韩黄色网 | 国产精品无码无卡在线播放 | 色护士极品影院 | 拔擦拔擦8x国产精品免费 | 亚洲国产天堂久久综合 | 午夜一二三区 | 丰满人妻一区二区三区视频53 | 亚洲成a v人片在线观看 | 看免费真人视频网站 | 日韩少妇白浆无码系列 | 人妻系列无码专区久久五月天 | 免费国产成人高清在线观看网站 | 亚洲成年女人av毛片性性教育 | 网曝91综合精品门事件在线 | 美国三级日本三级久久99 | 国产91色 | 欧美一级淫片免费视频欧美辣图 | 337p亚洲欧洲色噜噜噜 | 99视频偷窥在线精品国自产拍 | 免费看黄色一级片 | 装睡被陌生人摸出水好爽 | 五月丁香六月激情综合在线视频 | 国产麻豆91精品三级站 | 日韩1区3区4区第一页 | 国产成人无码av一区二区 | 给个av网站 | 内射毛片内射国产夫妻 | 国产香蕉尹人视频在线 | 加勒比无码一区二区三区 | www视频在线免费观看 | 俄罗斯a级毛片 | 三级免费网址 | 久久黄视频 | 亚洲国产精品一区二区尤物区 | 99久久精品国产一区二区三区 | japanese丰满少妇最高潮 | 蜜桃精品在线观看 | 国产精品无套内射迪丽热巴 | 日韩二区三区 | 中国熟妇人妻xxxxx | 婷婷激情网站 | 久久久无码精品一区二区三区蜜桃 | 亚洲人网站| 99热久久是国产免费66 | 精品一区二区三区在线成人 | 日本三级黄色中文字幕 | 喷潮91 | 国模冰莲大胆自慰难受 | 日韩黄色大片 | 国产精品特级毛片一区二区三区 | 日韩欧美在线综合网 | 黄色小视频免费看 | 女神思瑞女神久久一区二区 | 无码丰满少妇2在线观看 | 丝袜诱惑一区 | 国产精品三级三级三级 | 国产中文字幕精品 | 国产欧美一区二区三区在线看 | 欧美成人生活片 | 国产特黄aaa大片免费观看 | 柠檬av导航 | 亚洲精品乱码久久久久久中文字幕 | 亚洲欧美综合一区 | 制服丝袜第一页在线 | 亚洲欧美一区二区三区情侣bbw | 日韩精品一区二区三区中文无码 | aaa天堂| 国产精品视频在线播放 | 在线观看国产一级片 | 四虎在线免费视频 | 熟女少妇精品一区二区 | 最新69国产成人精品视频免费 | 在线看网站 | 99精品在线视频观看 | 91亚洲一线产区二线产区 | 欧美成人精品在线 | 国产欧美第一页 | 免费国产黄网站在线观看 | 色婷婷亚洲六月婷婷中文字幕 | 国产天堂网站 | 国产艳情片 | 九色琪琪久久综合网天天 | 国产精品久久久久久无码 | 毛片内射久久久一区 | 少妇又紧又色又爽又刺激的视频 | 国产成人精品a视频一区 | 久久久久久亚洲精品中文字幕 | 国产日产久久高清欧美一区 | 国产丝袜在线视频 | 五十路亲子中出在线观看 | 国产婷婷色一区二区三区四区 | 国产二区免费 | 无码人妻aⅴ一区二区三区有奶水 | 无码孕妇孕交在线观看 | 日本精品视频一区二区三区四区 | 一本之道高清狼码 | 国产美女特级嫩嫩嫩bbb | 亚洲中文字幕无码专区 | 中文区中文字幕免费看 | 国产成人歌舞艳r舞 | 自拍偷拍第 | 麻豆国产va免费精品高清在线 | 国产理论视频 | 偷拍富婆做爰太猛视频 | 中文字幕在线免费视频 | 毛片一级片 | 国产一区二区三区四 | 成人日韩在线观看 | 99久久夜色精品国产亚洲1000部 | av成人在线免费观看 | 四虎一级片 | 成人网站免费大全日韩国产 | 啪啪福利视频 | 日本极品丰满ⅹxxxhd | 国产成人久久久 | xfplay5566色资源网站 | 国产成人av三级在线观看 | 麻豆国产va免费精品高清在线 | 午夜婷婷国产麻豆精品 | 国产片av国语在线观看 | 成人av免费播放 | 国产午夜无码视频在线观看 | 伦理片在线播放无遮无挡 | 中国老熟妇自拍hd发布 | 91久久精品美女高潮 | 国变精品美女久久久久av爽 | 亚洲色av天天天天天天 | 日批在线播放 | 午夜三级a三级三点窝 | 国产精品久久久 | 一本大道熟女人妻中文字幕在线 | 黄色中文字幕在线观看 | 一本色道久久综合亚洲精品按摩 | 在线观看av日韩 | 日韩免费无码人妻波多野 | 国产精品成av人在线视午夜片 | 91免费黄色 | 无码专区人妻系列日韩 | 亚洲视频在线一区 | 午夜精品区 | 98婷婷狠狠成人免费视频 | 天天av天天操| 88tv成人| 饥渴少妇激情毛片视频 | 久久久福利 | 在线免费视频你懂的 | 成人欧美一区二区三区视频 | 国产精品秘入口18禁麻豆免会员 | 日韩伦乱| 国产黄色成人 | 免费av视屏 | 欧美另videosbestsex死尸 | 毛片在线免费视频 | 日韩av大片在线观看 | 亚洲干 | 99精品视频免费在线观看 | 沉溺于黑人叶爱中文字幕 | 欧美精品与人动性物交免费看 | 日韩精品一区二区三区在线播放 | 国产又黄又爽又刺激的免费网址 | 亚洲最新 | 亚洲国产成人综合精品 | 久久中文精品视频 | theporn国产在线精品 | 国产天堂网站 | 日韩一卡2卡3卡4卡2021免费观看国色天香 | 青青在线视频 | 亚洲第一网站 | 亚洲性色av私人影院无码 | www.一区二区.com| 国产精品高潮呻吟av久久4虎 | 国产又粗又猛又大爽又黄老大爷 | 草草在线观看 | 交专区videossex另类 | 香蕉视频官网 | 少妇xxxxxx | 偷拍久久网 | 丁香花五月天 | 欧美精品videos另类日本 | 少妇久久久久久久久久 | 日韩在线精品成人av在线 | 农村人伦偷精品视频a人人澡 | 日韩精品久久久久久久电影蜜臀 | 精品久久免费视频 | 99久久婷婷国产综合精品草原 | 国产精品区一区二区三含羞草 | 香港经典a毛片免费观看播放 | 性做爰裸体按摩视频 | 97精品人妻一区二区三区香蕉 | 少妇中出视频 | 全程穿着长靴做爰在线观看 | 爱爱免费小视频 | 久久婷婷五月综合色丁香 | 91大神小宝寻花在线观看 | 国产18禁黄网站免费观看 | 色噜噜狠狠狠狠色综合久不 | 亚洲午夜一区二区三区 | 国产av精国产传媒 | 久久伊人一区 | 亚洲欧美日韩一区 | 欧美一级大片在线观看 | 成人国产免费观看 | 尤妮丝大尺度av在线播放 | 高清欧美精品xxxxx在线看 | 国产亚洲精品久久久久久久软件 | 亚洲五月综合 | www国产亚洲精品久久网站 | 久久av免费看 | 成人精品区 | 成 人 免 费 黄 色 | 人人澡人人透人人爽 | 一级做a爰片久久毛片16 | 日韩不卡毛片 | 天堂资源 | 又湿又紧又大又爽a视频国产 | 亚洲综合色婷婷在线观看 | 香蕉人人超人人超碰超国产 | 欧美日韩视频一区二区 | 欧美精品动漫 | 久久国产精品_国产精品 | 欧美日韩1区| 牲欲强的熟妇农村老妇女视频 | 性xxxx| 日日摸日日添日日碰9学生露脸 | 欧日韩不卡在线视频 | 国产区一区二 | 色网址在线观看 | 岳奶大又白下面又肥又黑水多 | 一本大道无码人妻精品专区 | 欧美多毛肥胖老妇做爰 | 日韩a级黄色片 | 粉嫩精品国产色综合久久不8 | 免费a级毛片视频 | 国产欧美日韩在线 | 成人欧美一区二区三区动漫 | 国产又爽又黄的激情精品视频 | av性色| 亚洲福利精品视频 | 国产在线视频第一页 | 少妇口述疯狂刺激的交换经历 | 五月天婷婷网站 | 五月婷婷欧美 | 成年人免费网站在线观看 | 日韩五月 | 男人的天堂视频在线观看 | 黑人做爰xxxⅹ性欧美有限公司 | 黄色成人av在线 | 国产偷国产偷亚洲精品孕妇 | 日产亚洲一区二区三区 | 欧美乱妇高清无乱码免费 | 性少妇mdms丰满hdfilm | 日日天日日夜日日摸 | 欧美黄色片网站 | 国产av一区二区三区最新精品 | 青青青国产在线观看免费 | 92久久精品一区二区 | 一区一区三区四区产品动漫 | 欧美一性一乱一交 | 欧美高清视频一区二区 | 另类专区欧美 | 色哟哟国产 | 日韩成人一区二区三区在线观看 | 天天干天天玩 | 香港三级日本三级a视频 | 国产学生不戴套在线看 | 亚洲人 女学生 打屁股 得到 | 美美女高清毛片视频免费观看 | 无码中文字幕日韩专区 | 一本久道视频一本久道 | 免费久久精品视频 | 国产日韩欧美亚欧在线 | 国产精品久久免费 | av亚洲在线观看 | 三级网站 | av黄色免费 | 中国老妇荡对白正在播放 | 中文字幕日产无线码一区 | 日本在线视频一区 | 久久精品国产免费 | 国产在线午夜卡精品影院 | 国产边打电话边被躁视频 | 亚洲熟女乱色一区二区三区 | 图片区亚洲 | 日韩少妇内射免费播放18禁裸乳 | 杨幂一区二区三区免费看视频 | 国产麻豆精品视频 | 成人三级a做爰视频哪里看 成人三级k8经典网 成人三级黄色 | 色九九视频 | 精品无人码麻豆乱码1区2区 | 日韩中文字幕视频在线观看 | 欧美情爱视频 | 五月天丁香在线 | 肉肉视频在线观看 | va在线播放 | 九九九网站 | 欧美激情自拍 | 德国做爰xxxⅹ性 | 欧美激情综合在线 | www.av成人| 国产精品入口传媒小说 | 在线观看国产91 | 欧美丰满少妇xxⅹ | 国产精品久久久久久久久借妻 | 在线天堂1 | 久久99精品国产99久久6尤物 | 日韩av在线网址 | www亚洲精品少妇裸乳一区二区 | 久久精品a亚洲国产v高清不卡 | 久久久久99精品成人片试看 | 国产精品88 | julia乱码中文一二三区 | 欧美精品高清在线观看 | 国产嫩草影院久久久 | 日本免费一区二区三区 | 国产精品久久视频 | 一性一交一伦一色一按—摩 | 91刺激视频| 视频日韩 | 久久久久人妻精品一区三寸蜜桃 | 91热精品| 国产精品视频麻豆 | 成人小视频免费在线观看 | 男女视频久久 | 亚洲一区欧美二区 | 国产色视频一区二区三区qq号 | 性色av香蕉一区二区 | 国产变态口味重另类 | 国产成+人欧美+综合在线观看 | 破处视频在线观看 | 少妇饥渴偷公乱第95 | 性猛交xxxxx富婆免费视频 | 日本黄色美女网站 | 一本久道久久综合狠狠爱 | 国产三级三级三级精品8ⅰ区 | 手机av在线不卡 | 青青国产在线 | 国产伦子系列沙发午睡 | h片在线看 | 日韩高清成人 | 中文字幕在线成人 | 国产一区二区三区精品视频 | 亚洲色大成网站www久久九九 | 日韩视频第一页 | 久久蜜桃av一区精品变态类天堂 | 99国产在线观看 | 粉嫩av一区二区三区四区在线观看 | 欧美日韩一区二区三区四区在线观看 | 大吊一区二区三区 | 国产精品亚洲欧美日韩久久制服诱 | 久操国产精品 | 亚洲粉嫩高潮的18p 国产精品美女www爽爽爽视频 | av影片在线 | 最爽无遮挡行房视频 | 少妇高潮久久久久久一代女皇 | 在线观看中文 | 国产大陆亚洲精品国产 | 国产精品对白清晰受不了 | xx视频在线 | 精品久久久久香蕉网 | 7777精品久久久大香线蕉 | 成人性生交大片免费卡看 | 婷婷色网站 | 国产精品理论片在线观看 | 成人免费网站视频ww破解版 | 久久久久久久久久99精品 | 国产精品卡一卡二卡三 | 黄色激情小说视频 | 熟妇好大好深好满好爽 | 久久99精品国产麻豆 | 真人抽搐一进一出gif | 午夜在线精品 | 少妇视频一区 | 欧美老女人性视频 | 国产免费av网站 | 综合精品在线 | 经典国产乱子伦精品视频 | 中文日韩亚洲欧美字幕 | 日产精品久久久久久久性色 | 人人草人人爱 | 中文字幕久久av | 日本成人免费在线 | 精品夜夜澡人妻无码av蜜桃 | 日韩黄色一区 | 色翁荡息又大又硬又粗又爽电影 | 免费看小12萝裸体视频国产 | 久久久橹橹橹久久久久高清 | 91精品国产91久久综合 | 国产精品丝袜一区二区三区 | 毛片动态图 | 最新精品在线 | 欧美精品高清在线观看 | 久久999精品久久久 久久999精品久久久有什么优势 | 久久婷婷五月综合色欧美 | 欧美极品少妇xxxxⅹ猛交 | 国产在线综合视频 | 日韩精品免费在线 | 深夜福利视频在线播放 | 国四虎影2020| 影音先锋亚洲精品 | 国产精品短视频 | 毛片在线免费视频 | aaaa大片少妇高潮免费看 | 欧美视频在线一区 | 少妇粉嫩小泬喷水视频www | 成人精品网 | 一区二区三区无码高清视频 | 日日噜噜夜夜爽爽 | 涩涩涩涩涩涩涩涩涩涩 | 国产精品午夜在线观看 | 国产午夜手机精彩视频 | 亚洲国产综合av | 日韩一级一区 | 国产亚洲美女精品久久久2020 | 久久久久女教师免费一区 | 在线视频午夜 | 日日婷婷夜日日天干 | 日本人妻人人人澡人人爽 | 夜夜爽夜夜叫夜夜高潮漏水 | 福利小视频在线观看 | 18禁无遮挡羞羞污污污污免费 | 亚洲尻逼| 国产精品18久久久久久首页狼 | 天天躁久久躁日日躁 | 国产精品无码久久久久久久久久 | 国产免费又黄又爽又刺激蜜月al | 国产精品美女久久久久久久 | 天堂视频免费看 | 欧美乱大交做爰xxxⅹ性3 | 日韩欧美一区二区三区免费观看 | 久久精品国产77777蜜臀 | 一区二区三区日韩在线 | 久久夜视频 | 极品尤物被啪到呻吟喷水 | 少妇婷婷 | 午夜在线播放视频 | 在线观看视频中文字幕 | 无码国产69精品久久久久同性 | 国产精品va无码一区二区 | 欧美三级a| 亚洲人精品午夜 | 少妇又色又紧又爽又刺激视频 | 国产va在线| 国产区91| 日韩av一 | 欧美交换乱淫粗大 | 色七七在线 | 亚洲网站免费观看 | 久久最新免费视频 | 人人爽人人爱 | 色偷偷人人澡人人爽人人模 | aⅴ色国产 欧美 | 免费大片黄在线观看 | 黄色国产精品视频 | 性欧美在线视频 | 国内老熟妇对白xxxxhd | 亚洲伊人成无码综合影院 | 欧美男女交配 | 国内精品卡一卡二卡三 | 爽天天天天天天天 | 无码免费中文字幕视频 | 极品少妇网站 | 日韩天堂在线 | 欧美成人a视频 | 美国黄色av| 成人在线国产视频 | 中文字字幕在线 | 免费三级网址 | 97久久精品人人做人人爽50路 | 天天久久 | 又色又爽又黄的视频网站 | h网站在线播放 | 欧美一级不卡视频 | 在线观看深夜视频 | √天堂资源地址在线官网 | 国产色视频一区二区三区qq号 | 99无码熟妇丰满人妻啪啪 | 欧美成人精品一区二区 | 久久99精品国产99久久6男男 | 欧美色图19p | 巨胸喷奶水www久久久免费动漫 | 亚洲国产av高清无码 | 日本成人在线视频网站 | 伊人精品国产 | 久草视频观看 | 热久久av| 欧美在线观看一区二区三区 | 9色porny自拍视频一区二区 | 国产女主播高潮在线播放 | 美女极度色诱视频国产 | 国产精品点击进入在线影院高清 | 噜噜噜av久久av牛牛 | 有一婷婷色 | 国产在线观看成人 | 又色又湿又黄又爽又免费视频 | 色女孩综合 | 色丁香婷婷综合久久 | 黑人玩弄人妻中文在线 | 国产成人精品午夜视频 | 成人做爰免费网站 | 爱插网| 国产调教打屁股xxxx网站 | 成人毛片18女人 | 国产精品亚洲欧美大片在线看 | 91美女福利视频 | 国产精品 高清 尿 小便 嘘嘘 | 欧美亚洲日韩国产人成在线播放 | a级成色和s级成色视频 | 中文字幕日韩一区二区三区不卡 | 真实国产老熟女无套中出 | 九九re6热在线视频精品66 | 欧美激情xxx | 亚洲欧洲成人精品av97 | 姑娘第5集在线观看免费好剧 | 麻豆网神马久久人鬼片 | 国产人成 | 夜夜天天干 | 免费看欧美片 | 国产性天天综合网 | 精品久久毛片 | 国产真实乱偷精品视频 | 天啦噜最新官网入口 | 蜜桃成人免费视频 | 寡妇一级片 | 亚洲 综合 清纯 丝袜 自拍 | 夜夜嗨av禁果av粉嫩av懂色av | 天天插天天 | 琪琪av在线 | www久久久久| 国产理伦 | 中文字幕永久在线视频 | 免费看污黄网站在线观看 | 亚洲a无码综合a国产av中文 | 欧美一区二区在线视频 | 91爱看| 欧美日韩久久久 | 人妻无码αv中文字幕久久琪琪布 | 深夜福利在线观看视频 | 亚洲午夜无码毛片av久久 | 亚洲综合首页 | 欧美亚洲精品一区二区 | 欧洲grand老妇人bbw | 国产成人精品视频在线 | 国产成人精品一区二区三区 | 免费在线观看成人 | 动漫av网站免费观看 | 成人天堂视频在线观看软件 | 日韩免费观看完整 | 91精品视频在线免费观看 | 亚洲青青草 | 第一福利蓝导航柠檬导航av | 激情毛片视频 | av片毛片 | 热久久亚洲 | 狠狠躁日日躁夜夜躁2020 | 天堂av影院 | 欧美特黄一级大片 | 欧美日韩在线成人 | 91九色在线播放 | 欧美色综合天天久久综合精品 | 中文字幕激情 | 在线播放91| 成人激情视频在线 | 夜夜夜久久久 | 国产美女永久免费无遮挡 | 99热在线免费观看 | 欧美人与动物xxxx | 亚洲一区免费观看 | 日韩大胆视频 | 欧美成人综合网站 | 国产嫩草影院久久久 | 欧美a级免费 | 深夜福利日韩 | 91视频这里只有精品 | 亚洲人成无码网www 国产精品第一区揄拍无码 丰满少妇高潮惨叫视频 | 医生强烈淫药h调教小说阅读 | 精品国产乱码久久久久久蜜臀网站 | 精品国产91乱码一区二区三区 | 国产成人在线播放 | 一本加勒比北条麻妃 | 91精品久久久久久久久不卡 | 亚洲欧美日韩在线不卡 | 精品一区二区三区久久 | 在线91av | 男人天堂b| 高清欧美性猛交xxxx黑人猛交 | 日本久久丰满的少妇三区 | 日韩成人免费观看 | 少妇黄色一级片 | 国产馆av | 色噜噜亚洲精品中文字幕 | 亚洲乱码av中文一区二区 | 日韩特黄特色大片免费视频 | 久久wwww| 青青热久免费精品视频在线播放 | 制服丝袜另类专区制服 | 亚洲不卡av不卡一区二区 | 久草福利免费 | 综合99| 999精品视频一区二区三区 | 日韩精品91| 一女被多男玩喷潮视频 | 51精品国产人成在线观看 | 一级黄色免费片 | 最近日韩中文字幕中文 | 中文字幕免费在线观看视频 | 狠狠色丁香| 久久国产精品_国产精品 | 性欧美视频videos6一9 | 久久久久久久久蜜桃 |