之前在《深入理解并行編程》的群里,有個小米的兄弟問了一個問題,服務器A發(fā)包給服務器B,Seq是1,但是在未能收到服務器B的報文回復的情況下,發(fā)送了rst,但是rst報文中,對應的seq是1461,一堆人都在猜測,為什么seq跳變了,由于當時只看到一半的圖片,所以我讓他發(fā)送完整報文出來之后,我發(fā)現(xiàn)其實rst的seq不是1的原因,并不是因為跳變,而是正常的,因為發(fā)送給B的報文,長度為1460,但是這個報文沒有得到回復,所以在超時之后,應用程序關閉了這條連接,導致內(nèi)核協(xié)議棧發(fā)送了一個rst報文,而rst報文選取seq的時候,并不是選取的確定已經(jīng)發(fā)送的seq,而是當前連接已經(jīng)用掉的seq,也就是當前seq,哪怕這個報文沒有收到回復,也會使用。
具體看代碼:
其中關注下報文的init過程:
那么傳入的seq是多少呢?
注釋寫得比較清楚,如果窗口沒有shrunk,也就是tp->snd_nxt 沒有out of window 的話,則取得就是tp->snd_nxt,而這個值,就是報文長度+1了,也就是1461.
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
原文標題:干貨 | tcp協(xié)議棧中rst報文的seq跳變問題
文章出處:【微信號:ZTEdeveloper,微信公眾號:中興開發(fā)者社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
相關推薦
/IP協(xié)議棧的不同歸類為兩大類,第一類是傳統(tǒng)的軟件TCP/IP協(xié)議棧;第二類是最新的硬件TCP/
發(fā)表于 12-18 10:27
?8764次閱讀
1. RST 段當 TCP連接出現(xiàn)嚴重的錯誤時,必須釋放連接。通過將 TCP 首部中的 RST 標志位置 1,就可以通知對端發(fā)生錯誤,以終止
發(fā)表于 07-24 10:01
各位朋友好,我的導師要求我設計一個新的報文調(diào)度算法,能夠?qū)崿F(xiàn)不同優(yōu)先級的報文在發(fā)送的過程中,實現(xiàn)高優(yōu)先級報文的低延時和低抖動。要求使用stm32的LWIP
發(fā)表于 04-07 04:35
LWIP TCP報文基礎TCP協(xié)議(Transmission Control Protocol)傳輸控制協(xié)議在LWIP
發(fā)表于 10-18 14:54
TCP/IP協(xié)議中,在封裝報文時就相當于是壓棧操作,而在報文解析過程
發(fā)表于 10-10 11:46
?1次下載
TCP(Transmission ControProtocol)傳輸控制協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議。TCP報文是
發(fā)表于 12-08 11:11
?3.3w次閱讀
的開發(fā)人員可以很容易找到許多Microchip產(chǎn)品的商業(yè)和非商業(yè)的TC P/IP實現(xiàn)方案。本應用筆記詳細說明了Microchip公司自己免費提供的TC P/IP協(xié)議棧。 Microchip TCP/IP
發(fā)表于 04-20 16:04
?4次下載
本文檔的主要內(nèi)容詳細介紹的是LWIP協(xié)議棧中Raw TCP中使用的資料免費下載
發(fā)表于 11-05 17:36
?17次下載
教你動手寫UDP協(xié)議棧系列文章序號內(nèi)容1《教你動手寫UDP協(xié)議棧-UDP協(xié)議棧格式》2《教你動手
發(fā)表于 12-24 16:16
?1421次閱讀
本應用筆記描述 Microchip 傳輸控制協(xié)議 / 互聯(lián)網(wǎng)協(xié)議(TCP/IP)精簡協(xié)議棧庫的結(jié)構(gòu)和接口,并提供部分簡單的演示應用。實現(xiàn)
發(fā)表于 04-01 15:36
?17次下載
。感興趣的開發(fā)人員可以很容易找到許多 Microchip 產(chǎn)品的商業(yè)和非商業(yè)的TCP/IP 實現(xiàn)方案。本應用筆記詳細說明了 Microchip 公司自己免費提供的 TCP/IP 協(xié)議棧
發(fā)表于 04-02 14:28
?22次下載
今天給大家介紹Linux網(wǎng)絡技術中最核心的部分--TCP/IP協(xié)議棧 。 我們先看一下抽象的網(wǎng)絡協(xié)議棧模型 再按分層思想看Linux內(nèi)核
發(fā)表于 06-29 15:14
?2342次閱讀
TCP協(xié)議有著自己的數(shù)據(jù)包格式,這里把TCP的數(shù)據(jù)包稱為報文段(segment),TCP報文段封
發(fā)表于 08-31 09:12
?2767次閱讀
tcpip協(xié)議棧是什么? TCP/IP協(xié)議棧是計算機網(wǎng)絡中使用的最常見的網(wǎng)絡協(xié)議
發(fā)表于 08-01 17:51
?8550次閱讀
電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議棧的設計與實現(xiàn)_中文.pdf》資料免費下載
發(fā)表于 07-03 11:28
?4次下載
評論