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

C#網絡編程系列八:P2P編程

開發 后端
首先,現在大家熟知的BT、電驢、迅雷、QQ、MSN和PPlive等都是基于P2P方式實現的軟件,并且對等聯網(Peer to Peer,P2P)將是互聯網的發展方向,因此對于P2P技術的了解顯得非常的重要,下面就來介紹下P2P架構

引言:前面的介紹專題中有朋友向我留言說介紹下關于P2P相關的內容的,首先本人對于C#網絡編程也不是什么大牛,因為能力的關系,也只能把自己的一些學習過程和自己的一些學習過程中的理解和大家分享下的,下面就進入正題——P2P(Peer to Peer)編程

一、P2P的介紹

首先,現在大家熟知的BT、電驢、迅雷、QQ、MSN和PPlive等都是基于P2P方式實現的軟件,并且對等聯網(Peer to Peer,P2P)將是互聯網的發展方向,因此對于P2P技術的了解顯得非常的重要,下面就來介紹下P2P架構:

在P2P技術之前,我們所有的網絡應用都采用C/S或者B/S架構來實現的,然而在之前C/S架構的應用程序中,客戶端軟件向服務器發出請求,服務器然后對客戶端請求做出響應,在這種情況下,如果客戶端越多,此時服務器的壓力就越大。然而采用P2P技術實現的每臺計算機既是客戶端,也是服務器,他們的功能都是對等的。對于安裝了P2P軟件(如迅雷,QQ等)的計算機加入一個共同的P2P網絡,網絡中的節點之間可以直接進行數據傳輸和通信。

1.1 P2P架構和C/S架構的比較

C/S架構有下面的缺點(其實上面的簡單介紹中也講到過):

1. 服務器負擔過重。當大量用戶訪問C/S系統的服務器時,服務器常常會出現網絡堵塞等現象,這時候,我們可能會通過增加投資提高服務器的硬件性能

2. 系統穩健性和服務器關聯密切。指的是——如果服務器出現了問題時,整個系統的運行將會癱瘓(感覺是面向對象中經常強調的原則——低耦合原則)

然而P2P具有下面的特點:

1.對等模式

P2P系統中的客戶端能夠同時扮演客戶端和服務器的角色,使兩臺計算機之間能夠不通過服務器直接進行信息分享(QQ中當好友在線的時候發信息時,相信此時是不需要經過服務器轉發的,只有當給離線好友發送消息時,此時應該會先把消息發送到服務器端存儲起來,當好友再次登錄的時候,會和服務器進行連接,服務器會進行判斷是不是給這個用戶的信息來決定是否轉發,QQ軟件的實現屬于混合型P2P結構的, 這個會在后面的P2P系統分類中介紹。)

注:括號中都是我個人的一些理解,如果有什么說錯的地方請大家及時更正我,這樣我會及時的更新以免誤導大家,謝謝大家監督。

2. 網絡資源的分布式存儲

在C/S架構中,所有客戶端都直接從服務器下載所有數據資源,這樣勢必會加重服務器的負擔,而P2P則改變了以服務器為中心的狀態,使每個節點可以先從服務器上個下載一部分,然后再相互從對方或者其他節點下載其余部分。采用這種方式,當大量客戶端同時下載時,就不會形成網絡堵塞現象了。

1.2 P2P系統的分類

使用P2P技術的系統分為兩類:

(1)單純型P2P——沒有專用的服務器。安裝了P2P軟件的各個計算機可以直接通信

(2)混合型P2P——有專用的服務器,此時的服務器一般叫索引服務器,此服務器與C/S架構下的服務器不同,在C/S架構下所有資源都存儲在服務器中,所有傳遞的信息都要經過服務器,而在混合型P2P系統中的索引服務器僅僅起到協調和擴展的功能,資源不是全部存儲在服務器上,而是分布在各個電腦上,安裝了P2P軟件的電腦開始全部和索引服務器連接,以便告知自己監聽的IP地址和端口號,然后再通過索引服務器告訴其他與自己連接的電腦,每臺計算機的連接和斷開都通過服務器通知網絡上有聯系的計算機,這樣就減輕了每臺計算機搜索其他計算機的負擔,但是信息的傳遞還是通過點對點的方式來完成(這里可以以QQ為例,當我們電腦上安裝了QQ這類P2P軟件時,安裝了QQ這類軟件的計算機就會加入一個P2P網絡,并且登陸的時候都會與索引服務器建立連接,通過連接來告訴服務器自己的IP地址和端口號,當我們找一個好友聊天時,此時自己的計算機和好友的計算機都會與服務器端口連接,但是要互相發送消息,自己的計算機必須知道好友計算機的IP地址和端口號才可以通信,這樣的工作正是通過索引服務器來告知對方的--指的是告訴自己的計算機好友的計算機的IP地址和端口號,告訴好友的計算機自己的IP地址和端口號,這樣雙方就可以不通過服務器直接通信了。)

1.3 主流P2P應用分類

P2P 網絡應用大致可以分為三類

1. 文件共享類,例如迅雷,BT等軟件都是文件共享類的應用

2. 即時通信類,例如QQ,MSN等軟件都是屬于即時通信類

3. 多媒體傳輸類,例如在線視頻直播軟件,PPlive等軟件

從上面的分類可以看出,現在網絡上流行的軟件都采用了P2P技術來實現的, 但是它們的實現肯定不是單純的只采用P2P技術來實現的, 而是采用多種技術來實現的, 在下一專題中將介紹利用TCP,UDP和P2P等技術來實現類似QQ的一個即時通信程序,希望通過此程序可以綜合前面專題介紹的內容以及幫助大家對QQ等軟件的實現原理有了解。

二、P2P的基本原理

在前面我們對P2P的一些知識進行的簡單的介紹, 通過前面的介紹相信大家對P2P的技術有了一定的了解,但是要自己開發一個P2P的應用當然必須了解P2P技術的實現原理的,下面就介紹下P2P實施的基本原理。

安裝了P2P軟件后,首先雙方要進行通信,必須能夠發現對方(指的就是知道對方的IP地址和端口號),一旦發現了對方后才可以進行通信,所以P2P應用程序一般分為發現、連接和通信3個階段。 發現階段負責動態定位通信方的網絡位置;連接階段負責在雙方建立網絡連接,通信階段負責在雙方之間傳輸數據。

2.1 發現階段

一臺計算機要和另外一臺計算機通信,必須知道對方的IP地址和監聽端口,否則就無法向對方發送消息。在之前的C/S架構中,服務器的IP地址一般固定不變的,并且提供服務的計算機域名也一般不會改變,所以為了方便客戶端訪問,一些Web服務器在DNS(DNS其實就是域名和IP地址的一個映射)中進行了注冊,客戶機可以利用域名解析機制將服務器域名解析為IP地址,然后在P2P應用中,各個對等節點(計算機或資源)可以隨時加入和隨時離開,并且對等節點的IP地址也不是固定的,所以不能采用DNS的機制來獲取P2P架構中的對等節點的信息。

目前,在單純型P2P中,針對如何發現對等節點,各種P2P技術采用的協議和標準都不一樣,微軟在.net 支持對等名稱解析協議(Peer name Resolution Protocol, PNRP),該協議可以發現對等節點的信息,通過無服務器的解析功能將任何資源解析為一組IP地址和端口號,在后面的實現的簡單程序用的就是這個協議來完成發現階段的。

2.2 連接和通信階段

完成對等節點的發現后,接下來就可以根據需要,選擇TCP、UDP或者其他協議完成數據傳輸。如果選擇TCP,則需要先建立連接,再利用該連接傳輸數據,關于TCP的內容可以查看我之前的專題;如果選擇UDP,則無須建立連接,直接在對等節點之間通信就可以了。

三、.net平臺對P2P編程的支持

之前在發現階段也介紹了.Net平臺對P2P編程的支持的,然后微軟幫我們已經封裝好了對PNRP協議的實現,這些類在System.Net.PeerToPeer命名空間里(微軟現在很多東西都幫我們封裝了,這樣可以方便我們開發應用程序,感覺微軟的做的東西都是這樣,把程序的實現都幫我們做好了,我們開發程序的時候只要關注業務邏輯就好了的, 這樣做當然有好處也有壞處的, 我覺得好處就是縮短軟件的開發周期,讓花更多的時間去實現軟件真真的業務邏輯方面的東西,不好的地方就是現在的程序員就不能叫程序員,所以園子里面有很多人都稱碼農,這些我自己的觀點了)

3.1 對等名稱解析協議(PNRP)

PNRP可以完成對等名稱的注冊和解析(可以和DNS對比來理解)。

3.1.1 基本概念

第一個介紹的是對等名稱的概念,我們將每一個網絡資源(包括計算機,P2P應用程序、視頻、Mp3或其他文檔等資源)抽象為對等節點,對等節點名稱當然就是對等節點的名稱。對等節點名稱簡稱為對等名,分為安全的和不安全的兩種形式,不安全的名稱僅由文本字符串組成,任何人都可以注冊一個相同的不安全對等名稱;安全的由一個公鑰/私鑰(代表唯一)對支持,所以使用PNRP注冊時,不會受到欺騙,對等名稱的格式如下:

Authority.Classifier

Authority的值取決于該名稱的安全類型。對于不安全的類型,Authority為單字符“0”,而對于安全的對等名稱,Authority由40個十六機制字符組成

Classifier是用戶定義的用于標志對等節點的字符串,最大長度為150個Unicode字符。例如,對等名稱0.PeerNametest1就是一個不安全的對等名稱。

第二個概念就是云(Cloud)的概念,安裝了相同P2P軟件的計算機會加入一個共同的P2P網絡中,才能相互識別各自擁有的資源并順利進行P2P通信。微軟PNPR協議將這個P2P網絡稱為“云”。云是指一組可以通過P2P網絡相互識別的對等節點及其上資源的集合。云中的所有對等節點都可以解析注冊到該云中的其他任何資源所在的位置(IP+Port),一個對等節點上的某個資源可以同時注冊到多個云中。

PNPR目前使用了兩種云——本地云和全局云。一個對等名稱若注冊到鏈接一本地云,就意味著只有同一本地網絡上的其他對等節點可以解析該名稱。而注冊到全局云上的對等名稱則允許IPv6互聯網的任何對等節點解析。

注:全局云是基于IPv6協議的,并不支持IPv4,如果不存在IPv6地址,則不會出現全局云,也無法加入全局云。由于現在網上絕大多數應用使用的仍然是IPv4的地址,所以我們通常的P2P編程還用不到全局云,而只能使用默認的本地云。

3.1.2 名稱注冊

任何資源要被網絡上的其他計算機識別到,首先必須注冊進P2P網絡,名稱注冊就是將包含對等節點信息的對等名稱發布到云中,以便其他對等節點解析。一個資源如果注冊到云中后,就可以被云中的其他對等節點解析和訪問。

關于名稱注冊的具體內容,在后面的P2P的程序中也會使用的, 相信大家可以通過代碼來進一步理解名稱的注冊,這里就先介紹到這里的

3.1.3 名稱解析

名稱解析是指利用對等名稱獲取到云中資源所在對等節點的IP地址和端口號的過程(和DNS解析原理一樣)。PNPR名稱解析僅能夠注冊到云中的其他對等節點資源,而不能發現自身注冊的資源

PNPR協議沒有使用索引服務器,所以為了完成解析,云中的每個對等節點都存儲一些PNRP ID的緩存記錄。PNPR緩存中的都含有PNPR ID和應用程序的IP地址和端口號。名稱解析的步驟為——首先在本地計算機對等節點的緩存中查找目標資源,如果沒有,則在緩存中的臨近節點查看,這樣循環下去,直到找到目標資源所在的對等節點位置。

3.2 PeerToPeer命名空間

上面主要介紹了PNPR協議的工作過程(相當于是理論部分了),下面就介紹下.net 為我們封裝好PNPR的類的使用。這里就簡單指明幾個常用類的使用,并附上MSDN的鏈接,大家可以直接點鏈接進行查看詳細內容,因為后面的P2P程序中也有具體的使用,所以這里就不一一列出來了。

類名

MSDN鏈接

Peer

http://msdn.microsoft.com/zh-cn/library/system.net.peertopeer.collaboration.peer.aspx

Cloud

http://msdn.microsoft.com/zh-cn/library/system.net.peertopeer.cloud.aspx

PeerName

http://msdn.microsoft.com/zh-cn/library/system.net.peertopeer.peername.aspx

PeerNameRecord

http://msdn.microsoft.com/zh-cn/library/system.net.peertopeer.peernamerecord.aspx

PeerNameRegistration

http://msdn.microsoft.com/zh-cn/library/system.net.peertopeer.peernameregistration_members(v=VS.90).aspx

PeerNameResolver

http://msdn.microsoft.com/zh-cn/library/system.net.peertopeer.peernameresolver.aspx

這些類基本上從類名都可以大致知道他們的用途的,所以在這里就沒有一一介紹的,只是附上了MSDN的鏈接。

四、實現P2P應用程序

以上介紹了那么多P2P的相關的知識,主要是為了實現一個自定義的P2P應用程序做準備的,這里就簡單實現了資源發現的一個程序。

核心代碼:

對等名稱的注冊代碼:

  1. // 注冊資源  
  2.        private void btnRegister_Click(object sender, EventArgs e)  
  3.        {  
  4.            if (tbxResourceName.Text == "")  
  5.            {  
  6.                MessageBox.Show("請輸入發布的資源名!""提示");  
  7.                return;  
  8.            }  
  9.  
  10.            // 將資源名注冊到云中  
  11.            // 具體資源名的結構在博客有介紹  
  12.            PeerName resourceName = new PeerName(tbxResourceName.Text, PeerNameType.Unsecured);  
  13.            // 用指定的名稱和端口號初始化PeerNameRegistration類的實例  
  14.            resourceNameReg[seedCount] = new PeerNameRegistration(resourceName, int.Parse(tbxlocalport.Text));  
  15.            // 設置在云中注冊的對等名對象的其他信息的注釋  
  16.            resourceNameReg[seedCount].Comment =resourceName.ToString();  
  17.            // 設置PeerNameRegistration對象的應用程序定義的二進制數據  
  18.            resourceNameReg[seedCount].Data = Encoding.UTF8.GetBytes(string.Format("{0}", DateTime.Now.ToString()));  
  19.            // 在云中注冊PeerName(對等名)  
  20.            resourceNameReg[seedCount].Start();  
  21.            seedCount++;  
  22.            comboxSharelist.Items.Add(resourceName.ToString());  
  23.            tbxResourceName.Text = "";  
  24.        } 

名稱解析代碼(搜索資源):

  1. // 搜索資源  
  2.       private void btnSearch_Click(object sender, EventArgs e)  
  3.       {  
  4.           if (tbxSeed.Text == "")  
  5.           {  
  6.               MessageBox.Show("請先輸入要尋找的種子資源名""提示");  
  7.               return;  
  8.           }  
  9.  
  10.           lstViewOnlinePeer.Items.Clear();  
  11.           // 初始化要搜索的資源名  
  12.           PeerName searchSeed = new PeerName("0." + tbxSeed.Text);  
  13.           // PeerNameResolver類是將節點名解析為PeerNameRecord的值(即將通過資源名來查找資源名所在的地址,包括IP地址和端口號)  
  14.           // PeerNameRecord用來定于云中的各個節點  
  15.           PeerNameResolver myresolver = new PeerNameResolver();  
  16.  
  17.           // PeerNameRecordCollection表示PeerNameRecord元素的容器  
  18.           // Resolve方法是同步的完成解析  
  19.           // 使用同步方法可能會出現界面“假死”現象  
  20.           // 解決界面假死現象可以采用多線程或異步的方式  
  21.           // 關于多線程的知識可以參考本人博客中多線程系列我前面UDP編程中有所使用  
  22.           // 在這里就不列出多線程的使用了,朋友可以自己實現,如果有問題可以留言給我一起討論  
  23.           PeerNameRecordCollection recordCollection = myresolver.Resolve(searchSeed);  
  24.           foreach (PeerNameRecord record in recordCollection)  
  25.           {  
  26.               foreach(IPEndPoint endpoint in record.EndPointCollection)  
  27.               {  
  28.                   if (endpoint.AddressFamily.Equals(AddressFamily.InterNetwork))  
  29.                   {  
  30.                       ListViewItem item = new ListViewItem();     
  31.                       item.SubItems.Add(endpoint.ToString());  
  32.                       item.SubItems.Add(Encoding.UTF8.GetString(record.Data));  
  33.                       lstViewOnlinePeer.Items.Add(item);  
  34.                   }  
  35.               }  
  36.           }  
  37.       } 

運行結果截圖:

為了演示資源發現的效果,所以同時開啟了本程序的3個進程來模擬網絡上對等的3個計算機節點,當在資源名中輸入資源后會在分享下列表中顯示出本地分享的資源,同時在P2P網絡上的其他計算機可以通過資源名稱搜索該資源,將得到的資源名稱和發布時間顯示在ListView控件中,下面是程序的運行結果:

五、總結

到這里P2P編程的介紹就結束了, 本專題只是簡單演示了一個資源發現的程序,資源發現是P2P的核心技術,正是因為P2P技術實現了互聯網范圍的資源發現,才使得它被廣泛應用,像我們經常用的下載工具——迅雷,迅雷就是典型采用P2P技術的應用程序,當我們在迅雷頁面中輸入“愛情公寓3”(相當于本專題中種子文本框填的資源名)然后點擊搜索后迅雷會自動啟動“狗狗搜索”并顯示資源鏈接列表,當我們點擊連接就可以進行下載了。不過迅雷肯定不是使用微軟的PNPR,而是迅雷自主研發的與PNPR作用一樣的協議——都是完成解析網絡資源的地址的作用,當然,迅雷軟件中也采用了其他的一些技術,如搜索引擎等。

希望本專題可以幫助大家對P2P技術有所了解,如果有任何的問題都可以通過留言的方式來一起討論,在下一個專題中將介紹實現一個類似QQ的程序。

源碼附上:http://files.cnblogs.com/zhili/P2PResourceDiscovery.zip ,希望覺得有幫助的朋友可以推薦下。謝謝支持

原文鏈接:http://www.cnblogs.com/zhili/archive/2012/09/14/P2P_PNPR.html

【編輯推薦】

    1. C#網絡編程系列一:網絡協議簡介
    2. C#網絡編程系列二:HTTP協議詳解
    3. C#網絡編程系列三:自定義Web服務器
    4. C#網絡編程系列四:自定義Web瀏覽器
    5. C#網絡編程系列五:TCP編程
    6. C#網絡編程系列六:UDP編程
    7. C#網絡編程系列七:UDP編程補充
    8. C#網絡編程系列九:類似QQ的即時通信程序
    9. C#網絡編程系列十:實現簡單的郵件收發器

 

責任編輯:張偉 來源: Learning hard的博客
相關推薦

2010-07-13 14:41:14

2012-09-24 15:13:50

C#網絡協議TCP

2012-09-24 15:35:24

C#網絡協議UDP

2012-09-25 11:28:38

C#網絡協議UDP

2012-12-10 09:46:21

P2P云存儲Symform

2015-04-27 14:29:53

C#UDP實現P2P語音聊天工具

2010-07-07 10:31:45

2013-03-13 09:24:56

2012-09-24 14:03:58

C#網絡協議C

2010-03-22 15:27:40

云計算

2020-03-05 20:30:15

Syncthing文件同步工具開源

2024-08-06 14:03:35

2022-07-19 16:59:04

流媒體傳輸IPC物聯網

2012-09-24 14:09:31

C#網絡協議C

2024-03-04 18:49:59

反射C#開發

2013-11-25 10:07:31

P2P對等網絡

2018-08-16 07:29:02

2015-04-27 11:49:23

2010-06-28 11:15:45

BitTorrent協

2013-12-12 13:46:40

大數據金融P2P大數據
點贊
收藏

51CTO技術棧公眾號

日本在线www| 97人妻精品一区二区三区软件| 亚洲视频国产| 欧美性69xxxx肥| 亚洲乱码一区二区三区| 超碰人人人人人人| 美女黄色成人网| 久久综合伊人77777蜜臀| 中文字幕第3页| 亚洲电影有码| 亚洲国产成人av网| 天天综合色天天综合色hd| 亚洲精品911| 日本欧美久久久久免费播放网| 九色精品美女在线| 亚洲无人区码一码二码三码的含义| 日韩精品一级| 欧美在线一二三| 人人干视频在线| 日本电影全部在线观看网站视频| 97精品视频在线观看自产线路二| 国产日本欧美视频| 亚洲天堂男人av| 国产精品99免费看| 一个人看的www久久| 无码国产69精品久久久久网站| 激情欧美一区二区三区黑长吊| 午夜久久久久久电影| 欧美xxxx吸乳| 1769视频在线播放免费观看| 91香蕉视频污在线| 国产乱码一区| 亚洲精品国产片| 加勒比av一区二区| 国产精品一香蕉国产线看观看| 国产一级精品视频| 亚洲国产专区| 欧美精品videosex极品1| 糖心vlog免费在线观看| 成人久久综合| 一本一本久久a久久精品综合小说| 玖草视频在线观看| 精品午夜电影| 精品福利二区三区| 91精产国品一二三| 国产精品免费精品自在线观看| 欧美亚洲自拍偷拍| 成人在线观看黄| 日韩免费电影| 色一情一伦一子一伦一区| 阿v天堂2017| a√中文在线观看| 性做久久久久久久免费看| 超碰超碰超碰超碰超碰| 在线不卡日本v二区707| 亚洲天堂av一区| 激情视频小说图片| 综合图区亚洲| 亚洲一区二三区| 久久精品无码中文字幕| 国产精品蜜臀| 精品国产乱码久久久久久虫虫漫画| 九一国产精品视频| 蜜桃麻豆影像在线观看| 懂色av影视一区二区三区| 一本大道熟女人妻中文字幕在线| 原纱央莉成人av片| 色综合久久久久久久久久久| 日韩中文字幕免费在线| 欧美xnxx| 日韩一卡二卡三卡四卡| 成年人性生活视频| 加勒比久久高清| 亚洲嫩模很污视频| 小嫩苞一区二区三区| 真实国产乱子伦精品一区二区三区| 久久国产精品久久国产精品| 精品视频一区二区在线观看| 亚洲少妇诱惑| 国产日韩精品一区二区| 精品美女www爽爽爽视频| 成人免费视频视频| 日本成人黄色免费看| 在线日本中文字幕| 亚洲综合激情另类小说区| 国产无限制自拍| 国产经典一区| 日韩女同互慰一区二区| 人妻丰满熟妇aⅴ无码| 成人一级毛片| 久久久免费高清电视剧观看| 日韩在线视频不卡| 黑人巨大精品欧美黑白配亚洲| 国产欧美日韩视频一区二区三区| 国产区高清在线| 一区二区三区日韩欧美| 国产91在线免费| 成人黄色免费网站| 精品久久久久久久久久久久久久久久久 | 五月天婷婷色综合| 国产亚洲激情| 91在线网站视频| 免费成人av电影| 一区二区三区在线影院| 亚洲爆乳无码专区| 日本免费精品| 中文字幕av一区| 日本熟妇一区二区| 黑人巨大精品欧美黑白配亚洲| 久久精品中文字幕一区二区三区| 日本亚洲精品| 日本乱人伦一区| 国产麻豆剧传媒精品国产av| 国产精品91一区二区三区| 热久久视久久精品18亚洲精品| 国产模特av私拍大尺度| 国产亚洲自拍一区| 欧美老熟妇喷水| 91蝌蚪精品视频| 日韩在线视频导航| 黄色片视频免费| 99久久久免费精品国产一区二区| 在线播放 亚洲| 成人国产精品| 亚洲午夜未满十八勿入免费观看全集| 国产一级生活片| 国产一区二区不卡老阿姨| 无码免费一区二区三区免费播放| 欧美激情网站| 亚洲精品白浆高清久久久久久| 中文字幕手机在线观看| 久草热8精品视频在线观看| 色女人综合av| av在线日韩| 亚洲性无码av在线| 日本黄色一级视频| 久久久精品综合| 一本大道熟女人妻中文字幕在线| 精品三级av| 97婷婷大伊香蕉精品视频| 国产视频在线观看免费| 国产午夜精品一区二区三区视频 | 欧美精品一区二区久久婷婷| 色欲人妻综合网| 国产一区二区网址| 国产高潮呻吟久久久| 亚洲成人精品综合在线| 日日噜噜噜夜夜爽亚洲精品| 亚洲天堂手机在线| 亚洲欧洲www| 日韩在线一区视频| 9191国语精品高清在线| 91日本视频在线| v片在线观看| 日韩欧美自拍偷拍| 国产一级视频在线观看| 成人国产在线观看| 91好吊色国产欧美日韩在线| 网红女主播少妇精品视频| 欧美一区三区三区高中清蜜桃| 四虎在线观看| 欧美专区日韩专区| 成年人二级毛片| 国产激情视频一区二区三区欧美| 人人妻人人澡人人爽欧美一区双| 久久国产精品免费精品3p| 欧美孕妇与黑人孕交| 国产日韩精品在线看| 911国产精品| 国产无精乱码一区二区三区| 久久婷婷成人综合色| 我要看一级黄色大片| 国产精品久久久久蜜臀| 成人三级在线| 成人va天堂| 毛片精品免费在线观看| 成人无码一区二区三区| 欧美日韩国产中文字幕| 69xxx免费| 国产aⅴ综合色| 国产黄色特级片| 国产精品99久久| 九色91视频| 91麻豆精品国产综合久久久| 久久久视频免费观看| 国产毛片av在线| 欧美成人激情免费网| 日本免费在线观看视频| 亚洲丝袜精品丝袜在线| 极品白嫩丰满美女无套| 久久99精品久久久久久动态图| 成人性生活视频免费看| 欧美日韩一区二区综合| 粉嫩精品一区二区三区在线观看 | av成人毛片| 一区精品视频| 日韩影视在线观看| 日韩在线资源| 最新欧美精品一区二区三区| 国产午夜在线一区二区三区| 青青草成人在线观看| 欧美这里只有精品| 国产精品嫩模av在线| 亚洲最大的网站| 亚洲成人一区在线观看| 久久久久亚洲精品成人网小说| seseavlu视频在线| 亚洲激情视频在线| 国产黄色片免费| 欧美色图免费看| 美女又爽又黄免费视频| 亚洲午夜免费视频| xxxx日本少妇| 国产精品欧美一区二区三区| 51调教丨国产调教视频| 国产成人免费视频精品含羞草妖精| 男女男精品视频站| 老**午夜毛片一区二区三区| 国产精品成人久久电影| 欧美.日韩.国产.一区.二区| 一本色道久久综合亚洲精品婷婷| 日本一区福利在线| 国严精品久久久久久亚洲影视 | 99热国产免费| 日韩毛片网站| 国产精品视频一区二区三区四| 理论片午夜视频在线观看| 欧美精品激情视频| 肉肉视频在线观看| 久久精品视频在线| 欧美videos极品另类| 在线播放精品一区二区三区 | 久久99精品视频一区97| 激情影院在线观看| 久久综合88中文色鬼| 秋霞a级毛片在线看| 中文字幕日韩精品在线观看| 撸视在线观看免费视频| 亚洲少妇中文在线| 国产精品久久久久一区二区国产 | 精品亚洲va在线va天堂资源站| 成人毛片在线精品国产| 日韩精品在线网站| 午夜精品久久久久久久99老熟妇| 欧美精品久久一区二区三区| 一级全黄裸体免费视频| 欧美高清dvd| 国产欧美久久久| 精品少妇一区二区三区免费观看| 性做久久久久久久| 精品国产免费人成电影在线观看四季| 成 人片 黄 色 大 片| 欧美大片拔萝卜| 日本高清视频网站| 精品亚洲国产视频| 都市激情在线视频| 日韩一区二区久久久| 超碰porn在线| 久久久久久国产免费| 91福利区在线观看| 欧美制服第一页| 国产精品一区二区免费福利视频| 成人激情电影一区二区| 日韩精品一级| 久久久影院一区二区三区| 国产在线日韩精品| 亚洲一卡二卡区| 欧美视频久久| 看av免费毛片手机播放| 日韩国产欧美在线观看| av中文字幕网址| 成人激情校园春色| 欧美特级黄色录像| 自拍偷拍亚洲综合| xxxxxx国产| 欧美在线免费播放| 国产乱叫456在线| 亚洲精品不卡在线| 触手亚洲一区二区三区| 久久成人综合视频| 国产一二在线播放| 国产精品自产拍在线观看| 1204国产成人精品视频| 欧美动漫一区二区| 亚洲字幕久久| 亚洲国产精品久久久久婷蜜芽| 美女任你摸久久| 亚洲少妇一区二区三区| 国产亚洲欧美中文| 欧美成欧美va| 欧美日免费三级在线| 亚洲精品国偷拍自产在线观看蜜桃| 亚洲免费av片| 亚洲第一图区| 国产精品永久免费| 窝窝社区一区二区| 国产精品久久久影院| 日本不卡一二三区黄网| 国产香蕉精品视频| 国产精品高潮呻吟| www.国产色| 日韩精品综合一本久道在线视频| 国产资源在线播放| 国a精品视频大全| 精品网站999| 亚洲国产精品久久久久婷婷老年 | 成人免费在线观看av| 丁香花在线影院观看在线播放| 精品一区二区三区日韩| 黑人巨大精品欧美| 亚洲福利国产精品| h狠狠躁死你h高h| 中文字幕日韩有码| 一级毛片久久久| 国产日韩一区二区三区| 亚洲高清资源在线观看| 爱情岛论坛亚洲首页入口章节| 成人激情黄色小说| 26uuu成人网| 欧美日免费三级在线| 国产精品毛片一区二区三区四区| 97香蕉超级碰碰久久免费的优势| 视频一区日韩| www.黄色网址.com| 黄网站免费久久| 麻豆一区在线观看| 欧美自拍丝袜亚洲| 国产一级在线| 国产精品 欧美在线| 亚洲丁香日韩| a√天堂在线观看| proumb性欧美在线观看| 久草免费在线观看视频| 日韩亚洲欧美一区二区三区| 久久bbxx| 亚洲iv一区二区三区| 亚洲欧美在线专区| 亚洲av无码久久精品色欲| 亚洲色欲色欲www| 国产区精品在线| 欧美精品在线第一页| 国产精品3区| 黄色成人在线免费观看| 国产成人综合自拍| 国产一级av毛片| 亚洲成人999| 白浆在线视频| 麻豆91av| 青青草视频一区| 懂色av蜜臀av粉嫩av永久| 欧美精品18+| a级片国产精品自在拍在线播放| 91沈先生作品| 欧美日本一区| 国产一级二级在线观看| 欧美午夜精品久久久久久浪潮| 免费理论片在线观看播放老| 国产成人综合久久| 99热国内精品永久免费观看| 国产999免费视频| 亚洲高清久久久| 男女污污视频在线观看| 国产免费成人av| 欧美另类综合| 日韩网站在线播放| 欧美日韩精品高清| 污污网站在线观看| 久久66热这里只有精品| 日一区二区三区| 极品魔鬼身材女神啪啪精品| 日韩欧美一级片| 男人的天堂免费在线视频| 无遮挡亚洲一区| 福利91精品一区二区三区| 精品不卡一区二区| 久久手机免费视频| 欧美福利在线播放网址导航| 国产三级三级三级看三级| 最新国产成人在线观看| 色呦呦中文字幕| 国产精品久久综合av爱欲tv| 午夜国产一区| 色一情一交一乱一区二区三区 | 国产精品白嫩初高中害羞小美女 | 欧美成人免费在线视频| 日韩精品社区| 伊人色在线视频| 精品毛片三在线观看| 黄网站免费在线播放| 国产在线欧美日韩| 精品亚洲国产成人av制服丝袜 | 欧美日韩免费不卡视频一区二区三区 | 男人天堂综合| 91精品入口蜜桃| 日本视频中文字幕一区二区三区| 三级影片在线看| 国产一区二区av| 天美av一区二区三区久久| 拔插拔插华人永久免费| 色综合天天综合|