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

連接一個 IP 不存在的主機時,握手過程是怎樣的?

網絡 通信技術
在服務端啟動好后會調用 listen() 方法,進入到 LISTEN 狀態,然后靜靜等待客戶端的連接請求到來。而此時客戶端主動調用 connect(IP地址) ,就會向某個IP地址發起第一次握手,發送SYN 到目的服務器。

[[410045]]

本文轉載自微信公眾號「小白debug」,作者小白。轉載本文請聯系小白debug公眾號。

鴿了好長時間了,最近很忙。以前工作忙完,就抽空寫文章。

現在忙完工作,還要一三五學駕照,二四六看家具。有同感的老鐵們不要舉手,拉到右下角點個"在看"就好了。

真的,全怪某音。

[[410046]]

扯遠了,回到今天的主題。

方兄最近寫了篇很贊的文章 寫給想去字節寫 Go 的你 ,里面提到了兩個問題。

連接一個 IP 不存在的主機時,握手過程是怎樣的?

連接一個 IP 地址存在但端口號不存在的主機時,握手過程又是怎樣的呢?

讓我回想起曾經也被面試官問過類似的問題,意識到應該很多朋友會對這個問題感興趣。

所以來給大家嘮嘮。

這兩個問題可以延伸出非常多的點。

看完了,說不定能加分!

[[410047]]

正常情況的握手過程是怎么樣的

上面提到的問題,其實是指TCP的三次握手流程。這絕對是面試八股文里的老股了。

我們簡單回顧下基礎知識點。

正常情況下的TCP三次握手

在服務端啟動好后會調用 listen() 方法,進入到 LISTEN 狀態,然后靜靜等待客戶端的連接請求到來。

而此時客戶端主動調用 connect(IP地址) ,就會向某個IP地址發起第一次握手,發送SYN 到目的服務器。

服務器在收到第一次握手后就會響應客戶端,這是第二次握手。

客戶端在收到第二次握手的消息后,響應服務的一個ACK,這算第三次握手,此時客戶端 就會進入 ESTABLISHED狀態,認為連接已經建立完成。

通過抓包可以直觀看出三次握手的流程。

正常三次握手抓包

連一個 IP 不存在的主機時,握手過程是怎樣的

那不存在的IP,分兩種,局域網內和局域網外的。

家用路由器局域網互聯

我以我家里的情況舉例。

家里有一臺家用路由器。本質上它的功能已經集成了我們常說的路由器,交換機和無線接入點的功能了。

其中路由器和交換機在之前寫過的 《硬核圖解!30張圖帶你搞懂!路由器,集線器,交換機,網橋,光貓有啥區別?》里已經詳細介紹過了,就不再說一遍了。無線接入點基本可以認為就是個放出 wifi 信號的組件。

家用路由器下,連著我的N臺設備,包括手機和電腦,他們的IP都有個共同點。都是 192.168.31.xx 形式的。其中,我的電腦的IP是192.168.31.6 ,這個可以通過 ifconfig查到。

符合這個形式的這些個設備,本質上就是通過各種設備(wifi或交換機等)接入到上圖路由器的e2端口,他們共同構成一個局域網。

因此,在我家,我們可以粗暴點認為只要是 192.168.31.xx 形式的IP,就是局域網內的IP。否則就是局域網外的IP,比如 192.0.2.2 。

目的IP在局域網內

因為通過 ifconfig 可以查到我的局域網內IP是192.168.31.6 ,這里盲猜末尾+1是不存在的 IP 。試了下,192.168.31.7 還真不存在。

  1. $ ping 192.168.31.7 
  2. PING 192.168.31.7 (192.168.31.7): 56 data bytes 
  3. Request timeout for icmp_seq 0 
  4. Request timeout for icmp_seq 1 
  5. Request timeout for icmp_seq 2 
  6. Request timeout for icmp_seq 3 
  7. ^C 
  8. --- 192.168.31.7 ping statistics --- 
  9. 5 packets transmitted, 0 packets received, 100.0% packet loss 

于是寫個程序嘗試連這個IP 。下面的代碼是 golang 寫的,大家不看代碼也沒關系,放出來只是方便大家自己復現的時候用的。

  1. // tcp客戶端 
  2. package main 
  3.  
  4. import ( 
  5.     "fmt" 
  6.     "io" 
  7.     "net" 
  8.     "os" 
  9.  
  10. func main() { 
  11.     client, err := net.Dial("tcp""192.168.31.7:8081"
  12.     if err != nil { 
  13.         fmt.Println("err:", err) 
  14.         return 
  15.     } 
  16.  
  17.     defer client.Close() 
  18.     go func() { 
  19.         input := make([]byte, 1024) 
  20.         for { 
  21.             n, err := os.Stdin.Read(input) 
  22.             if err != nil { 
  23.                 fmt.Println("input err:", err) 
  24.                 continue 
  25.             } 
  26.             client.Write([]byte(input[:n])) 
  27.         } 
  28.     }() 
  29.  
  30.     buf := make([]byte, 1024) 
  31.     for { 
  32.         n, err := client.Read(buf) 
  33.         if err != nil { 
  34.             if err == io.EOF { 
  35.                 return 
  36.             } 
  37.             fmt.Println("read err:", err) 
  38.             continue 
  39.         } 
  40.         fmt.Println(string(buf[:n])) 
  41.     } 

然后嘗試抓包。

連一個不存在的IP(局域網內)抓包

可以發現根本沒有三次握手的包,只有一些 ARP 包,在詢問“誰是 192.168.31.7,告訴一下 192.168.31.6” 。

這里有三個問題

  • 為什么會發ARP請求?
  • 為什么沒有TCP握手包?
  • ARP本身是沒有重試機制的,為什么ARP請求會發那么多遍?

首先我們看下正常情況下執行connect,也就是第一次握手 的流程。

正常connect的流程

應用層執行connect過后,會通過socket層,操作系統接口,進程會從用戶態進入到內核態,此時進入 傳輸層,因為是TCP第一次握手,會加入TCP頭,且置SYN標志。

tcp報頭的SYN

然后進入網絡層,我想要連的是 192.168.31.7 ,雖然它是我瞎編的,但IP頭還是得老老實實把它加進去。

此時需要重點介紹的是鄰居子系統,它在網絡層和數據鏈路層之間。可以通過ARP協議將目的IP轉為對應的MAC地址,然后數據鏈路層就可以用這個MAC地址組裝幀頭。

我們看下那么ARP協議的流程是

ARP流程

1.先到本地ARP表查一下有沒有 192.168.31.7 對應的 mac地址,有的話就返回,這里顯然是不可能會有的。

可以通過 arp -a 命令查看本機的 arp表都記錄了哪些信息

  1. $ arp -a 
  2. ? (192.168.31.1) at 88:c1:97:59:d1:c3 on en0 ifscope [ethernet] 
  3. ? (224.0.0.251) at 1:0:4e:0:1:fb on en0 ifscope permanent [ethernet] 
  4. ? (239.255.255.250) at 1:0:3e:7f:ff:fb on en0 ifscope permanent [ethernet] 

2.看下 192.168.31.7 跟本機IP 192.168.31.6在不在一個局域網下。如果在的話,就在局域網內發一個 arp 廣播,內容就是 前面提到的 “誰是 192.168.31.7,告訴一下 192.168.31.6”。

3.如果目的IP跟本機IP不在同一個局域網下,那么會去獲取默認網關的MAC地址,這里就是指獲取家用路由器的MAC地址。然后把消息發給家用路由器,讓路由器發到互聯網,找到下一跳路由器,一跳一跳的發送數據,直到把消息發到目的IP上,又或者找不到目的地最終被丟棄。

4.第2和第3點都是本地沒有查到 ARP 緩存記錄的情況,這時候會把SYN報文放進一個隊列(叫unresolved_queue)里暫存起來,然后發起ARP請求;等ARP層收到ARP回應報文之后,會再從緩存中取出 SYN 報文,組裝 MAC 幀頭,完成剛剛沒完成的發送流程。

如果經過 ARP 流程能正常返回 MAC 地址,那皆大歡喜,直接給數據鏈路層,經過 ring buffer 后傳到網卡,發出去。

但因為現在這個IP是瞎編的,因此不可能得到目的地址 MAC ,所以消息也一直沒法到數據鏈路層。整個流程卡在了ARP流程中。

而抓包是在數據鏈路層之后進行的,因此 TCP 第一次握手的包一直沒能抓到,只能抓到為了獲得 192.168.31.7 的MAC地址的ARP請求。

發送數據時,是在經過數據鏈路層之后的 dev_queue_xmit_nit 方法執行抓包操作的,這是屬于網卡驅動層的方法了。

順帶一提,接收端抓包是在 __netif_receive_skb_core 方法里執行的,也屬于網卡驅動層。感興趣的朋友們可以以這個為關鍵詞搜索相關知識點哈

此時 因為 TCP 協議是可靠的協議,對于 TCP 層來說,第一次握手的消息,已經發出去了,但是一直沒有收到 ACK。也不知道消息是出去后是遇到什么事了。為了保證可靠性,它會不斷重發。

而每一次重發,都會因為同樣的原因(沒有目的 MAC 地址)而尬在了 ARP 那個流程里。因此,才看到好幾次重復的 ARP 消息。

那回到剛剛的三個問題

  • 為什么會發 ARP 請求?

因為目的地址是瞎編的,本地ARP表沒有目的機器的MAC地址,因此發出ARP消息。

  • 為什么沒有 TCP 握手包?

因為協議棧的數據到了網絡層后,在數據鏈路層前,就因為沒有目的MAC地址,沒法發出。因此抓包軟件抓不到相關數據。

  • 為什么 ARP 請求會發那么多遍?

因為 TCP 協議的可靠性,會重發第一次握手的消息,但每一次都因為沒有目的 MAC 地址而失敗,每次都會發出ARP請求。

小結

連一個 IP 不存在的主機時,如果目的IP在局域網內,則第一次握手會失敗,接著不斷嘗試重發握手的請求。同時,本機會不斷發出ARP請求,企圖獲得目的機器的 MAC 地址。并且,因為沒能獲得目的 MAC 地址,這些 TCP 握手請求最終都發不出去,

目的IP在局域網外

上面提到的是,目的 IP 在局域網內的情況,下面討論目的IP在局域網外的情況。

瞎編一個不是 192.168.31.xx 形式的 IP 作為這次要用的局域網外IP, 比如 10.225.31.11。

先抓包看一下。

連一個不存在的IP(局域網外)抓包

這次的現象是能發出 TCP 第一次握手的 SYN包。

這里有兩個問題

  • 為什么連局域網外的 IP 現象跟連局域網內不一致?
  • TCP 第一次握手的重試規律好像不太對?

為什么連局域網外的IP現象跟連局域網內不一致?

這個問題的答案其實在上面 ARP 的流程里已經提到過了,如果目的 IP 跟本機 IP 不在同一個局域網下,那么會去獲取默認網關的 MAC 地址,這里就是指獲取家用路由器的MAC地址。

此時ARP流程成功返回家用路由器的 MAC 地址,數據鏈路層加入幀頭,消息通過網卡發到了家用路由器上。

消息會通過互聯網一直傳遞到某個局域網為 10.225.31.xx 的路由器上,那個路由器 發出ARP 請求,詢問他們局域網內的機器有沒有叫 10.225.31.11的 (結果當然沒有)。

最終沒能發送成功,發送端也就遲遲收不到目的機的第二次握手響應。

因此觸發TCP重傳。

TCP第一次握手的重試規律好像不太對?

在 Linux 中,第一次握手的 SYN 重傳次數,是通過 tcp_syn_retries 參數控制的。可以通過下面的方式查看

  1. $cat /proc/sys/net/ipv4/tcp_syn_retries 

這里的含義是指 syn重傳 會發生6次。

而每次重試都會間隔一定的時間,這里的間隔一般是 1s,2s,4s,8s, 16s, 32s .

SYN重傳

而事實上,看我的截圖,是先重試4次,每次都是1s,之后才是 1s,2s,4s,8s, 16s, 32s 的重試。

這跟我們知道的不太一樣。

這個是因為我用的是macOS抓的包,跟linux就不是一個系統,各自的TCP協議棧在sync重傳方面的實現都可能會有一定的差異。

我還聽說 oppo 和 vivo 的 syn重傳 是0.5s起步的。而 windows 的 syn重傳 還有自己的專利。

這些冷知識大家可以不用在意。面試的時候知道linux的就夠了,剩下的可以用來裝逼。畢竟面試官不在意"茴"字到底有幾種寫法。

連IP 地址存在但端口號不存在的主機的握手過程

前面提到的是IP地址壓根就不存在的情況。假如IP地址存在但端口號是瞎編的呢?

目的IP是回環地址

連回環地址,端口不存在抓包

現象也比較簡單,已經IP地址是存在的,也就是在互聯網中這個機器是存在的。

那么我們可以正常發消息到目的IP,因為對應的MAC地址和IP都是正確的,所以,數據從數據鏈路層到網絡層都很OK。

直到傳輸層,TCP協議在識別到這個端口號對應的進程根本不存在時,就會把數據丟棄,響應一個RST消息給發送端。

連回環地址時端口不存在

RST是什么?

我們都是到TCP正常情況下斷開連接是用四次揮手,那是正常時候的優雅做法。

但異常情況下,收發雙方都不一定正常,連揮手這件事本身都可能做不到,所以就需要一個機制去強行關閉連接。

RST 就是用于這種情況,一般用來異常地關閉一個連接。它在TCP包頭中,在收到置了這個標志位的數據包后,連接就會被關閉,此時接收到 RST的一方,一般會看到一個 connection reset 或 connection refused 的報錯。

TCP報頭RST位

目的IP在局域網內

剛剛提到我的本機IP是 192.168.31.6 ,局域網內有臺 192.168.31.1 。同樣嘗試連一個不存在的端口。

連存在的局域網內IP,端口不存在抓包

此時現象跟前者一致。

唯一不同的是,前者是回環地址,RST數據是從本機的傳輸層返回的。而這次的情況,RST數據是從目的機器的傳輸層返回的。

連外網地址時端口不存在

目的IP在局域網外

找一個存在的外網ip,這里我拿了最近剛白嫖的阿里云服務器地址 47.102.221.141 。(炫耀)

進行連接連接,發現與前面兩種情況是一致的,目的機器在收到我的請求后,立馬就通過 RST標志位 斷開了這次的連接。

連存在的局域網外IP,端口不存在抓包

這一點跟前面兩種情況一致。

熟悉小白的朋友們都知道,每次搞事情做測試,都會用 baidu.com 。

這次也不例外,ping 一下 baidu.com ,獲得它的 IP: 220.181.38.148 。

  1. $ ping baidu.com 
  2. PING baidu.com (220.181.38.148): 56 data bytes 
  3. 64 bytes from 220.181.38.148: icmp_seq=0 ttl=48 time=35.728 ms 
  4. 64 bytes from 220.181.38.148: icmp_seq=1 ttl=48 time=38.052 ms 
  5. 64 bytes from 220.181.38.148: icmp_seq=2 ttl=48 time=37.845 ms 
  6. 64 bytes from 220.181.38.148: icmp_seq=3 ttl=48 time=37.210 ms 
  7. 64 bytes from 220.181.38.148: icmp_seq=4 ttl=48 time=38.402 ms 
  8. 64 bytes from 220.181.38.148: icmp_seq=5 ttl=48 time=37.692 ms 
  9. ^C 
  10. --- baidu.com ping statistics --- 
  11. 6 packets transmitted, 6 packets received, 0.0% packet loss 
  12. round-trip min/avg/max/stddev = 35.728/37.488/38.402/0.866 ms 

發消息到給百度域名背后的 IP,且瞎隨機指定一個端口 8080, 抓包。

連baidu,端口不存在抓包

現象卻不一致。沒有 RST 。而且觸發了第一次握手的重試消息。這是為什么?

這是因為baidu的機器,作為線上生產的機器,會設置一系列安全策略,比如只對外暴露某些端口,除此之外的端口,都一律拒絕。

所以很多發到 8080端口的消息都在防火墻這一層就被拒絕掉了,根本到不了目的主機里,而RST是在目的主機的TCP/IP協議棧里發出的,都還沒到這一層,就更不可能發RST了。因此發送端發現消息沒有回應(因為被防火墻丟了),就會重傳。所以才會出現上述抓包里的現象。

防火墻安全策略

總結

連一個 IP 不存在的主機時

  • 如果IP在局域網內,會發送N次ARP請求獲得目的主機的MAC地址,同時不能發出TCP握手消息。
  • 如果IP在局域網外,會將消息通過路由器發出,但因為最終找不到目的地,觸發TCP重試流程。

連IP 地址存在但端口號不存在的主機時

  • 不管目的IP是回環地址還是局域網內外的IP地址,目的主機的傳輸層都會在收到握手消息后,發現端口不正確,發出RST消息斷開連接。
  • 當然如果目的機器設置了防火墻策略,限制他人將消息發到不對外暴露的端口,那么這種情況,發送端就會不斷重試第一次握手。

最后留個問題,連一個 不存在的局域網外IP的主機時,我們可以看到TCP的重發規律是:開始時,每隔1s重發五次 TCP SYN消息,接著2s,4s,8s,16s,32s都重發一次;

 

對比連一個 不存在的局域網內IP的主機時,卻是每隔1s重發了4次ARP請求,接著過了32s后才再發出一次ARP請求。已知ARP請求是沒有重傳機制的,它的重試就是TCP重試觸發的,但兩者規律不一致,是為什么?

 

責任編輯:武曉燕 來源: 小白debug
相關推薦

2023-02-16 14:19:07

IP地址UDP

2010-04-15 17:20:54

Oracle存儲過程

2018-07-19 06:14:09

2023-09-12 08:02:13

viewport斷點

2021-01-25 07:21:24

GitHub 開源代碼下載

2018-07-03 14:20:10

數據庫恢復備份

2024-12-13 08:25:59

DML操作SQL

2020-11-03 10:23:22

云計算容器技術

2019-12-25 09:32:48

Java開發代碼

2018-08-26 06:24:58

MySQLInnoDB行鎖

2024-07-22 08:03:55

2017-12-26 08:25:57

硬盤數據丟失

2017-12-07 14:57:13

404互聯網錯誤代碼

2019-12-31 09:11:01

后臺Android系統

2012-05-16 11:35:16

SQL Server拒絕訪問

2018-12-29 10:37:05

HTTP緩存URL

2010-11-08 14:45:44

SQL Server連

2010-03-02 13:35:59

Fedora apac

2021-09-26 05:05:09

WindowWeb JS

2020-09-21 15:16:09

大數據IT技術
點贊
收藏

51CTO技術棧公眾號

日韩中文字幕在线免费观看| 一本一道久久a久久精品综合蜜臀| 91麻豆国产精品| 欧美日韩偷拍视频| 国产精品自在| 欧美系列一区二区| 99久久久精品视频| 成人亚洲综合天堂| 国产成人av福利| 国产成人aa精品一区在线播放| 成年人视频软件| 超碰地址久久| 欧美日韩免费一区二区三区 | 欧美日韩亚洲天堂| 亚洲一区二区三区免费观看| 天天摸夜夜添狠狠添婷婷| 亚欧成人精品| 欧美夫妻性视频| www.99热| 伊人成综合网伊人222| 欧美一区二区三区在线电影| 亚洲一二三区av| 9999精品成人免费毛片在线看| 国产精品拍天天在线| 国产一区二区中文字幕免费看| 国产精品女同一区二区| 久久99伊人| 97高清免费视频| 国产高潮国产高潮久久久91 | 一级黄色片播放| 3p在线观看| 国产欧美一区二区精品婷婷| 成人av中文| 国产麻豆一精品一男同| 久久只有精品| 51视频国产精品一区二区| 欧美另类视频在线观看| 午夜久久免费观看| 最近中文字幕mv在线一区二区三区四区 | 亚洲成人久久一区| 日本高清一区二区视频| 8av国产精品爽爽ⅴa在线观看| 欧美午夜激情在线| www.玖玖玖| 多野结衣av一区| 亚洲18女电影在线观看| 成人免费看片'免费看| 超鹏97在线| 亚洲视频一区二区免费在线观看 | 91最新在线| 国产亚洲视频系列| 日韩av在线电影观看| 久久av少妇| 欧美国产精品一区二区三区| 欧美亚洲另类久久综合| 久久精品国产亚洲a∨麻豆| 久久久综合网站| 欧美日本国产精品| 韩日视频在线| 国产精品久久99| 最新视频 - x88av| 性xxxxfjsxxxxx欧美| 亚洲激情第一区| 国产精品久久久久9999爆乳| 超碰成人av| 色综合久久99| 亚洲精品综合在线观看| 国产区一区二| 精品欧美乱码久久久久久1区2区| 又黄又色的网站| 韩国女主播一区二区三区| 亚洲乱码一区二区| 国产欧美小视频| 亚洲欧美一区在线| 91精品国产91| 中文字幕乱码无码人妻系列蜜桃| 麻豆成人av在线| 91手机在线播放| 熟妇高潮一区二区高潮| 久久久不卡网国产精品二区| 亚洲巨乳在线观看| 日韩欧美一起| 日韩欧美精品网站| 日本高清一区二区视频| 国产精品三p一区二区| 亚洲理论在线a中文字幕| 毛片久久久久久| 欧美日韩一区二区国产| 8x海外华人永久免费日韩内陆视频 | 91色中文字幕| 天堂在线视频免费观看| 中文av一区特黄| 又大又硬又爽免费视频| 天然素人一区二区视频| 日韩视频一区二区| 国产毛片久久久久久久| 91精品高清| 国产91色在线| 免费观看的毛片| 国产精品毛片久久久久久| 欧美黑人在线观看| 韩国精品视频在线观看| 亚洲成色777777在线观看影院| 午夜时刻免费入口| 亚洲少妇在线| 99电影网电视剧在线观看| 国产中文字幕在线视频| 亚洲国产cao| 老司机久久精品| 亚洲桃色综合影院| 欧美日韩国产成人高清视频| 蜜臀尤物一区二区三区直播| 成人网男人的天堂| 中文字幕欧美人与畜| **欧美日韩在线观看| 精品久久久久香蕉网| 中文字幕在线观看二区| 亚洲影院免费| 国产精品乱子乱xxxx| 黄色网在线免费看| 欧美性色综合网| 欧美成人三级伦在线观看| 91高清一区| 国产有码在线一区二区视频| 男生女生差差差的视频在线观看| 午夜精品免费在线观看| 成人高清在线观看视频| 国产精品99在线观看| 青青草一区二区| 少妇荡乳情欲办公室456视频| 亚洲三级视频在线观看| a在线观看免费视频| 精品国产视频| 国产不卡视频在线| 久久视频www| 一本色道综合亚洲| 蜜桃传媒一区二区亚洲av| 亚洲激情国产| 国产精品夜夜夜一区二区三区尤| 2024最新电影在线免费观看| 在线观看91av| 国产老头老太做爰视频| 久久99精品国产麻豆婷婷洗澡| 日韩国产高清一区| 456亚洲精品成人影院| 亚洲欧美三级在线| 久久久久久少妇| 久久亚洲综合av| 国产aaa一级片| 禁果av一区二区三区| 国产精品444| 9i精品一二三区| 精品视频一区二区三区免费| 长河落日免费高清观看| 加勒比av一区二区| 精品一区二区成人免费视频| 国产精品一区二区三区av| 久久色免费在线视频| 99精品国产99久久久久久97| 亚洲久本草在线中文字幕| 久久久久亚洲av无码专区首jn| 欧美成人有码| 国产在线一区二区三区四区| 蜜桃视频动漫在线播放| 亚洲日本中文字幕| 中文字幕人成人乱码亚洲电影 | 麻豆亚洲av成人无码久久精品| 国产精品91一区二区| 成人免费性视频| 羞羞色国产精品网站| 国产精品福利网| 麻豆传媒在线观看| 精品国产精品网麻豆系列| 中文字幕亚洲高清| 亚洲国产电影在线观看| 欧美一级小视频| 亚洲激情国产| 婷婷四房综合激情五月| 国产95亚洲| 午夜免费在线观看精品视频| 国产中文字幕在线看| 正在播放一区二区| 国产精品成人网站| 国产日本欧洲亚洲| 中文字幕亚洲日本| 久久久成人网| 欧美日韩中文字幕在线播放| 日韩av不卡一区| 成人午夜在线观看| 午夜久久中文| 欧美老女人xx| 成人动漫在线播放| 亚洲精品在线三区| 亚洲一级片免费看| 疯狂欧美牲乱大交777| 欧美视频一区二区在线| 99久久免费精品高清特色大片| 天天干天天操天天玩| 在线欧美日韩| japanese在线视频| 九九亚洲视频| 国产伦精品一区二区三区| 成人a在线观看高清电影| 欧美精品videofree1080p| 成人综合影院| 亚洲电影免费观看高清完整版在线观看 | 亚洲国产精品va在线看黑人| 在线观看中文字幕av| 天天av天天翘天天综合网色鬼国产| 精品丰满少妇一区二区三区| 91片在线免费观看| 中国特级黄色大片| 韩国一区二区三区| 国产情侣av自拍| 亚洲高清电影| av影院在线播放| 四季av一区二区三区免费观看| 欧美二区在线看| 成人午夜大片| 99re国产视频| 九九99久久精品在免费线bt| 国产欧美日韩视频| 成人网ww555视频免费看| 91国内揄拍国内精品对白| 日本欧美电影在线观看| 久久精品99久久久香蕉| av在线中文| 国产亚洲精品久久| 蜜桃视频在线观看视频| 亚洲精品aⅴ中文字幕乱码 | 97久久精品一区二区三区的观看方式| 欧美在线免费观看| 超碰91在线观看| 91精品国产高清久久久久久| 青草视频在线免费直播| 欧美老女人性视频| 日韩三级免费| 久久久久久91| 秋霞在线午夜| 欧美精品成人91久久久久久久| 亚洲无线看天堂av| 欧美日本黄视频| 毛片在线网址| 97久久精品国产| 亚洲黄色免费av| 日本欧美爱爱爱| 成人a在线观看高清电影| 国产精品偷伦一区二区| 欧美一级网址| 亚洲www永久成人夜色| 久久中文字幕一区二区| 波多野结衣成人在线| 精品人人人人| 久久人人九九| 成人在线国产| 亚洲国产精品女人| 亚洲国产二区| 欧美精品色婷婷五月综合| 日韩va欧美va亚洲va久久| 国产又黄又猛又粗又爽的视频| 美腿丝袜亚洲一区| 能看毛片的网站| 不卡一区中文字幕| 中文字幕免费在线看线人动作大片| 中文字幕精品—区二区四季| 国精品无码一区二区三区| 亚洲一区免费在线观看| 一级成人黄色片| 欧美无人高清视频在线观看| 国产农村老头老太视频| 精品国产精品网麻豆系列| 人成在线免费视频| www.精品av.com| 欧美精品videosex| 日本精品久久久久影院| jizz欧美| 成人做爰66片免费看网站| 台湾亚洲精品一区二区tv| 在线精品日韩| 亚洲精品人人| 日韩欧美亚洲另类| 91亚洲永久精品| 亚洲熟女少妇一区二区| 亚洲成人手机在线| 波多野结衣影片| 欧美一区二区成人6969| 四虎在线视频| 免费av一区二区| 另类中文字幕国产精品| 99国产超薄肉色丝袜交足的后果| 国产成人精品一区二区免费看京| 午夜啪啪福利视频| 久久九九电影| 美女搡bbb又爽又猛又黄www| 中文字幕免费在线观看视频一区| 妺妺窝人体色www聚色窝仙踪| 日本高清成人免费播放| www.久久精品.com| 中文字幕免费国产精品| 在线天堂资源www在线污| 91精品久久久久久久久青青| 日韩成人午夜| 屁屁影院ccyy国产第一页| 日韩高清一区二区| 日韩精品视频一区二区| 综合激情成人伊人| 免费在线不卡av| 日韩精品在线观看视频| 特级毛片在线| 成人情趣片在线观看免费| 国产精品一线天粉嫩av| 日韩av综合在线观看| 成人在线一区二区三区| 在线观看亚洲网站| 欧美午夜免费电影| 毛片网站在线观看| 97在线看福利| 超碰在线成人| 成人在线视频一区二区三区| 六月丁香婷婷久久| 久久久久亚洲av无码a片| 精品动漫一区二区三区| 免费看国产片在线观看| 欧美精品情趣视频| 99er精品视频| 中文字幕久久一区| 捆绑紧缚一区二区三区视频| 免费一级做a爰片久久毛片潮| 欧美视频国产精品| 污污的视频网站在线观看| 欧美高清视频在线观看| 国产精品免费精品自在线观看| 亚洲精品成人a8198a| 奇米精品一区二区三区在线观看一| 久久精品国产亚洲av麻豆| 亚洲成va人在线观看| 韩国av永久免费| 欧美激情中文字幕乱码免费| www.神马久久| 国产精品成人久久电影| 成人免费观看男女羞羞视频| 久久久久成人网站| 精品国产乱码久久| 美女av在线免费看| 美乳视频一区二区| 天堂久久久久va久久久久| 免费黄色在线视频| 91国偷自产一区二区使用方法| 国产一二在线观看| 国产精品日韩av| 99精品综合| 手机在线播放av| 亚洲一区免费视频| 婷婷久久久久久| 日韩av不卡电影| 日韩精品久久| 国产裸体视频网站| 亚洲国产va精品久久久不卡综合| 无码h黄肉3d动漫在线观看| 清纯唯美亚洲激情| 成人短片线上看| 亚洲在线观看网站| 亚洲影院免费观看| 亚洲人视频在线观看| 国产成人精品久久二区二区91| 日韩中字在线| 久久久久无码国产精品一区李宗瑞| 亚洲成a人v欧美综合天堂下载| 涩涩视频在线观看免费| 国产精品入口尤物| 国产精品www.| 亚洲 小说 欧美 激情 另类| 欧美精品在线一区二区三区| 日本在线观看高清完整版| 久久久久久久久久久久久久久久av | 欧美在线a视频| 亚洲成av人片在www色猫咪| 国产一级网站视频在线| 2014国产精品| 视频一区二区国产| 国产精品久久久精品四季影院| 日韩精品www| **国产精品| 国产69精品久久久久久久| 日本一区二区三区国色天香 | 欧美福利视频网站| 加勒比久久综合| 在线观看一区二区三区视频| 色综合中文综合网| 超碰在线免费播放| 日本一区视频在线| 成人午夜av电影| 亚洲天堂中文网| 91地址最新发布| 91精品久久久久久久久久不卡| 喷水视频在线观看| 在线电影欧美成精品| 91av亚洲| 99国产精品白浆在线观看免费| 欧美国产一区视频在线观看|