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

重磅!GitHub 開源負(fù)載均衡組件 GLB Director

新聞 前端
GitHub 發(fā)布了開源負(fù)載均衡組件 GitHub Load Balancer Director(GLB) Director,GLB 是 GitHub 針對裸機數(shù)據(jù)中心的可擴展負(fù)載均衡解決方案,它支持大多數(shù) GitHub 的對外服務(wù),并且還為諸如高可用 MySQL 集群這樣最為關(guān)鍵的內(nèi)部系統(tǒng)提供負(fù)載均衡服務(wù)。

8 月 8 日,GitHub 發(fā)布了開源負(fù)載均衡組件 GitHub Load Balancer Director(GLB) Director,GLB 是 GitHub 針對裸機數(shù)據(jù)中心的可擴展負(fù)載均衡解決方案,它支持大多數(shù) GitHub 的對外服務(wù),并且還為諸如高可用 MySQL 集群這樣最為關(guān)鍵的內(nèi)部系統(tǒng)提供負(fù)載均衡服務(wù)。

項目地址:https://github.com/github/glb-director

GLB Director 有如下諸多優(yōu)勢:

使用ECMP擴展IP

4層負(fù)載均衡器的基本屬性是能夠使用單個IP地址在多個服務(wù)器之間實現(xiàn)均衡連接。 為了擴展單個IP以處理更多的流量,我們不僅需要在后端服務(wù)器之間進(jìn)行流量拆分,還需要能夠擴展負(fù)載均衡器本身。 這實際上是另一層負(fù)載均衡。

通常,我們將IP地址視為單個物理機器,將路由器視為將數(shù)據(jù)包移動到下一個最近路由器的機器。 在最簡單的情況下,總是有一個最佳的下一跳,路由器選擇該跳并轉(zhuǎn)發(fā)所有數(shù)據(jù)包直到達(dá)到目的地。

實際上,大多數(shù)網(wǎng)絡(luò)都要復(fù)雜得多。 兩臺計算機之間通常有多條路徑可用,例如,使用多個ISP或者兩臺路由器通過多條物理電纜連接在一起以增加容量并提供冗余。 這是等價多路徑(ECMP)路由發(fā)揮作用的地方 - 而不是由路由器選擇單個最佳下一跳,ECMP中很多路徑具有相同成本(通常定義為到目的地的AS的數(shù)量), 路由器分散流量以便在所有可用的相同成本路徑之間均衡連接。

ECMP通過對每個數(shù)據(jù)包進(jìn)行hash以確定其中一個可用路徑。此處使用的hash函數(shù)因設(shè)備而異,但通常是基于源和目標(biāo)IP地址以及TCP流量的源和目標(biāo)端口的一致性hash。這意味著同一個TCP連接的多個數(shù)據(jù)包通常會遍歷相同的路徑,這意味著即使路徑具有不同的延遲,數(shù)據(jù)包也會以相同的順序到達(dá)。值得注意的是,在這種情況下,路徑可以在不中斷連接的情況下進(jìn)行更改,因為它們總是最終位于同一個目標(biāo)服務(wù)器上,此時它所采用的路徑大多無關(guān)緊要。

ECMP的另一種用法是當(dāng)我們想要跨多個服務(wù)器而不是跨多個路徑上的同一服務(wù)器時。每個服務(wù)器都可以使用BGP或其他類似的網(wǎng)絡(luò)協(xié)議使用相同的IP地址,從而使連接在這些服務(wù)器之間進(jìn)行分片,路由器不知道連接是在不同的地方處理的,而非傳統(tǒng)做法那樣所有的連接都同一臺機器上處理。

雖然ECMP會像對流量進(jìn)行分片,但它有一個巨大的缺點:當(dāng)相同IP的服務(wù)器更改(或沿途的任何路徑或路由器發(fā)生變化)時,連接必須重新均衡,才能保證每個服務(wù)器上的連接比較均衡。 路由器通常是無狀態(tài)設(shè)備,只是為每個數(shù)據(jù)包做出最佳決策而不考慮它所屬的連接,這意味著在這種情況下某些連接會中斷。

在上面的例子中,我們可以想象每種顏色代表一個活動的連接。 添加新的代理服務(wù)器使用相同的IP。 路由器保證一致性哈希,將1/3連接移動到新服務(wù)器,同時保持2/3連接在老服務(wù)器上。 不幸的是,對于進(jìn)行中的1/3連接,數(shù)據(jù)包現(xiàn)在到達(dá)了無連接狀態(tài)的服務(wù)器,因此連接會失敗。

將director/proxy分離

以前僅使用ECMP的解決方案的問題在于它不知道給定數(shù)據(jù)包的完整上下文,也不能為每個數(shù)據(jù)包/連接存儲數(shù)據(jù)。事實證明,通常使用Linux Virtual Server(LVS)等工具。我們創(chuàng)建了一個新的“director”服務(wù)器層,它通過ECMP從路由器獲取數(shù)據(jù)包,但不是依靠路由器的ECMP hash來選擇后端代理服務(wù)器,而是對所有鏈接控制hash和存儲狀態(tài)(選擇后端)。當(dāng)我們更改代理層服務(wù)器時,director層有望不變,我們的連接也不會斷掉。

雖然這在許多情況下效果很好,但它確實有一些缺點。在上面的示例中,我們同時添加了LVS director和后端代理服務(wù)器。新的director接收到一些數(shù)據(jù)包,但是還沒有任何狀態(tài)(或者具有延遲狀態(tài)),因此將其作為新連接進(jìn)行hash處理并可能使其出錯(并導(dǎo)致連接失敗)。 LVS的典型解決方法是使用多播連接同步來保持所有LVS director服務(wù)器之間共享的連接狀態(tài)。這仍然需要傳播連接狀態(tài),并且仍然需要重復(fù)狀態(tài) - 不僅每個代理都需要Linux內(nèi)核網(wǎng)絡(luò)堆棧中每個連接的狀態(tài),而且每個LVS director還需要存儲連接到后端代理服務(wù)器的映射。

將所有狀態(tài)從director層移除

當(dāng)我們設(shè)計GLB時,我們決定要改善這種情況而不是重復(fù)狀態(tài)。 通過使用已存儲在代理服務(wù)器中的流狀態(tài)作為維護(hù)來自客戶端的已建立Linux TCP連接的一部分,GLB采用與上述方法不同的方法。

對于每個進(jìn)入的連接,我們選擇可以處理該連接的主服務(wù)器和輔助服務(wù)器。 當(dāng)數(shù)據(jù)包到達(dá)主服務(wù)器且無效時,會將數(shù)據(jù)包轉(zhuǎn)發(fā)到輔助服務(wù)器。 選擇主/輔助服務(wù)器的散列是預(yù)先完成一次,并存儲在查找表中,因此不需要在每個流或每個數(shù)據(jù)包的基礎(chǔ)上重新計算。 添加新的代理服務(wù)器時,對于1/N連接,它將成為新的主服務(wù)器,舊的主服務(wù)器將成為輔助服務(wù)器。 這允許現(xiàn)有流程完成,因為代理服務(wù)器可以使用其本地狀態(tài)(單一事實來源)做出決策。 從本質(zhì)上講,這使得數(shù)據(jù)包在到達(dá)保持其狀態(tài)的預(yù)期服務(wù)器時具有“第二次機會”。

即使director仍然會將連接發(fā)送到錯誤的服務(wù)器,該服務(wù)器也會知道如何將數(shù)據(jù)包轉(zhuǎn)發(fā)到正確的服務(wù)器。 就TCP流而言,GLB director層是完全無狀態(tài)的:director服務(wù)器可以隨時進(jìn)出,并且總是選擇相同的主/輔服務(wù)器,只要它們的轉(zhuǎn)發(fā)表匹配(但它們很少改變)。 在變更代理時有些細(xì)節(jié)需要注意,我們將在下面介紹。

維護(hù)Hash集合不變

GLB Director設(shè)計的核心歸結(jié)為始終如一地選擇主服務(wù)器和輔助服務(wù)器,并允許代理層服務(wù)器根據(jù)需要排空和填充。 我們認(rèn)為每個代理服務(wù)器都有一個狀態(tài),當(dāng)有服務(wù)器加入或者退出時調(diào)整狀態(tài)。

我們創(chuàng)建一個靜態(tài)二進(jìn)制轉(zhuǎn)發(fā)表,它以相同方式在每個控制器服務(wù)器上生成,以將進(jìn)入的連接映射到給定的主服務(wù)器和輔助服務(wù)器。 我們并沒有采用在數(shù)據(jù)包處理時從所有可用服務(wù)器中選擇服務(wù)器的這種復(fù)雜邏輯,而是通過創(chuàng)建表(65k行)這種間接的方式,每行包含主服務(wù)器和輔助服務(wù)器IP地址。 該表以二維數(shù)組的方式將數(shù)據(jù)存儲在內(nèi)存中,每個表大約512kb。 當(dāng)數(shù)據(jù)包到達(dá)時,我們始終將其(僅基于數(shù)據(jù)包數(shù)據(jù))hash到該表中的同一行(使用hash作為數(shù)組的索引),這提供了一致的主服務(wù)器和輔助服務(wù)器對。

我們希望每個服務(wù)器在主要和輔助字段中大致相同,并且永遠(yuǎn)不會出現(xiàn)在同一行中。 當(dāng)我們添加新服務(wù)器時,我們希望某些行使其主服務(wù)器成為輔助服務(wù)器,并且新服務(wù)器將成為主服務(wù)器。 同樣,我們希望新服務(wù)器在某些行中成為輔助服務(wù)器。 當(dāng)我們刪除服務(wù)器時,在它是主服務(wù)器的任何行中,我們希望輔助服務(wù)器成為主服務(wù)器,而另一個服務(wù)器則成為輔助服務(wù)器。

這聽起來很復(fù)雜,但可以用幾個不變量簡潔地概括:

  • 當(dāng)我們更改服務(wù)器集時,應(yīng)保持現(xiàn)有服務(wù)器的相對順序。

  • 服務(wù)器的順序應(yīng)該是可計算的,除了服務(wù)器列表之外沒有任何其他狀態(tài)(可能還有一些預(yù)定義的種子)。

  • 每個服務(wù)器在每行中最多應(yīng)出現(xiàn)一次。

  • 每個服務(wù)器在每列中的出現(xiàn)次數(shù)應(yīng)大致相同。

針對上述的一些問題,集合hash是一個理想的選擇,因為它可以很好地滿足這些不變量。 每個服務(wù)器(在我們的例子中,IP)都與行號一起進(jìn)行hash,服務(wù)器按該hash(只是一個數(shù)字)進(jìn)行排序,并且我們獲得該給定行的服務(wù)器的唯一順序。 我們分別將前兩個作為主要和次要。

將保持相對順序,因為無論包含哪些其他服務(wù)器,每個服務(wù)器的hash都是相同的。 生成表所需的唯一信息是服務(wù)器的IP。由于我們只是對一組服務(wù)器進(jìn)行排序,因此服務(wù)器只出現(xiàn)一次。 最后,如果我們使用偽隨機的良好hash函數(shù),那么排序?qū)⑹莻坞S機的,因此分布將如我們所期望的那樣均勻。

代理(Proxy)相關(guān)操作

添加或刪除代理服務(wù)器,我們需要一些特別的處理方式。這是因為轉(zhuǎn)發(fā)表條目僅定義主要/輔助代理,因此排空/故障轉(zhuǎn)移僅適用單個代理主機。 我們?yōu)榇矸?wù)器定義以下有效狀態(tài)和狀態(tài)轉(zhuǎn)換:

當(dāng)代理服務(wù)器處于活動狀態(tài),耗盡或填充時,它將包含在轉(zhuǎn)發(fā)表條目中。 在穩(wěn)定狀態(tài)下,所有代理服務(wù)器都是活動的,并且上面描述的集合點散列將在主列和輔助列中具有大致均勻且隨機的每個代理服務(wù)器分布。

當(dāng)代理服務(wù)器轉(zhuǎn)換為耗盡時,我們通過交換我們原本包含的主要和次要條目來調(diào)整轉(zhuǎn)發(fā)表中的條目:

這具有將數(shù)據(jù)包發(fā)送到先前次要的服務(wù)器的效果。 由于它首先接收數(shù)據(jù)包,它將接受SYN數(shù)據(jù)包,因此接受任何新連接。 對于任何不理解為與本地流有關(guān)的數(shù)據(jù)包,它將其轉(zhuǎn)發(fā)到其他服務(wù)器(先前的主服務(wù)器),這允許完成現(xiàn)有連接。

這樣可以優(yōu)雅地耗盡所需的連接服務(wù)器,之后可以完全刪除它,并且代理可以隨機填充到第二個空槽:

填充中的節(jié)點看起來就像活動一樣,因為該表本身允許第二次機會:

此實現(xiàn)要求一次只有一個代理服務(wù)器處于活動狀態(tài)以外的任何狀態(tài),這實際上在GitHub上運行良好。對代理服務(wù)器的狀態(tài)更改可以與需要維護(hù)的最長連接持續(xù)時間一樣快。我們正致力于設(shè)計的擴展,不僅支持主要和次要,而且一些組件(如下面列出的標(biāo)題)已經(jīng)包含對任意服務(wù)器列表的初始支持。

數(shù)據(jù)中心內(nèi)封裝

現(xiàn)在有了一個算法來一致地選擇后端代理服務(wù)器,但是如何在數(shù)據(jù)包內(nèi)把輔助服務(wù)器(secondary server )的信息也封裝進(jìn)去呢?這樣主服務(wù)器可以在不理解數(shù)據(jù)包的情況下轉(zhuǎn)發(fā)數(shù)據(jù)包。

LVS 的傳統(tǒng)方式是使用IP over IP(IPIP)隧道??蛻舳?IP 數(shù)據(jù)包封裝在內(nèi)部IP數(shù)據(jù)包內(nèi),并轉(zhuǎn)發(fā)到代理服務(wù)器,代理服務(wù)器對其進(jìn)行解封裝。但很難在 IPIP 數(shù)據(jù)包中編碼其他服務(wù)器的元數(shù)據(jù),因為唯一可用的空間是 IP 選項,數(shù)據(jù)中心路由器傳遞未知 IP 的數(shù)據(jù)包到處理軟件(稱之為“第2層慢速路徑”),速度從每秒數(shù)百萬到數(shù)千個數(shù)據(jù)包。

為了避免這種情況,需要將數(shù)據(jù)隱藏在路由器不同數(shù)據(jù)包格式中,避免它試圖去理解。我們最初采用原始 Foo-over-UDP(FOU)和自定義 GRE載荷(payload),基本上封裝了 UDP 數(shù)據(jù)包中的所有內(nèi)容。我們最近轉(zhuǎn)換到通用 UDP 封裝(GUE),它提供了封裝內(nèi)部 IP 協(xié)議的標(biāo)準(zhǔn) UDP 數(shù)據(jù)包。我們將輔助服務(wù)器的 IP 放在GUE標(biāo)頭的私有數(shù)據(jù)中。從路由器的角度來看,這些數(shù)據(jù)包都是兩個普通服務(wù)器之間的內(nèi)部數(shù)據(jù)中心 UDP 數(shù)據(jù)包。

使用 UDP 的另一個好處是源端口可以使用每個連接的哈希填充,以便它們通過不同的路徑(在數(shù)據(jù)中心內(nèi)使用ECMP)在數(shù)據(jù)中心內(nèi)流動,并可在代理服務(wù)器的 NIC 的不同 RX 隊列上接收消息(類似使用 TCP/IP 頭字段的哈希)。這對 IPIP 是不可能的,因為大多數(shù)數(shù)據(jù)中心的 NIC 只能理解普通 IP,TCP/IP 和 UDP/IP。值得注意的是,NIC 無法查看 IP/IP 數(shù)據(jù)包。

當(dāng)代理服務(wù)器想要將數(shù)據(jù)包發(fā)送回客戶端時,它不需要封裝或通過我們的導(dǎo)向器層(director tier)返回,它可以直接發(fā)送數(shù)據(jù)到客戶端(通常稱為“Direct Server Return”)。這是典型的負(fù)載均衡器設(shè)計,對于內(nèi)容提供商尤其有用,因為大多數(shù)情況都是出站流量遠(yuǎn)大于入站流量。

數(shù)據(jù)包流如下圖所示:

引入DPDK

自從首次公開討論了我們的初始設(shè)計以來,我們已經(jīng)完全使用 DPDK重寫了 glb-director 。DPDK 是一個開源的通過繞過Linux內(nèi)核,允許從用戶空間進(jìn)行非??焖俚臄?shù)據(jù)包處理的項目。這樣就能夠在普通 NIC 上通過 CPU 上實現(xiàn) NIC 線路速率處理,并可輕松擴展導(dǎo)向器層,以處理與公共連接所需的入站流量一樣多的流量。這在防 DDoS 攻擊中尤為重要,我們不希望負(fù)載均衡器成為瓶頸。

GLB 最初的目標(biāo)之一是可以在通用數(shù)據(jù)中心的硬件上運行,而無需任何特殊的硬件配置。 GLB 的 Director 和代理服務(wù)器都可像數(shù)據(jù)中心的普通服務(wù)器一樣供應(yīng)。每個服務(wù)器都有一對綁定的網(wǎng)絡(luò)接口,這些接口在 GLB Director 服務(wù)器上的 DPDK 和 Linux 系統(tǒng)之間共享。

現(xiàn)代 NIC 支持SR-IOV,這種技術(shù)可以使單個 NIC 從操作系統(tǒng)的角度看起來像多個 NIC。這通常由虛擬機管理程序使用,以要求真實 NIC(“Physical Function”)為每個 VM 創(chuàng)建多個虛擬 NIC(“Virtual Functions”)。為了使 DPDK 和 Linux 內(nèi)核能夠共享 NIC,我們使用 flow bifurcation,它將特定流量(目標(biāo)是 GLB IP 地址)發(fā)送給我們DPDK 在 Virtual Function 上處理,同時將剩余的數(shù)據(jù)包與 Linux 內(nèi)核的網(wǎng)絡(luò)堆棧保留在 Physical Function 上。

我們發(fā)現(xiàn) Virtual Function 上 DPDK 的數(shù)據(jù)包處理速率可以滿足要求。 GLB Director 使用 DPDK Packet Distributor模式來分發(fā)封裝數(shù)據(jù)包的任務(wù)到機器上的 CPU,支持任意數(shù)量的 CPU 核心,因為它是無狀態(tài)的,可以高度并行化。

GLB Director 支持匹配和轉(zhuǎn)發(fā)包含 TCP 有效負(fù)載的入站 IPv4 和 IPv6 數(shù)據(jù)包,以及作為 Path MTU Discovery的一部分的入站 ICMP Fragmentation Required 消息。

使用Scapy為DPDK加入測試用例

一個典型的問題是,在創(chuàng)建(或使用)那些使用了低級原語(例如直接與NIC通信)但是高速運行的技術(shù)時,它們變得非常難以測試。作為創(chuàng)建GLB Director的一部分,我們也創(chuàng)建了一個測試環(huán)境,支持對我們的DPDK應(yīng)用進(jìn)行簡單的端對端包流測試,通過影響DPDK的方式支持一個環(huán)境抽象層(EAL),允許物理NIC和基于libpcap的本地接口,在應(yīng)用視圖中是相同的。

這允許我們在Scapy中寫測試,使用簡單的Python的lib包查看,操作和寫數(shù)據(jù)包。通過創(chuàng)建一個Linux的虛擬網(wǎng)卡驅(qū)動,一邊用Scapy,另一邊用DPDK,我們能傳輸定制的包并且驗證我們軟件在另一邊支持的功能,這是一個完整GUE封裝的后端代理服務(wù)期望的數(shù)據(jù)包。

該方法允許我們測試更多的復(fù)雜行為,例如為了正確路由,遍歷傳輸層的ICMPv4/ICMPv6頭獲取源IP和TCP端口,以便正確轉(zhuǎn)發(fā)來自外部路由器的ICMP消息。

健康檢查

GLB的設(shè)計包含了優(yōu)雅地處理服務(wù)器故障的部分。目前設(shè)計包含主/備,對于給定的轉(zhuǎn)發(fā)表/客戶端,意味著我們可以通過健康檢查通過觀察每個Director來解決單服務(wù)器故障。我們運行一個名為glb-healthcheck的服務(wù),它不斷驗證每個后端服務(wù)器的GUE隧道和任意HTTP端口。

當(dāng)服務(wù)器出現(xiàn)故障時,我們將切換主/備,將備換成主。這是服務(wù)器的“軟切換”,支持故障轉(zhuǎn)移的好辦法。如果健康檢查失敗是誤報,則連接不會中斷,它們只會換一條不同的路徑遍歷。

proxy使用iptables提供第二次機會

構(gòu)成GLB的最后一個組件是Netfilter模塊和iptables的目標(biāo),它在每個代理服務(wù)器上運行,并提供“第二次機會”進(jìn)行設(shè)計。

此模塊提供了一個簡單的任務(wù),根據(jù)Linux內(nèi)核TCP堆棧,確定每個GUE數(shù)據(jù)包的內(nèi)部TCP / IP數(shù)據(jù)包是否在本地有效,如果不是,則將其轉(zhuǎn)發(fā)到下一個代理服務(wù)器(備服務(wù)器),而不是在當(dāng)前服務(wù)器解封裝。

在數(shù)據(jù)包是SYN(新連接)或在本地對已建立的連接有效的情況下,當(dāng)前服務(wù)器會接收它。然后,我們接收GUE包,使用包含fou模塊的Linux 內(nèi)核4.x GUE在本地處理它。

責(zé)任編輯:張燕妮 來源: 高可用架構(gòu)
相關(guān)推薦

2016-10-09 09:17:24

2010-04-22 17:25:24

網(wǎng)絡(luò)負(fù)載均衡

2010-04-22 14:32:56

LVS負(fù)載均衡集群

2010-05-10 14:17:46

負(fù)載均衡技術(shù)

2010-04-22 14:59:15

lvs負(fù)載均衡

2017-07-03 08:08:25

負(fù)載均衡分類

2020-07-15 15:21:06

谷歌開源機器學(xué)習(xí)

2019-03-18 10:44:41

負(fù)載均衡DNSUDP

2018-11-07 10:12:37

2010-04-22 10:46:40

Lvs負(fù)載均衡故障負(fù)載均衡器

2011-12-02 22:51:46

Nginx負(fù)載均衡

2021-04-21 14:56:28

負(fù)載均衡高并發(fā)優(yōu)化技術(shù)架構(gòu)

2010-05-06 15:00:58

集群負(fù)載均衡

2010-05-10 14:15:54

DNS負(fù)載均衡

2022-05-06 09:21:57

工作負(fù)載SPDK線程

2010-04-20 12:49:27

負(fù)載均衡策略

2010-04-21 14:34:33

websphere負(fù)載

2010-05-04 16:10:51

負(fù)載均衡算法

2010-05-05 18:51:25

Varnish負(fù)載均衡

2013-04-22 11:29:14

Nginx
點贊
收藏

51CTO技術(shù)棧公眾號

一级片手机在线观看| 91精品国产毛片武则天| 国产99免费视频| 欧美高清视频手机在在线| 欧美一区二区视频在线观看2022| 人妻互换免费中文字幕| 嫩草在线播放| 国内国产精品久久| 91精品国产网站| 99re6热在线精品视频| 成人自拍在线| 91成人免费在线视频| 法国空姐在线观看免费| 欧美日韩在线精品一区二区三区激情综| 免费在线观看精品| 国产+人+亚洲| 91久久久久久久久久久久久久| av不卡一区| 欧美吞精做爰啪啪高潮| 欧美精品卡一卡二| 成人日批视频| 国产欧美日产一区| 国产精品亚洲综合| 91尤物国产福利在线观看| 欧美视频二区| 色婷婷av一区二区三区久久| jizz日本免费| 天堂va在线高清一区| 欧美中文字幕一区| 波多野结衣家庭教师视频| 午夜激情在线| 国产精品国产三级国产aⅴ中文| 久久国产精品高清| 黄色一级大片在线免费看国产一 | 中文字幕一区二区在线视频| 精品91久久久久| 久久久精品一区二区| 色欲狠狠躁天天躁无码中文字幕| 日本在线中文字幕一区| 亚洲成人在线视频播放| 最好看的中文字幕| 国产电影一区二区| 欧美绝品在线观看成人午夜影视| 久久久免费视频网站| 超碰资源在线| 亚欧色一区w666天堂| 97久久国产亚洲精品超碰热| 人人干在线视频| 中文字幕的久久| 日韩亚洲一区在线播放| 国产中文字幕在线播放| 久久一留热品黄| 久久66热这里只有精品| 深爱五月激情五月| 91天堂素人约啪| 久久综合福利| 国产资源在线观看| 国产女人18水真多18精品一级做| 日韩高清dvd| 国产在线资源| 中文字幕精品综合| 制服丝袜综合日韩欧美| 国产成人午夜| 亚洲一区二区av电影| 91精品国产91久久久久麻豆 主演| 第一av在线| 欧美日韩一区二区免费在线观看| 免费在线激情视频| 一呦二呦三呦精品国产| 欧美日韩一区在线| 日本中文字幕在线不卡| 高清日韩欧美| 亚洲欧美成人网| 三区四区在线观看| 午夜激情一区| 91豆花精品一区| 午夜视频网站在线观看| 国产一区二区日韩精品| 国产一区在线免费观看| 国产精品一区在线看| 中文字幕一区二区三区在线播放| 男女裸体影院高潮| 精品国产第一福利网站| 欧美日韩国产综合一区二区| 最好看的中文字幕| 国产亚洲第一伦理第一区| 日韩中文字幕在线视频播放| 久久久一二三区| 亚洲一卡久久| 成人免费网站在线看| 蜜桃av中文字幕| 国产视频在线观看一区二区三区| 成年人免费观看的视频| 婷婷电影在线观看| 4438成人网| 人妻丰满熟妇aⅴ无码| 成人在线免费小视频| 欧美精品激情视频| 亚洲熟女乱色一区二区三区久久久 | 国产精品调教视频| 中文字幕日本精品| 久久婷婷国产麻豆91| 日本欧美大码aⅴ在线播放| 97人摸人人澡人人人超一碰| 韩国中文免费在线视频| 亚洲成人午夜电影| 天堂av在线8| 九九综合在线| 久久久亚洲网站| 夜夜爽8888| 91在线观看高清| 国产91视频一区| 国产精品久久久久久吹潮| 精品国内二区三区| 永久免费看片直接| 日韩av一区二区三区四区| 国产精品初高中精品久久| 香蕉视频网站在线观看| 欧美日韩亚洲天堂| 最新版天堂资源在线| 四虎成人av| 国产精品电影久久久久电影网| 成人久久久精品国产乱码一区二区 | 九九九九九九精品| 亚洲小说区图片区都市| 欧美日韩美少妇| 妺妺窝人体色WWW精品| 国产精品呻吟| 国产精品播放| 欧美videossex| 91精品免费观看| 老司机深夜福利网站| 天堂一区二区在线免费观看| 国产在线一区二区三区播放| 影音先锋男人在线资源| 7777精品伊人久久久大香线蕉最新版| 精品欧美一区二区久久久| 国产视频亚洲| 极品校花啪啪激情久久| 97人人爽人人澡人人精品| 精品国产精品一区二区夜夜嗨| 男女做暖暖视频| 国产自产高清不卡| 26uuu成人| 精品国产三级| 精品少妇v888av| 999久久久久久| 亚洲欧美日韩国产综合| 免费高清视频在线观看| 欧美日韩综合| 国产伦精品一区二区三| av在线网页| 日韩精品极品视频| 波多野结衣 久久| 国产三区在线成人av| 99视频在线免费| 日韩一区电影| 成人黄色免费网站在线观看| 二区三区在线观看| 日韩一级免费观看| 国产精品成人aaaa在线| www.一区二区| 波多野结衣作品集| 91亚洲国产高清| 91中文字精品一区二区| 午夜羞羞小视频在线观看| 亚洲国产成人爱av在线播放| aaa人片在线| 中文天堂在线一区| 亚洲色图欧美自拍| 亚洲国内欧美| 日韩国产高清一区| 国产精品日本一区二区三区在线| 欧美激情18p| 天天在线女人的天堂视频| 在线免费亚洲电影| a在线视频播放观看免费观看| 国产成人精品三级| www.玖玖玖| 日韩在线观看| 国产98在线|日韩| 欧美日韩免费看片| 久久亚洲精品一区二区| 日本韩国在线观看| 欧美亚洲动漫制服丝袜| 97成人资源站| 91啪九色porn原创视频在线观看| 污污网站免费看| 黄色日韩精品| 亚洲欧洲精品一区二区| 国产精品45p| 国产精品私拍pans大尺度在线 | 欧美一级视频一区二区| 蜜桃视频在线观看www社区| 精品国产91九色蝌蚪| 国产免费www| 亚洲一区二区黄色| 亚洲欧美精品久久| 91在线精品秘密一区二区| 男人的天堂最新网址| 亚洲黄色成人| 午夜探花在线观看| 亚洲三级网址| 国产精品久久精品视| 素人啪啪色综合| 91极品视频在线| 亚洲无线看天堂av| 色哟哟亚洲精品一区二区| 色婷婷av一区二区三区之e本道| 欧美三日本三级三级在线播放| 亚洲黄色一区二区| 一区二区三区在线看| 无码 人妻 在线 视频| www.久久精品| 手机在线播放av| 精品一区二区三区在线观看国产| 黄色一级一级片| 亚洲精品乱码久久久久久蜜桃麻豆| 天天做天天爱天天高潮| 欧美理论视频| 免费久久一级欧美特大黄| 亚洲综合网狠久久| 91精品视频专区| 视频一区在线免费看| 91精品国产电影| 波多野结衣精品| 美女精品视频一区| 黄色网在线播放| 色综久久综合桃花网| 免费国产在线视频| 亚洲美女激情视频| 深夜福利在线视频| 亚洲精品网站在线播放gif| 蜜臀av午夜精品| 精品91自产拍在线观看一区| www国产在线| 日韩一二三区不卡| 国产乱码久久久久| 欧美美女直播网站| 91在线你懂的| 69成人精品免费视频| 国产又粗又长又黄| 69av一区二区三区| 国产精品系列视频| 91精品国产综合久久久久久久久久| av资源免费观看| 色婷婷亚洲综合| 午夜视频网站在线观看| 欧美日韩一卡二卡| 91中文字幕在线视频| 91精品国产综合久久福利 | 国产在线精品一区二区| 久久出品必属精品| 国产乱码精品一区二区三区忘忧草 | 亚洲国产精品综合| 久久亚洲成人| 妞干网这里只有精品| 欧美午夜影院| 99色精品视频| 日韩国产精品久久| 天天干天天av| 国产馆精品极品| 中文字幕a在线观看| 2020国产成人综合网| 五月天精品视频| 国产精品高潮呻吟久久| 色婷婷在线视频观看| 亚洲一区二区av电影| 国产午夜精品久久久久| 欧美另类一区二区三区| www.污视频| 亚洲欧美综合区自拍另类| 一本一道波多野毛片中文在线| 欧美老肥婆性猛交视频| 色网在线免费观看| 国产免费亚洲高清| 日韩成人久久| 牛人盗摄一区二区三区视频| 欧美综合久久| 国产精品久久久久久久久电影网| 国产一区二区精品| 一区二区免费av| 99精品视频免费在线观看| 国产又黄又粗视频| 亚洲狠狠丁香婷婷综合久久久| 欧美一级视频免费观看| 欧美在线综合视频| 东京干手机福利视频| 国产一区二区三区久久精品 | 午夜啪啪小视频| caoporn国产一区二区| 337人体粉嫩噜噜噜| 亚洲宅男天堂在线观看无病毒| 丰满少妇xoxoxo视频| 91精品国产一区二区人妖| 日本a一级在线免费播放| 久久躁狠狠躁夜夜爽| 亚洲人体视频| 99国产精品久久久久老师| 国产真实有声精品录音| av一区二区三区免费观看| 日韩成人一区二区| av电影在线播放| 亚洲欧洲日韩av| 国产三级精品三级在线观看| 日韩三级免费观看| 91青青在线视频| 欧美有码在线视频| caoporn成人免费视频在线| 亚洲精蜜桃久在线| 国产亚洲永久域名| 无码人妻一区二区三区一| 国产精品热久久久久夜色精品三区| 日产精品久久久久| 日韩亚洲欧美成人一区| 9191在线观看| 日韩美女在线播放| 欧美日日夜夜| 国产情侣第一页| 黑人巨大精品欧美黑白配亚洲| 中文字幕在线1| 欧美性生活大片免费观看网址| 亚洲精品久久久久avwww潮水| 神马国产精品影院av| 中文字幕av一区二区三区佐山爱| 国产免费一区二区三区| 欧美日韩p片| 亚洲精品在线网址| 日韩一区有码在线| 亚洲综合精品视频| 一级做a爰片久久毛片美女图片| 小草在线视频免费播放| 国产美女精品在线观看| 国内精品嫩模av私拍在线观看| 伊人国产精品视频| **网站欧美大片在线观看| 91黑人精品一区二区三区| 亚洲精品视频在线观看视频| 中文不卡1区2区3区| 久久久国产精品一区二区三区| 国产一区二区中文| 国内自拍偷拍视频| 亚洲一区二区三区四区在线免费观看| a毛片在线免费观看| 久久亚洲欧美日韩精品专区| 高清在线一区二区| 9色视频在线观看| 国产宾馆实践打屁股91| 国产亚洲第一页| 亚洲国产另类 国产精品国产免费| 伦理在线一区| 久久www免费人成精品| 亚洲一区二区三区免费在线观看| 亚洲一区二区乱码| 一本色道久久综合精品竹菊| 精品久久av| 成人免费淫片aa视频免费| 你懂的国产精品永久在线| 免费在线观看日韩av| 亚洲午夜免费电影| 四虎影视在线播放| 国产精品久久一| 欧美1区2区3区| 丰满少妇xbxb毛片日本| 午夜一区二区三区视频| 男女污污视频在线观看| 国产精品入口尤物| 欧美成人首页| 星空大象在线观看免费播放| 日韩欧美在线看| 日本www在线观看视频| 国产欧美日韩视频一区二区| 91精品国产三级| 午夜国产精品一区| 理论视频在线| 亚洲自拍小视频免费观看| 在线电影一区| 大胸美女被爆操| 日韩女优制服丝袜电影| 中文字幕在线直播| 自拍另类欧美| 91原创在线视频| 国产孕妇孕交大片孕| 午夜剧场成人观在线视频免费观看 | 欧美日韩中文精品| 国产精品一区hongkong| 欧美凹凸一区二区三区视频| 九色综合狠狠综合久久| 国产一级片视频| 在线色欧美三级视频| 亚洲国产中文在线二区三区免| 粉嫩虎白女毛片人体| 亚洲精品视频观看| 国产毛片在线| 国产乱码精品一区二区三区卡| 蜜臂av日日欢夜夜爽一区| 国产午夜精品一区二区理论影院| 中文字幕亚洲综合久久| 久久精品亚洲成在人线av网址| 可以看污的网站|