網(wǎng)絡(luò)不通?服務(wù)丟包?這篇TCP連接狀態(tài)詳解及故障排查,收好了

一口Linux 2022-09-17 16:07

點(diǎn)擊左上方藍(lán)色“一口Linux”,選擇“設(shè)為星標(biāo)

第一時(shí)間看干貨文章?
?專輯Linux驅(qū)動(dòng)
?【干貨】嵌入式驅(qū)動(dòng)工程師學(xué)習(xí)路線
?【干貨】Linux嵌入式所有知識(shí)點(diǎn)-思維導(dǎo)圖



?1

我們通過了解TCP各個(gè)狀態(tài),可以排除和定位網(wǎng)絡(luò)或系統(tǒng)故障時(shí)大有幫助。

1、TCP狀態(tài)

了解TCP之前,先了解幾個(gè)命令:

linux查看tcp的狀態(tài)命令

1)?netstat -nat查看TCP各個(gè)狀態(tài)的數(shù)量

2)lsof -i:port可以檢測(cè)到打開套接字的狀況

3)?sar -n SOCK查看tcp創(chuàng)建的連接數(shù)

4)?tcpdump -iany tcp port 9000對(duì)tcp端口為9000的進(jìn)行抓包

網(wǎng)絡(luò)測(cè)試常用命令;1)ping:檢測(cè)網(wǎng)絡(luò)連接的正常與否,主要是測(cè)試延時(shí)、抖動(dòng)、丟包率。

但是很多服務(wù)器為了防止攻擊,一般會(huì)關(guān)閉對(duì)ping的響應(yīng)。所以ping一般作為測(cè)試連通性使用。

ping命令后,會(huì)接收到對(duì)方發(fā)送的回饋信息,其中記錄著對(duì)方的IP地址和TTL。TTL是該字段指定IP包被路由器丟棄之前允許通過的最大網(wǎng)段數(shù)量。

TTL是IPv4包頭的一個(gè)8 bit字段。例如IP包在服務(wù)器中發(fā)送前設(shè)置的TTL是64,你使用ping命令后,得到服務(wù)器反饋的信息,其中的TTL為56,說明途中一共經(jīng)過了8道路由器的轉(zhuǎn)發(fā),每經(jīng)過一個(gè)路由,TTL減1。

2)traceroute:raceroute 跟蹤數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)主機(jī)所經(jīng)過的路由工具

traceroute hostname

3)pathping:是一個(gè)路由跟蹤工具,它將 ping 和 tracert 命令的功能與這兩個(gè)工具所不提供的其他信息結(jié)合起來,綜合了二者的功能

pathping www.baidu.com

4)mtr:以結(jié)合ping nslookup tracert 來判斷網(wǎng)絡(luò)的相關(guān)特性

5) nslookup:用于解析域名,一般用來檢測(cè)本機(jī)的DNS設(shè)置是否配置正確。

LISTENING:偵聽來自遠(yuǎn)方的TCP端口的連接請(qǐng)求.首先服務(wù)端需要打開一個(gè)socket進(jìn)行監(jiān)聽,狀態(tài)為L(zhǎng)ISTEN。

有提供某種服務(wù)才會(huì)處于LISTENING狀態(tài),TCP狀態(tài)變化就是某個(gè)端口的狀態(tài)變化,提供一個(gè)服務(wù)就打開一個(gè)端口。

例如:提供www服務(wù)默認(rèn)開的是80端口,提供ftp服務(wù)默認(rèn)的端口為21,當(dāng)提供的服務(wù)沒有被連接時(shí)就處于LISTENING狀態(tài)。

FTP服務(wù)啟動(dòng)后首先處于偵聽(LISTENING)狀態(tài)。處于偵聽LISTENING狀態(tài)時(shí),該端口是開放的,等待連接,但還沒有被連接。就像你房子的門已經(jīng)敞開的,但還沒有人進(jìn)來。

看LISTENING狀態(tài)最主要的是看本機(jī)開了哪些端口,這些端口都是哪個(gè)程序開的,關(guān)閉不必要的端口是保證安全的一個(gè)非常重要的方面,服務(wù)端口都對(duì)應(yīng)一個(gè)服務(wù)(應(yīng)用程序),停止該服務(wù)就關(guān)閉了該端口,例如要關(guān)閉21端口只要停止IIS服務(wù)中的FTP服務(wù)即可。關(guān)于這方面的知識(shí)請(qǐng)參閱其它文章。

如果你不幸中了服務(wù)端口的木馬,木馬也開個(gè)端口處于LISTENING狀態(tài)。

SYN-SENT:客戶端SYN_SENT狀態(tài)

再發(fā)送連接請(qǐng)求后等待匹配的連接請(qǐng)求:客戶端通過應(yīng)用程序調(diào)用connect進(jìn)行active open.

于是客戶端tcp發(fā)送一個(gè)SYN以請(qǐng)求建立一個(gè)連接.之后狀態(tài)置為SYN_SENT.

The socket is actively attempting to establish a connection. 在發(fā)送連接請(qǐng)求后等待匹配的連接請(qǐng)求

當(dāng)請(qǐng)求連接時(shí)客戶端首先要發(fā)送同步信號(hào)給要訪問的機(jī)器,此時(shí)狀態(tài)為SYN_SENT,如果連接成功了就變?yōu)镋STABLISHED,正常情況下SYN_SENT狀態(tài)非常短暫。

例如要訪問網(wǎng)站http://www.baidu.com,如果是正常連接的話,用TCPView觀察IEXPLORE.EXE(IE)建立的連接會(huì)發(fā)現(xiàn)很快從SYN_SENT變?yōu)镋STABLISHED,表示連接成功。SYN_SENT狀態(tài)快的也許看不到。

如果發(fā)現(xiàn)有很多SYN_SENT出現(xiàn),那一般有這么幾種情況,一是你要訪問的網(wǎng)站不存在或線路不好。

二是用掃描軟件掃描一個(gè)網(wǎng)段的機(jī)器,也會(huì)出出現(xiàn)很多SYN_SENT,另外就是可能中了病毒了,例如中了”沖擊波”,病毒發(fā)作時(shí)會(huì)掃描其它機(jī)器,這樣會(huì)有很多SYN_SENT出現(xiàn)。

SYN-RECEIVED:服務(wù)器端狀態(tài)SYN_RCVD

再收到和發(fā)送一個(gè)連接請(qǐng)求后等待對(duì)方對(duì)連接請(qǐng)求的確認(rèn)

當(dāng)服務(wù)器收到客戶端發(fā)送的同步信號(hào)時(shí),將標(biāo)志位ACK和SYN置1發(fā)送給客戶端,此時(shí)服務(wù)器端處于SYN_RCVD狀態(tài),如果連接成功了就變?yōu)镋STABLISHED,正常情況下SYN_RCVD狀態(tài)非常短暫。

如果發(fā)現(xiàn)有很多SYN_RCVD狀態(tài),那你的機(jī)器有可能被SYN Flood的DoS(拒絕服務(wù)攻擊)攻擊了。

SYN Flood的攻擊原理是:在進(jìn)行三次握手時(shí),攻擊軟件向被攻擊的服務(wù)器發(fā)送SYN連接請(qǐng)求(握手的第一步),但是這個(gè)地址是偽造的,如攻擊軟件隨機(jī)偽造了51.133.163.104、65.158.99.152等等地址。

服務(wù)器在收到連接請(qǐng)求時(shí)將標(biāo)志位ACK和SYN置1發(fā)送給客戶端(握手的第二步),但是這些客戶端的IP地址都是偽造的,服務(wù)器根本找不到客戶機(jī),也就是說握手的第三步不可能完成。

這種情況下服務(wù)器端一般會(huì)重試(再次發(fā)送SYN+ACK給客戶端)并等待一段時(shí)間后丟棄這個(gè)未完成的連接,這段時(shí)間的長(zhǎng)度我們稱為SYN Timeout,一般來說這個(gè)時(shí)間是分鐘的數(shù)量級(jí)(大約為30秒-2分鐘);

一個(gè)用戶出現(xiàn)異常導(dǎo)致服務(wù)器的一個(gè)線程等待1分鐘并不是什么很大的問題,但如果有一個(gè)惡意的攻擊者大量模擬這種情況,服務(wù)器端將為了維護(hù)一個(gè)非常大的半連接列表而消耗非常多的資源——數(shù)以萬計(jì)的半連接。

即使是簡(jiǎn)單的保存并遍歷也會(huì)消耗非常多的CPU時(shí)間和內(nèi)存,何況還要不斷對(duì)這個(gè)列表中的IP進(jìn)行SYN+ACK的重試。

此時(shí)從正常客戶的角度看來,服務(wù)器失去響應(yīng),這種情況我們稱做:服務(wù)器端受到了SYN Flood攻擊(SYN洪水攻擊)

ESTABLISHED:代表一個(gè)打開的連接。

ESTABLISHED狀態(tài)是表示兩臺(tái)機(jī)器正在傳輸數(shù)據(jù),觀察這個(gè)狀態(tài)最主要的就是看哪個(gè)程序正在處于ESTABLISHED狀態(tài)。

服務(wù)器出現(xiàn)很多ESTABLISHED狀態(tài):netstat -nat |grep 9502或者使用lsof -i:9502可以檢測(cè)到。

當(dāng)客戶端未主動(dòng)close的時(shí)候就斷開連接:即客戶端發(fā)送的FIN丟失或未發(fā)送。

這時(shí)候若客戶端斷開的時(shí)候發(fā)送了FIN包,則服務(wù)端將會(huì)處于CLOSE_WAIT狀態(tài);

這時(shí)候若客戶端斷開的時(shí)候未發(fā)送FIN包,則服務(wù)端處還是顯示ESTABLISHED狀態(tài);

結(jié)果客戶端重新連接服務(wù)器。

而新連接上來的客戶端(也就是剛才斷掉的重新連上來了)在服務(wù)端肯定是ESTABLISHED; 如果客戶端重復(fù)的上演這種情況,那么服務(wù)端將會(huì)出現(xiàn)大量的假的ESTABLISHED連接和CLOSE_WAIT連接。

最終結(jié)果就是新的其他客戶端無法連接上來,但是利用netstat還是能看到一條連接已經(jīng)建立,并顯示ESTABLISHED,但始終無法進(jìn)入程序代碼。

FIN-WAIT-1:等待遠(yuǎn)程TCP連接中斷請(qǐng)求,或先前的連接中斷請(qǐng)求的確認(rèn)

主動(dòng)關(guān)閉(active close)端應(yīng)用程序調(diào)用close,于是其TCP發(fā)出FIN請(qǐng)求主動(dòng)關(guān)閉連接,之后進(jìn)入FIN_WAIT1狀態(tài)./?The socket is closed, and the connection is shutting down. 等待遠(yuǎn)程TCP的連接中斷請(qǐng)求,或先前的連接中斷請(qǐng)求的確認(rèn)?/

如果服務(wù)器出現(xiàn)shutdown再重啟,使用netstat -nat查看,就會(huì)看到很多FIN-WAIT-1的狀態(tài)。就是因?yàn)榉?wù)器當(dāng)前有很多客戶端連接,直接關(guān)閉服務(wù)器后,無法接收到客戶端的ACK。

FIN-WAIT-2:從遠(yuǎn)程TCP等待連接中斷請(qǐng)求

主動(dòng)關(guān)閉端接到ACK后,就進(jìn)入了FIN-WAIT-2

Connection is closed, and the socket is waiting for a shutdown from the remote end. 從遠(yuǎn)程TCP等待連接中斷請(qǐng)求

這就是著名的半關(guān)閉的狀態(tài)了,這是在關(guān)閉連接時(shí),客戶端和服務(wù)器兩次握手之后的狀態(tài)。

在這個(gè)狀態(tài)下,應(yīng)用程序還有接受數(shù)據(jù)的能力,但是已經(jīng)無法發(fā)送數(shù)據(jù),但是也有一種可能是,客戶端一直處于FIN_WAIT_2狀態(tài),而服務(wù)器則一直處于WAIT_CLOSE狀態(tài),而直到應(yīng)用層來決定關(guān)閉這個(gè)狀態(tài)。

CLOSE-WAIT:等待從本地用戶發(fā)來的連接中斷請(qǐng)求

被動(dòng)關(guān)閉(passive close)端TCP接到FIN后,就發(fā)出ACK以回應(yīng)FIN請(qǐng)求(它的接收也作為文件結(jié)束符傳遞給上層應(yīng)用程序),并進(jìn)入CLOSE_WAIT.

The remote end has shut down, waiting for the socket to close. 等待從本地用戶發(fā)來的連接中斷請(qǐng)求

CLOSING:等待遠(yuǎn)程TCP對(duì)連接中斷的確認(rèn)

比較少見

Both sockets are shut down but we still don’t have all our data sent. 等待遠(yuǎn)程TCP對(duì)連接中斷的確認(rèn)

LAST-ACK:等待原來的發(fā)向遠(yuǎn)程TCP的連接中斷請(qǐng)求的確認(rèn)

被動(dòng)關(guān)閉端一段時(shí)間后,接收到文件結(jié)束符的應(yīng)用程序?qū)⒄{(diào)用CLOSE關(guān)閉連接。這導(dǎo)致它的TCP也發(fā)送一個(gè)

FIN,等待對(duì)方的ACK.就進(jìn)入了LAST-ACK .

The remote end has shut down, and the socket is closed. Waiting for acknowledgement. 等待原來發(fā)向遠(yuǎn)程TCP的連接中斷請(qǐng)求的確認(rèn)

使用并發(fā)壓力測(cè)試的時(shí)候,突然斷開壓力測(cè)試客戶端,服務(wù)器會(huì)看到很多LAST-ACK。

TIME-WAIT:等待足夠的時(shí)間以確保遠(yuǎn)程TCP接收到連接中斷請(qǐng)求的確認(rèn)

在主動(dòng)關(guān)閉端接收到FIN后,TCP就發(fā)送ACK包,并進(jìn)入TIME-WAIT狀態(tài)。

The socket is waiting after close to handlepackets still in the network.等待足夠的時(shí)間以確保遠(yuǎn)程TCP接收到連接中斷請(qǐng)求的確認(rèn)

TIME_WAIT等待狀態(tài),這個(gè)狀態(tài)又叫做2MSL狀態(tài),說的是在TIME_WAIT2發(fā)送了最后一個(gè)ACK數(shù)據(jù)報(bào)以后,要進(jìn)入TIME_WAIT狀態(tài),這個(gè)狀態(tài)是防止最后一次握手的數(shù)據(jù)報(bào)沒有傳送到對(duì)方那里而準(zhǔn)備的(注意這不是四次握手,這是第四次握手的保險(xiǎn)狀態(tài))。

這個(gè)狀態(tài)在很大程度上保證了雙方都可以正常結(jié)束,但是,問題也來了。

由于插口的2MSL狀態(tài)(插口是IP和端口對(duì)的意思,socket),使得應(yīng)用程序在2MSL時(shí)間內(nèi)是無法再次使用同一個(gè)插口的,對(duì)于客戶程序還好一些,但是對(duì)于服務(wù)程序,例如httpd,它總是要使用同一個(gè)端口來進(jìn)行服務(wù),而在2MSL時(shí)間內(nèi),啟動(dòng)httpd就會(huì)出現(xiàn)錯(cuò)誤(插口被使用)。

為了避免這個(gè)錯(cuò)誤,服務(wù)器給出了一個(gè)平靜時(shí)間的概念,這是說在2MSL時(shí)間內(nèi),雖然可以重新啟動(dòng)服務(wù)器,但是這個(gè)服務(wù)器還是要平靜的等待2MSL時(shí)間的過去才能進(jìn)行下一次連接。

詳情請(qǐng)看:TIME_WAIT引起Cannot assign requested address報(bào)錯(cuò)

CLOSED:沒有任何連接狀態(tài)

被動(dòng)關(guān)閉端在接受到ACK包后,就進(jìn)入了closed的狀態(tài)。連接結(jié)束

The socket is not being used. 沒有任何連接狀態(tài)


2、TCP狀態(tài)遷移路線圖

client/server兩條路線講述TCP狀態(tài)遷移路線圖:

這是一個(gè)看起來比較復(fù)雜的狀態(tài)遷移圖,因?yàn)樗藘蓚€(gè)部分—-服務(wù)器的狀態(tài)遷移和客戶端的狀態(tài)遷移,如果從某一個(gè)角度出發(fā)來看這個(gè)圖,就會(huì)清晰許多,這里面的服務(wù)器和客戶端都不是絕對(duì)的,發(fā)送數(shù)據(jù)的就是客戶端,接受數(shù)據(jù)的就是服務(wù)器。

客戶端應(yīng)用程序的狀態(tài)遷移圖客戶端的狀態(tài)可以用如下的流程來表示:

CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED

以上流程是在程序正常的情況下應(yīng)該有的流程,從書中的圖中可以看到,在建立連接時(shí),當(dāng)客戶端收到SYN報(bào)文的ACK以后,客戶端就打開了數(shù)據(jù)交互地連接。

而結(jié)束連接則通常是客戶端主動(dòng)結(jié)束的,客戶端結(jié)束應(yīng)用程序以后,需要經(jīng)歷FIN_WAIT_1,F(xiàn)IN_WAIT_2等狀態(tài),這些狀態(tài)的遷移就是前面提到的結(jié)束連接的四次握手。

服務(wù)器的狀態(tài)遷移圖服務(wù)器的狀態(tài)可以用如下的流程來表示:

CLOSED->LISTEN->SYN收到->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED

在建立連接的時(shí)候,服務(wù)器端是在第三次握手之后才進(jìn)入數(shù)據(jù)交互狀態(tài),而關(guān)閉連接則是在關(guān)閉連接的第二次握手以后(注意不是第四次)。而關(guān)閉以后還要等待客戶端給出最后的ACK包才能進(jìn)入初始的狀態(tài)。

其他狀態(tài)遷移

還有一些其他的狀態(tài)遷移,這些狀態(tài)遷移針對(duì)服務(wù)器和客戶端兩方面的總結(jié)如下

LISTEN->SYNSENT,對(duì)于這個(gè)解釋就很簡(jiǎn)單了,服務(wù)器有時(shí)候也要打開連接的嘛。

SYN_SENT->SYN收到,服務(wù)器和客戶端在SYN_SENT狀態(tài)下如果收到SYN數(shù)據(jù)報(bào),則都需要發(fā)送SYN的ACK數(shù)據(jù)報(bào)并把自己的狀態(tài)調(diào)整到SYN收到狀態(tài),準(zhǔn)備進(jìn)入ESTABLISHEDSYN_SENT->CLOSED,在發(fā)送超時(shí)的情況下,會(huì)返回到CLOSED狀態(tài)。

SYN收到->LISTEN,如果受到RST包,會(huì)返回到LISTEN狀態(tài)。

SYN_收到->FIN_WAIT_1,這個(gè)遷移是說,可以不用到ESTABLISHED狀態(tài),而可以直接跳轉(zhuǎn)到FIN_WAIT_1狀態(tài)并等待關(guān)閉。

怎樣牢牢地將這張圖刻在腦中呢?那么你就一定要對(duì)這張圖的每一個(gè)狀態(tài),及轉(zhuǎn)換的過程有深刻的認(rèn)識(shí),不能只停留在一知半解之中。

下面對(duì)這張圖的11種狀態(tài)詳細(xì)解析一下,以便加強(qiáng)記憶!不過在這之前,先回顧一下TCP建立連接的三次握手過程,以及關(guān)閉連接的四次握手過程。


3、TCP連接建立三次握手

TCP是一個(gè)面向連接的協(xié)議,所以在連接雙方發(fā)送數(shù)據(jù)之前,都需要首先建立一條連接。

Client連接Server

當(dāng)Client端調(diào)用socket函數(shù)調(diào)用時(shí),相當(dāng)于Client端產(chǎn)生了一個(gè)處于Closed狀態(tài)的套接字。

(1)第一次握手:Client端又調(diào)用connect函數(shù)調(diào)用,系統(tǒng)為Client隨機(jī)分配一個(gè)端口,連同傳入connect中的參數(shù)(Server的IP和端口),這就形成了一個(gè)連接四元組,客戶端發(fā)送一個(gè)帶SYN標(biāo)志的TCP報(bào)文到服務(wù)器。

這是三次握手過程中的報(bào)文1。connect調(diào)用讓Client端的socket處于SYN_SENT狀態(tài),等待服務(wù)器確認(rèn);SYN:同步序列編號(hào)(Synchronize Sequence Numbers)。

(2)第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);

(3) 第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶器和客務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。連接已經(jīng)可以進(jìn)行讀寫操作。

一個(gè)完整的三次握手也就是:請(qǐng)求—-應(yīng)答—-再次確認(rèn)。TCP協(xié)議通過三個(gè)報(bào)文段完成連接的建立,這個(gè)過程稱為三次握手(three-way handshake),過程如下圖所示。

對(duì)應(yīng)的函數(shù)接口:

2)Server當(dāng)Server端調(diào)用socket函數(shù)調(diào)用時(shí),相當(dāng)于Server端產(chǎn)生了一個(gè)處于Closed狀態(tài)的監(jiān)聽套接字,Server端調(diào)用bind操作,將監(jiān)聽套接字與指定的地址和端口關(guān)聯(lián),然后又調(diào)用listen函數(shù),系統(tǒng)會(huì)為其分配未完成隊(duì)列和完成隊(duì)列,此時(shí)的監(jiān)聽套接字可以接受Client的連接,監(jiān)聽套接字狀態(tài)處于LISTEN狀態(tài)。

當(dāng)Server端調(diào)用accept操作時(shí),會(huì)從完成隊(duì)列中取出一個(gè)已經(jīng)完成的client連接,同時(shí)在server這段會(huì)產(chǎn)生一個(gè)會(huì)話套接字,用于和client端套接字的通信,這個(gè)會(huì)話套接字的狀態(tài)是ESTABLISH。

從圖中可以看出,當(dāng)客戶端調(diào)用connect時(shí),觸發(fā)了連接請(qǐng)求,向服務(wù)器發(fā)送了SYN J包,這時(shí)connect進(jìn)入阻塞狀態(tài);

服務(wù)器監(jiān)聽到連接請(qǐng)求,即收到SYN J包,調(diào)用accept函數(shù)接收請(qǐng)求向客戶端發(fā)送SYN K ,ACK J+1,這時(shí)accept進(jìn)入阻塞狀態(tài);客戶端收到服務(wù)器的SYN K ,ACK J+1之后,這時(shí)connect返回,并對(duì)SYN K進(jìn)行確認(rèn);服務(wù)器收到ACK K+1時(shí),accept返回,至此三次握手完畢,連接建立。

我們可以通過網(wǎng)絡(luò)抓包的查看具體的流程:

比如我們服務(wù)器開啟9502的端口。使用tcpdump來抓包:tcpdump -iany tcp port 9502

然后我們使用telnet 127.0.0.1 9502開連接:

我們看到 (1)(2)(3)三步是建立tcp:

第一次握手:


14:12:45.104687 IP localhost.39870 > localhost.9502: Flags [S], seq 2927179378


客戶端IP localhost.39870(客戶端的端口一般是自動(dòng)分配的) 向服務(wù)器localhost.9502發(fā)送syn包(syn=j)到服務(wù)器》

syn的seq=2927179378

第二次握手:


14:12:45.104701 IP localhost.9502 > localhost.39870: Flags

[S.], seq 1721825043, ack 2927179379,

服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包

SYN(ack=j+1)=ack 2927179379 服務(wù)器主機(jī)SYN包(syn=seq 1721825043)

第三次握手:


14:12:45.104711 IP localhost.39870 > localhost.9502: Flags [.], ack 1,

客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1)

客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài)后,可以進(jìn)行通信數(shù)據(jù)交互。此時(shí)和accept接口沒有關(guān)系,即使沒有accepte,也進(jìn)行3次握手完成。

連接出現(xiàn)連接不上的問題,一般是網(wǎng)路出現(xiàn)問題或者網(wǎng)卡超負(fù)荷或者是連接數(shù)已經(jīng)滿啦。

紫色背景的部分:

IP localhost.39870 > localhost.9502: Flags [P.], seq 1:8, ack 1, win 4099, options [nop,nop,TS val 255478182 ecr 255474104], length 7
客戶端向服務(wù)器發(fā)送長(zhǎng)度為7個(gè)字節(jié)的數(shù)據(jù),

IP localhost.9502 > localhost.39870: Flags [.], ack 8, win 4096, options [nop,nop,TS val 255478182 ecr 255478182], length 0
服務(wù)器向客戶確認(rèn)已經(jīng)收到數(shù)據(jù)

IP localhost.9502 > localhost.39870: Flags [P.], seq 1:19, ack 8, win 4096, options [nop,nop,TS val 255478182 ecr 255478182], length 18
然后服務(wù)器同時(shí)向客戶端寫入數(shù)據(jù)。

IP localhost.39870 > localhost.9502: Flags [.], ack 19, win 4097, options [nop,nop,TS val 255478182 ecr 255478182], length 0
客戶端向服務(wù)器確認(rèn)已經(jīng)收到數(shù)據(jù)

這個(gè)就是tcp可靠的連接,每次通信都需要對(duì)方來確認(rèn)。


4. TCP連接的終止(四次握手釋放)

由于TCP連接是全雙工的,因此每個(gè)方向都必須單獨(dú)進(jìn)行關(guān)閉。這原則是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個(gè)FIN來終止這個(gè)方向的連接。收到一個(gè) FIN只意味著這一方向上沒有數(shù)據(jù)流動(dòng),一個(gè)TCP連接在收到一個(gè)FIN后仍能發(fā)送數(shù)據(jù)。

首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉,而另一方執(zhí)行被動(dòng)關(guān)閉。

建立一個(gè)連接需要三次握手,而終止一個(gè)連接要經(jīng)過四次握手,這是由TCP的半關(guān)閉(half-close)造成的,如圖:

(1)客戶端A發(fā)送一個(gè)FIN,用來關(guān)閉客戶A到服務(wù)器B的數(shù)據(jù)傳送(報(bào)文段4)。

(2)服務(wù)器B收到這個(gè)FIN,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1(報(bào)文段5)。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)。

(3)服務(wù)器B關(guān)閉與客戶端A的連接,發(fā)送一個(gè)FIN給客戶端A(報(bào)文段6)。

(4)客戶端A發(fā)回ACK報(bào)文確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1(報(bào)文段7)。

對(duì)應(yīng)函數(shù)接口如圖:

調(diào)用過程如下:

1) 當(dāng)client想要關(guān)閉它與server之間的連接。client(某個(gè)應(yīng)用進(jìn)程)首先調(diào)用close主動(dòng)關(guān)閉連接,這時(shí)TCP發(fā)送一個(gè)FIN M;client端處于FIN_WAIT1狀態(tài)。

2) 當(dāng)server端接收到FIN M之后,執(zhí)行被動(dòng)關(guān)閉。對(duì)這個(gè)FIN進(jìn)行確認(rèn),返回給client ACK。

當(dāng)server端返回給client ACK后,client處于FIN_WAIT2狀態(tài),server處于CLOSE_WAIT狀態(tài)。它的接收也作為文件結(jié)束符傳遞給應(yīng)用進(jìn)程,因?yàn)镕IN的接收 意味著應(yīng)用進(jìn)程在相應(yīng)的連接上再也接收不到額外數(shù)據(jù);

3) 一段時(shí)間之后,當(dāng)server端檢測(cè)到client端的關(guān)閉操作(read返回為0)。接收到文件結(jié)束符的server端調(diào)用close關(guān)閉它的socket。這導(dǎo)致server端的TCP也發(fā)送一個(gè)FIN N;此時(shí)server的狀態(tài)為L(zhǎng)AST_ACK。

4) 當(dāng)client收到來自server的FIN后 。client端的套接字處于TIME_WAIT狀態(tài),它會(huì)向server端再發(fā)送一個(gè)ack確認(rèn),此時(shí)server端收到ack確認(rèn)后,此套接字處于CLOSED狀態(tài)。

這樣每個(gè)方向上都有一個(gè)FIN和ACK。

1.為什么建立連接協(xié)議是三次握手,而關(guān)閉連接卻是四次握手呢?

這是因?yàn)榉?wù)端的LISTEN狀態(tài)下的SOCKET當(dāng)收到SYN報(bào)文的建連請(qǐng)求后,它可以把ACK和SYN(ACK起應(yīng)答作用,而SYN起同步作用)放在一個(gè)報(bào)文里來發(fā)送。但關(guān)閉連接時(shí),當(dāng)收到對(duì)方的FIN報(bào)文通知時(shí),它僅僅表示對(duì)方?jīng)]有數(shù)據(jù)發(fā)送給你了;

但未必你所有的數(shù)據(jù)都全部發(fā)送給對(duì)方了,所以你可以未必會(huì)馬上會(huì)關(guān)閉SOCKET,也即你可能還需要發(fā)送一些數(shù)據(jù)給對(duì)方之后,再發(fā)送FIN報(bào)文給對(duì)方來表示你同意現(xiàn)在可以關(guān)閉連接了,所以它這里的ACK報(bào)文和FIN報(bào)文多數(shù)情況下都是分開發(fā)送的。

2.為什么TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)?

這是因?yàn)殡m然雙方都同意關(guān)閉連接了,而且握手的4個(gè)報(bào)文也都協(xié)調(diào)和發(fā)送完畢,按理可以直接回到CLOSED狀態(tài)(就好比從SYN_SEND狀態(tài)到ESTABLISH狀態(tài)那樣):

一方面是可靠的實(shí)現(xiàn)TCP全雙工連接的終止,也就是當(dāng)最后的ACK丟失后,被動(dòng)關(guān)閉端會(huì)重發(fā)FIN,因此主動(dòng)關(guān)閉端需要維持狀態(tài)信息,以允許它重新發(fā)送最終的ACK。

另一方面,但是因?yàn)槲覀儽仨氁傧刖W(wǎng)絡(luò)是不可靠的,你無法保證你最后發(fā)送的ACK報(bào)文會(huì)一定被對(duì)方收到,因此對(duì)方處于LAST_ACK狀態(tài)下的SOCKET可能會(huì)因?yàn)槌瑫r(shí)未收到ACK報(bào)文,而重發(fā)FIN報(bào)文,所以這個(gè)TIME_WAIT狀態(tài)的作用就是用來重發(fā)可能丟失的ACK報(bào)文。

TCP在2MSL等待期間,定義這個(gè)連接(4元組)不能再使用,任何遲到的報(bào)文都會(huì)丟棄。設(shè)想如果沒有2MSL的限制,恰好新到的連接正好滿足原先的4元組,這時(shí)候連接就可能接收到網(wǎng)絡(luò)上的延遲報(bào)文就可能干擾最新建立的連接。

3、發(fā)現(xiàn)系統(tǒng)存在大量TIME_WAIT狀態(tài)的連接,可以通過調(diào)整內(nèi)核參數(shù)解決:vi /etc/sysctl.conf 加入以下內(nèi)容:

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 30

然后執(zhí)行 /sbin/sysctl -p 讓參數(shù)生效。

net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時(shí),啟用cookies來處理,可防范少量SYN攻擊,默認(rèn)為0,表示關(guān)閉;

net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認(rèn)為0,表示關(guān)閉;

net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認(rèn)為0,表示關(guān)閉。

net.ipv4.tcp_fin_timeout 修改系統(tǒng)默認(rèn)的 TIMEOUT 時(shí)間


5、同時(shí)打開

兩個(gè)應(yīng)用程序同時(shí)執(zhí)行主動(dòng)打開的情況是可能的,雖然發(fā)生的可能性較低。每一端都發(fā)送一個(gè)SYN,并傳遞給對(duì)方,且每一端都使用對(duì)端所知的端口作為本地端口。例如:

主機(jī)a中一應(yīng)用程序使用7777作為本地端口,并連接到主機(jī)b 8888端口做主動(dòng)打開。

主機(jī)b中一應(yīng)用程序使用8888作為本地端口,并連接到主機(jī)a 7777端口做主動(dòng)打開。

tcp協(xié)議在遇到這種情況時(shí),只會(huì)打開一條連接。

這個(gè)連接的建立過程需要4次數(shù)據(jù)交換,而一個(gè)典型的連接建立只需要3次交換(即3次握手)

但多數(shù)伯克利版的tcp/ip實(shí)現(xiàn)并不支持同時(shí)打開。


6、同時(shí)關(guān)閉

如果應(yīng)用程序同時(shí)發(fā)送FIN,則在發(fā)送后會(huì)首先進(jìn)入FIN_WAIT_1狀態(tài)。在收到對(duì)端的FIN后,回復(fù)一個(gè)ACK,會(huì)進(jìn)入CLOSING狀態(tài)。在收到對(duì)端的ACK后,進(jìn)入TIME_WAIT狀態(tài)。這種情況稱為同時(shí)關(guān)閉。

同時(shí)關(guān)閉也需要有4次報(bào)文交換,與典型的關(guān)閉相同。


7. TCP的FLAGS說明

在TCP層,有個(gè)FLAGS字段,這個(gè)字段有以下幾個(gè)標(biāo)識(shí):SYN, FIN, ACK, PSH, RST, URG.其中,對(duì)于我們?nèi)粘5姆治鲇杏玫木褪乔懊娴奈鍌€(gè)字段。

一、字段含義

1、SYN表示建立連接

步序列編號(hào)(Synchronize Sequence Numbers)欄有效。該標(biāo)志僅在三次握手建立TCP連接時(shí)有效。它提示TCP連接的服務(wù)端檢查序列編號(hào),該序列編號(hào)為TCP連接初始端(一般是客戶端)的初始序列編號(hào)。在這里,可以把TCP序列編號(hào)看作是一個(gè)范圍從0到4,294,967,295的32位計(jì)數(shù)器。通過TCP連接交換的數(shù)據(jù)中每一個(gè)字節(jié)都經(jīng)過序列編號(hào)。在TCP報(bào)頭中的序列編號(hào)欄包括了TCP分段中第一個(gè)字節(jié)的序列編號(hào)。

2、FIN表示關(guān)閉連接

3、ACK表示響應(yīng)

確認(rèn)編號(hào)(Acknowledgement Number)欄有效。大多數(shù)情況下該標(biāo)志位是置位的。TCP報(bào)頭內(nèi)的確認(rèn)編號(hào)欄內(nèi)包含的確認(rèn)編號(hào)(w+1,F(xiàn)igure-1)為下一個(gè)預(yù)期的序列編號(hào),同時(shí)提示遠(yuǎn)端系統(tǒng)已經(jīng)成功接收所有數(shù)據(jù)。

4、PSH表示有DATA數(shù)據(jù)傳輸

5、RST表示連接重置:復(fù)位標(biāo)志有效。用于復(fù)位相應(yīng)的TCP連接。

二、字段組合含義

其中,ACK是可能與SYN,F(xiàn)IN等同時(shí)使用的,比如SYN和ACK可能同時(shí)為1,它表示的就是建立連接之后的響應(yīng),

如果只是單個(gè)的一個(gè)SYN,它表示的只是建立連接。

TCP的幾次握手就是通過這樣的ACK表現(xiàn)出來的。

但SYN與FIN是不會(huì)同時(shí)為1的,因?yàn)榍罢弑硎镜氖墙⑦B接,而后者表示的是斷開連接。

RST一般是在FIN之后才會(huì)出現(xiàn)為1的情況,表示的是連接重置。一般地,當(dāng)出現(xiàn)FIN包或RST包時(shí),我們便認(rèn)為客戶端與服務(wù)器端斷開了連接;

RST與ACK標(biāo)志位都置一了,并且具有ACK number,非常明顯,這個(gè)報(bào)文在釋放TCP連接的同時(shí),完成了對(duì)前面已接收?qǐng)?bào)文的確認(rèn)。

而當(dāng)出現(xiàn)SYN和SYN+ACK包時(shí),我們認(rèn)為客戶端與服務(wù)器建立了一個(gè)連接。

PSH為1的情況,一般只出現(xiàn)在 DATA內(nèi)容不為0的包中,也就是說PSH為1表示的是有真正的TCP數(shù)據(jù)包內(nèi)容被傳遞。

TCP的連接建立和連接關(guān)閉,都是通過請(qǐng)求-響應(yīng)的模式完成的。


8. TCP通信中服務(wù)器處理客戶端意外斷開

如果TCP連接被對(duì)方正常關(guān)閉,也就是說,對(duì)方是正確地調(diào)用了closesocket(s)或者shutdown(s)的話,那么上面的Recv或Send調(diào)用就能馬上返回,并且報(bào)錯(cuò)。這是由于close socket(s)或者shutdown(s)有個(gè)正常的關(guān)閉過程,會(huì)告訴對(duì)方“TCP連接已經(jīng)關(guān)閉,你不需要再發(fā)送或者接受消息了”。

但是,如果意外斷開,客戶端(3g的移動(dòng)設(shè)備)并沒有正常關(guān)閉socket。雙方并未按照協(xié)議上的四次揮手去斷開連接。

那么這時(shí)候正在執(zhí)行Recv或Send操作的一方就會(huì)因?yàn)闆]有任何連接中斷的通知而一直等待下去,也就是會(huì)被長(zhǎng)時(shí)間卡住。

像這種如果一方已經(jīng)關(guān)閉或異常終止連接,而另一方卻不知道,我們將這樣的TCP連接稱為半打開的。

解決意外中斷辦法都是利用保活機(jī)制。而保活機(jī)制分又可以讓底層實(shí)現(xiàn)也可自己實(shí)現(xiàn)。

1、自己編寫心跳包程序

簡(jiǎn)單的說也就是在自己的程序中加入一條線程,定時(shí)向?qū)Χ税l(fā)送數(shù)據(jù)包,查看是否有ACK,如果有則連接正常,沒有的話則連接斷開

2、啟動(dòng)TCP編程里的keepAlive機(jī)制

一、雙方擬定心跳(自實(shí)現(xiàn))

一般由客戶端發(fā)送心跳包,服務(wù)端并不回應(yīng)心跳,只是定時(shí)輪詢判斷一下與上次的時(shí)間間隔是否超時(shí)(超時(shí)時(shí)間自己設(shè)定)。服務(wù)器并不主動(dòng)發(fā)送是不想增添服務(wù)器的通信量,減少壓力。

但這會(huì)出現(xiàn)三種情況:

情況1.

客戶端由于某種網(wǎng)絡(luò)延遲等原因很久后才發(fā)送心跳(它并沒有斷),這時(shí)服務(wù)器若利用自身設(shè)定的超時(shí)判斷其已經(jīng)斷開,而后去關(guān)閉socket。若客戶端有重連機(jī)制,則客戶端會(huì)重新連接。若不確定這種方式是否關(guān)閉了原本正常的客戶端,則在ShutDown的時(shí)候一定要選擇send,表示關(guān)閉發(fā)送通道,服務(wù)器還可以接收一下,萬一客戶端正在發(fā)送比較重要的數(shù)據(jù)呢,是不?

情況2.

客戶端很久沒傳心跳,確實(shí)是自身斷掉了。在其重啟之前,服務(wù)端已經(jīng)判斷出其超時(shí),并主動(dòng)close,則四次揮手成功交互。

情況3.

客戶端很久沒傳心跳,確實(shí)是自身斷掉了。在其重啟之前,服務(wù)端的輪詢還未判斷出其超時(shí),在未主動(dòng)close的時(shí)候該客戶端已經(jīng)重新連接。

這時(shí)候若客戶端斷開的時(shí)候發(fā)送了FIN包,則服務(wù)端將會(huì)處于CLOSE_WAIT狀態(tài);

這時(shí)候若客戶端斷開的時(shí)候未發(fā)送FIN包,則服務(wù)端處還是顯示ESTABLISHED狀態(tài);

而新連接上來的客戶端(也就是剛才斷掉的重新連上來了)在服務(wù)端肯定是ESTABLISHED;這時(shí)候就有個(gè)問題,若利用輪詢還未檢測(cè)出上條舊連接已經(jīng)超時(shí)(這很正常,timer總有個(gè)間隔吧),而在這時(shí),客戶端又重復(fù)的上演情況3,那么服務(wù)端將會(huì)出現(xiàn)大量的假的ESTABLISHED連接和CLOSE_WAIT連接。

最終結(jié)果就是新的其他客戶端無法連接上來,但是利用netstat還是能看到一條連接已經(jīng)建立,并顯示ESTABLISHED,但始終無法進(jìn)入程序代碼。

個(gè)人最初感覺導(dǎo)致這種情況是因?yàn)榧俚腅STABLISHED連接和CLOSE_WAIT連接會(huì)占用較大的系統(tǒng)資源,程序無法再次創(chuàng)建連接(因?yàn)槊看挝野l(fā)現(xiàn)這個(gè)問題的時(shí)候我只連了10個(gè)左右客戶端卻已經(jīng)有40多條無效連接)。

而最近幾天測(cè)試卻發(fā)現(xiàn)有一次程序內(nèi)只連接了2,3個(gè)設(shè)備,但是有8條左右的虛連接,此時(shí)已經(jīng)連接不了新客戶端了。

這時(shí)候我就覺得我想錯(cuò)了,不可能這幾條連接就占用了大量連接把,如果說幾十條還有可能。但是能肯定的是,這個(gè)問題的產(chǎn)生絕對(duì)是設(shè)備在不停的重啟,而服務(wù)器這邊又是簡(jiǎn)單的輪詢,并不能及時(shí)處理,暫時(shí)還未能解決。

二、利用KeepAlive

其實(shí)keepalive的原理就是TCP內(nèi)嵌的一個(gè)心跳包,

以服務(wù)器端為例,如果當(dāng)前server端檢測(cè)到超過一定時(shí)間(默認(rèn)是 7,200,000 milliseconds,也就是2個(gè)小時(shí))沒有數(shù)據(jù)傳輸,那么會(huì)向client端發(fā)送一個(gè)keep-alive packet(該keep-alive packet就是ACK和當(dāng)前TCP序列號(hào)減一的組合),此時(shí)client端應(yīng)該為以下三種情況之一:

  1. client端仍然存在,網(wǎng)絡(luò)連接狀況良好。此時(shí)client端會(huì)返回一個(gè)ACK。server端接收到ACK后重置計(jì)時(shí)器(復(fù)位存活定時(shí)器),在2小時(shí)后再發(fā)送探測(cè)。如果2小時(shí)內(nèi)連接上有數(shù)據(jù)傳輸,那么在該時(shí)間基礎(chǔ)上向后推延2個(gè)小時(shí)。

  2. 客戶端異常關(guān)閉,或是網(wǎng)絡(luò)斷開。在這兩種情況下,client端都不會(huì)響應(yīng)。服務(wù)器沒有收到對(duì)其發(fā)出探測(cè)的響應(yīng),并且在一定時(shí)間(系統(tǒng)默認(rèn)為1000 ms)后重復(fù)發(fā)送keep-alive packet,并且重復(fù)發(fā)送一定次數(shù)(2000 XP 2003 系統(tǒng)默認(rèn)為5次, Vista后的系統(tǒng)默認(rèn)為10次)。

  3. 客戶端曾經(jīng)崩潰,但已經(jīng)重啟。這種情況下,服務(wù)器將會(huì)收到對(duì)其存活探測(cè)的響應(yīng),但該響應(yīng)是一個(gè)復(fù)位,從而引起服務(wù)器對(duì)連接的終止。

對(duì)于應(yīng)用程序來說,2小時(shí)的空閑時(shí)間太長(zhǎng)。因此,我們需要手工開啟Keepalive功能并設(shè)置合理的Keepalive參數(shù)。

全局設(shè)置可更改/etc/sysctl.conf,加上:

net.ipv4.tcp_keepalive_intvl = 20

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.tcp_keepalive_time = 60

在程序中設(shè)置如下:

在程序中表現(xiàn)為,當(dāng)tcp檢測(cè)到對(duì)端socket不再可用時(shí)(不能發(fā)出探測(cè)包,或探測(cè)包沒有收到ACK的響應(yīng)包),select會(huì)返回socket可讀,并且在recv時(shí)返回-1,同時(shí)置上errno為ETIMEDOUT.


9. Linux錯(cuò)誤信息(errno)列表

經(jīng)常出現(xiàn)的錯(cuò)誤:

22:參數(shù)錯(cuò)誤,比如ip地址不合法,沒有目標(biāo)端口等

101:網(wǎng)絡(luò)不可達(dá),比如不能ping通

111:鏈接被拒絕,比如目標(biāo)關(guān)閉鏈接等

115:當(dāng)鏈接設(shè)置為非阻塞時(shí),目標(biāo)沒有及時(shí)應(yīng)答,返回此錯(cuò)誤,socket可以繼續(xù)使用。比如socket連接

end


一口Linux?


關(guān)注,回復(fù)【1024】海量Linux資料贈(zèng)送

精彩文章合集

精美Linux知識(shí)圖譜


文章推薦

?【專輯】ARM
?【專輯】粉絲問答
?【專輯】所有原創(chuàng)
?專輯linux入門
?專輯計(jì)算機(jī)網(wǎng)絡(luò)
?專輯Linux驅(qū)動(dòng)
?【干貨】嵌入式驅(qū)動(dòng)工程師學(xué)習(xí)路線
?【干貨】Linux嵌入式所有知識(shí)點(diǎn)-思維導(dǎo)圖
一口Linux 寫點(diǎn)代碼,寫點(diǎn)人生!
評(píng)論
  • 做藍(lán)牙音箱的工程師大概都碰過這個(gè)局面。產(chǎn)品要連手機(jī)放歌,要本地播開機(jī)提示音和按鍵音,還要接 App 做配網(wǎng)和狀態(tài)上報(bào)。三件事拆開,早先的常規(guī)做法是音頻藍(lán)牙一顆料、數(shù)傳藍(lán)牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機(jī)電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍(lán)牙、BLE 數(shù)傳和 MP3 本地播放三樣全包了。對(duì)藍(lán)牙音箱來說,最實(shí)在的好處就
    唯創(chuàng)知音語音芯片 2026-08-06 15:14 267瀏覽
  • 在物聯(lián)網(wǎng)從“萬物互聯(lián)”邁向“萬物智聯(lián)”的進(jìn)程中,LTE Cat.1憑借其在速率、成本與網(wǎng)絡(luò)覆蓋之間的完美平衡,正成為中低速物聯(lián)網(wǎng)市場(chǎng)的絕對(duì)主力。隨著2G/3G網(wǎng)絡(luò)的逐步退網(wǎng)以及新國標(biāo)對(duì)終端設(shè)備智能化、定位功能的強(qiáng)制要求,Cat.1模組迎來了爆發(fā)式的增長(zhǎng)窗口。在這一關(guān)鍵節(jié)點(diǎn),基于華為海思Hi2131芯片設(shè)計(jì)的LTE Cat.1模組,憑借其在能效、射頻、架構(gòu)及物理規(guī)格上的底層創(chuàng)新,成功打破了“高性能必高功耗”的傳統(tǒng)魔咒,為行業(yè)提供了極具競(jìng)爭(zhēng)力的連接最優(yōu)解。核心技術(shù)優(yōu)勢(shì):重塑Cat.1能效與連接標(biāo)桿海
    用戶1778981989717 2026-08-05 21:04 166瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩(wěn)定起振的成品,要經(jīng)過十幾道精密工序。它內(nèi)部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個(gè)生產(chǎn)過程里哪怕0.1微米的誤差,都會(huì)直接廢掉整批產(chǎn)品,這也是小尺寸晶振過去長(zhǎng)期依賴進(jìn)口,國內(nèi)廠商花了十幾年才啃下量產(chǎn)硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 368瀏覽
  • 在EMC測(cè)試過程中,傳導(dǎo)發(fā)射(Conducted Emission,CE)超標(biāo)是工程師最常遇到的問題之一。更令人頭疼的是,同樣的超標(biāo)曲線背后,可能對(duì)應(yīng)著完全不同的干擾機(jī)理:有的是差模噪聲沿電源回路傳播,有的是共模電流通過寄生路徑耦合,還有些問題甚至并非來自電源本身,而是負(fù)載、電纜布局或接地結(jié)構(gòu)引起的連鎖反應(yīng)。 · 150kHz~1MHz 超標(biāo):多為差模噪聲為主,干擾沿火線-零線回路傳輸。 · 1MHz~30MHz 超標(biāo):通常共模噪聲占主導(dǎo),干擾通過火線/零線對(duì)地回路傳播。 如果條件允許,用電流探
    譽(yù)磁電磁兼容EMC 2026-07-31 18:45 501瀏覽
  • 在前六期中,我們已經(jīng)分別討論了 CRA 的適用范圍、整體影響、漏洞通報(bào)義務(wù)、風(fēng)險(xiǎn)評(píng)估與技術(shù)文檔證據(jù)鏈、第三方組件與 SBOM 供應(yīng)鏈治理,以及產(chǎn)品上市后的支持期、安全更新、用戶說明和終止支持管理。到這里,企業(yè)已經(jīng)能夠回答幾個(gè)核心問題:產(chǎn)品是否落入 CRA 適用范圍,產(chǎn)品由哪些組件構(gòu)成,企業(yè)如何證明自己在設(shè)計(jì)、開發(fā)和上市前采取了必要的安全措施,以及產(chǎn)品上市后如何持續(xù)維護(hù)和安全下線。但對(duì)于真正準(zhǔn)備落地 CRA 合規(guī)的企業(yè)來說,還有一個(gè)更現(xiàn)實(shí)的問題:CRA 的法規(guī)條文相對(duì)原則化,企業(yè)應(yīng)當(dāng)如何把“網(wǎng)絡(luò)安
    虹科云科技 2026-08-03 16:51 147751瀏覽
  • ?摘要:低價(jià)大流量卡正全面退市,政策收緊已成定局。面對(duì)傳統(tǒng)號(hào)卡的不確定性,隨身WiFi憑借穩(wěn)定連接、多設(shè)備共享、獨(dú)立設(shè)備和靈活套餐等優(yōu)勢(shì),成為務(wù)實(shí)可靠的備選方案。1、流量卡黃金時(shí)代要結(jié)束了通信行業(yè)正迎來一場(chǎng)前所未有的“地震式”調(diào)整——曾讓無數(shù)用戶追捧的低價(jià)大流量卡,正在全速退出各大平臺(tái)。這早已不是一次普通的競(jìng)合,而是一場(chǎng)趨勢(shì)性的行業(yè)洗牌。回望過去,19元200G的神卡,那時(shí)真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設(shè)計(jì) 2026-08-03 10:21 128864瀏覽
  • 摘要在防爆電氣設(shè)計(jì)中,只參照芯數(shù)選型而忽略額定載流量,長(zhǎng)期滿負(fù)荷運(yùn)行會(huì)出現(xiàn)插頭發(fā)熱、接觸面氧化、IP67 密封受熱老化等問題。結(jié)合常用 3 針 3 孔、4 芯、5PIN、8PIN 圓形防爆連接器,制作分級(jí)電流參數(shù)對(duì)照表,區(qū)分冷壓免焊接、焊接兩種接線結(jié)構(gòu)的安全載流數(shù)值,設(shè)置合理電流冗余系數(shù),搭配使用環(huán)境修正參數(shù),規(guī)范防爆接近開關(guān)連接器、防爆法蘭插座的選型計(jì)算方式。關(guān)鍵詞圓形防爆連接器,載流參數(shù)表,防爆法蘭插座,防爆端子接頭,IP67 防爆防水接插件1 產(chǎn)品概述圓形防爆連接器觸點(diǎn)載流能力由插針直徑、
    kyfbest科迎法電氣 2026-08-03 09:18 128641瀏覽
  • 文:杜杰編輯:侯煜當(dāng)?shù)貢r(shí)間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯(lián)邦通信委員會(huì)(FCC)正式更新《受管制清單》,新增兩大類設(shè)備——境外生產(chǎn)的先進(jìn)機(jī)器人設(shè)備、境外生產(chǎn)的聯(lián)網(wǎng)電力逆變器。FCC在官方情況說明書中明確,該類境外制造產(chǎn)品,“會(huì)對(duì)美國國家安全或美國民眾的人身安全構(gòu)成無法承受的風(fēng)險(xiǎn)”。本次新規(guī)設(shè)置明確豁免機(jī)制:經(jīng)美國國防部(DoW)、電力逆變器品類經(jīng)美國國土安全部(DHS)審核并授予“有條件批準(zhǔn)”,認(rèn)定對(duì)應(yīng)設(shè)備品類不存在重大安全風(fēng)險(xiǎn),即可獲得準(zhǔn)入豁免。同時(shí)政策嚴(yán)格執(zhí)行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 324瀏覽
  • 導(dǎo)語在現(xiàn)代高速數(shù)字電路設(shè)計(jì)中,信號(hào)的完整性已不僅是理想波形推演,而是一場(chǎng)與物理非理想特性正面博弈的工程實(shí)踐。濾波器芯片作為凈化傳輸鏈路的關(guān)鍵屏障,其核心挑戰(zhàn)在于:能否有效識(shí)別并濾除那些隱匿在電平跳變過程中的亞納秒級(jí)瞬態(tài)脈沖干擾,這類干擾持續(xù)極短,卻足以在高速鏈路中引發(fā)誤觸發(fā)。然而,傳統(tǒng)函數(shù)發(fā)生器受限于采樣率與邊沿速率,根本無法忠實(shí)復(fù)現(xiàn)如此狹窄且陡峭的異常波形。針對(duì)此困境,德思特TS-AWG7000系列任意波形發(fā)生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態(tài)脈沖提供精細(xì)刻畫,配合SPG
    德思特測(cè)試測(cè)量 2026-08-05 14:06 5瀏覽
  • 產(chǎn)品使用18V供電,配套4串鋰離子電池,需要設(shè)計(jì)一個(gè)充電器。因?yàn)檩斎?8V,電池最高 16.8V,壓差僅 1.2V。因?yàn)閴翰钐 J褂瞄_關(guān)型的充電控制芯片不穩(wěn)定。嘗試自行設(shè)計(jì)一個(gè)。整體采用分立三極管 + TL431架構(gòu),分4個(gè)功能單元:使能控制回路、限流環(huán)路、TL431 精密恒壓反饋環(huán)路、PNP 功率管主功率輸出回路;實(shí)現(xiàn)完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經(jīng) R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導(dǎo)通,對(duì)地拉低 R1、R2 組成的分壓控制節(jié)點(diǎn)電位;該節(jié)點(diǎn)直
    southcreek 2026-08-07 13:45 315瀏覽
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 98824瀏覽
我要評(píng)論
0
點(diǎn)擊右上角,分享到朋友圈 我知道啦
請(qǐng)使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 俄罗斯女儿国2| 波多野吉衣销魂120分钟电影| 原以为大家不以貌取人全集观看 | 《绝对权力》在线观看| 铃木杏里《少年爱》免费听| 日历女孩 韩国| 花木兰2电影| 暮光之城:破晓(上)| 琪琪布网站| 塔日酒店在线观看完| 伸出你的手| 朴英善《爱的释放》歌曲| 夫妻二人世界免费观看第四季| 陈列之家| 禁忌女孩:重置| 唐人街探案3正片完整版免费观看| 妈妈的职业5完整版结局在线看谁演的| 吕继宏歌曲咱老百姓| 《肉蔻之香》法国| 向往8最新一期完整版| 刘浮生全集免费观看| 赤子板《姐妹牙医》百度| 小精灵动画片| 日本金银1-5普通话版| 玛露和她的情人| 刘敏涛老公常乐| 妻子为了保住丈夫工作| 咱们结婚吧全集免费观看| 在线观看麦乐迪| 宾利欧陆gtc| 《家庭矛盾》麦乐迪欧美| 银魂175| 宋小宝辽宁春晚小品2022| 韩国电影销售秘密| 爱逢时短剧免费播放| 义姐是不是良动漫全集免费观看| 赤焰战场2在线观看免费完整版| 清流租房| 阳光正好电视剧免费观看全集| 壹号皇庭3国语版| 电影美乃雀主演弟媳的电影叫什么 | 第十放映室恭贺2012| 哪吒1免费观看完整版大电影| 战战狼6免费观看完整版| 月光宝盒私人免费影院| 花房姑娘第四季在线观看免费 | 我的游泳池工作2| 华晨宇 假行僧| 破灭之国| 电影激情从林| 双雄电影| 桃色胸器| 快乐星猫第7季| 伦理《法国护士长》高清电影| 小魔头暴露啦| 无双短剧完整版免费播放| 四少妇按摩 韩国在线| 原ちとせ| 野火春风斗古城电视剧| 战狼15欧式少女高清| 熊出没冒险之旅| 精灵幻想| 电影《特邀外卖员无码| 初体验3在线| 荒岛女儿国美版| 韩国电影办公室剧情在线观看免费| 高清秒速5厘米| 沣满的护士2在线电视剧| 最好的我们电视剧免费观看| 莫妮卡《爱我几何》精彩片段| 一个好人粤语| 孙红雷20集全免费观看| 一波拉病毒2在线播放高清免费| 康定情歌dj| 丰满的女学生3| 东京残酷| 飞天侠女电影| 醉酒趁虚而入电影免费观看高清| 不信天上掉馅饼| 金银瓶1—5hd 普通话一级| 此时此刻台剧| 贝蒂的农场1980| 南极大冒险| 雷神百度影音高清| 朝国年经继4免费看| 樱蓝高校男公关部| 疯马秀LISA舞蹈视频完整版| 和部长一起去出差日本电影| 电影深喉在线观看| 战狼6大妈免费观看高清版| 裤袜视界动漫| 吉泽明步全集种子| 妻子被黑人在丈夫面前被欺负电影| 好女孩 电影 2015| 致我们终将逝去的青春| 若是如此在线全集免费观看| 被甩继承:亿万家产短剧全集| 《她被搬运工侵犯》免费观看| 唐诡事录之西行| 《堕落的女律师》电视剧在线观看| 歌后逆袭歌坛:我称王短剧全集| 行尸走肉第三季09| 黑帮少爷爱上我第10集在线观看| 4410电影| 美版假面骑士龙骑| 美国版4娃娃脸免费观看 | 漂亮的小瘦子8| 人的价值中文版全集| 韩国电影我的妻子| 红罂粟第三部| 五年级女生| 三年大片免费观看完整版高清第三集| 欲望爱人在线播放| 家门的荣光分集介绍| 法国空乘11未删减版在线观看| 食为奴国语全集| 天美影院在线观看电视剧免费| 美国总统就职典礼直播| 人龙传说粤语| 21世纪性格爱情指南完整版 | 媳妇的美好宣言电视剧| 男生吃女生的两个葡萄| 爱情公寓第2季| 新生悬疑剧在线观看| 渔夫荒野淫记1988版电影在线观看| 秀豆魔导士| 甜蜜惩罚全集在线观看| 男生女生一起愁电视剧在线观看| 许我耀眼32集免费观看| 姊妹牙医免费观看。| 东北往事之黑道风云20年21集| 《从指尖传出的热情》第3季| 法国空乘2019无删减版百度云| 新金瓶梅 电视剧| 先婚后爱:总裁慢慢宠短剧全集| 四大名捕演员| 致命速递3| 苍井空档案| 复仇第3季| 盛夏晚晴天优酷| 天师下山全集免费| 草草女人院| 东北往事之黑道风云20年11集| 高清《芈月传》免费观看完整| 授业到天亮chu| 歼灭天际线日韩版最新消息| 黄凯芹经典歌曲| 三妻四妾电视剧免费观看| 五号特工组2| 特区爱奴百度影音| 《卖百科全书的女人》(2000年,法国)| 人与动物免费观看电视剧完整版| 韩剧《姐姐的闺蜜》免费观看| 韩剧 秘密花园| 钻石王老五的艰难爱| 春雨高清免费全集观看免费| 寂寞午夜影院| 浮之公手| 精装追女仔2004国语| 村里来了个洋媳妇免费观看全集| 已婚妇女的下午电影| 质问的意思| 爱的理想生活大结局| 战狼4在线播放免费完整| 我的泪珠儿电视剧| 临朐县| 水晶国传说| 运钞大劫案电影免费观看国语| 手机电影免费观看国语| 养鬼吃人10| 郭有才诺言完整版| 朝鲜金雪美| 电视剧北平往事| 韩国美女跳舞| 蛇姬恋电影完整版免费观看| 校内电影| HD版泰山《激战丛林》主演| 短道速滑王蒙| 校花攻略| 青春冲动| 慕海情深 电视剧泰剧在线观看| 女超人满天星无删减麦乐迪| 瑜珈教程| 末班车后动漫| 电影熟睡之中被义子侵犯 | 爸爸我要你的种子在线观看| 漂亮书生在线观看| 拜托小姐一共多少集| 罗马的房间图解| 啄木鸟壮志凌云在线电影完整版观看| 再唱山歌给党听 索朗旺姆| 老牛影视| 黑衣女人| 6080蓝雨| 《桂花蜜》by居无竹txt| 观看韩国伦理电影丈夫下属| 雅典奥运会男篮决赛| 幸福有配方电视剧全集| 影音资源网| 巴尔干边界完整免费观看| 夫妻隔帘按摩妻子被精油按摩视频免费在线播放 | 黑白配hd1080完整版高清| 三哥田螺| 枪火国语| 凯.帕克 电影大合集在线观看| 定格动画制作教程| 花子君第二季免费观看| 郝板栗《千金小姐》免费完整版| 邻居的妻子在线观看| 酒法子空蝉之森原版| 赤壁下电影完整版高清在线观看| 新倾国倾城在线| 秋瓷炫生死决断在线观看| 韩国片黄18以上在线观看| 即刻上场电视剧免费观看| 姊妹牙医免费观看。| 氪金玩家第一季免费播放| 乱世三义全集| 五福临门电视连续剧免费观看| 女人村庄| 斯巴达真人版2电影在线看| 单身即地狱每周六几点更新| 陷阱2015| 美味快递员的特殊待遇| 饥渴游戏| 爱情公寓第一季全集| 千金肉板栗电影在线| 《下女》| 陈巴尔虎旗| 瑟瑟视频在线观看| 寄生兽电影迅雷下载| 日本战狼6免费完整版| 余炜南昌| 新凯莱最新消息| 部长| 周生如故电视剧免费看| 乌克兰基辅实时画面| 农民伯伯下乡2国语版吴健| 电视剧22条婚规| 勇探实录国语| 电影《恨锁金瓶》电影完整版 | 浪漫女家教电视剧免费完整版| 杀破狼贪狼免费观看| 越南停播中国电视剧| 年轻的女学生味道HD| 一路向西2在线观看| 托克托县| 封神英雄榜第二部免费观看电视剧 | 红高粱电视剧迅雷下载| 桂宝之爆笑闯宇宙| 女超人1979满天星版在线观看| 英国病人完整版在线观看视频| 高清《写写画画》电影| 酒店服务生电影在线观看完整免费高清第一集| 阳仔演笑会| 进击的巨人佩妹| 在姨母家的客厅完整版| 痴汉系列a| 惊天大迷局| 性的暴刑| 最近日本电影高清免费观看 | 牵牛的夏天手机铃声| 重生后她转身投入死对头怀抱| 偷窥 羽田圭子| 哇嘎电影高清在线观看播放网站| 大唐好男人电视剧| 迷人的保姆触摸秘密的在线观看| 国风按摩院在线免费观看| 中国刑警之九月风暴电视剧| 我的老婆是大佬3高清| 地狱究竟有几层在线观看电影| 漂亮的保姆韩国电影观看免费版| 姐妹牙医在线电影播放完整版| 蜜桃成熟时33d西西| 男女一起愁愁愁电视剧免费观看在线高清 | 韩国三级维修工的艳遇| 主君的太阳人人影视| 《魅魔姐姐》动集观看| 特殊的保险销售员2| 朋友的朋友| 老和尚与小姑娘的人物性格| JUL945老公不在的平日、被自外工作回家的絶伦公公天天侵犯到疯狂高潮。三舩美 | 姐妹牙医在线观看| 裸婚时代全集| 因为爱情有幸福之一电视剧| 八戒8手机在线看免费播放电视剧大全 | 电容单位读法| 老人街头散钱66万无人要| 麦乐迪《家庭矛盾》4女超人| 秦腔清风亭| 九零创业:商业巨头全集免费| 伊波拉病毒2(国语版)| 非传统浪漫关系未删减| 朋友的爸爸在线| 死亡笔记1电影| 潮汕笑剧| 特殊治疗医护3| 诡秘之主动漫免费完整版| 娘家的故事| 《安娜的秘密》满天星三级在线| 特朗普与哈里斯首辩倒计时| 我是特种兵之火凤凰28| 越南女兵满天星2023年上映时间| 玉蒲团2快播| 御狐之绊| 解说原片白峰美羽电影| 等你回家 宋佳| 吉泽明步电影| 《有翡》全集在线观看| 新世界孙红雷| 《诱人的女房东3》| 香气电影| 痞子英雄2黎明升起| 凌云壮志(欧美)满天星| 九龙不败免费完整电影高清| 女神异闻录在线观看| 《激战丛林》在线观看| 希望的大地| 王府主母:深宅掌权短剧全集| 法国《遗产》罗丽星克莱尔| 妖精视频免费版观看| 外出电影2| 《和部长一起去出差旅》中文日语百| 战神王妃:夫君守护全集免费| 粉红顽皮豹图片| 《游泳女教练》免费观看全集| 那夜的武士| 七号差馆国语| 因法之名免费观看全集完整版| 甲种公牛1976意大利| 《地球超新鲜》综艺| 圣特罗佩的姑娘们| 皇叔娇宠:公主别闹全集免费| 白峰美羽AV电影| 鹿鼎记陈小春版演员表| 战狼15大学生免费看全集| 长江七号电影免费完整版在线观看| 初体验5免费观看全部电视剧| 高清《狙击手-斯莫希军官》| 丁度巴拉斯《魔力镜子》| 仓井老师的电影| 《法国空乘2018》在线完整观看视频| 一边亲\边下奶免费视频| 天注定免费完整版在线| 法国空姐4在线观看| 熊出没逆转时空免费观看 | jul-945丈夫不在的三天| 韩国电影办公室剧情在线观看免费| 天注定高清在线观看| 法国婬乱私人航空6| 哪吒二在线观看完整免费高清电影| 超级经纪人 电影| 南相美主演的电视剧| 性生活电影院| 韩剧鬼怪百度云| 杨恭如被污辱的电影| 蛇王波后彭丹国语版免费| 蛇年春晚小品| 怀来至北京跨省公交停运 | 熟女泻火| 公公与媳妇高清免费版电视剧| 勾魂噩梦观看| 小辣椒3结局| 妈妈的朋友4在线看| 聊斋之流光情劫完整在线观看| 电影《牙医姊妹》免费| 花非花雾非雾dvd版| 最熟悉的陌生人免费观看完整版| 捧腹大笑的意思| 高压监狱2法版1时43分 | 法国空姐2018年正版| 赛仑意大利版渔夫的老婆| 《乡村恋人》| 陆小凤与花满楼结局| 搞笑大连话| 巨茎挺进李淑芬的夜猫IV| 少数派报告电影| 电影蜜桃成熟时| 美剧家庭矛盾麦乐迪| 喜爱夜蒲完整版下载| 我和继夫做了爱一次有事吗| 小英雄雨来电影| 宾利欧陆gtc| 《迷宫》罗丽星克莱尔| 野花香电视剧剧情观看| 天生一对泰剧全集免费观看泰剧| 激战丛林hd版意大利| 美乃雀电影在线看| 中华小子第二部全集| 做aj免费国语版电视剧| 嫡女宅斗:全精通短剧全集| 虞城县| 大熔炉之热血青春电视剧全集免费| 爱情面前谁怕谁31| 朋友别哭刘芳| 《女超人》麦乐迪版剧情| 打工人的巅峰短剧全集| 小镇姑娘国语免费观看| 蒋玲玲版《渔夫的荒野史记》完整版 | 高清《憨豆先生》在线观看| 韩国的爱我几何| 夫妻的春天电视剧| 2002版齐天大圣孙悟空| 神木丽| 女友的妈妈免费观看| 青梅竹马是消防员风车| 谢谢你温暖我电视剧在线观看全集| 后营露营第一季无增减 | 陆小凤之决战前后| ⅹl上司第一季末增减| 开学第一课直播2021| 情陷夜中环粤语| 黑人大屌在线播放| 圣域传说| 男生女生一起愁愁愁愁愁电视剧免费观看视频 | 花样年华电影| 利刃出鞘3电影| 岳飞传刘兰芳| 正在播放: JUL-601 你真的是处男吗?因为发现丈夫出轨被自称童贞的男子欺骗身 | 迪加噢特曼国语| 泽塔奥特曼第十集| 情事电影完整中文版| 吗吗吗朋友| 危险关系快播| 边缘行者在线观看高清完整版| 《特殊快递员》| 法国空姐2024| 《美容院:特殊待遇》4| 撒娇女人最好命电影| 人猿泰山Hrd| 扫黑风暴免费播放观看| 武则天电视剧全集| 老电影生死牌| 漂亮妈妈6巴字中字开头7个字| 喋血劫花| 分手大师| 电影摩登保镖| 瓜达卢佩的玫瑰迅雷bt种子| 星球大战系列| 酒徒温碧霞| 桑德拉·拉索《满天星》| 妻情六欲| 还珠格格艳谭版| 姐妹淘心话 甄嬛传| 满天星麦乐迪电影在线观看完整免费 | 哈尔传奇| 澳门| 麦迪乐在线| 乡村爱情故事第5部| 噬血狂袭第二季| 禁忌5在线看| 镖行天下之至尊国宝| 善良的的瘦子| 疯狂动物城(国语版)普通话| 美乃雀替弟还债的电影免费观看| 无可替代泰剧| 十二罗汉电影| 哇嘎高清免费观看| 天堂韩国电视剧| 不扣纽扣的女孩| 明成皇后电视剧| 午夜理发店| 星游记风暴法米拉2完整版| 《小麦进城》免费看| 星辰变第6季在线观看完整版| 楼上的女邻居电视剧剧情介绍| 监狱风云| 马龙王楚钦等15人获记大功奖励| 睫毛膏4美国版中文版| 风流一夜情在线观看| 甄嬛传43集| 骚人美女| 女超人法国版无删减版| 游戏风云神曲| 我 机器人| 有夫之妇电视剧剧情介绍| 电影二对一的商务模式2| 大秦帝国之纵横| 茶杯犬要多少钱| 巧虎快乐版2013全集| 《女仆日记》法国版| 少林寺电影| 苍蝇之母| 《年轻女教师3》韩国| 《玉女心经2》国语| 超宇宙刑事卡邦 无限未删减| 欢乐颂4免费观看| 房奴试爱开头原声| Ovflower全集免费观看| 灰猎犬号1080在线完整免费观看| 有一天你会明白有些人不再回来| 男女一起愁愁愁免费观看全集| 谈判专家粤语在线观看| 总裁动真心了:契约婚姻全集免费| 婴儿王妃| 战狼9欧式少女版资源| 命转情真| 新金梅瓶2 国语完整版 | 美姊妹剥赤板栗是哪一集| 不夜城金城武| 木下澶澶子最新电影| 富婆三姐妹免费播放电视剧| 《荒岛女儿国》在线观看| 大马配小毛驴高清| 我们的秘密免费观看全集| 沈阳黑灯舞厅| 插曲的痛第60集| 喜羊羊与灰太狼之虎虎生| 李灿森结婚| 子曰卜学亮| 《美国空乘4》观看| 斗龙战士6| 《亲爱的客栈2026》| 我是刑警免费| 法国空姐8| 伊波拉病毒国语在线观看| 蝶舞天涯全集| 《杂货铺老板娘》| 棋魂在线观看免费版| 《倔强退魔师》1-4集在线观看免费版| 一拳超人第二季在线观看免费| 杯水情歌歌词| 八丈夫人意大利电影免费观看| 菲梦少女第二季免费| 《田耕纪》电视剧| 生吃电影| 女律师替夫还债| 满清禁宫奇案百度影音| 《东北剿匪记》电视剧| 东方卫视广告| 《法国空乘10》特别版| 冲发一怒为红颜| 忠者无敌高清电视剧全集免费观看| 电影失乐园在线观看| 《激战丛林》| 忍者乱太郎粤语版| 爱丫爱丫影院电视剧在线观看| 腾格尔没放过《爱你》| 美版娃娃脸4免费观看| overflower第一季无删减在线观看| 年轻的女学生3| 高清《献身》李丽珍免费观看| 满天星电影全集免费观看| 性的爆行| 一生只爱你30| 拉拉电影免费观看电影| 榆社县| 妈妈的职业5完整版结局在线看免费高清 | 杨思敏电视剧免费看| 三年大片免费观看国语完| 馒头逼电影在线观看| 人体器官结构图片| 晚春楼在线电影| 女儿国3在线观看免费版高清,挡不住的思念电影免费观看 | 七夜雪电视剧在线观看完整版免费| 《女超人Melody满天星》在线观看| 女律师的堕落日本| 朱棣电视剧50集免费观看| 缱绻仙凡间电视剧| 爱唯侦察| 小凤新婚(下)| 中国vs荷兰| 25岁女高中生在线观看| 倒数第二次恋爱| 满天星女军医| 我在他乡挺好的第九集| 炼气十万年动漫免费观看| 亿未豪客传奇| 歼灭天际线日韩版| 《杉杉来了》免费观看| 电视剧狂飙全集在线观看 | 笑过2012| 啦啦队长| 哆啦a梦大电影国语全集| 女超人麦乐迪完整版| 金银梅韩国版| 部长和社畜的恋情令人着急电视剧| 上将许世友下载| 法国电影《私人助理》的导演是谁| 满天星1993版保镖在线| 近距离爱上你免费在线观看完整版| 牌坊下的女人插曲| 公之孚手中字12| 渔夫荒野史完整版电影| 苹果4刷机教程| 启航当风起时| 壶关县| 秘密搜查官天海翼在线观看| 夏日诱惑无删减版| 追凶者也未删减| 智斗美女蛇| 抽曲的痛免费观看完整版海外| 事物的秘密水池的全段在几分钟| 射雕英雄传之侠之大者免费完整版| 在异世界迷宫开后迷宫无遮挡版| 韩国女空调维修工| 腹黑总裁:独宠一人全集免费| 苏里南韩剧免费观看| 播放_爱我几何免费完整观看_在线观看_馒头影院 | 凯登克罗斯01A| 一盘大棋电影| 养母电视剧| 1995版人猿泰山HR意大利百度网盘| 灌篮高手大电影免费观看完整版| 无心法师第4季免费播放| 缘分五月在线看片| 艾曼纽3| 佐助真传| y行动和舒立克的其它冒险| 17在线观看免费高清电视剧在线观看 | 河南曲剧卷席筒| 斗破苍穹缘起免费播放| 落魄贵族琉璃川免费动漫| 很想很想你电视剧免费| 《美容窒:特殊服务3》| 落翅女的黄昏在线观看完整版电影 | 我的大叔插曲大人MP3下载| 美式禁忌1——7| 香火免费| melody 女超人在线| 敢死队1| 斗罗大陆228集完整版免费| 白镖联盟全集免费播放| 善良的岳母免费观看| 总台2024网络春晚| 和讨厌的部长一起出差旅游电影| 外星传奇| 无职转生第二季在线观看中文| 4个少妇按摩| 《聊斋之鬼狐》完整版| 奇皇后32集| 电影神奇女侠| 维修师傅的艳遇电影| 土地公土地婆免费观看全集| 原配夫妻| 男人女人一起愁愁愁观看在线| 海天雄鹰免费观看| 外太空杀人小丑| 时间都知道电视剧免费观看完整版| 色九月 在线播放| 浪漫刺客免费全集完整版| 年轻人 高清在线观看| 年幼嫂子| 无憾坎贝奇英文在线完整观看| 红楼春梦在线观看| 高考一段线二段线什么意思| 丁建华朗诵| 女狙击手满天星| 女飞行员(美国)满天星 | 97免费| 狐狸的夏天百度云| 英明果断打一正确生肖| 幸福到万家电视剧在线观看21 | 亲爱的完整版免费观看| 高清《给我钱 第12季》| 音乐老师的饺子水饺在线观看| 跪下吃他胯下的体育生H| 黑心鬼国语| 语义错误在线观看免费| 男女一起愁愁愁免费观看全集高清| 韩国理片岳母在飯店| 登顶后位:宫斗步步为营全集免费| 韩剧朋友| 满天星影院电影在线观看| 猩猩将军| 荣誉守则成人版在线看| 《理想之城2》全集观看| 妻子的谎言大结局剧情| 神奇眼镜韩国电影女老板| 爆旋陀螺第一部粤语 | 王牌部队电视剧免费观看| 哇嘎电影在线观看入口| 黑豹在线观看| 斗罗大陆全集免费观看完整版动漫 | 情色姐妹| 亲切的金子电影完整版| 特殊保险推销员中字8| 牝老师在线观看| 搞笑一家人韩国版全集| 宁都半班戏| 学生的妈妈4在观完整有限中字| 莫妮卡演过巜生殖按摩电影吗| re从零开始的异世界| 庆余年2电视剧在线免费观看| 王牌部队在线观看| 阳光灿烂的日子 电影| 一起愁愁愁免费全集| 电影《香港奇案》| 王刚夜幕下的哈尔滨| 月光宝盒电影| 梅州市| 《千金小姐赤子板栗》| 中国打黑风暴| 金瓶梅电影在线完整版观看| 三级小说| 卖房子的女销售完整版| 埃及满天星1982| 一路向西电影在线观看全集免费版| 有形的翅膀mv| 扒开双腿疯狂进出爽爽爽动态照片| 无法无天满天星完整版| 男按摩师视频在线观看| 晚娘全集在线观看| 漂亮的小姨韩剧免费观看完整版电视剧 | 女超人满天星版麦乐迪马克斯在线观看| 高压监狱法国电影| 慈禧秘史邱淑贞| 《特战荣耀2》免费看| 吞噬星空47集免费观看完整版| 天星术之欧美高清视频完整播放 | 成都4P雪梨枪在线免费看| 放牛班的春天| 年轻善良的嫂子韩国| 迷幻学院| 成全视频观看免费高清动漫第8季在线 | 艳访吸血鬼| 牟氏庄园电视剧全集免费观看| 让所有火凤凰队员怀孕| 《妈妈爱上儿子同学》| 第七套广播体操音乐| 新员工韩剧| 赵丽颖《小城大事》在线观看免费| 周星驰粤语| 韩国理伦片驯服小峓2| 100分的吻微电影| 快把我哥带走| 中国机长 下载| 终极天将| 花与蛇麻醉牙医诊所完整版| 母亲爱上儿子同学中文电影 | 新世纪福音战士新剧场版破| 凯·帕克《忌讳》| 朴亚珍电影HD| 刘可雯的电影片| 相门嫡女全集免费| 天堂执法者15| 阿宝的故事| 放羊女孩2免费版| 欲火之路| 麦乐超人(2020)电影在线| 深夜食堂豆瓣| 蒙面超人| 《女销售的销售秘密》2 | 电视连续剧薛平贵与王宝钏| 渔夫的荒野史记七仙免费观看| 《法国空乘2| 状王宋世杰2粤语| 女人的战争| XL司令真人版全集免费完整版| 暴操老妈1一46集免费看| 中国直销论坛| 沃客装修| 酒店1—45集全| 末日袭击| 真相2012| 怪奇物语第三季在线观看完整版| 韩惠珍演过的满天星三部曲| 丁度巴拉斯 欲望疯狂| 沉默的羔羊在线观看| 娜塔莎电影| 总统之夜1997法国版第一季 | 与外婆同行| 七时吉祥电视剧免费观看| 束傅游戏免费观看第一季全集| 为人民服务免费完整版中文翻译| 罗小黑战记在线观看| 《overflower》真人结局| 圣特罗佩的姑娘| 大漠之战电影| 你是我的花朵mv| 法国空姐3免费高清原声满天星奔跑吧 | 我的邻居正在付出一切党整版| 人生恍如梦| 四位少妇按摩的电影| 夺子战争全集| 完美人生电影免费观看完整版| 《八佰》免费观看完整| 侄女的开发日记动漫第12集在线观看 | 壮志凌云女版满天星法版剧情介绍| 美式1984美式保罗1的导演简介| 1987娃娃脸完整版| 魔神英雄传第三季| 电影变形金刚1国语版| 灭火宝贝2凯登克劳斯结局| 再见莫妮卡原版| 两个女人的诱惑在线观看 | 从天而降的女子从2楼掉下来了| 房奴试爱开头智恩是哪一集| 功夫瑜伽西瓜影音| 逆转女王| 富江系列| 黑暗的欲望在线观看| 成人版巜女超人H版| 麦乐迪女超人免费在线观看| 姐姐的朋友1| 佐佐木与宫野| 心理测量者| 玩命追踪在线观看| 荣誉守则电影| 丰满女学生3| 南洋十大邪术在线看| ZLJZLJZLJ日本妈妈| 低碳经济首次出现的官方文件是 | 柔情挚我| 最年轻的小妻子| 斩服少女完整版在线观看| 莫斯科行动电影免费观看| 年轻的保险推销员| 木下檀檀| 高清辣妈辣妹2| 诺斯费拉图| 街头篮球中锋| 漂亮的后妈中字开头字| 梁小菊的春天| 灯草和尚聊斋| 花儿与少年5综艺免费| 河东区| 《麦乐迪女超人》完整版在线观看视频| 喜爱夜蒲1高清国语完整版| 暧昧高手花生是米| 模范出租车电视剧第一季| 远古复苏的巨人| 《法国空乘2018法版》电影| 黑白配在线观看中文版| 监禁时间电影| 电视剧铁腕行动| 大秦赋多少集| 少林龙小子| 倔强驱魔师1-4集免费观看下载 | 邓紫棋深圳演唱会| 风向GO 第二季| 雯雅婷2| 美国好人家| 台湾电影《新婚之喜》| 法国版《女超人:麦乐迪》满天星| 黄梅戏全场| 的士速递5| 飓风营救1完整版在线观看| 电视剧悬崖40集免费看| 水手服饰育1982年完整版| 入室强奸在线免费观看| 电视剧冬至全集免费播放在线观看| 蜘蛛侠2| 焦土之城剧情| 红海行动免费观看完整| 酒店1-75集免费播放高清 | 第九章不等式与不等式组| 按摩店的特殊待遇在线观看| 渔夫荒淫史在线| 日本地震现场:房屋倒塌地表裂缝| 猎场电视剧在线观看|