ACK

ACK

ACK (Acknowledge character)即是確認字元,在數據通信中,接收站發給傳送站的一種傳輸類控制字元。表示發來的數據已確認接收無誤。

TCP/IP協定中,如果接收方成功的接收到數據,那么會回復一個ACK數據。通常ACK信號有自己固定的格式,長度大小,由接收方回復給傳送方。

基本介紹

  • 中文名:ACK
  • 外文名:Acknowledge character
  • 中文譯名:確認字元
  • 分 類:傳輸與接入
簡介,相關簡介,否認字元,同步字元,轉義字元,套用,

簡介

ACK的全稱為Acknowledge character,即確認字元,表示接收到的字元無錯誤。
接收站對所收到的報文進行檢查,若未發現錯誤,便向傳送站發出確認回答ACK,表明信息已被正確接收,並準備好接收下一份報文。該控制字元可由中心結點傳送,也可由遠地結點傳送。
其格式取決於採取的網路協定。當傳送方接收到ACK信號時,就可以傳送下一個數據。如果傳送方沒有收到信號,那么傳送方可能會重發當前的數據包,也可能停止傳送數據。具體情況取決於所採用的網路協定
1、TCP報文格式中的控制位由6個標誌比特構成,其中一個就是ACK,ACK為1表示確認號有效,為0表示報文中不包含確認信息,忽略確認號欄位。
2、ACK也可用於AT24cxx這一系列的EEPROM中。
3、在USB傳輸中,ACK事務包用來向主機/設備報告包正確的傳輸。

相關簡介

否認字元

否認字元NAK( Negative Acknowledge)的含義為接收站對所收到的報文進行檢查,若發現錯誤,便向傳送站傳送否認回答NAK,表示報文有錯,並要求重發。

同步字元

同步字元SYN( Synchronousidle)表示無論是中心結點還是遠地結點,在傳送信息或回答之前,都要先傳送同步字元,用以實現或保持傳送站和接收站之間的同步。

轉義字元

轉義字元DLE( Data Link Escape)用於改變緊隨其後的有限個字元的意義,以提供附加的數據鏈路控制字元。

套用

ACK在三次握手中用到,三次握手的過程如右圖所示。
三次握手三次握手
第一次
第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入SYN_SENT狀態,等待伺服器確認;SYN:同步序列編號(Synchronize Sequence Numbers)。
第二次
第二次握手伺服器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也傳送一個SYN包(seq=k),即SYN+ACK包,此時伺服器進入SYN_RECV狀態。
第三次
第三次握手:客戶端收到服務器的SYN+ACK包,向伺服器傳送確認包ACK(ack=k+1),此包傳送完畢,客戶端和伺服器進入ESTABLISHED(TCP連線成功)狀態,完成三次握手。
完成三次握手,客戶端與伺服器開始傳送數據。

相關詞條

熱門詞條

聯絡我們