精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

99999精品视频| 日本视频一区二区不卡| 天天操天天射天天爽| 成人线上播放| 91激情在线视频| 波多野结衣激情| 午夜性色福利视频| 捆绑调教一区二区三区| 久久久久久91| 国产又粗又猛又爽又黄的视频四季| 99久久久成人国产精品| 福利视频一区二区| 最新av网址在线观看| 蝌蚪视频在线播放| 国产精品中文有码| 国产成人福利网站| 欧美成人三级视频| 成人精品亚洲| 亚洲精品美女久久| 在线观看中文av| 欧美成人影院| 午夜天堂影视香蕉久久| 天堂av免费看| 国产女主播在线直播| 成人a区在线观看| 成人www视频在线观看| 青青青国产在线| 亚洲一级电影| 久久av资源网站| 国产成人一区二区在线观看| 国产香蕉精品| 日韩精品中午字幕| 午夜啪啪小视频| 免费污视频在线一区| 无码av免费一区二区三区试看 | 残酷重口调教一区二区| 亚洲成人免费网站| 成人三级做爰av| 色综合视频一区二区三区44| 在线观看精品一区| 欧美 激情 在线| h片精品在线观看| 亚洲精品视频在线观看网站| 正在播放国产精品| 在线免费看a| 日本一区二区综合亚洲| 欧美视频小说| 免费在线黄色电影| 久久一区二区视频| 欧美日韩精品免费在线观看视频| 日本黄色免费视频| www.欧美日韩国产在线| 国产伦理久久久| 亚洲精品字幕在线| 成熟亚洲日本毛茸茸凸凹| 91精品网站| 亚洲经典一区二区三区| 国产高清精品网站| 99国精产品一二二线| 午夜精品久久久久久久99热黄桃| 国产精品亚洲专一区二区三区| 5566中文字幕一区二区| 99在线观看免费| 国产福利一区二区三区视频| 99国产在线观看| 欧美在线 | 亚洲| 99re成人精品视频| 欧美极品一区二区| 国产高清免费av在线| 欧美高清在线视频| 亚洲一区精品视频| 性xxxxfjsxxxxx欧美| 一区二区三区欧美久久| 国产精品国产对白熟妇| 免费v片在线观看| 日本乱码高清不卡字幕| 三上悠亚在线一区二区| 玖玖玖电影综合影院| 丰满熟女人妻一区二区三| 免费av网站大全久久| 成人午夜在线视频一区| 成人h动漫精品一区二区无码| 99精品国产热久久91蜜凸| 不卡视频一区| 成人毛片在线精品国产| 久久综合久久99| 一本久道久久综合狠狠爱亚洲精品| 香蕉视频在线看| 伊人夜夜躁av伊人久久| 欧美综合在线播放| 成人国产综合| 精品va天堂亚洲国产| b站大片免费直播| 五月天综合网站| 91高清视频在线免费观看| 欧美亚洲另类小说| 国产福利精品一区二区| 欧美日韩国产免费一区二区三区| 秋霞午夜理伦电影在线观看| 亚洲高清视频在线| 国产免费又粗又猛又爽| 国产一区在线电影| 中文字幕精品在线| 日韩av在线播| 国内成人免费视频| 久久精品国产综合精品| 麻豆视频在线免费观看| 日韩欧美一区二区三区久久| 色黄视频免费看| jlzzjlzz亚洲女人| 国产欧美精品一区二区色综合朱莉| 水蜜桃一区二区三区| 污污的视频在线观看| 91官网在线免费观看| jjzz黄色片| 999久久久91| 欧美做受高潮1| 亚洲国产精品欧美久久| 中文子幕无线码一区tr| 久久综合九色综合88i| 免费欧美网站| 色偷偷偷综合中文字幕;dd| 久久久久久久久久影院| 国产成人在线视频免费播放| 一区二区精品在线观看| 激情开心成人网| 亚洲成人网久久久| 久草福利资源在线观看| 国内精品伊人久久久久av一坑 | 亚洲激情五月婷婷| 手机在线看福利| 小说区图片区色综合区| 欧美激情综合亚洲一二区| 国产精品国产三级国产普通话对白 | 美女被艹视频网站| 久久精品国产68国产精品亚洲| 777777777亚洲妇女| 亚洲成a人片在线| 亚洲色图都市小说| 国产女同无遮挡互慰高潮91| 欧美色图国产精品| 国产精品福利片| 精品三级久久久久久久电影聊斋| 精品久久久久久| 伊人网综合视频| 一本色道88久久加勒比精品| 国产伦精品一区二区三区在线 | 久久激情电影| 国产精品久久久久久av福利软件 | 日韩视频免费看| 中文字幕理论片| 国产精品视频麻豆| 日本人69视频| 亚洲成av人电影| 91网站在线看| 亚洲综合影视| 精品日韩在线观看| 国产精彩视频在线观看| 不卡av免费在线观看| 国产原创popny丨九色| 欧美1区二区| 日本在线观看天堂男亚洲| 国产在线中文字幕| 欧美性猛片aaaaaaa做受| 美女av免费看| 精品一区二区三区免费观看| 超碰97在线看| 激情亚洲另类图片区小说区| 欧美有码在线观看| jizz亚洲| 日韩欧美一区在线观看| 日韩三级小视频| 久久免费美女视频| 日韩手机在线观看视频| 色呦哟—国产精品| 91中文字幕在线| а√在线天堂官网| 亚洲人成啪啪网站| 亚洲图片第一页| 精品一区二区三区影院在线午夜| 手机成人av在线| 99香蕉久久| 国产成人自拍视频在线观看| 欧美三级黄网| 亚洲福利视频二区| 国产日韩在线免费观看| 一区二区视频在线| 日韩av一二区| 韩国av一区二区三区在线观看| 欧美一级视频免费看| heyzo久久| 国产高清在线一区二区| 亚洲第一会所001| 久久视频在线视频| 污视频在线免费| 在线不卡中文字幕播放| 特一级黄色大片| 最新中文字幕一区二区三区| 丰满大乳奶做爰ⅹxx视频| 蜜桃视频免费观看一区| 你真棒插曲来救救我在线观看| 久操成人av| 99re视频| 欧美成人xxxx| 久久久亚洲网站| eeuss影院www在线观看| 亚洲成人网在线观看| 国产理论片在线观看| 欧美性感美女h网站在线观看免费| 日韩一级片大全| 久久久久久免费| xxxx视频在线观看| 久久国产综合精品| 国产精品99久久免费黑人人妻| 欧美日本一区| 一区二区在线中文字幕电影视频| 欧美网色网址| 99在线影院| 91成人福利社区| 国产精品久久久av久久久| 97在线超碰| 欧美激情极品视频| 麻豆免费在线观看| 日韩在线精品视频| 国产美女性感在线观看懂色av| 精品国产一区二区国模嫣然| 97人妻一区二区精品免费视频| 色综合咪咪久久| 日本在线视频免费| 亚洲国产三级在线| 午夜免费激情视频| 综合网在线视频| 夫妇露脸对白88av| 国产欧美日产一区| 色噜噜日韩精品欧美一区二区| 9人人澡人人爽人人精品| 日本成人在线免费| 国产传媒日韩欧美成人| 三级av免费看| 激情图片小说一区| 亚洲欧美日韩一二三区| 久久99久国产精品黄毛片色诱| wwww.国产| 热久久免费视频| 成人黄色一区二区| 秋霞电影网一区二区| 搡女人真爽免费午夜网站| 日韩高清在线一区| 一本岛在线视频| 麻豆视频观看网址久久| 中文字幕在线观看日| 久久99国产乱子伦精品免费| 亚洲欧美日韩精品一区| 狠狠色2019综合网| 91香蕉国产线在线观看| 福利一区在线观看| 午夜男人的天堂| www国产精品av| 亚洲黄色免费视频| 国产精品国产三级国产a| 欧洲美女女同性互添| 亚洲精品综合在线| 国产福利久久久| 欧美日韩一区二区在线播放| 五月激情丁香网| 777a∨成人精品桃花网| 性猛交富婆╳xxx乱大交天津| 亚洲国产精品久久久| 内衣办公室在线| 日韩在线精品视频| 黄网站视频在线观看| 久久这里只有精品99| 精品精品导航| 日韩av理论片| www.久久99| 精品1区2区| 成人aaaa| 国产成人一区二区三区别| 一区二区三区精品视频在线观看 | 国产成人av免费在线观看| 亚洲综合激情另类小说区| 亚洲永久精品在线观看| 欧美视频中文字幕| 亚洲精品国产精品国| 国产香蕉精品视频一区二区三区| 国产不卡在线| 欧美在线不卡区| 96sao精品免费视频观看| 国产日韩久久| 欧美激情黄色片| 妞干网在线视频观看| 麻豆精品在线视频| 99re久久精品国产| 1000部国产精品成人观看| 圆产精品久久久久久久久久久| 欧美日韩中文精品| 污视频在线免费| 久久影视免费观看 | 欧美性感美女h网站在线观看免费| 伊人精品在线视频| 日韩av在线电影网| 一二三四区在线观看| 国产精品旅馆在线| 久久久久久久久久久久久久久久久久久久| 日韩欧美精品在线不卡| 亚洲无线一线二线三线区别av| 91最新在线观看| 不卡一卡二卡三乱码免费网站| 国产白丝一区二区三区| 天天亚洲美女在线视频| 精品人妻久久久久一区二区三区 | 91精品国产综合久久久久久久久久| 天堂网av在线播放| 色综合男人天堂| 香蕉久久一区| 日本婷婷久久久久久久久一区二区 | 丁香六月久久综合狠狠色| 手机看片国产日韩| 色婷婷激情一区二区三区| 欧美 日韩 国产 精品| 久久资源免费视频| 小说区图片区亚洲| 亚洲高清视频在线观看| 日韩激情中文字幕| 深爱五月激情网| 精品国产91久久久久久老师| 成人av一区二区三区在线观看| 久久精品视频在线播放| 久久久久伊人| 性欧美大战久久久久久久免费观看| 国产亚洲高清视频| 男女一区二区三区| 亚洲不卡在线观看| 蜜桃在线一区二区| 欧美精品xxx| 综合激情五月婷婷| 免费网站永久免费观看| 国产福利不卡视频| 青青草激情视频| 日韩你懂的在线观看| a视频在线播放| 51国偷自产一区二区三区的来源| 外国成人免费视频| 99精品999| 亚洲老司机在线| 亚洲精品成av人片天堂无码| 久久久久久久久久久国产| 国产精品久久久久久久久久白浆| 91.com在线| 成人福利在线看| 99热国产在线观看| 亚洲欧美中文另类| 在线成人视屏 | 亚洲无线一线二线三线区别av| 在线观看一区二区三区四区| 亚洲成国产人片在线观看| 午夜av免费在线观看| 日本欧美在线视频| 日韩在线视屏| www.51色.com| 亚洲尤物在线视频观看| 无码国产精品96久久久久| 欧美一区二区三区图| 成人精品影视| 黄色aaaaaa| 天天av天天翘天天综合网| 国内av一区二区三区| 成人av.网址在线网站| 亚洲先锋影音| 好男人香蕉影院| 91国产免费看| 国产精品剧情一区二区在线观看| 成人欧美一区二区| 老牛嫩草一区二区三区日本| 亚洲女人毛茸茸高潮| 亚洲国产成人91精品| 深夜视频一区二区| 日本高清视频免费在线观看| 97精品久久久久中文字幕 | 日本不卡二区| 九一久久久久久| 91蜜桃视频在线观看| 伊人久久久久久久久久久| 日韩视频在线直播| 国产无套内射久久久国产| 亚洲色图第一区| 秋霞av在线| 99一区二区三区| 老牛影视一区二区三区| 黄页网站免费观看| 亚洲欧美日韩在线高清直播| 精品国产不卡一区二区| a√天堂在线观看| 亚洲女同一区二区| 三级毛片在线免费看| 亚洲一区二区自拍| 日一区二区三区| 国产亚洲欧美精品久久久久久| 一本色道久久综合狠狠躁篇怎么玩 | 欧美在线观看视频一区二区三区|