TCP IP協議小結

2021-08-07 14:56:48 字數 2858 閱讀 6995

tcp/ip協議 ( transmission control protocol/internet protocol 傳輸控制協議/網際網路互聯協議)

tcp/ip是乙個protocol stack,包括tcp、 ip、 udp、 icmp、 rip、 telnet、ftp、 smtp、 arp等許多協議

最早發源於美國國防部(縮寫為dod)的網際網路的前身arpa網專案, 2023年1月1日, tcp/ip取代了舊的網路控制協議ncp,成為今天的網際網路區域網的基石和標準,由網際網路工程任務組負責維護

共定義了四層 和osi參考模型的分層有對應關係

tcp協議的特性:

工作在傳輸層面向連線協議

全雙工協議

半關閉

錯誤檢查

將資料打包成段,排序

確認機制

資料恢復,重傳

流量控制,滑動視窗

擁塞控制,慢啟動和擁塞避免演算法

udp協議的特性:

工作在傳輸層

提供不可靠的網路訪問

非面向連線協議

有限的錯誤檢查

傳輸效能高

無資料恢復特性

專案描述

源埠、目標埠

計算機上的程序要和其他程序通訊是要通過計算機埠的,而乙個計算機埠某個時刻只能被乙個程序占用,所以通過確定源埠和目標埠,就可以知道是哪兩個程序需要通訊。源埠、目標埠是用16位表示的,可推算計算機的埠個數為2^16個

序列號

表示本報文段所傳送資料的第乙個位元組的編號。在tcp連線中所傳送的位元組流的每乙個位元組都會按順序編號。由於序列號由32位表示,所以每2^32個位元組,就會出現序列號迴繞,再次從 0 開始

確認號

資料偏移

表示tcp報文段的首部長度,共4位,由於tcp首部包含乙個長度可變的選項部分,需要指定這個tcp報文段到底有多長。它指出 tcp 報文段的資料起始處距離 tcp 報文段的起始處有多遠。該字段的單位是32位(即4個位元組為計算單位), 4位二進位制最大表示15,所以資料偏移也就是tcp首部最大60位元組

urg

表示本報文段中傳送的資料是否包含緊急資料。後面的緊急指標字段(urgent pointer)只有當urg=1時才有效

ack

表示是否前面的確認號字段是否有效。 ack=1,表示有效。只有當ack=1時,前面的確認號字段才有效。 tcp規定,連線建立後, ack必須為1,帶ack標誌的tcp報文段稱為確認報文段

psh

提示接收端應用程式應該立即從tcp接收緩衝區中讀走資料,為接收後續資料騰出空間。如果為1,則表示對方應當立即把資料提交給上層應用,而不是快取起來,如果應用程式不將接收到的資料讀走,就會一直停留在tcp接收緩衝區中

rst

如果收到乙個rst=1的報文,說明與主機的連線出現了嚴重錯誤(如主機崩潰),必須釋放連線,然後再重新建立連線。或者說明上次傳送給主機的資料有問題,主機拒絕響應,帶rst標誌的tcp報文段稱為復位報文段

syn

在建立連線時使用,用來同步序號。當syn=1, ack=0時,表示這是乙個請求建立連線的報文段;當syn=1, ack=1時,表示對方同意建立連線。 syn=1,說明這是乙個請求建立連線或同意建立連線的報文。只有在前兩次握手中syn才置為1,帶syn標誌的tcp報文段稱為同步報文段

fin

表示通知對方本端要關閉連線了,標記資料是否傳送完畢。如果fin=1,即告訴對方:「我的資料已經傳送完畢,你可以釋放連線了」,帶fin標誌的tcp報文段稱為結束報文段

視窗大小

表示現在充許對方傳送的資料量,也就是告訴對方,從本報文段的確認號開始允許對方傳送的資料量

校驗和

提供額外的可靠性

緊急指標

標記緊急資料在資料字段中的位置

選項部分:

其最大長度可根據tcp首部長度進行推算。 tcp首部長度用4位表示,選項部分最長為: (2^4-1)*4-20=40位元組

常見選項:

最大報文段長度: maxium segment size, mss

視窗擴大: windows scaling

時間戳: timestamps

三次握手(建立可靠的tcp連線)

四次揮手(斷開連線)

傳輸層通過port號,確定應用層協議

tcp/ip協議是乙太網最重要的協議之一,需要好好掌握原理,理解包結構。可以用抓包工具wireshark抓包觀察。有很好的提公升

TCP IP協議棧設計 TCP設計實現小結

tcp ip協議棧設計 tcp設計實現小結 設計目的 在fpga上採用純verilog描述的方式,實現可定製裁剪的tcpip硬體協議棧,並加入超時重傳 滑動視窗等優化演算法,最終希望實現傳輸速率能超過200mhz的千兆乙太網。去年3月份,就開始了設計之旅,期間參考了眾多 網上也查了許多資料。經過一步...

TCP IP協議 TCP IP協議棧及框架

tcp ip協議同iso osi模型一樣,也可以安排成棧形式。但這個棧不同於iso osi版本,比iso osi棧少,所以又稱之為短棧。另外,需要知道的是 tcp ip協議棧只是許多支援iso osi分層模型協議棧的一種,是乙個具體的協議棧。對於tcp ip協議棧劃分為幾層更合適,多年來專家們一直未...

TCP IP網路協議基礎TCP IP網路協議基礎

1.tcp ip網路協議基礎 tcp ip transmission control protocol internet protocol 是傳輸控制協議和網路協議,就是電子裝置如何連入網際網路,並且之間怎麼通訊。tcp ip 不是乙個協議,而是乙個協議族的統稱,裡面包括了 ip 協議 icmp 協...