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

字節一面:TCP 和 UDP 可以使用同一個端口嗎?

網絡 通信技術
在數據鏈路層中,通過 MAC 地址來尋找局域網中的主機。在網際層中,通過 IP 地址來尋找網絡中互連的主機或路由器。在傳輸層中,需要通過端口進行尋址,來識別同一計算機中同時通信的不同應用程序。

大家好,我是小林。

之前有讀者在字節面試的時候,被問到:TCP 和 UDP 可以同時監聽相同的端口嗎?

圖片

關于端口的知識點,還是挺多可以講的,比如還可以牽扯到這幾個問題:

  • 多個 TCP 服務進程可以同時綁定同一個端口嗎?
  • 客戶端的端口可以重復使用嗎?
  • 客戶端 TCP 連接 TIME_WAIT 狀態過多,會導致端口資源耗盡而無法建立新的連接嗎?

所以,這次就跟大家盤一盤這些問題。

TCP 和 UDP 可以同時綁定相同的端口嗎?

其實我感覺這個問題「TCP 和 UDP 可以同時監聽相同的端口嗎?」表述有問題,這個問題應該表述成「TCP 和 UDP 可以同時綁定相同的端口嗎?」

因為「監聽」這個動作是在 TCP 服務端網絡編程中才具有的,而 UDP 服務端網絡編程中是沒有「監聽」這個動作的。

TCP 和 UDP 服務端網絡相似的一個地方,就是會調用 bind 綁定端口。

給大家貼一下  TCP 和 UDP 網絡編程的區別就知道了。

TCP 網絡編程如下,服務端執行 listen() 系統調用就是監聽端口的動作。

圖片

TCP 網絡編程

UDP 網絡編程如下,服務端是沒有監聽這個動作的,只有執行  bind()  系統調用來綁定端口的動作。

圖片

UDP 網絡編程

TCP 和 UDP 可以同時綁定相同的端口嗎?

答案:可以的。

在數據鏈路層中,通過 MAC 地址來尋找局域網中的主機。在網際層中,通過 IP 地址來尋找網絡中互連的主機或路由器。在傳輸層中,需要通過端口進行尋址,來識別同一計算機中同時通信的不同應用程序。

所以,傳輸層的「端口號」的作用,是為了區分同一個主機上不同應用程序的數據包。

傳輸層有兩個傳輸協議分別是 TCP 和 UDP,在內核中是兩個完全獨立的軟件模塊。

當主機收到數據包后,可以在 IP 包頭的「協議號」字段知道該數據包是 TCP/UDP,所以可以根據這個信息確定送給哪個模塊(TCP/UDP)處理,送給 TCP/UDP 模塊的報文根據「端口號」確定送給哪個應用程序處理。

圖片

因此, TCP/UDP 各自的端口號也相互獨立,如 TCP 有一個 80 號端口,UDP 也可以有一個 80 號端口,二者并不沖突。

驗證結果

我簡單寫了 TCP 和 UDP 服務端的程序,它們都綁定同一個端口號 8888。

圖片

運行這兩個程序后,通過 netstat 命令可以看到,TCP 和 UDP 是可以同時綁定同一個端口號的。

圖片

多個 TCP 服務進程可以綁定同一個端口嗎?

還是以前面的 TCP 服務端程序作為例子,啟動兩個同時綁定同一個端口的 TCP 服務進程。

運行第一個  TCP 服務進程之后,netstat 命令可以查看,8888 端口已經被一個 TCP 服務進程綁定并監聽了,如下圖:

圖片

接著,運行第二個 TCP 服務進程的時候,就報錯了“Address already in use”,如下圖:

圖片

我上面的測試案例是兩個 TCP 服務進程同時綁定地址和端口是:0.0.0.0 地址和8888端口,所以才出現的錯誤。

如果兩個 TCP 服務進程綁定的 IP 地址不同,而端口相同的話,也是可以綁定成功的,如下圖:

圖片

所以,默認情況下,針對「多個 TCP 服務進程可以綁定同一個端口嗎?」這個問題的答案是:如果兩個 TCP 服務進程同時綁定的 IP 地址和端口都相同,那么執行 bind() 時候就會出錯,錯誤是“Address already in use”。

注意,如果 TCP 服務進程 A 綁定的地址是  0.0.0.0 和端口 8888,而如果 TCP 服務進程 B 綁定的地址是 192.168.1.100 地址(或者其他地址)和端口 8888,那么執行 bind() 時候也會出錯。

這是因為 0.0.0.0  地址比較特殊,代表任意地址,意味著綁定了 0.0.0.0  地址,相當于把主機上的所有 IP 地址都綁定了。

重啟 TCP 服務進程時,為什么會有“Address in use”的報錯信息?

TCP 服務進程需要綁定一個 IP 地址和一個端口,然后就監聽在這個地址和端口上,等待客戶端連接的到來。

然后在實踐中,我們可能會經常碰到一個問題,當 TCP 服務進程重啟之后,總是碰到“Address in use”的報錯信息,TCP 服務進程不能很快地重啟,而是要過一會才能重啟成功。

這是為什么呢?

當我們重啟 TCP 服務進程的時候,意味著通過服務器端發起了關閉連接操作,于是就會經過四次揮手,而對于主動關閉方,會在 TIME_WAIT 這個狀態里停留一段時間,這個時間大約為 2MSL。

圖片

當 TCP 服務進程重啟時,服務端會出現 TIME_WAIT 狀態的連接,TIME_WAIT 狀態的連接使用的 IP+PORT 仍然被認為是一個有效的 IP+PORT 組合,相同機器上不能夠在該 IP+PORT 組合上進行綁定,那么執行 bind() 函數的時候,就會返回了 Address already in use 的錯誤。

而等 TIME_WAIT 狀態的連接結束后,重啟 TCP 服務進程就能成功。

重啟 TCP 服務進程時,如何避免“Address in use”的報錯信息?

我們可以在調用 bind 前,對 socket 設置 SO_REUSEADDR 屬性,可以解決這個問題。

int on = 1;
setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));

因為  SO_REUSEADDR 作用是:如果當前啟動進程綁定的 IP+PORT 與處于TIME_WAIT 狀態的連接占用的 IP+PORT 存在沖突,但是新啟動的進程使用了 SO_REUSEADDR 選項,那么該進程就可以綁定成功。

舉個例子,服務端有個監聽 0.0.0.0 地址和 8888 端口的 TCP 服務進程。?

圖片

有個客戶端(IP地址:192.168.1.100)已經和服務端(IP 地址:172.19.11.200)建立了 TCP 連接,那么在 TCP 服務進程重啟時,服務端會與客戶端經歷四次揮手,服務端的 TCP 連接會短暫處于 TIME_WAIT 狀態:

客戶端地址:端口           服務端地址:端口        TCP 連接狀態
192.168.1.100:37272 172.19.11.200:8888 TIME_WAIT

如果 TCP 服務進程沒有對 socket 設置 SO_REUSEADDR 屬性,那么在重啟時,由于存在一個和綁定 IP+PORT 一樣的 TIME_WAIT 狀態的連接,那么在執行 bind() 函數的時候,就會返回了 Address already in use 的錯誤。

如果 TCP 服務進程對 socket 設置 SO_REUSEADDR 屬性了,那么在重啟時,即使存在一個和綁定 IP+PORT 一樣的 TIME_WAIT 狀態的連接,依然可以正常綁定成功,因此可以正常重啟成功。

因此,在所有 TCP 服務器程序中,調用 bind 之前最好對 socket 設置 SO_REUSEADDR 屬性,這不會產生危害,相反,它會幫助我們在很快時間內重啟服務端程序。?

前面我提到過這個問題:如果 TCP 服務進程 A 綁定的地址是  0.0.0.0 和端口 8888,而如果 TCP 服務進程 B 綁定的地址是 192.168.1.100 地址(或者其他地址)和端口 8888,那么執行 bind() 時候也會出錯。

這個問題也可以由 SO_REUSEADDR 解決,因為它的另外一個作用是:綁定的 IP地址 + 端口時,只要 IP 地址不是正好(exactly)相同,那么允許綁定。?

比如,0.0.0.0:8888 和192.168.1.100:8888,雖然邏輯意義上前者包含了后者,但是 0.0.0.0 泛指所有本地 IP,而 192.168.1.100 特指某一IP,兩者并不是完全相同,所以在對 socket 設置 SO_REUSEADDR 屬性后,那么執行 bind() 時候就會綁定成功。

客戶端的端口可以重復使用嗎?

客戶端在執行 connect 函數的時候,會在內核里隨機選擇一個端口,然后向服務端發起 SYN 報文,然后與服務端進行三次握手。

圖片

所以,客戶端的端口選擇的發生在 connect 函數,內核在選擇端口的時候,會從 net.ipv4.ip_local_port_range 這個內核參數指定的范圍來選取一個端口作為客戶端端口。

該參數的默認值是 32768 61000,意味著端口總可用的數量是 61000 - 32768 = 28232 個。

當客戶端與服務端完成 TCP 連接建立后,我們可以通過 netstat 命令查看 TCP 連接。

$ netstat -napt
協議 源ip地址:端口 目的ip地址:端口 狀態
tcp 192.168.110.182.64992 117.147.199.51.443 ESTABLISHED

那問題來了,上面客戶端已經用了 64992 端口,那么還可以繼續使用該端口發起連接嗎?

這個問題,很多同學都會說不可以繼續使用該端口了,如果按這個理解的話, 默認情況下客戶端可以選擇的端口是 28232 個,那么意味著客戶端只能最多建立  28232 個 TCP 連接,如果真是這樣的話,那么這個客戶端并發連接也太少了吧,所以這是錯誤理解。

正確的理解是,TCP 連接是由四元組(源IP地址,源端口,目的IP地址,目的端口)唯一確認的,那么只要四元組中其中一個元素發生了變化,那么就表示不同的 TCP 連接的。所以如果客戶端已使用端口 64992 與服務端 A 建立了連接,那么客戶端要與服務端 B 建立連接,還是可以使用端口 64992 的,因為內核是通過四元祖信息來定位一個 TCP 連接的,并不會因為客戶端的端口號相同,而導致連接沖突的問題。

比如下面這張圖,有 2 個 TCP 連接,左邊是客戶端,右邊是服務端,客戶端使用了相同的端口 50004 與兩個服務端建立了 TCP 連接。

圖片

仔細看,上面這兩條 TCP 連接的四元組信息中的「目的 IP 地址」是不同的,一個是 180.101.49.12 ,另外一個是 180.101.49.11。

多個客戶端可以 bind 同一個端口嗎?

bind 函數雖然常用于服務端網絡編程中,但是它也是用于客戶端的。

前面我們知道,客戶端是在調用 connect 函數的時候,由內核隨機選取一個端口作為連接的端口。

而如果我們想自己指定連接的端口,就可以用 bind 函數來實現:客戶端先通過 bind 函數綁定一個端口,然后調用 connect 函數就會跳過端口選擇的過程了,轉而使用 bind 時確定的端口。

針對這個問題:多個客戶端可以 bind 同一個端口嗎?

要看多個客戶端綁定的 IP + PORT 是否都相同,如果都是相同的,那么在執行 bind() 時候就會出錯,錯誤是“Address already in use”。

如果一個綁定在 192.168.1.100:6666,一個綁定在 192.168.1.200:6666,因為 IP 不相同,所以執行 bind() 的時候,能正常綁定。

所以, 如果多個客戶端同時綁定的 IP 地址和端口都是相同的,那么執行 bind() 時候就會出錯,錯誤是“Address already in use”。

一般而言,客戶端不建議使用 bind 函數,應該交由 connect 函數來選擇端口會比較好,因為客戶端的端口通常都沒什么意義。

客戶端 TCP 連接 TIME_WAIT 狀態過多,會導致端口資源耗盡而無法建立新的連接嗎?

針對這個問題要看,客戶端是否都是與同一個服務器(目標地址和目標端口一樣)建立連接。

如果客戶端都是與同一個服務器(目標地址和目標端口一樣)建立連接,那么如果客戶端 TIME_WAIT 狀態的連接過多,當端口資源被耗盡,就無法與這個服務器再建立連接了。

但是,因為只要客戶端連接的服務器不同,端口資源可以重復使用的。

所以,如果客戶端都是與不同的服務器建立連接,即使客戶端端口資源只有幾萬個, 客戶端發起百萬級連接也是沒問題的(當然這個過程還會受限于其他資源,比如文件描述符、內存、CPU 等)。

如何解決客戶端 TCP 連接 TIME_WAIT 過多,導致無法與同一個服務器建立連接的問題?

前面我們提到,如果客戶端都是與同一個服務器(目標地址和目標端口一樣)建立連接,那么如果客戶端 TIME_WAIT 狀態的連接過多,當端口資源被耗盡,就無法與這個服務器再建立連接了。

針對這個問題,也是有解決辦法的,那就是打開 net.ipv4.tcp_tw_reuse  這個內核參數。

因為開啟了這個內核參數后,客戶端調用 connect  函數時,如果選擇到的端口,已經被相同四元組的連接占用的時候,就會判斷該連接是否處于  TIME_WAIT 狀態,如果該連接處于 TIME_WAIT 狀態并且 TIME_WAIT 狀態持續的時間超過了 1 秒,那么就會重用這個連接,然后就可以正常使用該端口了。

舉個例子,假設客戶端已經與服務器建立了一個 TCP 連接,并且這個狀態處于  TIME_WAIT 狀態:

客戶端地址:端口           服務端地址:端口         TCP 連接狀態
192.168.1.100:2222 172.19.11.21:8888 TIME_WAIT

然后客戶端又與該服務器(172.19.11.21:8888)發起了連接,在調用 connect 函數時,內核剛好選擇了 2222 端口,接著發現已經被相同四元組的連接占用了:

  • 如果沒有開啟net.ipv4.tcp_tw_reuse  內核參數,那么內核就會選擇下一個端口,然后繼續判斷,直到找到一個沒有被相同四元組的連接使用的端口, 如果端口資源耗盡還是沒找到,那么 connect 函數就會返回錯誤。
  • 如果開啟了 net.ipv4.tcp_tw_reuse  內核參數,就會判斷該四元組的連接狀態是否處于 TIME_WAIT 狀態,如果連接處于 TIME_WAIT 狀態并且該狀態持續的時間超過了 1 秒,那么就會重用該連接,于是就可以使用 2222 端口了,這時 connect 就會返回成功。

再次提醒一次,開啟了 net.ipv4.tcp_tw_reuse  內核參數,是客戶端(連接發起方) 在調用 connect() 函數時才起作用,所以在服務端開啟這個參數是沒有效果的。

客戶端端口選擇的流程總結

至此,我們已經把客戶端在執行 connect 函數時,內核選擇端口的情況大致說了一遍,為了讓大家更明白客戶端端口的選擇過程,我畫了一流程圖。

圖片

總結

TCP 和 UDP 可以同時綁定相同的端口嗎?

可以的。

TCP 和 UDP 傳輸協議,在內核中是由兩個完全獨立的軟件模塊實現的。

當主機收到數據包后,可以在 IP 包頭的「協議號」字段知道該數據包是 TCP/UDP,所以可以根據這個信息確定送給哪個模塊(TCP/UDP)處理,送給 TCP/UDP 模塊的報文根據「端口號」確定送給哪個應用程序處理。

因此, TCP/UDP 各自的端口號也相互獨立,互不影響。

多個 TCP 服務進程可以同時綁定同一個端口嗎?

如果兩個 TCP 服務進程同時綁定的 IP 地址和端口都相同,那么執行 bind() 時候就會出錯,錯誤是“Address already in use”。

如果兩個 TCP 服務進程綁定的端口都相同,而 IP 地址不同,那么執行 bind() 不會出錯。

如何解決服務端重啟時,報錯“Address already in use”的問題?

當我們重啟 TCP 服務進程的時候,意味著通過服務器端發起了關閉連接操作,于是就會經過四次揮手,而對于主動關閉方,會在 TIME_WAIT 這個狀態里停留一段時間,這個時間大約為 2MSL。

當 TCP 服務進程重啟時,服務端會出現 TIME_WAIT 狀態的連接,TIME_WAIT 狀態的連接使用的 IP+PORT 仍然被認為是一個有效的 IP+PORT 組合,相同機器上不能夠在該 IP+PORT 組合上進行綁定,那么執行 bind() 函數的時候,就會返回了 Address already in use 的錯誤。

要解決這個問題,我們可以對 socket 設置 SO_REUSEADDR 屬性。

這樣即使存在一個和綁定 IP+PORT 一樣的 TIME_WAIT 狀態的連接,依然可以正常綁定成功,因此可以正常重啟成功。

客戶端的端口可以重復使用嗎?

在客戶端執行 connect 函數的時候,只要客戶端連接的服務器不是同一個,內核允許端口重復使用。

TCP 連接是由四元組(源IP地址,源端口,目的IP地址,目的端口)唯一確認的,那么只要四元組中其中一個元素發生了變化,那么就表示不同的 TCP 連接的。

所以,如果客戶端已使用端口 64992 與服務端 A 建立了連接,那么客戶端要與服務端 B 建立連接,還是可以使用端口 64992 的,因為內核是通過四元祖信息來定位一個 TCP 連接的,并不會因為客戶端的端口號相同,而導致連接沖突的問題。

客戶端 TCP 連接 TIME_WAIT 狀態過多,會導致端口資源耗盡而無法建立新的連接嗎?

要看客戶端是否都是與同一個服務器(目標地址和目標端口一樣)建立連接。

如果客戶端都是與同一個服務器(目標地址和目標端口一樣)建立連接,那么如果客戶端 TIME_WAIT 狀態的連接過多,當端口資源被耗盡,就無法與這個服務器再建立連接了。即使在這種狀態下,還是可以與其他服務器建立連接的,只要客戶端連接的服務器不是同一個,那么端口是重復使用的。

如何解決客戶端 TCP 連接 TIME_WAIT 過多,導致無法與同一個服務器建立連接的問題?

打開 net.ipv4.tcp_tw_reuse  這個內核參數。

因為開啟了這個內核參數后,客戶端調用 connect  函數時,如果選擇到的端口,已經被相同四元組的連接占用的時候,就會判斷該連接是否處于  TIME_WAIT 狀態。

如果該連接處于 TIME_WAIT 狀態并且 TIME_WAIT 狀態持續的時間超過了 1 秒,那么就會重用這個連接,然后就可以正常使用該端口了。

責任編輯:武曉燕 來源: 小林coding
相關推薦

2024-03-05 10:07:22

TCPUDP協議

2024-03-18 08:21:06

TCPUDP協議

2025-03-20 08:40:00

TCPUDP端口

2022-05-10 22:00:41

UDPTCP協議

2019-08-20 10:24:39

HTTPSSSHLinux

2022-08-13 12:07:14

URLHTTP加密

2016-12-15 08:54:52

線程sessionopenSession

2022-12-02 13:49:41

2022-03-30 10:10:17

字節碼??臻g

2022-08-18 17:44:25

HTTPS協議漏洞

2022-10-19 14:08:42

SYNTCP報文

2009-06-09 12:38:12

NetBeanseclipse

2024-09-19 08:51:01

HTTP解密截取

2024-11-26 08:52:34

SQL優化Kafka

2022-10-10 08:13:16

遞歸通用代碼

2019-10-31 13:58:32

阿里電商系統

2024-08-06 10:16:52

Java AgentJava

2021-08-16 20:48:34

嵌入式單片機信息

2025-04-15 08:00:00

Java開發服務網格

2021-01-18 06:18:25

監聽端口數組
點贊
收藏

51CTO技術棧公眾號

午夜在线视频| 最新黄色网址在线观看| 女仆av观看一区| 欧美性xxxx极品hd欧美风情| 欧美日韩精品免费在线观看视频| 亚洲婷婷久久综合| 欧美淫片网站| 亚洲欧美精品中文字幕在线| 亚洲一区二区三区观看| 福利在线导航136| 亚洲国产成人一区二区三区| av一区二区三区在线观看| 天堂网视频在线| 在线一区免费| 亚洲区免费影片| 国产人妻精品久久久久野外| 一区二区电影免费观看| 亚洲欧美日韩综合aⅴ视频| 九色91视频| 国产探花精品一区二区| 性色av一区二区怡红| 不卡av在线播放| 国产美女免费网站| 大型av综合网站| 欧美色成人综合| av免费观看网| 欧美亚洲系列| 亚洲欧美激情插 | 亚洲黄色小说网址| 全国精品久久少妇| 欧美在线观看视频| 久草免费在线视频观看| 98精品视频| 亚洲一级免费视频| 好吊一区二区三区视频| 国产精品一区免费在线| 精品视频在线免费看| 丝袜老师办公室里做好紧好爽| caopo在线| 国产精品国产三级国产普通话99 | 亚洲午夜影视影院在线观看| 一区二区在线不卡| 北条麻妃在线| 久久久久久久久久久久久久久99| 国产一区不卡在线观看| 亚洲黄色片视频| 国产精品一区在线| 91夜夜未满十八勿入爽爽影院| 亚洲第一区av| 日韩中文字幕一区二区三区| 欧美一级大片在线观看| 影音先锋亚洲天堂| 国产日韩亚洲| 欧美在线观看视频| 蜜臀精品一区二区三区| 久久不射网站| 国产999精品久久久| 国产又爽又黄的视频| 夜夜嗨网站十八久久| 国语自产在线不卡| 久久久久久久久久免费视频| 伊人久久亚洲影院| 91精品国产色综合| 综合激情网五月| 日韩黄色免费网站| 国产精品亚发布| 国产精品伦一区二区三区| 久久www免费人成看片高清| 国产精品欧美久久久| 亚洲字幕av一区二区三区四区| 久久精品99国产精品| 91香蕉亚洲精品| av无码精品一区二区三区宅噜噜| 国产成人综合亚洲网站| 国产高清自拍99| 污污视频在线免费看| 久久看人人爽人人| 亚洲国产精品久久久久久女王| 在线看av的网址| 一区二区三区久久| 欧美三级一级片| 欧美与亚洲与日本直播| 欧美日韩久久一区| 国产乱国产乱老熟300部视频| 黄色美女久久久| 亚洲人在线视频| 波兰性xxxxx极品hd| 国产精品99一区二区| 日本高清不卡在线| 国产精品久久久久久久久毛片| 国产成人免费xxxxxxxx| 久久av免费观看| 日韩三级影院| 亚洲午夜视频在线观看| 青青在线免费观看视频| 国产精品视频一区视频二区| 亚洲国产精品va在线观看黑人| 久久久久久久毛片| 国产精品jizz在线观看美国| 日韩免费av一区二区| 国产高清在线免费| 国产亚洲欧美激情| 日本久久久网站| 神马电影网我不卡| 日韩美女视频在线| 国产肥白大熟妇bbbb视频| 欧美激情 亚洲a∨综合| 国产成人精品在线播放| 精品国产av一区二区三区| 久久婷婷色综合| 丰满人妻一区二区三区53号 | 欧美日韩hd| 国产成人亚洲综合青青| 国产高清在线免费| 欧美国产精品专区| 久久国产精品网| 99tv成人影院| 中文字幕9999| 伊人手机在线视频| 国产91精品露脸国语对白| 亚洲精品国产精品国自产| 校园春色亚洲| 欧美v日韩v国产v| 中国一级片在线观看| 久久最新视频| 久久精品日产第一区二区三区精品版| 操你啦在线视频| 欧美久久一二区| 日本二区在线观看| 亚洲综合国产| 激情久久av| 男女在线观看视频| 欧美一区二区免费视频| 欧美日韩国产一二三区| 日韩av一区二区在线影视| 国产一区二区三区无遮挡| bt在线麻豆视频| 欧美高清视频www夜色资源网| 国产123在线| 久久一区二区三区超碰国产精品| 黑人另类av| mm视频在线视频| 精品欧美黑人一区二区三区| 麻豆精品一区二区三区视频| 狠狠色狠狠色综合日日91app| 亚洲7777| 欧美综合社区国产| 北条麻妃99精品青青久久| 中文字幕+乱码+中文| 欧美激情综合网| 99视频在线视频| 欧美精品系列| 国产精品亚洲美女av网站| av大片在线观看| 欧美日韩精品免费| 极品美妇后花庭翘臀娇吟小说| 麻豆专区一区二区三区四区五区| 亚洲欧洲一区二区| 9999在线精品视频| 欧美国产日本高清在线| 国产综合视频在线| 五月天网站亚洲| 插吧插吧综合网| 久久久久中文| 亚洲看片网站| 欧美经典一区| 性欧美在线看片a免费观看| 熟妇人妻av无码一区二区三区| 天天色天天爱天天射综合| 素人fc2av清纯18岁| 三级一区在线视频先锋 | 在线精品观看国产| sm捆绑调教视频| 精品无人码麻豆乱码1区2区| 大片在线观看网站免费收看| 欧美男人操女人视频| 国产99视频精品免视看7| 午夜视频成人| 日韩精品一区二| 无码人妻丰满熟妇奶水区码| 中文字幕第一区二区| 天堂在线精品视频| aa国产精品| 影音先锋在线亚洲| 超碰97成人| 国产精品福利在线观看网址| 国产美女在线观看| 日韩av影院在线观看| 欧美成人一区二区视频| 一区二区三区 在线观看视频| 欧美精品欧美极品欧美激情| 美女在线一区二区| 日本精品久久久久久久久久| 国产精品免费99久久久| 成人xxxx视频| 最近高清中文在线字幕在线观看1| 一本久道久久综合中文字幕| 国产在线观看一区二区三区| 超碰最新在线| 日韩成人av在线播放| 一本到在线视频| 午夜亚洲国产au精品一区二区| av手机在线播放| 国产成人av资源| 久草综合在线观看| 国产综合精品一区| 亚洲综合视频一区| 丝袜连裤袜欧美激情日韩| 国产中文字幕日韩| 中文字幕乱码中文乱码51精品| 俺也去精品视频在线观看| 日韩一区二区三区不卡| 欧美久久久一区| 一级黄色av片| 亚洲va欧美va人人爽| 日本在线一级片| 国产欧美精品日韩区二区麻豆天美| 国产乱淫av麻豆国产免费| 久久aⅴ国产欧美74aaa| 国产a级一级片| 激情婷婷亚洲| 99亚洲国产精品| 日韩精品首页| 欧美一区二区三区在线播放| 盗摄系列偷拍视频精品tp| 成人国产精品一区二区| 欧美精品资源| 国产91对白在线播放| 国产色婷婷在线| 欧美成人高清视频| 日韩精品成人av| 国产一区二区三区在线看| 日韩精品系列| 日韩精品免费视频| 丰满大乳国产精品| 日韩一二三区视频| 国产精品无码专区av免费播放| 日本乱人伦一区| 黄色av一级片| 色久优优欧美色久优优| 久久久蜜桃一区二区| 岛国av一区二区| 日韩经典在线观看| 亚洲大片精品永久免费| 国产一级特黄毛片| 亚洲国产精品视频| 精品无码av在线| 性久久久久久久久| 伊人久久综合视频| 香蕉久久一区二区不卡无毒影院| 国产在线观看你懂的| 亚洲五码中文字幕| 久久久精品视频免费| 亚洲成av人在线观看| 天堂资源在线播放| 五月激情综合色| 日韩精品久久久久久免费| 一本大道久久精品懂色aⅴ| 神马久久久久久久| 欧美日韩精品是欧美日韩精品| 亚洲综合精品视频| 日韩欧美在线网站| 黄色一级大片在线免费看国产一| 精品精品欲导航| 四虎成人免费在线| 精品无人区乱码1区2区3区在线| 日本aaa在线观看| 中文字幕日韩精品在线| 男人的天堂在线视频免费观看| 久久伊人免费视频| av在线理伦电影| 日韩免费不卡av| 日韩午夜视频在线| 成人动漫视频在线观看免费| 久久九九热re6这里有精品| 欧美日韩中文国产一区发布| 成人免费看片39| 超碰97在线看| 国产情侣一区| 深夜黄色小视频| 国产成人综合在线| 9.1成人看片免费版| 18欧美乱大交hd1984| 久久综合久久鬼| 色婷婷综合视频在线观看| 国产又大又粗又长| 亚洲第一精品夜夜躁人人躁| 国产高清一级毛片在线不卡| 麻豆乱码国产一区二区三区 | 国内偷自视频区视频综合| 伊人久久综合一区二区| 91精品国产自产在线| 久久动漫网址| 综合视频免费看| 国产亚洲一级| 777一区二区| 91老师片黄在线观看| 免费看特级毛片| 欧美性高跟鞋xxxxhd| 国产色综合视频| 亚洲日本aⅴ片在线观看香蕉| av免费在线观看网址| 日韩免费观看在线观看| 经典三级久久| 日韩精彩视频| 亚洲人成人一区二区三区| 日本中文字幕观看| 91美女在线视频| 久久久久黄色片| 欧美日韩一区久久| 欧洲一区av| 欧美日韩成人在线观看| 日本综合视频| 欧美精品二区三区四区免费看视频| 欧美欧美全黄| 三级av免费观看| 久久综合久久综合九色| 久久久综合久久| 在线电影一区二区三区| 国产九色在线| 136fldh精品导航福利| 欧美片网站免费| 在线视频91| 麻豆精品精品国产自在97香蕉| 一二三不卡视频| 精品久久久久久亚洲国产300| 精品人妻一区二区三区四区不卡| 中文字幕亚洲二区| 欧美日韩精品免费观看视完整| 久久久99爱| 在线亚洲激情| 黑丝av在线播放| 亚洲成在人线在线播放| 蜜臀av中文字幕| 欧美激情视频给我| 榴莲视频成人app| 91视频成人免费| 国产精品一区免费在线观看| 麻豆天美蜜桃91| 6080yy午夜一二三区久久| 嫩草香蕉在线91一二三区| 国产在线播放不卡| 91精品一区二区三区综合在线爱| 国产美女18xxxx免费视频| 国产精品白丝在线| 亚洲图片小说视频| 精品国产欧美成人夜夜嗨| 日韩三级一区| 中文字幕在线中文| 国产成人亚洲综合a∨猫咪| 久久久精品国产sm调教| 亚洲精品一线二线三线| 2020国产在线| 久久久久se| 日韩激情一二三区| www.黄色com| 91精品国产91久久久久久一区二区| 国产在线高潮| 国产成人精品免费视频大全最热| 激情欧美日韩一区| 久久国产精品影院| 欧洲人成人精品| 超碰在线观看免费版| 成人欧美一区二区三区视频 | 一本久久青青| 91看片在线免费观看| 综合久久久久久久| 朝桐光av在线一区二区三区| 久久青草福利网站| 怕怕欧美视频免费大全| 天天干天天玩天天操| 亚洲美女视频一区| 视频一区二区三区在线看免费看| 国产精品九九九| 小说区亚洲自拍另类图片专区| 伊人av在线播放| 欧美日韩激情网| 日本精品在线| 国产精品久久久久久久天堂第1集| av成人天堂| 女同久久另类69精品国产 | 你懂的在线观看视频网站| 国产精品人人做人人爽| 欧美aa国产视频| 自拍偷拍中文字幕| 欧美肥妇毛茸茸| 日韩伦理在线一区| 亚洲午夜久久久影院伊人| 国产盗摄一区二区三区| 久久夜色精品国产噜噜亚洲av| 久久天天躁夜夜躁狠狠躁2022| 国产精品网在线观看| 中文字幕 91| 亚洲高清免费观看| 亚洲成人影院麻豆| 久99久在线| 国产久卡久卡久卡久卡视频精品| 国产成人免费看| 欧美成人午夜视频| 欧美伦理在线视频|