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

提高SDN控制器的拓撲發現性能

網絡
本篇文章將以ryu控制器為例,首先介紹傳統網絡和現在SDN網絡的拓撲發現原理,然后介紹改進算法,最后講解改寫后的代碼邏輯。

SDN網絡的一大特點就是資源由控制器集中管理,控制器管理網絡,最基本的當然需要知道網絡的拓撲,而網絡拓撲可能時時發生變化,所以控制器需要時時監測,對于整個網絡來說,控制器擔負了太多的計算任務,所以如果能夠幫助控制器減壓,則會提高整個網絡的性能。本篇文章將以ryu控制器為例,首先介紹傳統網絡和現在SDN網絡的拓撲發現原理,然后介紹改進算法,最后講解改寫后的代碼邏輯。

一. LLDP拓撲發現原理

傳統網絡中的鏈路發現協議為LLDP(Link Layer Discovery Protocol),LLDP允許局域網中的結點告訴其他結點他自己的capabilities和neighbours。在傳統以太網交換機中,交換機從自己的每個端口發送LLDP數據包,這個數據包不會被其他交換機轉發,壽命只有一跳,LLDP負載被封裝在以太網幀中,結構如下圖,其中深灰色的即為LLDP負載,Chassis ID TLV, Port ID TLV和Time to live TLV三個是強制字段,分別代表交換機標識符(在局域網中是獨一無二的),端口號和TTL。這個數據發出并被鄰居結點收到之后進行解析,就可以知道這條鏈路的源目的交換機以及源目的接口。

tp1

二. ryu拓撲發現原理

OpenFlow的官方沒有規定標準的拓撲發現方法,現在的OFDP(OpenFlow Discovery Protocol)利用的仍然是傳統網絡中的鏈路發現協議LLDP,接下來介紹ryu如何利用LLDP發現拓撲,假設現在有兩個OpenFlow交換機連接在控制器上,如下圖,簡述拓撲發現步驟(以S1作為主體,S2的類似):

1. SDN控制器構造PacketOut消息向S1的三個端口分別發送上圖所示的LLDP數據包,其中將Chassis ID TLV和Port ID TLV分別置為S1的dpid和端口號;

2. 控制器向交換機S1中下發流表,流表規則為:將從Controller端口收到的LLDP數據包從他的對應端口發送出去;

3. 控制器向交換機S2中下發流表,流表規則為:將從非Controller接收到LLDP數據包發送給控制器;

4. 控制器通過解析LLDP數據包,得到鏈路的源交換機,源接口,通過收到的PacketIn消息知道目的交換機和目的接口;

 

tp2

現在的ryu發現拓撲是對整個數據平面的所有交換機的所有端口發送PacketOut數據包,對于Fattree等網絡來說,端口的數量是交換機數量的k倍,因此導致了很多資源的消耗,所以是否可以對這個拓撲發現的機制進行改進,讓發送的PacketOut消息和交換機的數量相同?

 

三. 改進后的ryu拓撲發現機理

為了實現上面所提到的改進目標,需要將LLDP負載中的Port ID TLV進行改進,或者有其他的域和Port ID TLV一一映射也可以,這里提供一種解決辦法,在LLDP數據包從交換機端口轉發出去的時候,將這個以太網數據包的源MAC地址替換成為這個端口的MAC地址,而控制器在早先的配置階段已經獲得了關于交換機的端口的所有信息,所以對控制器來說,MAC地址和交換機的端口號是一一對應的,下面詳細講述改進方案。

1. 更新控制器的LLDP PacketOut消息數量,由一個端口一個,改為一個交換機一個PacketOut消息,LLDP數據包負載中的域Port ID TLV值置為零;

2. 控制器向流表下發一條規則:所有從端口Controller接收到的LLDP數據包,依次將其源MAC地址置為端口MAC地址,然后從相應的端口轉發出去;

3. 更新控制器的PacketIn消息處理機制,根據LLDP數據包的來源,可以得到目的交換機,目的端口,通過解析LLDP數據包,得到源MAC和源交換機,通過源MAC地址查找對應的端口號;

4. 由于是修改的代碼,所以不要忘了刪除原來的以端口主導的相關代碼。

四. 代碼分析

首選需要添加的一些變量和類

* SwitchData類:包含了時間戳以及交換機所包含的LLDP數據Shell

  1. class SwitchData(object): 
  2.   
  3. #store the lldp information 
  4.   
  5. #send one LLDP information per switch 
  6.   
  7. def init (self, lldpdata): 
  8. super(SwitchData, self).init() 
  9. self.lldp_data = lldp_data 
  10. self.timestamp = None 
  11. self.sent = 0 
  12. def lldp_sent(self): 
  13.     self.timestamp = time.time() 
  14.     self.sent += 1 
  15.   
  16. def lldp_received(self): 
  17.     self.sent = 0 
  18.   
  19. def lldp_dropped(self): 
  20.     return self.sent 
  21.   
  22. def clear_timestamp(self): 
  23.     self.timestamp = None 
  24.   
  25. def __str__(self): 
  26.     return 'SwitchData<timestamp=%s, sent=%d>' \ 
  27.         % (self.timestamp, self.sent) 

* SwitchDataState:類似于PortDataState類,繼承自字典,保存從Switch類到SwitchData類的映射,維護了一個類似雙向鏈表的數據結構Shell

  1. class SwitchDataState(dict): 
  2. # dict: Switch class -> SwitchData class 
  3. # slimed down version of OrderedDict as python 2.6 doesn't support it. 
  4. _PREV = 0 
  5. _NEXT = 1 
  6. _KEY = 2 
  7. def __init__(self): 
  8.     super(SwitchDataState, self).__init__() 
  9.     self._root = root = []          # sentinel node 
  10.     root[:] = [root, root, None]    # [_PREV, _NEXT, _KEY] 
  11.                                     # doubly linked list 
  12.     self._map = {} 
  13.   
  14. def _remove_key(self, key): 
  15.     link_prev, link_next, key = self._map.pop(key) 
  16.     link_prev[self._NEXT] = link_next 
  17.     link_next[self._PREV] = link_prev 
  18.   
  19. def _append_key(self, key): 
  20.     root = self._root 
  21.     last = root[self._PREV] 
  22.     last[self._NEXT] = root[self._PREV] = self._map[key] = [last, root, key]                                                                
  23.   
  24. def _prepend_key(self, key): 
  25.     root = self._root 
  26.     first = root[self._NEXT] 
  27.     first[self._PREV] = root[self._NEXT] = self._map[key] = [root, first, key]                                                                  
  28.   
  29. def _move_last_key(self, key): 
  30.     self._remove_key(key) 
  31.     self._append_key(key) 
  32.   
  33. def _move_front_key(self, key): 
  34.     self._remove_key(key) 
  35.     self._prepend_key(key) 
  36.   
  37. def add_switch(self, dp, lldp_data): 
  38.     if dp not in self: 
  39.         self._prepend_key(dp) 
  40.         self[dp] = SwitchData( lldp_data) 
  41.   
  42. def lldp_sent(self, dp): 
  43.     switch_data = self[dp] 
  44.     switch_data.lldp_sent() 
  45.     self._move_last_key(dp) 
  46.     return switch_data 
  47.   
  48. def lldp_received(self, dp): 
  49.     self[dp].lldp_received() 
  50.   
  51. def move_front(self, dp): 
  52.     switch_data = self.get(dp, None) 
  53.     if switch_data is not None: 
  54.         switch_data.clear_timestamp() 
  55.         self._move_front_key(dp) 
  56.   
  57. def get_switch(self, dp): 
  58.     return self[dp] 
  59.   
  60. def del_port(self, dp): 
  61.     del self[dp] 
  62.     self._remove_key(dp) 
  63.   
  64. def __iter__(self): 
  65.     root = self._root 
  66.     curr = root[self._NEXT] 
  67.     while curr is not root: 
  68.         yield curr[self._KEY] 
  69.         curr = curr[self._NEXT] 
  70.   
  71. def clear(self): 
  72.     for node in self._map.values(): 
  73.         del node[:] 
  74.     root = self._root 
  75.     root[:] = [root, root, None] 
  76.     self._map.clear() 
  77.     dict.clear(self) 
  78.   
  79. def items(self): 
  80.     'od.items() ->;gt; list of (key, value) pairs in od' 
  81.     return [(key, self[key]) for key in self] 
  82.   
  83. def iteritems(self): 
  84.     'od.iteritems -> an iterator over the (key, value) pairs in od' 
  85.     for k in self: 
  86.         yield (k, self[k]) 

接著簡述修改的核心代碼,對應上面第三部分提到的四點

1. 更新控制器的LLDP PacketOut消息數量,由一個端口一個,改為一個交換機一個PacketOut消息,LLDP數據包負載中的域Port ID TLV值置為零;

  1. #construct LLDP packet for switch 
  2. def switchadded(self, dp): 
  3. lldpdata = LLDPPacket.lldppacket( 
  4. dp.dp.id, 0, '00:00:00:00:00:00', self.DEFAULTTTL) 
  5. self.switches.addswitch(dp, lldpdata) 

2.控制器向流表下發一條規則:所有從端口Controller接收到的LLDP數據包,依次將其源MAC地址置為端口MAC地址,然后從相應的端口轉發出去;

  1. if dp.ofproto.OFPVERSION>= ofprotov12.OFPVERSION: 
  2. for portinfor in self.portstate[dp.id].values(): 
  3. if portinfor.name != "tap:"
  4. actions.append(dp.ofprotoparser.OFPActionSetField(ethsrc=portinfor.hwaddr)) 
  5. actions.append(dp.ofprotoparser.OFPActionOutput(portinfor.portno)) 
  6. #actions = [dp.ofprotoparser.OFPActionOutput(self.portstate[dp].portno)] 
  7. out = dp.ofprotoparser.OFPPacketOut( 
  8. datapath=dp, inport=dp.ofproto.OFPP_CONTROLLER, 
  9. bufferid=dp.ofproto.OFPNOBUFFER, actions=actions, 
  10. data=switchdata.lldpdata) 
  11. dp.sendmsg(out) 
  12. else
  13. LOG.error('cannot send lldp packet. unsupported version. %x'
  14. dp.ofproto.OFPVERSION) 

3.更新控制器的PacketIn消息處理機制,根據LLDP數據包的來源,可以得到目的交換機,目的端口,通過解析LLDP數據包,得到源MAC和源交換機,通過源MAC地址查找對應的端口號;

  1. for port in self.portstate[srcdpid].values(): 
  2. if port.hwaddr == srcmac: 
  3. srcportno = port.portno 

4.由于是修改的代碼,所以不要忘了刪除原來的以端口主導的相關代碼。完整的代碼見github。

五. 實驗驗證

用Mininet建立一個二層二叉樹,s3作為根節點分別連接s1和s2。如下圖:

tp3

寫個簡單的ryu應用來調用拓撲發現模塊提供的API接口,應用為topo_learner.py,代碼見github用wireshark抓取OpenFlow和LLDP數據包來進行驗證

tp4

首先抓取交換機對控制器的響應消息,查看交換機的端口以及對應的MAC地址,從解析可以看到這是s3交換機,擁有四個端口(分別連接控制器,s1,s2,h3),下圖是截取到的一個LLDP數據包,可以看出圖中藍色背景的LLDP的數據包的源MAC地址是s3交換機的3端口的MAC地址,說明前面的代碼修改成功。

tp5

責任編輯:何妍 來源: SDNLAB
相關推薦

2023-08-13 18:31:45

SDN控制器

2015-02-02 09:37:42

SDN控制器

2015-05-26 10:16:27

SDNSDN控制器

2018-01-10 21:07:35

2015-02-27 10:52:17

SDN

2015-07-14 11:09:26

SDN

2013-06-08 09:50:30

SDN控制器應用OpenFlow軟件定義網絡

2015-07-20 11:34:06

2013-12-19 09:32:01

SDN南向網絡控制

2013-09-17 09:18:02

SDN控制SDN軟件定義網絡

2013-07-18 09:10:30

SDN控制器標準

2013-09-22 09:39:16

SDN控制器SDN軟件定義網絡

2015-09-22 13:26:58

SDN通信領域

2013-11-28 09:16:14

SDN控制器軟件定義網絡

2015-03-23 11:26:38

2016-04-27 09:54:52

SDNSDN控制器

2015-12-18 17:31:54

SDN控制器白皮書

2013-12-19 10:06:44

SDN控制器東西向擴展

2013-12-19 09:35:49

SDN控制器北向

2021-12-26 00:01:44

元宇宙SDN控制器
點贊
收藏

51CTO技術棧公眾號

日韩欧美xxxx| 国内外成人免费激情在线视频网站 | 都市激情在线视频| 日本vs亚洲vs韩国一区三区二区 | 精品产国自在拍| 欧美伊人久久久久久久久影院| 视频一区二区三区在线观看| 中文字幕在线观看欧美| 欧美3p在线观看| 日韩欧美第一区| 亚洲熟妇国产熟妇肥婆| 国产精品一二三区视频| 九色porny丨国产精品| 欧美裸身视频免费观看| 性囗交免费视频观看| 黑人巨大精品欧美一区二区桃花岛| 国产欧美日韩精品a在线观看| 成人a在线观看| 国产精品二区一区二区aⅴ| 亚洲丝袜啪啪| 欧美日韩国产一级片| 国产一级大片免费看| 五月婷婷在线观看视频| 亚洲一区欧美二区| 色噜噜狠狠狠综合曰曰曰88av| 手机av在线免费| 尤物在线网址| 国产亚洲人成网站| 99久热re在线精品视频| 国产又黄又猛又粗又爽| 中文字幕一区二区av| 日韩电影免费观看在线观看| 污污视频网站在线| 先锋成人av| 国产欧美精品一区| 国产日韩二区| 国产精品-色哟哟| 一区二区高清| 九九久久久久99精品| 国产一二三四五区| 中文字幕一区图| 欧美日韩国产精选| 97在线免费公开视频| 超碰个人在线| 国产亚洲精品精华液| 国产精品一区二区在线观看| 在线观看中文字幕2021| 亚洲专区一区| 色综合五月天导航| 一区二区三区影视| 不卡一区2区| 亚洲精品福利在线观看| 992tv人人草| 九九热线视频只有这里最精品| 亚洲久本草在线中文字幕| 亚洲综合欧美日韩| 日本在线免费| 中文字幕在线播放不卡一区| 一区二区三区欧美成人| 香蕉视频网站在线观看| 国产精品久久精品日日| 亚洲一区三区在线观看| 香蕉视频在线播放| 日韩毛片高清在线播放| 一区二区在线中文字幕电影视频| 婷婷免费在线视频| 日韩理论片在线| 热久久最新网址| 免费在线看电影| 五月天亚洲婷婷| 男女高潮又爽又黄又无遮挡| 成人性生活视频| 欧美亚洲国产一区二区三区| 五月天婷婷影视| 中文久久电影小说| 亚洲精品国产成人| 亚洲做受高潮无遮挡| 欧美午夜精彩| 久久综合电影一区| 国产乡下妇女做爰视频| 性色一区二区三区| 国产欧美精品xxxx另类| 性少妇videosexfreexxx片| 成人黄色国产精品网站大全在线免费观看| 精品欧美国产| 91女主播在线观看| 亚洲午夜精品在线| 日韩中文字幕免费在线| 国产精品一区三区在线观看| 亚洲成人网av| 国产探花视频在线播放| 欧美91精品| 日本精品视频在线播放| 一级全黄裸体免费视频| 成人性视频网站| 欧美美乳视频网站在线观看| 黄网站在线免费| 精品久久久久久久久国产字幕 | 日韩精品一区二区三区在线 | 精品人妻少妇AV无码专区| aaa欧美日韩| 在线观看日韩片| 国产精品蜜芽在线观看| 精品视频一区二区不卡| 美国黄色一级视频| 残酷重口调教一区二区| 国模精品视频一区二区| 92久久精品一区二区| proumb性欧美在线观看| 亚洲区一区二区三区| 大桥未久在线播放| 欧美日韩精品一区二区在线播放| 最新日本中文字幕| 久久裸体网站| 欧美怡春院一区二区三区| 国产精品无码久久久久成人app| 99久久久国产精品免费蜜臀| 黄色高清视频网站| 激情亚洲影院在线观看| 精品国产伦一区二区三区观看方式| 91国模少妇一区二区三区| 国内精品嫩模av私拍在线观看| 国产精品久久久久久中文字| 天天干,夜夜爽| 亚洲午夜在线视频| 8x8x成人免费视频| 欧美日韩国产一区二区三区不卡| 久久久这里只有精品视频| 伊人免费在线观看| 久久奇米777| 人人干视频在线| 亚洲精品a区| 精品国产一区二区三区久久久| 免费的毛片视频| a级高清视频欧美日韩| 亚洲激情免费视频| 婷婷激情成人| 中文字幕v亚洲ⅴv天堂| 黄色片视频免费| 久久婷婷国产综合国色天香| 国产午夜大地久久| 激情av综合| 欧美激情图片区| 精品国产一级片| 日韩理论片中文av| 久久精品久久99| 久久久久久久久99精品大| 国产欧美日韩高清| 2021av在线| 欧美日韩亚洲综合一区| 日本精品久久久久中文| 蜜臀av一区二区在线观看| 日韩精品一区二区三区外面| 欧美艳星kaydenkross| 日韩av在线直播| 国产又黄又猛又粗又爽| 国产亚洲一区二区在线观看| 国产精品无码专区av在线播放 | 一区二区视频国产| 四虎影视国产精品| 日韩中文字幕国产| 国产色片在线观看| 一区二区三区四区亚洲| 又黄又色的网站| 9色国产精品| 免费在线观看一区二区| 怡红院成人在线| 日韩小视频在线| 国产丰满果冻videossex| 亚洲成年人影院| 添女人荫蒂视频| 日本不卡不码高清免费观看| 91免费视频黄| 福利电影一区 | 成人午夜888| 欧美激情欧美激情| 欧美挠脚心网站| 这里只有精品电影| xxxxxx国产| 久久久久高清精品| 免费成人黄色大片| 在线免费高清一区二区三区| 欧美亚洲爱爱另类综合| 亚洲欧美一级| 91精品国产91久久久久久| 国产露出视频在线观看| 日韩美一区二区三区| 欧美在线观看不卡| 日韩毛片视频在线看| 黄色免费视频网站| 免费观看30秒视频久久| 亚洲乱码日产精品bd在线观看| 西野翔中文久久精品字幕| 国产精品福利在线观看| 日本无删减在线| 国产亚洲精品美女久久久| 国产高清第一页| 日韩欧美高清视频| 天堂网avav| 国产亚洲va综合人人澡精品| 国产裸体视频网站| 三级在线观看一区二区| www.成年人视频| 日韩精品永久网址| 国产无套精品一区二区| 欧美日韩免费电影| 亚州国产精品久久久| 在线免费看黄| 欧美va天堂va视频va在线| 欧美一级片免费在线观看| 国产区在线观看成人精品 | 91亚洲资源网| 不卡的在线视频| 麻豆精品网站| 亚洲熟妇无码av在线播放| 狠狠做六月爱婷婷综合aⅴ | 亚洲 欧美 日韩系列| 激情久久久久| 国产精品久久成人免费观看| 精品国产乱码久久久| 国产日韩欧美一区二区| 国产精品欧美一区二区三区不卡| 国产91露脸中文字幕在线| 91九色在线看| 欧美黑人性猛交| 九七久久人人| 在线a欧美视频| 青青青草网站免费视频在线观看| 日韩欧美一区在线观看| 一区二区精品视频在线观看| 欧洲精品一区二区三区在线观看| 欧美福利视频一区二区| 一区二区三区产品免费精品久久75| 91免费在线看片| 国产精品色哟哟| 99久久精品免费视频| 久久久久久久久免费| 国产国语性生话播放| 99视频精品在线| 国产真实乱人偷精品| 成人晚上爱看视频| yjizz视频| av激情综合网| 国产黑丝一区二区| gogo大胆日本视频一区| 黄色性视频网站| 99国产精品久久久久| 精品国产av色一区二区深夜久久 | 国产在线观看一区| 欧美大片网址| 蜜桃传媒一区二区| 国产不卡av一区二区| 欧美一区二区三区精美影视| 黑人操亚洲人| 伊甸园精品99久久久久久| 日韩在线观看一区| 欧美性受黑人性爽| 国产精品vip| 日韩网站在线免费观看| 99视频精品| 欧美三级午夜理伦三级| 日本中文字幕不卡| 中国黄色片一级| 国产一区二区美女| 美女露出粉嫩尿囗让男人桶| av电影在线观看完整版一区二区| 精品无码一区二区三区| 中文字幕av一区二区三区| 午夜剧场免费在线观看| 亚洲一区视频在线| 天天操天天操天天操天天| 欧洲精品在线观看| 精品欧美一区二区精品少妇| 亚洲第一网站男人都懂| 可以直接在线观看的av| 最近2019年好看中文字幕视频| 成人毛片av在线| 午夜精品蜜臀一区二区三区免费| 黑人巨大亚洲一区二区久| 成人福利视频在线观看| 风间由美一区二区av101| 日本一区二区三区免费观看| 五月天久久777| 精品久久一二三| 免费一级片91| 日本精品一二三| 亚洲国产电影在线观看| 久草视频手机在线观看| 17c丨国产丨精品视频| 亚洲一二av| 欧美大香线蕉线伊人久久国产精品| 国产精品嫩草影院在线看| 特级黄色录像片| 性色av一区二区怡红| 69久久精品无码一区二区| 久久综合久久鬼色中文字| 手机av在线看| 色综合欧美在线视频区| 99re只有精品| 一本色道久久88亚洲综合88| 男男gaygays亚洲| 国产热re99久久6国产精品| 国产福利一区二区精品秒拍| 亚洲欧美日韩不卡一区二区三区| 狠狠色丁香久久综合频道| 性chinese极品按摩| 91啪亚洲精品| 激情视频在线播放| 在线观看日韩电影| 午夜成人免费影院| 欧美老少配视频| 国产精品xxx| 久久精品日产第一区二区三区精品版| 日韩在线观看电影完整版高清免费悬疑悬疑| 农民人伦一区二区三区| 日韩av一区二| 国产精品jizz| 亚洲丶国产丶欧美一区二区三区| 91丨九色丨丰满| 一二美女精品欧洲| 电影一区二区三区| 国产一区二区精品在线| 女主播福利一区| 成人黄色一级大片| 国产精品欧美一区喷水| 狠狠人妻久久久久久综合| 亚洲国产精品99| 欧美伦理免费在线| 91入口在线观看| 天堂网在线观看国产精品| 一区二区三区韩国| 国产午夜精品一区二区| 亚洲欧美综合另类| 亚洲国产精品久久91精品| 丁香花视频在线观看| 国产精品手机在线| 欧美色一级片| 黄页网站在线看| 一区二区三区**美女毛片| 国产日韩在线观看一区| 久久国产天堂福利天堂| 精品久久国产一区| 黄黄视频在线观看| 国产乱码精品一区二区三区忘忧草 | 久久久久影视| 黄色大片中文字幕| aa级大片欧美| 国产 日韩 欧美 在线| 日韩禁在线播放| 免费在线小视频| 久久一区二区三区av| 亚洲激情女人| 色天使在线观看| 国产精品视频免费| 亚洲最大成人av| 久久亚洲私人国产精品va| 国产亚洲久久| 成人av在线不卡| 97精品国产97久久久久久久久久久久| 日韩免费观看一区二区| 日韩国产精品亚洲а∨天堂免| 亚洲日本天堂| 亚洲 国产 欧美一区| 韩国三级中文字幕hd久久精品| 亚洲最大的黄色网址| 精品欧美一区二区在线观看| 国产直播在线| 日韩.欧美.亚洲| 韩国av一区二区三区| 国产一级在线播放| 国产视频精品自拍| 久久er热在这里只有精品66| 99精品一级欧美片免费播放| 成人毛片在线观看| 日韩一级在线视频| 久久天天躁狠狠躁夜夜躁| 哺乳挤奶一区二区三区免费看| 无码人妻丰满熟妇区毛片18| 亚洲欧美综合网| 日韩性xxxx| 国产精品爽黄69天堂a| 欧美日本一区二区高清播放视频| av网页在线观看| 欧美日韩一级片网站| 欧美videos另类精品| 欧洲精品国产| 国产精品18久久久| 69国产精品视频免费观看| 最近2019中文字幕第三页视频| 欧美日本三级| 国产裸体免费无遮挡| 亚洲黄色在线视频| 韩日视频在线| eeuss一区二区三区| 日韩制服丝袜先锋影音| 欧美成欧美va| 在线观看欧美www| y111111国产精品久久久| 欧美国产日韩在线播放| 亚洲综合激情另类小说区|