久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

TCP/IP詳解學(xué)習(xí)筆記(9)

 zcxuexi 2015-03-04

終于看到了TCP協(xié)議,,這是TCP/IP詳解里面最重要也是最精彩的部分,要花大力氣來讀,。前面的TFTP和BOOTP都是一些簡單的協(xié)議,,就不寫筆記了,寫起來也沒啥東西,。

TCP和UDP處在同一層---運(yùn)輸層,,但是TCP和UDP最不同的地方是,TCP提供了一種可靠的數(shù)據(jù)傳輸服務(wù),TCP是面向連接的,,也就是說,,利用TCP通信的兩臺主機(jī)首先要經(jīng)歷一個“撥打電話”的過程,等到通信準(zhǔn)備結(jié)束才開始傳輸數(shù)據(jù),,最后結(jié)束通話,。所以TCP要比UDP可靠的多,UDP是把數(shù)據(jù)直接發(fā)出去,,而不管對方是不是在收信,,就算是UDP無法送達(dá),也不會產(chǎn)生ICMP差錯報(bào)文,,這一經(jīng)時重申了很多遍了,。

把TCP保證可靠性的簡單工作原理摘抄如下

  • 應(yīng)用數(shù)據(jù)被分割成TCP認(rèn)為最適合發(fā)送的數(shù)據(jù)塊。這和UDP完全不同,,應(yīng)用程序產(chǎn)生的 數(shù)據(jù)報(bào)長度將保持不變,。由TCP傳遞給IP的信息單位稱為報(bào)文段或段( segment)(參見圖1 - 7)。在1 8.4節(jié)我們將看到TCP如何確定報(bào)文段的長度,。
  • 當(dāng)TCP發(fā)出一個段后,,它啟動一個定時器,等待目的端確認(rèn)收到這個報(bào)文段,。如果不能 及時收到一個確認(rèn),,將重發(fā)這個報(bào)文段。在第21章我們將了解TCP協(xié)議中自適應(yīng)的超時 及重傳策略,。
  • 當(dāng)TCP收到發(fā)自TCP連接另一端的數(shù)據(jù),,它將發(fā)送一個確認(rèn)。這個確認(rèn)不是立即發(fā)送,,通常將推遲幾分之一秒,,這將在1 9.3節(jié)討論。
  • TCP將保持它首部和數(shù)據(jù)的檢驗(yàn)和,。這是一個端到端的檢驗(yàn)和,,目的是檢測數(shù)據(jù)在傳輸 過程中的任何變化。如果收到段的檢驗(yàn)和有差錯,, T P將丟棄這個報(bào)文段和不確認(rèn)收到此報(bào)文段(希望發(fā)端超時并重發(fā)),。
  • 既然TCP報(bào)文段作為IP數(shù)據(jù)報(bào)來傳輸,而IP數(shù)據(jù)報(bào)的到達(dá)可能會失序,,因此TCP報(bào)文段 的到達(dá)也可能會失序,。如果必要, TCP將對收到的數(shù)據(jù)進(jìn)行重新排序,,將收到的數(shù)據(jù)以正確的順序交給應(yīng)用層,。
  • TCP還能提供流量控制。TCP連接的每一方都有固定大小的緩沖空間。TCP的接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù),。這將防止較快主機(jī)致使較慢主機(jī)的緩沖區(qū)溢出,。

從這段話中可以看到,TCP中保持可靠性的方式就是超時重發(fā),,這是有道理的,,雖然TCP也可以用各種各樣的ICMP報(bào)文來處理這些,但是這也不是可靠的,,最可靠的方式就是只要不得到確認(rèn),,就重新發(fā)送數(shù)據(jù)報(bào),直到得到對方的確認(rèn)為止,。

TCP的首部和UDP首部一樣,,都有發(fā)送端口號和接收端口號。但是顯然,,TCP的首部信息要比UDP的多,,可以看到,TCP協(xié)議提供了發(fā)送和確認(rèn)所需要的所有必要的信息,。這在P171-173有詳細(xì)地介紹,。可以想象一個TCP數(shù)據(jù)的發(fā)送應(yīng)該是如下的一個過程,。

  • 雙方建立連接
  • 發(fā)送方給接受方TCP數(shù)據(jù)報(bào),,然后等待對方的確認(rèn)TCP數(shù)據(jù)報(bào),如果沒有,,就重新發(fā),,如果有,就發(fā)送下一個數(shù)據(jù)報(bào),。
  • 接受方等待發(fā)送方的數(shù)據(jù)報(bào),,如果得到數(shù)據(jù)報(bào)并檢驗(yàn)無誤,,就發(fā)送ACK(確認(rèn))數(shù)據(jù)報(bào),,并等待下一個TCP數(shù)據(jù)報(bào)的到來。直到接收到FIN(發(fā)送完成數(shù)據(jù)報(bào))
  • 中止連接

可以想見,,為了建立一個TCP連接,,系統(tǒng)可能會建立一個新的進(jìn)程(最差也是一個線程),來進(jìn)行數(shù)據(jù)的傳送

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多