網絡原理面試題-TCP

這裏我想先給結論來引出問題的方法來介紹TCP/IP這兩種協議。

   TCP是面向連接的、可靠的的流協議。

1.什麼是面向連接?

    連接:是指各種設備、線路、或網絡中進行通信的兩個應用程序爲了相互傳遞信息而專有的、虛擬的通信線路。

    一旦建立連接,進行通信的應用程序只使用這個虛擬的通信線路發送和接受數據,就可以保障信息的傳輸,TCP則負責控制連接的建立、斷開、保持等管理工作。

2.如何實現可靠的傳輸?

    TCP通過檢驗和、序列號、確認應答、重發控制,連接管理以及窗口控制等機制實現可靠性傳輸。

    序列號和確認應答提高可靠性:在TCP中,當發送端的數據到達接收端主機時,接收端主機就會返回一個已收到消息的通知,這個消息叫做確認應答ACK(Positive Acknowled-gement)(三次握手四次揮手)

TCP通過肯定的確認應答ACK實現可靠的傳輸。當前發送端將數據發出之後會等待接收端的確認應答。如果有確認應答,說明數據已經成功到達接收端,反之,則數據丟失的可能性很大

如果在一定時間內沒有等到確認應答,發送端就可以認爲數據已經丟失,並進行重發(重發機制)。由此,即使產生了丟包,仍然能夠保證數據能夠到達接收端,實現可靠傳輸

通過序列號,接收端可以識別是否已經接收了數據,避免重複接收,又能過識別是否需要接收數據;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章