99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

聯(lián)邦學(xué)習(xí)與NSL-KDD網(wǎng)絡(luò)入侵檢測:Python實(shí)現(xiàn)FedAvg與避坑指南

聯(lián)邦學(xué)習(xí)與NSL-KDD網(wǎng)絡(luò)入侵檢測:Python實(shí)現(xiàn)FedAvg與避坑指南 簡介一套基于聯(lián)邦學(xué)習(xí)與NSL-KDD數(shù)據(jù)集的網(wǎng)絡(luò)入侵檢測Python項(xiàng)目源碼及運(yùn)行指南屬于經(jīng)導(dǎo)師指導(dǎo)并認(rèn)可的高分項(xiàng)目評審98分適合計(jì)算機(jī)相關(guān)專業(yè)學(xué)生用于課程設(shè)計(jì)、期末大作業(yè)以及想要進(jìn)行項(xiàng)目實(shí)戰(zhàn)的機(jī)器學(xué)習(xí)/網(wǎng)絡(luò)安全學(xué)習(xí)者。資源共63個(gè)文件壓縮包大小約26.19MB包含12個(gè)Python源代碼、26個(gè)Pyc編譯文件、10個(gè)Txt說明文檔、模型權(quán)重、CSV數(shù)據(jù)、結(jié)果對比PNG以及帶GUI界面的數(shù)據(jù)集等覆蓋數(shù)據(jù)預(yù)處理、模型構(gòu)建、聯(lián)邦訓(xùn)練與測試等模塊。已有88人學(xué)習(xí)下載。項(xiàng)目將聯(lián)邦學(xué)習(xí)與NSL-KDD數(shù)據(jù)集結(jié)合既演示了如何在隱私保護(hù)前提下進(jìn)行分布式訓(xùn)練也提供了帶圖形界面的數(shù)據(jù)操作方式借助附帶的運(yùn)行說明、模型文件和對比圖學(xué)習(xí)者可以快速復(fù)現(xiàn)入侵檢測實(shí)驗(yàn)深入理解從數(shù)據(jù)準(zhǔn)備到模型部署的完整流程為網(wǎng)絡(luò)安全與聯(lián)邦學(xué)習(xí)方向的實(shí)踐提供扎實(shí)參考。1. 聯(lián)邦學(xué)習(xí)與NSL-KDD做網(wǎng)絡(luò)入侵檢測先別急著跑代碼想清楚這三件事用聯(lián)邦學(xué)習(xí)與NSL-KDD數(shù)據(jù)集做網(wǎng)絡(luò)入侵檢測本質(zhì)上是把兩個(gè)成熟技術(shù)接到一起聯(lián)邦學(xué)習(xí)解決流量日志“數(shù)據(jù)不出域”的合規(guī)訴求NSL-KDD給出一道能反復(fù)驗(yàn)證的基準(zhǔn)題Python則是把它們黏在一起的膠水。這幾年相關(guān)高分項(xiàng)目幾乎都從集中式往聯(lián)邦上靠因?yàn)樵u分重點(diǎn)已經(jīng)從“檢測準(zhǔn)不準(zhǔn)”變成了“數(shù)據(jù)隔離條件下還能不能準(zhǔn)”。拿到壓縮包先別急著解壓跑訓(xùn)練先想清楚三件事數(shù)據(jù)是天然按節(jié)點(diǎn)分片還是要人工模擬Non-IID模型做二分類還是五分類指南里說的聯(lián)邦是本機(jī)模擬還是真多機(jī)通信。想清楚后再動(dòng)代碼每個(gè)參數(shù)都能說出改它的理由。這篇筆記寫給不滿足于“能運(yùn)行”的Python從業(yè)者和安全方向同學(xué)重點(diǎn)放在可復(fù)現(xiàn)步驟和踩坑記錄上。2. 為什么要聯(lián)邦化FedAvg機(jī)制、數(shù)據(jù)不出域的價(jià)值與NSL-KDD的基準(zhǔn)定位2.1 聯(lián)邦學(xué)習(xí)在入侵檢測里的角色客戶端訓(xùn)練什么、服務(wù)器聚合什么入侵檢測的常規(guī)做法是把流量特征匯集到一個(gè)訓(xùn)練中心在全部數(shù)據(jù)上訓(xùn)一個(gè)全局模型。問題在于安全日志是最敏感的數(shù)據(jù)之一跨部門、跨機(jī)房、跨公司的流量特征往往不能直接匯總別說原始報(bào)文就連統(tǒng)計(jì)特征也要走審批。聯(lián)邦學(xué)習(xí)在這里的角色很直接各個(gè)節(jié)點(diǎn)用自己的日志訓(xùn)練本地模型訓(xùn)練完只上傳模型權(quán)重原始特征永遠(yuǎn)留在本地服務(wù)器把權(quán)重按某種策略加權(quán)平均后下發(fā)反復(fù)迭代。這里最常用的聚合策略就是FedAvg聯(lián)邦平均。每輪通信服務(wù)器把當(dāng)前全局權(quán)重廣播給參與節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)在本地?cái)?shù)據(jù)上做幾個(gè)epoch的梯度下降再把更新后的權(quán)重和本地樣本量一起傳回服務(wù)器按樣本量占比加權(quán)求平均得到下一輪的全局權(quán)重。整套機(jī)制里沒有原始數(shù)據(jù)流動(dòng)傳輸?shù)闹皇歉P痛笮〉攘康囊欢褟埩窟@也是聯(lián)邦學(xué)習(xí)能過合規(guī)審查的核心原因。在入侵檢測場景里有個(gè)容易被忽略的點(diǎn)這種訓(xùn)練方式天然適配“分公司/節(jié)點(diǎn)/機(jī)房”的組織結(jié)構(gòu)。每個(gè)節(jié)點(diǎn)的流量分布不同有的節(jié)點(diǎn)DDoS流量多有的節(jié)點(diǎn)主要是掃描探測聯(lián)邦框架并不要求各節(jié)點(diǎn)數(shù)據(jù)同分布它只要求各節(jié)點(diǎn)把梯度朝各自數(shù)據(jù)的方向推一步整體模型再在“每個(gè)方向的平均值”上邁一步。實(shí)際項(xiàng)目里聯(lián)邦學(xué)習(xí)還能疊一層安全聚合Secure Aggregation讓服務(wù)器無法從收到的梯度反推某個(gè)節(jié)點(diǎn)的樣本信息。NSL-KDD規(guī)模小沒必要上這個(gè)復(fù)雜度但如果以后把這套代碼接到真實(shí)流量上安全聚合就是必須考慮的下一步。做課程項(xiàng)目時(shí)在報(bào)告里提一句“聯(lián)邦只解決了數(shù)據(jù)不出域梯度本身仍可能泄露分布信息”導(dǎo)師會(huì)認(rèn)為你理解到了這一層的邊界比空寫“隱私保護(hù)”要有說服力。2.2 從KDD99到NSL-KDD去冗余之后測評分?jǐn)?shù)才真實(shí)標(biāo)題里的NSL-KDD是KDDCUP99數(shù)據(jù)集的修正版官方提供Train、Test和Test-21三份文件每行是一條網(wǎng)絡(luò)連接記錄共41個(gè)特征外加一個(gè)標(biāo)簽。它與舊版KDD99最大的差別在于去掉了大量重復(fù)記錄舊版訓(xùn)練集里同一類記錄重復(fù)幾十萬條模型記性好一點(diǎn)的都能靠背答案拿高分而NSL-KDD的訓(xùn)練集規(guī)模和重復(fù)度都被控制測試集還額外按難度分了級。因此拿NSL-KDD報(bào)告的數(shù)字更接近真實(shí)泛化能力不再是一種“背題考高分”。對比項(xiàng)KDD99NSL-KDD訓(xùn)練集冗余記錄大量重復(fù)易被模型記憶已去重訓(xùn)練集規(guī)模約12萬條測試集難度分級無分低/中/高三檔實(shí)驗(yàn)可復(fù)現(xiàn)性切分混亂官方切分明確訓(xùn)練/測試文件固定聯(lián)邦實(shí)驗(yàn)適配度不推薦數(shù)據(jù)分布失真常用于Non-IID與聯(lián)邦消融實(shí)驗(yàn)這個(gè)數(shù)據(jù)集之所以到今天還在被各類項(xiàng)目采用是因?yàn)樗銐蛐?、有現(xiàn)成的二分/多分標(biāo)簽、還能和舊版KDD99貫通做論文做畢設(shè)都有參照系。指望它替代真實(shí)流量不現(xiàn)實(shí)但把聯(lián)邦方案先在NSL-KDD上驗(yàn)證一輪再遷移到自己的流量特征上是一條性價(jià)比很高的技術(shù)路線。注意官方三份文件經(jīng)常被重新打包發(fā)布你拿到的csv可能是帶表頭、不帶表頭、多一列難度系數(shù)三種版本之一屬于正常現(xiàn)象本文第3章會(huì)給出對應(yīng)處理。2.3 二分類還是五分類檢測率、誤報(bào)率與每類召回NSL-KDD的標(biāo)簽可以歸成正常加上四類攻擊DoS拒絕服務(wù)、Probe掃描探測、R2L遠(yuǎn)程到本地、U2R提權(quán)攻擊。二分類只管正常和異常最簡單訓(xùn)練快適合快速驗(yàn)證聯(lián)邦鏈路通不通五分類要求模型分辨攻擊類型難度明顯上升尤其是R2L和U2R的樣本量極少經(jīng)常只占總量的百分之幾模型天然偏向多數(shù)類。實(shí)戰(zhàn)里我不會(huì)只看總體準(zhǔn)確率。入侵檢測更真實(shí)的指標(biāo)是檢測率也就是召回率攻擊樣本里被揪出來的比例和誤報(bào)率正常樣本里被冤枉的比例。在聯(lián)邦場景里這兩個(gè)指標(biāo)還要拆到每個(gè)客戶端上去看因?yàn)槿譁?zhǔn)確率高完全有可能掩蓋某個(gè)節(jié)點(diǎn)上檢測率為零的翻車情況。我一般會(huì)固定評估五分類至少要在報(bào)告里給每類召回率不然項(xiàng)目答辯時(shí)很難回答“你的模型到底能不能防住U2R”這種問題。多分類在聯(lián)邦訓(xùn)練中有一個(gè)額外負(fù)擔(dān)各節(jié)點(diǎn)的類別分布不一致會(huì)導(dǎo)致所謂的客戶端漂移。一個(gè)節(jié)點(diǎn)全是R2L樣本它的本地模型更新方向就偏向R2L那條梯度另一個(gè)節(jié)點(diǎn)只有normal和probe方向就完全不同。這兩種方向平均在一起全局模型可能兩頭都學(xué)不好。所以第5章里的Non-IID模擬和第3章的數(shù)據(jù)分片方式是決定這個(gè)項(xiàng)目成敗的關(guān)鍵步驟不能跳過。最后談一下Python在這個(gè)方向幾乎是唯一選項(xiàng)的原因PyTorch處理神經(jīng)網(wǎng)絡(luò)訓(xùn)練、pandas做特征表、sklearn出混淆矩陣和分類報(bào)告三個(gè)庫一條鏈路能打通整個(gè)實(shí)驗(yàn)。對Python剛?cè)腴T的人這個(gè)項(xiàng)目反而比純工程項(xiàng)目友好因?yàn)榕芡ㄗ钚±拥拇a量不到兩百行要做的雜活不過是先裝好Python環(huán)境再把numpy、pandas、scikit-learn、torch四個(gè)庫用pip裝到最新穩(wěn)定版而已。3. 數(shù)據(jù)預(yù)處理落地用Python把NSL-KDD的41維特征變成能喂PyTorch的張量3.1 讀入CSV與字段梳理先分清數(shù)值特征和符號特征讀文件這一步用pandas一行就能搞定但列名要跟官方順序?qū)R否則后續(xù)編碼全亂。NSL-KDD的csv沒有表頭需要手動(dòng)指定列名。讀入之前先確認(rèn)Python環(huán)境就緒缺庫就pip install numpy pandas scikit-learn torch一條命令裝齊Windows和Linux下沒有區(qū)別。import pandas as pd import numpy as np FEATURES [ duration, protocol_type, service, flag, src_bytes, dst_bytes, land, wrong_fragment, urgent, hot, num_failed_logins, logged_in, num_compromised, root_shell, su_attempted, num_root, num_file_creations, num_shells, num_access_files, num_outbound_cmds, is_host_login, is_guest_login, count, srv_count, serror_rate, srv_serror_rate, rerror_rate, srv_rerror_rate, same_srv_rate, diff_srv_rate, srv_diff_host_rate, dst_host_count, dst_host_srv_count, dst_host_same_srv_rate, dst_host_diff_srv_rate, dst_host_same_src_port_rate, dst_host_srv_diff_host_rate, dst_host_serror_rate, dst_host_srv_serror_rate, dst_host_rerror_rate, dst_host_srv_rerror_rate ] def load_nsl_kdd(path): df pd.read_csv(path, headerNone, namesFEATURES [label]) return df邏輯說明FEATURES按官方文檔順序列出41個(gè)特征名read_csv時(shí)用headerNone跳過默認(rèn)表頭names參數(shù)把列名掛上去第42列在代碼里命名為label。這里有一個(gè)本地容易踩的坑有的公開渠道放的NSL-KDD文件多了一列難度系數(shù)直接讀會(huì)報(bào)“列數(shù)不匹配”這時(shí)候給names多加一個(gè)level或者讀進(jìn)來后用drop列處理掉。參數(shù)說明path是訓(xùn)練集或測試集文件路徑函數(shù)返回的DataFrame要保持行順序不變因?yàn)楹竺孀鯪on-IID分片時(shí)會(huì)用它來回放標(biāo)簽索引。csv分隔符是英文逗號文本列里出現(xiàn)引號也沒關(guān)系pandas會(huì)自動(dòng)處理。訓(xùn)練集用load_nsl_kdd(KDDTrain.csv)測試集用load_nsl_kdd(KDDTest-21.csv)文件名以你實(shí)際解壓出來的為準(zhǔn)。3.2 類別特征one-hot與數(shù)值歸一化先編碼還是先縮放41維里有三個(gè)符號特征protocol_type協(xié)議類型tcp/udp/icmp三種、service服務(wù)類型約70種、flag連接狀態(tài)標(biāo)志約11種。剩下的38維都是數(shù)值或比率字段。符號特征不能直接喂給線性層常見做法是轉(zhuǎn)成one-hotservice種類太多全量one-hot會(huì)把維度頂?shù)?10以上我一般先按出現(xiàn)頻率篩出前20個(gè)其余并成other這一類把維度壓在可控范圍。from sklearn.preprocessing import StandardScaler TOP_SERVICE 20 def encode_and_normalize(df, scalerNone, top_serviceNone, fitFalse): label_int df[label].map(build_label_map()) label_int label_int.values.astype(np.int64) # 三個(gè)符號特征統(tǒng)一轉(zhuǎn) one-hot前綴區(qū)分來源 proto pd.get_dummies(df[protocol_type], prefixproto) flag pd.get_dummies(df[flag], prefixflag) if fit: # 只在訓(xùn)練集上統(tǒng)計(jì)高頻 service避免測試集信息泄漏 top_service df[service].value_counts().index[:TOP_SERVICE].tolist() df df.copy() df[service] df[service].apply( lambda s: s if s in top_service else other) service pd.get_dummies(df[service], prefixsvc) # 剩余38列都是數(shù)值型注意先轉(zhuǎn)換類型再縮放 numeric_cols [c for c in FEATURES if c not in (protocol_type, service, flag)] numeric df[numeric_cols].astype(np.float32).values if fit: scaler StandardScaler().fit(numeric) elif scaler is None: raise ValueError(fitFalse時(shí)必須傳入訓(xùn)練集fit好的scaler) numeric_scaled scaler.transform(numeric) x np.concatenate([ numeric_scaled, proto.values.astype(np.float32), flag.values.astype(np.float32), service.values.astype(np.float32) ], axis1) return x, label_int, scaler, top_service邏輯說明encode_and_normalize做的事是符號特征轉(zhuǎn)one-hot、數(shù)值特征用StandardScaler做z-score歸一化、最后按列方向拼接成一個(gè)大矩陣。fit參數(shù)決定這次調(diào)用是“擬合scaler并統(tǒng)計(jì)service”還是“復(fù)用訓(xùn)練集返回的scaler和top_service”。用astype(np.float32)做數(shù)據(jù)類型轉(zhuǎn)換是為了跟PyTorch默認(rèn)的float32對齊順便把內(nèi)存減半。參數(shù)說明scaler和top_service的傳遞是這套代碼的命門。訓(xùn)練集上傳入fitTrue拿到scaler和top_service測試集上必須傳fitFalse并原樣代入否則訓(xùn)練和測試的特征分布不一致測試集準(zhǔn)確率虛高這在第5章避坑中會(huì)細(xì)講。TOP_SERVICE不是固定值看重區(qū)分度可以提到30看重維度稀疏可以降到10改了之后注意模型的in_dim要跟著變。數(shù)值特征這一列最容易出問題的是num_outbound_cmds在KDD99里全是0在NSL-KDD里接近全0StandardScaler對它做z-score得到一堆接近0的小數(shù)不會(huì)影響訓(xùn)練但別好奇地去刪列刪了維度就亂了。3.3 標(biāo)簽映射把攻擊名歸并成五分類NSL-KDD的原始標(biāo)簽是具體的攻擊名需要?dú)w并才能做五分類。歸并邏輯很簡單normal是一類其余按DoS、Probe、R2L、U2R四大族歸類。DOS {back, land, neptune, pod, smurf, teardrop} PROBE {ipsweep, nmap, portsweep, satan} R2L {ftp_write, guess_passwd, imap, multihop, phf, spy, warezclient, warezmaster} U2R {buffer_overflow, loadmodule, perl, rootkit} def build_label_map(): label_map {normal: 0} for idx, group in enumerate([DOS, PROBE, R2L, U2R], start1): for attack in group: label_map[attack] idx return label_map邏輯說明build_label_map返回的字典把normal映射為0四個(gè)攻擊族映射為1到4。后面encode_and_normalize里用的就是這個(gè)字典如果只想做二分類把字典改成{normal: 0}后其他所有攻擊歸為1即可但那樣會(huì)丟掉攻擊類型信息聯(lián)邦輪次里各個(gè)類別的差異化學(xué)習(xí)就看不清了。參數(shù)說明這個(gè)映射表要覆蓋官方所有攻擊名。如果你拿到的NSL-KDD文件里有字典之外的標(biāo)簽encode_and_normalize的map會(huì)返回NaN訓(xùn)練時(shí)交叉熵直接報(bào)錯(cuò)。保險(xiǎn)做法是在map調(diào)用后加一行assert label_int.notna().all()。測試集里出現(xiàn)的攻擊名不一定在訓(xùn)練集里出現(xiàn)過這屬于NSL-KDD的刻意設(shè)計(jì)聯(lián)邦測試時(shí)模型對“沒見過”的攻擊名沒有先驗(yàn)跨類別泛化會(huì)直接體現(xiàn)在召回率上別把這個(gè)當(dāng)成bug。3.4 Non-IID分片用Dirichlet分布模擬各節(jié)點(diǎn)數(shù)據(jù)不均真實(shí)聯(lián)邦場景里各節(jié)點(diǎn)的數(shù)據(jù)分布從來不是均勻的有的節(jié)點(diǎn)全是web服務(wù)有的節(jié)點(diǎn)只跑數(shù)據(jù)庫協(xié)議。要在本地驗(yàn)證聯(lián)邦算法對“分布不均”的容忍度就用Dirichlet分布來控制每個(gè)類別在各客戶端上的占比。def non_iid_split(labels, n_clients5, alpha0.5, seed42): 按Dirichlet(alpha)把樣本分給n_clients個(gè)客戶端。 alpha越小各客戶端類別分布越傾斜alpha100時(shí)接近均勻。 rng np.random.default_rng(seed) n len(labels) client_ids np.zeros(n, dtypeint) for cat in np.unique(labels): idx np.where(labels cat)[0] if len(idx) 0: continue p rng.dirichlet([alpha] * n_clients) counts rng.multinomial(len(idx), p) counts[-1] len(idx) - counts[:-1].sum() order rng.permutation(idx) start 0 for cid, cnt in enumerate(counts): client_ids[order[start:start cnt]] cid start cnt return client_ids邏輯說明逐類別處理每個(gè)類別下的樣本按Dirichlet比例隨機(jī)分給各客戶端。rng.multinomial保證每個(gè)類別的樣本全部被分到某個(gè)客戶端不會(huì)因?yàn)楦↑c(diǎn)取整丟樣本。返回的client_ids和原始數(shù)據(jù)行一一對應(yīng)后面訓(xùn)練循環(huán)里用client_ids cid做布爾索引切片就行用不著復(fù)雜的數(shù)據(jù)集類。參數(shù)說明alpha是出鏡率最高的聯(lián)邦實(shí)驗(yàn)參數(shù)。alpha0.5代表比較極端的Non-IID每個(gè)客戶端可能只擁有兩三個(gè)類別的樣本alpha100則幾乎均勻。課程項(xiàng)目建議兩端都跑一遍在非均勻分布下模型準(zhǔn)確率掉幾個(gè)點(diǎn)屬于正常現(xiàn)象報(bào)告里把這個(gè)趨勢寫清楚反而是加分項(xiàng)。這里有個(gè)數(shù)組索引的小技巧如果想檢查每個(gè)客戶端分到了什么用np.bincount(client_ids)配合labels[client_ids cid]看一眼類別直方圖比打印幾十行日志直觀得多。4. Python實(shí)現(xiàn)FedAvg模型定義、客戶端訓(xùn)練與服務(wù)端加權(quán)聚合4.1 網(wǎng)絡(luò)結(jié)構(gòu)選擇MLP足夠把復(fù)雜度留給聯(lián)邦機(jī)制網(wǎng)絡(luò)結(jié)構(gòu)不需要多深。入侵檢測的特征雖然維度不低但大部分是歸一化后的統(tǒng)計(jì)量三到四層全連接加Dropout就能擬合得很好。不建議在這個(gè)數(shù)據(jù)集上上CNN或Transformer不是用不了而是模型變大之后聯(lián)邦通信開銷線性上漲訓(xùn)練時(shí)間拉長項(xiàng)目收益卻不明顯。import torch import torch.nn as nn class NIDSMLP(nn.Module): def __init__(self, in_dim, num_classes5): super().__init__() self.net nn.Sequential( nn.Linear(in_dim, 64), nn.ReLU(), nn.Dropout(0.2), nn.Linear(64, 64), nn.ReLU(), nn.Linear(64, num_classes) ) def forward(self, x): return self.net(x)邏輯說明用64寬度的兩層MLP刻意不用BatchNorm。這里是有意為之——聯(lián)邦聚合的時(shí)候BN層里的running_mean和running_var不能像普通權(quán)重那樣直接加權(quán)平均一旦引入就得在聚合時(shí)做特殊處理很多新手在這里栽跟頭。用Dropout代替BN聚合代碼就只剩weight和bias的加權(quán)求和復(fù)雜度低一截。參數(shù)說明in_dim在第3章預(yù)處理后得到一般九十多維num_classes二分類傳2、五分類傳5。Dropout取0.2是為了在幾十輪聯(lián)邦訓(xùn)練中既提供一點(diǎn)正則又不至于讓每輪本地更新太弱。如果你發(fā)現(xiàn)訓(xùn)練集上loss收斂慢先把Dropout調(diào)到0.1試試比動(dòng)網(wǎng)絡(luò)層數(shù)見效快。4.2 客戶端本地訓(xùn)練一個(gè)類封裝一輪本地更新把每個(gè)參與方封裝成一個(gè)Client對象內(nèi)部只做一件事接收全局權(quán)重在本地?cái)?shù)據(jù)上訓(xùn)幾個(gè)epoch返回新權(quán)重。這個(gè)設(shè)計(jì)讓后續(xù)從單機(jī)模擬切到真聯(lián)邦時(shí)改動(dòng)量最小。class Client: def __init__(self, cid, x, y, devicecpu, lr1e-3): self.cid cid self.x torch.tensor(x, dtypetorch.float32, devicedevice) self.y torch.tensor(y, dtypetorch.long, devicedevice) self.device device self.lr lr def local_train(self, global_state, epochs2, batch_size64): model NIDSMLP(self.x.shape[1]).to(self.device) model.load_state_dict(global_state) optimizer torch.optim.Adam(model.parameters(), lrself.lr) loss_fn nn.CrossEntropyLoss() dataset torch.utils.data.TensorDataset(self.x, self.y) loader torch.utils.data.DataLoader( dataset, batch_sizebatch_size, shuffleTrue) model.train() for _ in range(epochs): for xb, yb in loader: optimizer.zero_grad() out model(xb) loss loss_fn(out, yb) loss.backward() optimizer.step() return model.state_dict(), len(dataset)邏輯說明Client對象保存一個(gè)客戶端的數(shù)據(jù)和標(biāo)簽local_train接收服務(wù)器下發(fā)的全局權(quán)重在本地?cái)?shù)據(jù)上做幾個(gè)epoch的梯度下降最后返回更新后的state_dict和樣本量。關(guān)鍵點(diǎn)是每次訓(xùn)練都從global_state開始而不是從上一輪本地狀態(tài)繼續(xù)這保證聯(lián)邦學(xué)習(xí)收斂的語義是“圍繞全局模型做局部修正”而不是各節(jié)點(diǎn)在自己的模型上一路跑到黑。定義函數(shù)和類的時(shí)候把變量名寫清楚后面跑消融實(shí)驗(yàn)時(shí)就不用每次重讀代碼。參數(shù)說明epochs對應(yīng)本地訓(xùn)練輪數(shù)是聯(lián)邦里最敏感的超參一般取1到3。取20以上的話每個(gè)客戶端都過擬合到自己的局部數(shù)據(jù)上聚合出來的全局模型反而變差。batch_size用64lr用1e-3這兩個(gè)參數(shù)和集中訓(xùn)練差別不大但如果Non-IID程度高lr降到5e-4更穩(wěn)。device參數(shù)默認(rèn)cpu數(shù)據(jù)量大或要跑多輪實(shí)驗(yàn)時(shí)改成cuda即可注意把x和y都放到同一個(gè)設(shè)備否則torch會(huì)報(bào)device mismatch。4.3 服務(wù)端聚合FedAvg的加權(quán)平均實(shí)現(xiàn)服務(wù)端聚合是整個(gè)聯(lián)邦學(xué)習(xí)的數(shù)學(xué)核心FedAvg的原理一句話就能說清按各客戶端本地樣本量占比對模型參數(shù)做加權(quán)平均。def fed_avg(global_model, client_states, client_sizes): new_state {} for k, v in global_model.state_dict().items(): new_state[k] torch.zeros_like(v) total sum(client_sizes) for state, size in zip(client_states, client_sizes): weight size / total for k, v in state.items(): new_state[k] v * weight global_model.load_state_dict(new_state) return new_state邏輯說明先按key初始化全零張量然后每個(gè)客戶端的權(quán)重按樣本數(shù)占比累加進(jìn)去。torch.zeros_like保證跟原模型張量形狀一致load_state_dict不會(huì)報(bào)錯(cuò)。這個(gè)實(shí)現(xiàn)只支持weight和bias這類普通張量所以4.1節(jié)特意避開了BN層否則這里還要寫B(tài)N統(tǒng)計(jì)量的合并邏輯。參數(shù)說明client_sizes來自每個(gè)Client返回的len(dataset)。要做的是加權(quán)平均而不是簡單平均如果某個(gè)客戶端樣本量是另一個(gè)的100倍前者的梯度方向會(huì)在聚合結(jié)果里占絕對主導(dǎo)。課程項(xiàng)目里的典型錯(cuò)誤是只想“公平”用簡單平均結(jié)果小客戶端的數(shù)據(jù)直接被淹沒聚合出來的模型對大節(jié)點(diǎn)過擬合。如果你希望加入權(quán)重衰減或模型剪枝在這個(gè)函數(shù)里對new_state統(tǒng)一操作即可位置就在load_state_dict之前。4.4 主訓(xùn)練循環(huán)與端到端跑通把前面的塊拼起來主循環(huán)只需要做三件事按client_ids切片、調(diào)用local_train、調(diào)用fed_avg。為了能看到收斂過程每10輪打印一次測試集準(zhǔn)確率。def evaluate(model, x, y): model.eval() x_t torch.tensor(x, dtypetorch.float32) with torch.no_grad(): pred model(x_t).argmax(dim1).numpy() return np.mean(pred y) def run_federated(x_train, y_train, client_ids, x_test, y_test, n_rounds60, epochs_per_client2, n_clients5): in_dim x_train.shape[1] global_model NIDSMLP(in_dim) global_state global_model.state_dict() for rnd in range(1, n_rounds 1): states, sizes [], [] for cid in range(n_clients): mask client_ids cid client Client(cid, x_train[mask], y_train[mask]) state, size client.local_train(global_state, epochsepochs_per_client) states.append(state) sizes.append(size) global_state fed_avg(global_model, states, sizes) if rnd % 10 0: acc evaluate(global_model, x_test, y_test) print(fround {rnd}: test acc {acc:.4f}) return global_model邏輯說明run_federated在循環(huán)里依次執(zhí)行切片、訓(xùn)練、聚合三步。這里是在單機(jī)進(jìn)程內(nèi)順序執(zhí)行所有客戶端模擬的是服務(wù)端逐個(gè)接收客戶端上傳的過程真實(shí)分布式環(huán)境里這些調(diào)用會(huì)被網(wǎng)絡(luò)通信替代但聚合的數(shù)學(xué)完全一致。evaluate函數(shù)在測試集上做前向推理argmax取預(yù)測類別后和真實(shí)標(biāo)簽比均值。參數(shù)說明n_rounds是聯(lián)邦通信輪數(shù)這個(gè)項(xiàng)目里50到100輪基本收斂再多收益很小。epochs_per_client2是計(jì)算量與精度的折中每輪每個(gè)客戶端在本地只跑兩遍數(shù)據(jù)。n_clients要和非IID分片時(shí)的數(shù)字保持一致不一致時(shí)布爾索引就會(huì)漏掉一部分樣本。跑完看一下最后10輪的準(zhǔn)確率波動(dòng)波動(dòng)超過±0.5%說明還沒收斂把n_rounds往上加到100即可。5. 訓(xùn)練避坑與排查災(zāi)難性遺忘、模型漂移與測試集選擇的四個(gè)翻車現(xiàn)場5.1 坑一訓(xùn)練/測試特征不一致全局準(zhǔn)確率虛高現(xiàn)象訓(xùn)練完在KDDTest上一測準(zhǔn)確率接近99%換成KDDTest-21直接跌到91%同一個(gè)模型兩份測試集差出一大截。原因一個(gè)是測試集選擇的差異另一個(gè)是更隱蔽的預(yù)處理泄漏——有的教程讓scaler在訓(xùn)練集和測試集整份數(shù)據(jù)上一起fit測試集的信息已經(jīng)被偷走了。NSL-KDD的KDDTest本身包含大量與訓(xùn)練集重復(fù)的連接模型見過類似樣本分?jǐn)?shù)天然偏高Test-21去掉重復(fù)后才是真實(shí)泛化水平。解決報(bào)告數(shù)字一律用KDDTest-21并且scaler嚴(yán)格只在訓(xùn)練集上fit。第3.2節(jié)里fit參數(shù)就是為這個(gè)設(shè)計(jì)的測試集上必須傳fitFalse和訓(xùn)練集返回的scaler。做對比實(shí)驗(yàn)時(shí)固定這套流程防止不同實(shí)驗(yàn)間的預(yù)處理不一致影響結(jié)論。有一個(gè)小技巧如果某輪實(shí)驗(yàn)得到的結(jié)果異常高先檢查是不是把測試集混進(jìn)fit了這是這個(gè)項(xiàng)目里最容易犯也是最不容易發(fā)現(xiàn)的錯(cuò)誤。5.2 坑二本地epochs設(shè)太大聚合后模型漂移現(xiàn)象本地訓(xùn)練20個(gè)epoch每個(gè)客戶端本地準(zhǔn)確率都98%以上聚合后的全局模型在測試集上只有70%還不如只訓(xùn)2個(gè)epoch的結(jié)果。原因每個(gè)客戶端在本地?cái)?shù)據(jù)上反復(fù)迭代模型被拉向本節(jié)點(diǎn)的局部最優(yōu)方向多個(gè)方向的平均變成了一個(gè)四不像。聯(lián)邦學(xué)習(xí)論文里管這叫client drift本地訓(xùn)練步數(shù)越多漂移越嚴(yán)重。解決把epochs降到1到3。這是一種“后悔藥”式的參數(shù)修正如果發(fā)現(xiàn)已經(jīng)跑了一輪epochs20的實(shí)驗(yàn)不用重寫代碼把run_federated(epochs_per_client2)重跑一遍即可。如果降到1仍然不穩(wěn)可以在客戶端loss里加一個(gè)近端項(xiàng)懲罰本地權(quán)重偏離全局權(quán)重這個(gè)思路對應(yīng)FedProx在loss上再加一項(xiàng)mu/2 * ||w - w_global||^2mu取0.01到0.1之間。我一般先試epochs2不穩(wěn)再加近端項(xiàng)不急著動(dòng)lr。5.3 坑三Non-IID分片后訓(xùn)練發(fā)散loss持續(xù)增大現(xiàn)象alpha0.5的Non-IID分片下全局和本地loss都不下降有時(shí)直接變成NaNalpha100時(shí)一切正常。原因一個(gè)客戶端只有一種攻擊類型時(shí)它的梯度方向跟全局方向幾乎垂直幾輪平均下來形成震蕩如果再用Adam的默認(rèn)lr個(gè)別客戶端梯度炸了就NaN了。解決兩個(gè)改動(dòng)一起做。一是把學(xué)習(xí)率從1e-3降到3e-4二是在每個(gè)客戶端的交叉熵上做類別加權(quán)讓樣本量少的R2L、U2R類別即使在一個(gè)客戶端上出現(xiàn)次數(shù)很少也不至于被遺忘。也可以在分片時(shí)先用alpha1跑通鏈路再逐步調(diào)低alpha觀察模型退化曲線這個(gè)曲線本身就是項(xiàng)目報(bào)告里很好的素材。要記住在大規(guī)模聯(lián)邦里Non-IID下的發(fā)散可能來自單個(gè)客戶端的病態(tài)梯度打印每個(gè)客戶端各自的loss而不是只看聚合后的全局loss能更快定位到是誰拖垮了全局。5.4 坑四災(zāi)難性遺忘——輪次推進(jìn)后舊攻擊類型“突然不會(huì)了”現(xiàn)象第20輪時(shí)五分類的每類召回都正常第40輪開始U2R的召回率從80%掉到30%后續(xù)輪次再也沒有恢復(fù)。原因這是聯(lián)邦學(xué)習(xí)里災(zāi)難性遺忘的典型表現(xiàn)。全局模型在新輪次里被大多數(shù)客戶端的大類樣本主導(dǎo)少數(shù)類別尤其樣本量極小的U2R和R2L的梯度信號被淹沒模型把參數(shù)空間里原先識別U2R的區(qū)域逐漸覆蓋掉。集中式訓(xùn)練同樣有遺忘問題但聯(lián)邦環(huán)境里各客戶端數(shù)據(jù)不平衡讓遺忘來得更快更隱蔽。解決三個(gè)手段按成本從低到高排列。第一每輪聚合后對每個(gè)類別單獨(dú)算召回一旦某類比上一輪跌超過5個(gè)點(diǎn)就回滾到上一輪權(quán)重再小步重訓(xùn)給項(xiàng)目加一個(gè)簡單的“剎車機(jī)制”。第二在服務(wù)端保存一份驗(yàn)證集每輪用驗(yàn)證集挑出最優(yōu)round的權(quán)重相當(dāng)于給模型存了后悔藥訓(xùn)練結(jié)束后加載最優(yōu)權(quán)重而不是最后一輪權(quán)重。第三如果類別不平衡是常態(tài)考慮在客戶端本地做少數(shù)類過采樣或者干脆改用二分類加一個(gè)專門檢測R2L/U2R的小模型別讓一個(gè)模型背所有鍋。我自己做實(shí)驗(yàn)時(shí)最常用的是第二條簡單可靠而且在答辯時(shí)可以直接展示“最優(yōu)權(quán)重出現(xiàn)在第幾輪、為什么”。關(guān)于評估指標(biāo)還有一條硬規(guī)矩五分類下只報(bào)accuracy是不夠的至少要帶上每類recall和誤報(bào)率否則災(zāi)難性遺忘根本不會(huì)被你發(fā)現(xiàn)。用sklearn的classification_report一行就能輸出全部類別精確率、召回率、F1畫混淆矩陣時(shí)如果類別標(biāo)簽擠成一團(tuán)把figure size調(diào)大到(8, 6)以上就好。聯(lián)邦場景下我更建議額外打印每個(gè)客戶端在測試集上的單獨(dú)表現(xiàn)因?yàn)槿种笜?biāo)好看不能掩蓋某個(gè)節(jié)點(diǎn)上的檢測失效這一點(diǎn)在答辯時(shí)也是容易被追問的角落。6. 從模擬到真聯(lián)邦消融實(shí)驗(yàn)、通信開銷與三行改造清單模擬畢竟是模擬真聯(lián)邦在網(wǎng)絡(luò)不穩(wěn)定的真實(shí)環(huán)境里還要面對掉線、傳輸延遲和梯度過期問題。做驗(yàn)證時(shí)有三個(gè)技巧值得用。第一個(gè)是消融實(shí)驗(yàn)。把集中式訓(xùn)練、聯(lián)邦5客戶端、聯(lián)邦10客戶端三組跑在同一份預(yù)處理代碼下記錄測試準(zhǔn)確率、每類召回率和訓(xùn)練耗時(shí)。集中式可以看作聯(lián)邦的上限參照兩個(gè)聯(lián)邦實(shí)驗(yàn)的差距體現(xiàn)數(shù)據(jù)分片帶來的信息損失。我習(xí)慣把結(jié)果畫成一張對比表集中式94.2%、聯(lián)邦5客戶端92.8%、聯(lián)邦10客戶端91.5%這種形式比文字描述“聯(lián)邦效果還行”有說服力得多。第二個(gè)是通信開銷的量化。單個(gè)模型參數(shù)量乘以2上傳加下載再乘以通信輪數(shù)就能估算傳輸字節(jié)量。以文中這個(gè)MLP為例in_dim約90、兩層64寬參數(shù)量大約一萬出頭float32一個(gè)參數(shù)4字節(jié)一輪通信約80KB60輪不到5MB。這個(gè)數(shù)字放進(jìn)報(bào)告里就能正面回應(yīng)“聯(lián)邦學(xué)習(xí)到底多耗帶寬”的質(zhì)疑。第三個(gè)是遷移真聯(lián)邦的改造清單把Client里的數(shù)據(jù)加載換成遠(yuǎn)程文件路徑、把local_train返回值序列化后走消息隊(duì)列傳輸、服務(wù)端fed_avg換成異步聚合以容納掉線節(jié)點(diǎn)。常見做法是直接用Flower這類聯(lián)邦框架改配置或者自己拉一套gRPC兩者都能保留第4章代碼本體的八到九成。我做這個(gè)方向時(shí)踩過最大的坑是默認(rèn)“本機(jī)模擬的結(jié)果等于分布式結(jié)果”真搬到多機(jī)后才發(fā)現(xiàn)網(wǎng)絡(luò)延時(shí)會(huì)放大每個(gè)round的耗時(shí)原來用60輪訓(xùn)練的代價(jià)在真環(huán)境下翻了不止三倍。后來我在模擬階段就把round數(shù)壓到40把epochs壓到1用更多客戶端替代更多輪次反而拿到更穩(wěn)定的結(jié)果。把“通信輪次”當(dāng)成跟學(xué)習(xí)率一樣的超參去調(diào)是聯(lián)邦項(xiàng)目跟普通深度學(xué)習(xí)項(xiàng)目最大的習(xí)慣差異。這個(gè)思路貫穿了我后來所有的聯(lián)邦實(shí)驗(yàn)希望這些記錄對你有所幫助。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美激情Va| 在线婷婷| 久久99热精品a片在线观看| 五月丁香婷婷综合视频| 午夜微拍福利| 日韩黄在免| 色五月色图| 天天拍久久| 成人网在线视频| 黄网在线免费| 亚洲国产精品二二三三区| 免费观看的av| 99色色色色| 久久婷婷激情五月天一区二区| 婷婷狠狠爱| 婷婷午夜| 天天日天天色| 99久久极情精品一区| 五月婷婷久草在线视频综合| 欧美色色色| 亚洲AV网站| 另类国产欧美视频| #NAME?| 香蕉婷婷| 五月天综合网| 偷偷与邻居做爰完整视频| 激情四射五月天| 五月婷婷丁香社区| 色播激情五月天| www夜夜操wwwcon| 天天爽爽日日做做| 五月丁色AV| 超碰女人天堂| 天天噜天天插| 高清无码 一区 二区 三区| 91偷拍视频| 天天干天天曰天天射| 欧州婷婷五月天综合| 99热超碰在线| 日本视频久久| 久久曰9| 4399啪啪视频| 婷婷五月天 丁香五月天 裸体| 久久精彩视频| 国产露脸150部国语对白| 欧美性猛交 XXXX 乱大交| 五月激情六月综合| 无码激情AAAAA片-区区| 六月婷综合| 99热在线观看| 成人va在线| 激情婷婷五月丁香啪啪啪| 99热在线观看| 亚洲综合色婷婷文学| 成人草榴视频| 久久精品五月| 欧美内射AA| 婷婷欧美偷拍综合| 色五月婷激情| 天天日天天舔| 天天天天天天操| 激情综合网五月天| 亚洲情综合五月天| 久久丁香九| 色色影院黄大片| 九九综合网色全集| 夜夜涩涩涩| 色亭亭五月天网扯| 99热8| 97色色色| 国产FREESEXVIDEOS性中国| 99精彩视频| 成人做爰A片免费看视频| 中字幕视频在线永久在线观看免费| 91日韩在线| 国产69久久久欧美黑人A片 | 五月天玖玖狠狠色色| 天天干天天干天天干天天干天天干天天 | 欧美丰满熟妇BBB久久久| 欧美搡BBBBB摔BBBBB| 日韩一本操| www.色多多婷| 色色婷| 色综合久久88色综合天天人守婷| 色色色色色色网| 97色片| 五月丁香久久| 一起草无码| 色愛综合网| 大狠狠在线| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 亚洲操精品| 99精品在线观看视频| h在线看免费版在线看| 久久婷婷五月丁香蜜桃网| 国产黄色一级片| 9er热在线精品视频| 日本精品。999| 五月婷婷网五月在线| 五月激情影院| 久久人人添人人爽添人人片αV| www.玖玖婷婷在线| 六月丁香啪| 五月婷导航| 秋霞AV淫| 久草五月丁香婷婷综合| 激情五月天啪啪视频| 思思热久久婷婷五月天| 欧美性爱五月天| 久草x色在线观看99 | 国产成人综合在线| 99热这里只有精品22| 久久精典| 人人综合91网| 深爱激清网| 色色射| 99艹精品在线观看| 精品人妻久久久| 婷婷五月色激情欧美激情| 五月婷婷六月激情| 综合五月婷婷| 99ri国产在线| 大香蕉七区| 五月丁香六月婷婷中文版| 色亭亭五月天丁香综合AV - 百度 - 百度| 欧美成人精品A片免费一区99| 吾爱AV导航| 深爱激情四射| 农村熟妇高潮精品A片| 99视频在线观看网址| 99热www.| 日日爽日日| 色婷亚洲| 婷婷五月天堂| 久久人视频| 五月香蕉婷婷| 欧美激情性做爰免费视频| 99久久九九| 日本婷婷色日| 99在线视频喷水| 五月天色官网| 久久AV无码精品人妻系列试探| 色五月五月婷婷| 久久ab| 97色干在线观看| 日本综合色图| 五月激情六月宗合| 日本一级黄色电影| 可以看的av网站| 99久久精品国产色欲| 玖玖资源站蜜臀| 2018国产大陆天天弄| 久久久久9999| 狠狠色婷婷| 九九热这里只有精品23| 91蜜桃婷婷狠狠久久综合9色| 国精产品一区二区三区| 另类激情首页| 日本久久人| 桃色激情网| 激情网 久久| 五月丁香拍拍激情综合| 无码一区精品一区视频| 久久久精品人妻录| 97超级操操| 曰日爽日日操| 丁香五月天.com| 五月天婷婷在线播放| 操精品9| 五月天激情图| 日韩精品无码AV| 激情婷婷五月| 九九色婷婷| 99久热| 久久黄A片| 婷婷久久综合| 丁香五月天激情AV| 91九色在线观看免费| 亚洲欧美一区二区三区四区爱爱动图| 啪啪五月综合| 九九激情网| www.色99| 性欧美大战久久久久久久83| 五月婷婷激情视频| 婷婷五月天黄色| 国产激情综合| 五月丁香天堂网婷婷| 国产精品18久久久| 久久五月天色| 久久久婷婷婷| 久久婷婷六月综合国际| www.99热在线| 成人五月天在线观看| 亚洲综合在线视频| 五月丁香六月婷婷操操操| 4438国产免费看| 9久久婷婷国产综合精品性色| 五月丁香六月婷婷啪啪| 最近免费中文字幕大全高清大全1| 日日想日日夜日日操| 久久激情中文| 亚洲人人操| 可以直接看的av| 久久视频66| 在线观看免费人成视频无码| 九九热在线视频观看| 五月丁香大相交| 天干夜夜操| 五月婷婷开心色伊人| 超91热| 色色a| 久热成人| 精品无码片| 噜噜噜狠狠色综| 色噜噜,噜噜色| 日本三级99人妇网站| 深爱五月婷婷| 婷婷亚洲丁香五月| 婷婷激情在线| 久久国产成人9999久久久久| 日韩视频99| 丁香五月欧美色综合| 日本WWW九九九| 色色亚洲| www久| 东北婷婷五月天| 伊人9在线| 强辱丰满人妻HD中文字幕| 五月婷婷婷| 五月色综合网欧美网| 性色九九| 被强行糟蹋的女人A片| 丁香六月久久| av在线色五月丁香婷区久| 五月久久婷婷丁香| 毛v一区二区视频| 99精品色| 黄色成人网站在线播放| 女人天堂 AV| 激情综合啪啪啪| 日本97在线看片| 欧美日韩成人| 五月婷婷丁香啪啪| 夜夜撸日日骑| 五月婷婷和六月| 亚洲色图五月丁香| 精品无码片| 婷婷五月色| 激情五月天社区| 婷婷六月婷婷| 婷婷五月天最新综合你懂的 | 综合色色婷婷| 99re这里只有精品在线观看| www.av视频xx999.com| 9久久久| 亚洲视频一区| 婷婷五月天伊人网| 91婷婷搞| 久久久久网站| 99啪99| 色久激情在线| 五月天激情久色| 日本老女人黄页在线播放| 丁香久久激情俄| 色色色色色色综合网| 99热欧美| 婷婷色五月天在线| 丁香五月天黄色片| 99九色视频在线观看| www天天爽| 色婷五月| 激情婷婷色五月| 精品99只有。| 伊人AV五月婷| 99久久玖玖| 五月天深爱激情网| 色偷偷狠狠| 天天做天天爰天天爽天天无遮挡| 玖玖资源部在线播放| 97福利视频| 在线视频另类| 91啪啪视频| 91综合色| 午夜免费试看| 五月丁香怕啪啪| 久久99免费视屏| 啪啪激情网| 婷婷激情六月综合| 色狠狠五月天| 色国产五月| 久久这有这里精品| 久久成人综合五月天| 色婷婷精品小视频| 国产精品视频久久99| 99这里只有精品在线观看| 激情婷婷丁香色情五月天| 五月丁香啪啪拍| 5月色亭亭视频| 丁香 婷婷五月| 激情综合网,婷婷| 第六色在线| 青青草护士中出内射-欧美电影在线天堂新版| 久青青久| 91久久婷婷人人澡草 | 色五月激情网| 情五月亚洲婷婷| 婷婷免费无视频| www,婷婷五月天,com| 五月婷婷花| www色婷婷com| www.99视频| 色区久久| 性爱技巧五月| 久久精品63| 99碰碰| 久久欧洲久久| 成人超碰Av| 色爱亚洲| 狠狠干天天日| 在线精品97| 一区二区传媒视频| 色五月丁香六月资源站| 五月天成人在线播放丁香| 色五月色五天免费视频| 99热精品在线播放| 久久久久久久久久久久久久久久一道本| 色色97丁香婷婷五月天| 九九激情综合| 永久AⅤ1| 日本三级日本三级99| 成人五月丁香花| 老师把我爽高潮了免费A片| 中文精品在| 丁香五月 综合| 婷婷婷五月天最新综合你懂的| 深爱激情五月婷婷| 99熟女| 特黄三级又爽又粗又大| 婷婷六月丁香综合| 操骚货在线| 99久在线精品99re8热| 三年高清大片免费观看国语| 免费啪啪亚州视频| 久久aaaa片一区二区| 久久99精品久久久久久三级| 国产精产国品一二三在观看| 99久久久久久www| 五月综合视频在线| 亚洲色五月婷婷| 色色色热| 非洲一级AV| 六月色狠狠色| 色色五月婷| 这里只有精品96| 另类伊人婷婷| 色 色 色综合com| 欧美婷婷| 久久五月天视频| 国内一级片| 91婷婷五月丁香碰| 久久精品66| 五月婷婷丁香综合| 97碰在线免费观看| 五月停停丁香| 丁香网站| 狠狠操狠狠爱| 激情人妻综合| 亚洲综合欧美色丁香婷婷888月图片| 九九久久99| 丁香五月天色婷婷| 精品热九九| 天天做天天爱天天日| 欧美色性色好| AV在线不卡网站| 色婷婷综合五月| 丁香五月综合| 欧美激情综合色综合啪啪五月| 人妻操操色| 香蕉久久国产AV一区二区| 日韩日比视频| 久久99网| 日本在线wwww| 激情五月视频在线婷婷| 大香蕉视频婷婷| 99久久这里只有精品免费官网| 久久久ww| 五月丁香好婷婷A片网| 中文字幕乱轮| 26uuu色五月| 天天肏屄夜夜爽| 8区视频在线| 五月天大香蕉AV| 五月天婷婷深深爱| 五月婷婷影视| 婷婷六月天亚州| 亚洲精品久久久久久久久久吃药| 激情综合播播| 亚洲成人在线播放| 丁香五月综合色婷婷| 婷婷在线精品| 五月丁香色色网| 91丨九色丨丰满人妖| 综合一区二区三区| 九九99热| 欧洲毛片基地c区| 啪色综合| 亚洲天堂热| 啪啪 综合网| 五月天婷婷影院| WWW、日本色丁香、co m| 久久婷婷五月综合啪| 激情综合网激情五月俺也去| 天天摸夜夜夜| 五月99久久| 亚洲免费av在线| 人人插9| 日韩一级网站| 超碰人人艹| 小视频久久久aaa| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 99热这里只有精品8| 99热婷婷| 99ER热精品视频| 亚洲中文乱字字幕线在永久| 丁香五月激情综合久久| 五月丁香成人小说| 婷婷综合网站| 97精品人人A片免费看| 色婷婷五月天天天做| 亚洲精品a成人在线播放| 久99久热只有精品国产99| 综合久久婷婷99| se99视频| av在线资源| 伊人久久婷婷| 激情五月亚洲| 欧美视频五区| 五月天激情AAAA| 草草夜夜操| 丁香五月婷婷在线视频| 大香蕉大香蕉在线影院| 婷婷综合五月| 99av视频| 狠狠色丁香| 极品人妻VIDEOSSS人妻| 人人色婷婷| 91精品久久久久久77777| 白人荫道BBWBBB大荫道| 色五月色五天免费视频| 91日韩在线| 内射人妻视频国内| 色色a| 99久热这里只有精品视频删减版| 91九九九九九九| 中文资源在线a| 中文字幕丰满乱孑伦无码专区| 免费在线观看AV网站| 人人操人人干AV| 去干网av| www久久久久久| 日日爽日日| 天天色综合综合| 人人操人人操919999| 依人大香蕉| 五月宗合激情网| 久久99婷婷| 无码激情AAAAA片-区区| 伊人久久大香线蕉av最新| 色婷婷最爱五月| 小色小蛇伊人婷婷色香五月| 国产毛片欧美毛片久久久| 99精品热| 99热这里只有精品一| 99热只有精品在线| 丰满少妇猛烈A片免费看观看| 天天狠狠六月婷丁香影院| 午夜不卡久久精品无码免费| 六月婷久久| 激情综合网激情五月欧美| 久草a片| 色五月婷婷7777| 色五月色五天色情网| 国产99视频永久免费| 婷婷欧美综合| 丁香五月综合首页| 丁香六月成人| 最近中文字幕大全免费版在线| 狠狠高潮精品亚洲1| 色情五月天首页| 激情丁香社区| 婷婷色在线播放| 色和综合网| 亚洲激情五月天| 色激情五月天| 色婷婷九月| 久久99最新| 激情丁香社区| 五月丁香无码| 99久久玖玖| 91色五月在线观看| 婷婷丁香九色| 成人做爰高潮A片免费视频| 五月丁香操婷逼| 17.c黄色| 99久久免费精品| 天天噜天天爱| 丁香婷婷五月天亚洲| 97色久| 操人精品| 色欲婷婷五月天丁香| 操日本99| 丁香婷婷婷| 亚洲无码影音| 婷婷五月性感| 激情综合色五月丁香| 大香蕉啪啪啪| 五月丁香啪啪啪| 色情婷婷五月天| 99视频久久| 天堂五月婷婷| 色色亚洲| 欧洲综合视频| 久久九九综合| 人妻操逼视频| 九热视频| 免费看欧美成人A片无码| 99亚洲精品| 国产毛片精品一区二区色欲黄A片| 九九热视频99| 久99久视频| 婷婷色丁香五月| 国产精品成人AV在线| 婷婷久久精品| 婷婷色中文字幕| 九久9精品| 大香蕉综合在线| 一本久道综合色婷婷五月| 久久东京热婷婷五月| 在线观看的av| 丁香五月婷婷网| 九九碰九九爱97超碰| 日本综合色图| 波多婷婷久久| 97香蕉人人在线观看| 九九精品热播| 婷婷五月av| 日韩一区二区在线播放| 99精品视频免费观看,| 五月丁香色婷婷熟女| 激情五月色在线播放| 婷婷丁香成人五月天| 丁香婷婷激情六月五月开心| 色婷久久| 日韩一区二区A片免费观看| 亚洲无码影音| 99热九九在线| 99久久免费性爱视频`| 99 热| 五月天色婷婷视频| 这里精品| 在线99热| 激情小说色五月| 成人免费视频一区| 久久精品99| 久久人妻爱爱| 婷婷五月天亚洲| 九月激情网| 精品夜夜澡人妻无码AV| 96精品国产综合久久久久久| 人人操AV| 婷婷综合在线观看视频| 色色a| 婷婷爱五月天| 爱iii做iiii日日| av在线播放网址| 丁香五月在线视频| 激情五月综合| 亚洲综合另类| 97精品自拍视频| 综合五月天亚洲婷婷| 狠狠色噜噜色狠狠狠综合久久成人波 | 色婷婷狠狠久久综合五月| 97热这里只有精品| 国产又黄又爽又色的免费| 9色天堂| 狠狠爱综合网| 狠狠色综合精品视频在线| 丁香婷婷深情五月亚洲| 日逼影音先锋AV男人资源站| 免费国产VA国产免费| 这里只有精品视频99| www.minyis.com【JT】实力收量可预付QQ2101460746 | 99九九精品视频推荐| AV成人在线播放| 婷婷五月天色综合翘| 五月婷婷综合丁香视频| 国产精产国品一二三在观看 | 99网| 99精品在线播放| 色色网站免费| 中文字幕丰满孑伦无码专区| 大香蕉婷婷五月天| 丁香六月欧美| caop视频| 精a品a视a频| 免费精品99| 色伊人91在线视频| 99er6免费视频热播| 亚洲另类视频| 色.五月综合网| 激情欧美婷婷| 99精品在线观看视频| jiujiuxiangjiaowang| 99热国品免费| 五月天堂色| 六月丁香啪| 丁香5月啪啪| 日韩成人精品中文字幕| 国产成人AV在线播放| 婷婷色色播五月天| 亚洲操逼网| 26UUU欧美激情一区二区| 五月天精品综合| 深爱五月天| 亚洲激情网| 色五月超碰| 9热在线视频精品| 婷婷娱乐丁香综合网| 丁香婷婷大香蕉| 99激情在线| 色色色色色综合| 色吧网91| 久久久精久人妻| 五月婷丁香| 婷婷五月丁香综合| 婷婷的久久网站| 色99在线看| 亚洲婷婷免费| 激情碰碰碰| 日韩十国产极品久久| 江苏少妇性BBB搡BBB爽爽爽 | 大地资源色婷婷视频在线| 日日躁夜夜躁狠狠久久AV| 丁香五月天激情婷婷丁香六月| 婷婷色在线观看| 伊人久久大香线蕉av最新| 日日干夜夜干| 91丨九色丨丰满人妖| 五月天丁香久久| 超级黄色片| 六月婷婷综合激情| 婷综合| 狠狠干综合| sesesesezonghe| 丁香五月天电影| 久久亚洲A| 婷婷综合久久| 夜夜夜夜做天天天做无码视频| 蜜桃人妻无码AV天堂三区| 五月花婷婷在线精品视频| 99在线观看| 六月婷婷狠狠| 伊人大综合| 久久激情五月网| 中文字幕高清av| 九九热这里| 超碰资源在线| 激情五月婷婷网| 天天爱天天日| 99热99艹在线观看| 思思re99视频在线观看| 996精品热视频| 一本久道综合色婷婷五月| 99色6爱9热| 亚洲乱码日产精品BD| 99国产性感视频| 1234操逼网| 婷婷丁香九月| 狠狠干天天内射| 影音先锋秋秋五月婷婷| 激情综合网五月激情网| 97操在线视频| 欧美性生交XXXXX无码小说| 久久成人天| 激情丁香久久久久久| 91美女被操| 五月激情网五月综合网| 一区二区aV电影免费看| 九九热黄色| 在线综合婷婷| WWW·色色色·COM| 婷婷五月天AV| 自拍盗摄 另类| 色婷婷久久久| 国产一级视频a| 热久精品| 丁香五月婷婷姐| 亚洲中文AV网站| 五月天激情图片| 99热精品综合| 黄色成人网站在线播放| 香蕉人妻AV久久久久天天| 婷婷五月综合网| 婷婷五月丁香五月| 色综合网页| 亚洲久热| 五月丁香天堂网| WWW.天天日| 丁香婷婷婷婷十二月在线观看视频| 99自拍视频网站| 午夜精品777| 97超碰在线免费观看| 五月激情小说| 99爱视频| 国产色五月婷婷| 五月天综合在线| 亚洲天堂玖玖| 久热这里| 变态另类9| 国精产品久久| 激情五月综合色| 黄色99热| 国产av一区二区三区| 成人av在线网站| 丁香五月av在线| 久久99久久99久久99人受| 色在线免费观看| 久久婷婷五月综合| 91久久精品无码一区二区三区| 久久99这里只有精品视频| 成人精品在线观看| 狠狠色噜噜| 人妻乱码久久久| 91AV婷婷| 六月丁香婷婷大香蕉| 国产人妻人伦精品一区二区| 日本人妻A片成人免费看片| 99综合色| 婷婷五月天亚洲精品| 欧美日韩91| 五月天激情四射网站| 伊人喵咪a V| 免费观看的av| av中文在线| 丁香狠狠色婷婷| 玖玖热视频| 狠狠狠狠操| 夜夜天天久久婷婷| 婷五月丁香俺| 人妻22p| 182TV亚洲| 日本大逼91| 久久免费少妇高潮99精品| 色情五月婷婷| 六月丁香啪啪啪| 色婷婷19| www.婷婷亚洲基地| 超碰93在线观看| 夜夜撸夜夜骑| 六月婷婷开心| 久久婷婷五月天蜜桃| 亚洲久热无码| 色噜综| www,色中色| 婷婷五月天少妇| 久热这里只有精品在线观看 | AV中文字幕夜夜操b天天摸bb| 欧美情色电影一区二区| 年轻的妺妺伦理HD中文| 色综合久| 另类在线| 国产古装妇女野外A片| 欧美激情综合色综合啪啪五月| 激情综合网五月| 色情五月综合婷婷| 色欲久久综合| 成人精品在线观看| 极品少妇高潮啪啪AV无码| 开心五月婷婷激情| 一点色成人网| 久久婷婷五月综合色区| 九九热思思| 五月天激情小说欧美激情| 六月婷婷久久大全| 日本色五月| 色婷婷五月天成人网| 亚洲天堂啪啪| 色色色色网| 另类小说五月天| 怎么样可以看免费的一级av| 99热传媒| 青青艹b| 六月婷婷七月丁香| 成人av中文字幕| 色色综合成人网| 色五月开心五月激情五月| 在线综合婷婷| 天天爽天天干天天| 婷婷五月色天| 精品九九视频| 五月天俺去也| 婷婷亚洲综合| 天天爽人人综合免费7799| 久久香蕉网| 色婷婷成人做爰A片免费看网站| 极品精品一区二区三区在线| 日本在线wwww| 久久久WWW| 亚洲色欲欧美一区二区三区| 婷婷色情小说| 亚洲第一综合| 婷婷免费视频| 玖玖爱伊人网| 97黑人精品区| 美女丁香五月天| 这里只有精品视频在线看| 激情六月婷婷| 丁香色婷婷| 亚洲网综合在线| 色九九九九| 婷丁五月| 色在线视频网2025| 高清无码视频网址| 中文字幕婷婷9月天| 综合色吧| 五月婷婷视频啪啪美女| 五月六月婷| 五月婷婷五月天| 日本A片一区| www.色综合| 99亚洲色| 色五月在线播放| 人人肏逼视频在线一区二区| 97影院一级片| 人妻操操色| 超碰女人天堂| 99色嘟嘟精品网站| 日韩啪啪网| 99热这里只要精品免费| 久久伊人五月天| 久久ri精品视频| 色婷视频| 熟女国产在线一区二区三区四区| 九九成人精品免费视频| 毛片色五月| 婷婷综合网站| 91精产一区三区免费观看| 久久五月丁香伊人青草| 天天在线XXX| 影音先锋91在线资源站| 夜夜资源站| 久久精品视频9| www.99热这里只有精品| 97婷婷久久丁香| 91免费在线视频6| 色五月婷婷操逼| 不卡成人免费| 天堂爱爱| 亚洲综合99| 婷婷激情四射五月天| 五月丁香婷婷久久| 色色色999| 亚州婷婷五月激情综合| 五月婷色丁香| 天天综合网站| 中文字幕综合| 狠狠色综合网站久久久久| 极品少妇XXXX精品少妇偷拍| 天堂久久精品| 99久久极情精品一区| 亚洲电影在线观看| 26UUU| 久久东京热婷婷五月| 久久婷婷五月综合色天| 色丁香在线视频| 亚洲久热| 久99视频在线观看| www婷婷| 色色色色色九九九九九| 婷婷久久国产视频| 五月激情站| 一级性感黄色内射视频| 美女五月天| 91九九九色在| 色婷婷五月网| 亚洲精品久久久无码| 婷婷五月天美女| 六月婷婷激情| 欧美日本黄色| 色综合中文| 麻豆精品| 激情婷婷六月天| 久久五月天 91| 五月婷婷激情四月| 91丨九色丨首页| 久热中文字幕在线线观看| 国产精品久久久久久久久久久久| 日韩人妻无码一区二区| 五月激情影院| 成人天天爽| 午夜一区| 色色色综合视频| 五月天综合在线| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 久99久在线| 超碰在线观看99| 色五月综合激情| 97人妻碰碰中文无码久热丝袜| 99久在线观看| 五月天综合婷婷| 色婷婷五月综合| 五月婷婷综合在线| 色欲Av五月天| 欧洲色| 丁香五月天欧美| 久久无码成人| 色五月丁香六月婷婷| WWW.HENHENL.| 欧美综合激情丁香五月六月婷| 丁香色影院| 色婷婷先锋| 久久婷婷热| 婷婷五月天色色| 天堂五月婷婷| 五月丁香久久激情综合| 婷婷伊人网| 91网站黄| 无码99| 丁香五月宝贝激情网| 伊人大综合| 五月婷婷在线综合| 日本理论久久| 日韩成人AV在线| 色婷婷中文字母五月丁香| 另类少妇人与禽zOZZ0性伦| 六月丁香五月激情网| 日韩av在线播放综合网| 九九在线精点品| 在线色色| 噼里啪啦完整版中文在线观看| 色综合综合色| 97碰成超视频免费视频| 99啪啪视频| www.狠狠狠.com| 亚洲av成人一区二区电影在线| 九九99热久久精品66中文字幕| 色婷婷导航| 少妇真实被内射视频三四区| 亚洲欧美999| 99精品视频偷拍| 婷婷大香蕉| 99国产这里只有精品| 91肏| 蜜桃五月天| 夜夜骑夜夜操| 久久婷婷激情五月天一区二区| 色情终和网| 丁香五月激情网| 嫩草AV久久伊人妇女超级A| 亚洲午夜成人av电影网| 丰满人妻一区二区三区| 婷婷亚洲五| 99色在线观看视频者| 站长推荐无码播放| 丁香五月大片| 99九九在线视频| 日日爽夜夜爽| 99精品视频网站| 成人做爰A片免费看网站找不到了| 三年高清大片免费观看国语| EEUSS鲁片一区二区三区| www色婷婷久久综合久色 | 超碰人妻公开在线| 五月丁香激情四射| 九九成人精品| 91热视频色网站| 久久小说网| 丁香五月手机在线| 五月婷婷色情| 成人在线精品| 亚洲综合视频八| 五月天播播| 丁香婷婷月| 天天噜天天爱| 五月丁香啪综合| 亚洲综合色成丁香五月色| 久久久www| 九九色视频| 五月丁香六月激情综合网| 99热亚洲综合| 国产SUV精品一区二区6| 婷婷伊人综合中文字幕| 五月丁香六月香综合激情| 婷婷丁香社区网| 小泽玛利亚视频一区二区| 日日影院 | 99ri精品| 丁香五月婷婷香| 激情五月六月丁香| 韩日在线熟女| 色婷婷激情| AⅤ在线播放网| 亚洲精品国产A久久久久久| 九九热欧美| 丁婷婷五月天在线播放| 一本道综合网| 天天狠狠婷婷在线| 91.com男女操| 色 噜噜 九月 婷婷| 亚洲精品又粗又大又爽A片| 日本九九九九| 超碰网站在线观看| 深夜激情网| 丁香五月天激情综合网| 丁香五月天在线视频| 色婷婷a v| 激情综合婷婷久久| 伊人狼人干| 免费看欧美成人A片无码| 色色a| 丁香六月久久| 色五月五月天色婷婷色五月| 深爱婷婷丁香五月激情| 99久久99热这里只有精品| 99热这是里只有精品| 六月婷婷激情| 成人欧美日韩| 2016日日夜夜操| 欧美激情久| 九九九九成人| 狠狠 久久| www.9色色色| 九九爱精品网站| 激情五月天天| 久久99最新地址| 亚洲精品无AMM毛片| 热久久这里只有精品| 色区久久| 激情综合网激情五月天| 婷婷亚洲综合| 日日撸夜夜操| 久久99精品视频| 91热爆在线| 久操大香蕉| 丁香五月天视频| 天天做天天爱| 年轻的妺妺伦理HD中文| 国产精品VIDEOSSEX久久发布| 99热这里只有精| 免费无码毛片一区二区A片| 欧美性做爰大片免费看办公室| 五月激情综合网| 久久视频在线视频| www.9操| 亚洲九九99精品视频在线播放| 亚洲综合五月天婷婷| 日韩99无码| 五月色丁香婷婷综合| 狠狠综合久久综合| 久久久久久久久久久44| 9热在线观看| 九热...av| 色婷婷丁香网| 五月激情丁香久久综合网| 欧美日韩大黄| 秋霞影音91人妻久久| 婷婷丁香五月综合激情小说| 五月激情综合美女久久| 99亚洲视频| 色五月成人| 婷婷五月激情五月激情| 婷婷在线视频| 91嫩草国产线观看亚洲一区二区| 五月丁香狠狠爱婷婷综合| 丁香五月黄色| 久久久久久综合88| 激情影院内射| 久久这里只有精品16| 亚洲欧美一区二区三区爱爱动图 | 丁香久久九九99| 日韩99视频| 五月丁香影院| 婷婷在线操| 婷婷五月天黄色小说| 人人操人人干AV| 26uuu亚洲| 玩熟女五十AV一二三区| 五月天综合色| 欧日韩成人| 婷婷丁香六月影视| 五月丁香激情婷婷| 欧美色色色色色色色| 婷婷免费视频| 久草婷婷在线| 婷婷成人AV| 欧美狠狠一在草| 色婷婷五月天天天干天天操天天爽| 人人爱人人草| 夜夜爽天天爽| 久久婷鲁| 亚洲另类电影| 五月丁香六月合| 综合五月天| 99久热| 999九九九久久久99HD| 五月丁香啪啪啪啪| 五月欧美色色五月| 亚洲网站999| 天天插天天插| 五月丁香成年黄色| 丁香五月在线视频| 婷五月天| 丁香五月天啪啪| 色色影院黄大片| 成年AAAA色情| 丁香成人五月天| 五月婷婷激情| 日韩日比视频| 婷婷激情综合网| 成人网在线视频| 亚洲精品久久久久久久久久吃药| 97人妻碰碰碰久久| 日本婷婷综合精品| 另类图片五月天| 成人做爰高潮A片免费视频| 五月激情射| 五月丁香九九九综合| 99热亚洲| 色婷婷色丁香色欲av| 性爱先锋AV| 久久这里只有精品99| 成人做爰A片免费看网站找不到了| 综合色婷婷| 综合五月亭亭9| 九月丁香亭亭| Www.se.久久| 再綫Av免费視品| 五月久久婷婷天堂视频| 婷婷丁香成人色综合| 国在线激情网| 99狠狠操一| 欧洲综合一区| 夜夜骑日日操| 久久久久久激情| 色99欧洲色19| 九九视频热| 深爱激情丁香| www.久久爱.com| 婷婷五月丁香综合人妻| 色婷婷综合网站| 超碰97干| 狠狠高潮精品亚洲1| 超碰免费人| Se.婷婷五月天| 激情综合五月天| aaa9区免费在线观看| 人人做天天爱| 久久在线视频免费观看| 久操婷婷| 久久婷婷五月天激情四射| 婷婷五月开心六月AV| 欧美综合激情丁香五月六月婷| 五月开行婷婷色五月| 欧美性猛交99久久久久99按摩| 99综合视频一体| 九九99热| Aα在线免费观看| Jh7Uf088VHafNm| 成人AV在线电影| 99色在线观看| 天天摸天天肏| 五月丁香六月色| 激情综合五月婷婷六月丁香| 色综合久久久无码中文字幕999| 激情六月下句是什么| 色色五月婷| 色噜噜狠狠色综合成人网| 噜噜国产| 五月婷婷,六月婷婷| 婷婷5月九九| 激情五月婷婷综合秋霞| 色情五月天首页| 伊人综合网站| 丁香 婷婷五月| 玖玖婷婷五月天| 激情五月深爱五月观看| 五月亭亭六月天| 婷婷激情五月| 久久六月综合| 婷婷色婷婷亚洲成人| 色综合色色| 久久久久久久久久8888| 精品激情| 五月色情婷婷| 深爱激情综合| 丁香五月 综合| 婷婷色婷婷| 天天日夜夜草进麻麻的子宫| AA片在线观看视频在线播放| 色五月婷婷五月久久| 嫩BBB搡BBBB榛BBBB| 色视五月天婷婷| av网站不卡在线| 5月丁香六月婷婷| 色婷婷播放| 强伦轩人妻一区二区电影| 毛v一区二区视频| 九九精品亚洲| 在线视频另类| 五月天激情久久| 丁香五月色播中文在线播放| 亚洲欧洲中文日韩久久AV乱码| 丁香五月狠狠综合欧美| 日韩欧美成人一区二区三区| 婷婷六月情| 超碰在线综合| 99色色网| 丁香婷婷丁香五月欧美人| 亚洲性爱AV在线| 噜噜噜噜噜色| 综合色婷婷| 丁香五月综合| 狠狠人人| 五月做爱| 伊人玖玖精品| 五月天婷婷久久日| 97在线观看| 五月天婷婷在线AN| 欧美日本黄色| 婷婷综合在线| 色区域网站视频| 影音先锋 一区| 天干夜夜操| 激情丁香五月激情婷婷| 综合久久综合五月天婷婷| 综合网啪| 美女天天久久| 碰碰碰97国产| 激情综合色图| 婷婷五月天在线观看av| 99久久人人| 99精品国产热久久91色欲| 激情综合网之激情五月| 亚洲丁香婷婷| 中文字幕综合网| 婷婷六月插屄激情| 综合激情sV| 天天干天天操天天拍| 婷婷五月久久| 日韩99视频| 无码人妻丰满熟妇奶水区码| 色婷婷色五月天| 日韩成人综合网| 成人精品视频99在线观看免费 | 亚洲成人av在线播放| 性色播| 色九九九综合| 婷婷天天色| 99青青草| 女性自慰系列第五页| 激情影院69| 激情五月婷婷网| 婷婷五月天在线观看免费| 99五月丁香丁| 我想看国产大学生口爆吞精的视频| 丁香婷婷影院|