www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 小林coding
[導讀]大家好,我是小林。之前圖解過TCP的滑動窗口和流量控制的工作方式:圖解TCP重傳、滑動窗口、流量控制、擁塞控制當時花費了好幾個星期肝了這篇文章,因為為了方便大家理解他兩的工作方式,以及一些異常場景的分析,畫了很多變化的圖。還沒看過的同學,可以去看看,可以說把每一個階段的變化都解釋...

大家好,我是小林。之前圖解過 TCP 的滑動窗口和流量控制的工作方式:圖解 TCP 重傳、滑動窗口、流量控制、擁塞控制

當時花費了好幾個星期肝了這篇文章,因為為了方便大家理解他兩的工作方式,以及一些異常場景的分析,畫了很多變化的圖。

還沒看過的同學,可以去看看,可以說把每一個階段的變化都解釋的很清楚了。

但是,不管怎么樣圖解,它始終不會動呀,動起來的話,大家學起來就會更加深刻了。

我最近剛好發(fā)現(xiàn)兩個網(wǎng)站。

可以以「動圖」的方式來學習 TCP 的滑動窗口和流量控制工作方式。

滑動窗口

滑動窗口動圖體驗的網(wǎng)站地址:

https://www2.tkn.tu-berlin.de/teaching/rn/animations/gbn_sr/

下圖是我從網(wǎng)站錄制的一張動圖:

每個長方塊代表一個數(shù)據(jù),上面的是發(fā)送方,下面的是接收方,長方塊的不同的顏色代表著不同的意義,而且發(fā)送發(fā)和接收方滑動窗口的也是不同的。

先來說說,「發(fā)送方」的長方塊顏色:


  • 黃色:代表已發(fā)送并且已被確認的數(shù)據(jù);

  • 藍色:代表已發(fā)送但未被確認或者還未發(fā)送的數(shù)據(jù);

  • 灰色背景:代表滑動窗口的大小,比如這個動圖滑動窗口大小是 5。

  • 紫色圈圈:代表超時重傳時間;

再來說說,「接收方」的長方塊顏色:


  • 深藍色:代表數(shù)據(jù)已經(jīng)被接收;

  • 白色:代表還未接收到的數(shù)據(jù);

  • 綠色:代表對發(fā)送方數(shù)據(jù)的ack確認包;

這個網(wǎng)站,可以自行設(shè)置一些參數(shù)。

比如,可以設(shè)置滑動窗口的大小、超時重傳時間、發(fā)送速率、確認模式(選擇性確認模式or普通確認模式)等等。

我這里設(shè)置幾個參數(shù),給大家看看效果。

我把超時重傳時間時間縮短,并且確認模式是普通確認模式,動圖效果如下:

可以看到,這種確認模式在發(fā)生超時重傳的時候,會把發(fā)送窗口內(nèi)已發(fā)送的數(shù)據(jù)都會重傳一遍。

接著,我把確認模式改成「選擇性確認」。其動圖效果如下:

可以看到,改用「選擇性確認」的方式,只會重傳丟失的那一個數(shù)據(jù)。

流量控制

流量控制動圖體驗的網(wǎng)站地址:

https://www2.tkn.tu-berlin.de/teaching/rn/animations/flow/

這個網(wǎng)站的可以設(shè)置參數(shù)就比較少,理解起來也很容易。

我這里簡單介紹下這些參數(shù):

  • file size,發(fā)送的文件總大??;

  • buffer size,發(fā)送方和接收方的內(nèi)核緩沖區(qū)的大小;

  • propagation time,發(fā)送方和接收方之間的傳播時間。

下圖是我從網(wǎng)站錄制的一張動圖:

可以看到,發(fā)送方和接收方共有兩個緩沖區(qū),一個是 buffer,指的是內(nèi)核緩沖區(qū),另外一個是 application,指的是應用層的緩沖區(qū)。

對于發(fā)送發(fā)來說,當要發(fā)送數(shù)據(jù)的時候,需要從 application 拷貝數(shù)據(jù)到 buffer,而對于接收方來說,當接收到數(shù)據(jù)的時候,會先緩存到 buffer,然后再由應用程序從 buffer 讀取數(shù)據(jù)。

當接收方的 application 來不及從 buffer 讀取數(shù)據(jù),而導致 buffer 堆積滿了,這時接收方就會給發(fā)送方通報一個接收窗口為0的報文,表示我已經(jīng)不能再接收數(shù)據(jù)啦,比如下面這個情況。

大家可以去體驗這兩個網(wǎng)站,我感覺做的還是挺不錯到,對于學習 TCP 滑動窗口和流量控制會有很大的幫助。

當然,在使用之前,最好自己要學一點理論知識,看我之前的這篇就夠了:圖解 TCP 重傳、滑動窗口、流量控制、擁塞控制

好了,這次就說到這啦,下次見~

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉