日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

TCP/IP協(xié)議的三次握手及實現(xiàn)原理( 二 )


TCP目的端口(Destination port):16位的目的端口域定義傳輸?shù)哪康?。這個端口指明報文接收計算機(jī)上的應(yīng)用程序地址接口 。
TCP序列號(序列碼,Sequence Number):32位的序列號由接收端計算機(jī)使用,重新分段的報文成最初形式 。當(dāng)SYN出現(xiàn),序列碼實際上是初始序列碼(ISN),而第一個數(shù)據(jù)字節(jié)是ISN 1 。這個序列號(序列碼)是可以補(bǔ)償傳輸中的 不一致 。
TCP應(yīng)答號(Acknowledgment Number):32位的序列號由接收端計算機(jī)使用,重組分段的報文成最初形式 。,假如設(shè)置了ACK控制位,這個值表示一個預(yù)備接收的包的序列碼 。
數(shù)據(jù)偏移量(HLEN):4位包括TCP頭大小,指示何處數(shù)據(jù)開始 。
保留(Reserved):6位值域,這些位必須是0 。為了將來定義新的用途所保留 。
標(biāo)志(Code Bits):6位標(biāo)志域 。表示為:緊急標(biāo)志、有意義的應(yīng)答標(biāo)志、推、重置連接標(biāo)志、同步序列號標(biāo)志、完成發(fā)送數(shù)據(jù)標(biāo)志 。按照順序排列是:URG、ACK、PSH、RST、SYN、FIN 。
窗口(Window):16位,用來表示想收到的每個TCP數(shù)據(jù)段的大小 。
校驗位(Checksum):16位TCP頭 。源機(jī)器基于數(shù)據(jù)內(nèi)容計算一個數(shù)值,收信息機(jī)要與源機(jī)器數(shù)值 結(jié)果完全一樣,從而證實數(shù)據(jù)的有效性 。
優(yōu)先指針(緊急,Urgent Pointer):16位,指向后面是優(yōu)先數(shù)據(jù)的字節(jié),在URG標(biāo)志設(shè)置了時才有效 。假如URG標(biāo)志沒有被設(shè)置,緊急域作為填充 。加快處理標(biāo)示為緊急的數(shù)據(jù)段 。
選項(Option):長度不定,但長度必須以字節(jié) 。假如 沒有 選項就表示這個一字節(jié)的域等于0 。
填充:不定長,填充的內(nèi)容必須為0,它是為了數(shù)學(xué)目的而存在 。目的是確??臻g的可猜測性 。保證包頭的結(jié)合和數(shù)據(jù)的開始處偏移量能夠被32整除,一般額外的零以保證TCP頭是32位的整數(shù)倍 。
標(biāo)志控制功能
URG:緊急標(biāo)志
緊急(The urgent pointer) 標(biāo)志有效 。緊急標(biāo)志置位,
ACK:確認(rèn)標(biāo)志
確認(rèn)編號(Acknowledgement Number)欄有效 。大多數(shù)情況下該標(biāo)志位是置位的 。TCP報頭內(nèi)的確認(rèn)編號欄內(nèi)包含的確認(rèn)編號(w 1,F(xiàn)igure:1)為下一個預(yù)期的序列編號,同時提示遠(yuǎn)端系統(tǒng)已經(jīng)成功接收所有數(shù)據(jù) 。
PSH:推標(biāo)志
該標(biāo)志置位時,接收端不將該數(shù)據(jù)進(jìn)行隊列處理,而是盡可能快將數(shù)據(jù)轉(zhuǎn)由應(yīng)用處理 。在處理 telnet 或 rlogin 等交互模式的連接時,該標(biāo)志總是置位的 。
RST:復(fù)位標(biāo)志
復(fù)位標(biāo)志有效 。用于復(fù)位相應(yīng)的TCP連接 。
SYN:同步標(biāo)志
同步序列編號(Synchronize Sequence Numbers)欄有效 。該標(biāo)
志僅在三次握手建立TCP連接時有效 。它提示TCP連接的服務(wù)端檢查序列編號,該序列編號為TCP連接初始端(一般是客戶端)的初始序列編號 。在這里,可以把TCP序列編號看作是一個范圍從0到4,294,967,295的32位計數(shù)器 。通過TCP連接交換的數(shù)據(jù)中每一個字節(jié)都經(jīng)過序列編號 。在TCP報頭中的序列編號欄包括了TCP分段中第一個字節(jié)的序列編號 。
FIN:結(jié)束標(biāo)志
帶有該標(biāo)志置位的數(shù)據(jù)包用來結(jié)束一個TCP回話,但對應(yīng)端口仍處于開放狀態(tài),預(yù)備接收后續(xù)數(shù)據(jù) 。
服務(wù)端處于監(jiān)聽狀態(tài),客戶端用于建立連接請求的數(shù)據(jù)包(IP packet)按照TCP/IP協(xié)議堆棧組合成為TCP處理的分段(segment) 。
分析報頭信息: TCP層接收到相應(yīng)的TCP和IP報頭,將這些信息存儲到內(nèi)存中 。
檢查TCP校驗和(checksum):標(biāo)準(zhǔn)的校驗和位于分段之中(Figure:2) 。假如檢驗失敗,不返回確認(rèn),該分段丟棄,并等待客戶端進(jìn)行重傳 。
查找協(xié)議控制塊(PCB{}):TCP查找與該連接相關(guān)聯(lián)的協(xié)議控制塊 。假如沒有找到,TCP將該分段丟棄并返回RST 。(這就是TCP處理沒有端口監(jiān)聽情況下的機(jī)制) 假如該協(xié)議控制塊存在,但狀態(tài)為關(guān)閉,服務(wù)端不調(diào)用connect()或listen() 。該分段丟棄,但不返回RST ??蛻舳藭L試重新建立連接請求 。

推薦閱讀