TCP IP具體解釋學習筆記 TCP的超時與重傳

2021-09-08 22:49:59 字數 1259 閱讀 7264

tcp之所以能夠安全的將資料在傳輸中的安全性,是因為它每次給對方傳送資料,都會等待對方給個確認,當長時間收不到這個確認,傳送端就會重發這個資料。

要測超時時間,tcp必須要傳送乙個特別序號的位元組和接收包括該位元組的確認之間的rtt,可是,確認本身就是有延時的,所以一般有一種簡單的測量超時時間的公式

rto = rb

當中r為隨rtt變化而變化的平滑因子

前邊的部落格有寫道,當傳送端使用慢啟動演算法時,因為其傳送的資料段呈指數增長,因此也非常easy達到網路通道的極限,此時。網路上的路由就會將部分分組丟失,因此tcp又給傳送端設定了一種擁塞演算法,此演算法就是用來解決分組丟失問題的

擁塞演算法假定正常情況下分組的丟失率是非常小的低於(1%)。所以當兩方出現大量丟失分組現象,則說明網路出現擁堵
擁塞避免演算法和慢啟動演算法一般結合使用,此時須要給傳送端維持倆個變數,乙個是擁塞窗體cwnd,和乙個慢啟動門ssthresh。演算法過程詳細例如以下

(1)對於乙個給定的連線,將初始化cwnd為1,和ssthresh為65535位元組

(2)tcp輸出的資料不能超過接收方給的通告窗體和擁塞窗體的最小值,擁塞窗體是傳送方使用的流量控制。通告窗體是接收仿使用的流量控制

(3)當擁塞發生時(超時或收到反覆確認),ssthresh就會被設定為當前窗體的一般。即擁塞和通告窗體的最小值

(4)此時我們先進行慢啟動,傳送的資料段將呈指數增長,非常快便達到了改動後的ssthresh(窗體的一般)的值。此時慢啟動將不在以指數的方式增長傳送量了,而是每收到乙個確認,則傳送量就增長1的線性增長

當我們收到失序的報文段時。tcp需馬上產生乙個ack(乙個反覆的ack),這個反覆的ack不應該延遲,該ack是想讓對方知道收到了失序的報文段,並告訴對方希望收到的序號

因為我們並不知道乙個反覆的ack是由丟失的報文段引起的還是只由又一次排序所引起的,因此我們就略微等待一下,在做推斷。當在又一次排序的報文段被處理並產生乙個新的ack之前只可能收到1-2個反覆的ack,假設收到3個以上的ack就非常可能是報文段丟失了。於是我們就直接重傳丟失的報文段,而無須等待超時定時器的溢位(也就是不須要等到超時時間到了才推斷丟了)接下來執行的就是擁塞避免演算法。這就是高速恢復。

如今較新的tcp實現的路由表項中維持了很多指標,當乙個tcp連線關閉時,假設已經發出了足夠多的資料來獲得有意義的統計資料。且目的節點的路由表項不是乙個預設表項。那麼下列資訊就儲存在在路由表項中使用:平滑的rtt,慢啟動門限等

當tcp重傳時,它不一定要重傳相同的報文段。相反tcp同意進行又一次分組。而進行傳送乙個較大的報文段

TCP IP具體解釋學習筆記 位址解析協議ARP

一 概述 我們知道,ip協議是用來在不同的物理網路之間資料傳輸的。要在不同的網路之間資料傳輸,至少須要將ip協議所用的位址轉換成特定網路所使用的實體地址。一般來說。就是將ipv4位址轉換為mac位址。要想與乙個特定的裝置進行資料交換,光知道它的ip位址是不夠的。還須要知道它的實體地址。而位址解析協議...

TCP IP資料報結構具體解釋

tcp ip 資料報 結構 具體解釋 網路 協議 一般來說,網路程式設計我們僅僅須要呼叫一些封裝好的函式或者元件就能完畢大部分的工作,可是一些特殊的情況下,就須要深入的理解 網路資料報的結構,以及協議分析。如 網路監控,故障排查等 ip包是不安全的,可是它是網際網路的基礎,在各方面都有廣泛的應用。由...

TCP IP資料報結構具體解釋

tcp ip 資料報 結構 具體解釋 網路 協議 一般來說,網路程式設計我們僅僅須要呼叫一些封裝好的函式或者元件就能完畢大部分的工作,可是一些特殊的情況下,就須要深入的理解 網路資料報的結構,以及協議分析。如 網路監控,故障排查等 ip包是不安全的,可是它是網際網路的基礎,在各方面都有廣泛的應用。由...