Tcp ip學習筆記

2021-05-23 19:24:33 字數 2349 閱讀 9719

分層

網路協議通常分不同層次進行開發,每一層分別負責不同的通訊功能。乙個協議族,比如t c p / i p,是一組不同層次上的多個協議的組合。t c p / i p通常被認為是乙個四層協議系統,如圖1 - 1所示。

每一層負責不同的功能:

1) 鏈路層,有時也稱作資料鏈路層或網路介面層,通常包括作業系統中的裝置驅動程式和計算機中對應的網路介面卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理介面細節。

2) 網路層,有時也稱作網際網路層,處理分組在網路中的活動,例如分組的選路。在t c p / i p協議族中,網路層協議包括i p協議(網際協議),i c m p協議(i n t e r n e t網際網路控制報文協議),以及i g m p協議(i n t e r n e t組管理協議)。

3 ) 運輸層主要為兩台主機上的應用程式提供端到端的通訊。在t c p / i p協議族中,有兩個互不相同的傳輸協議: t c p(傳輸控制協議)和u d p(使用者資料報協議)。t c p為兩台主機提供高可靠性的資料通訊。它所做的工作包括把應用程式交給它的資料分成合適的小塊交給下面的網路層,確認接收到的分組,設定傳送最後確認分組的超時時鐘等。由於運輸層提供了高可靠性的端到端的通訊,因此應用層可以忽略所有這些細節。而另一方面, u d p則為應用層提供一種非常簡單的服務。它只是把稱作資料報的分組從一台主機傳送到另一台主機,但並不保證該資料報能到達另一端。任何必需的可靠性必須由應用層來提供。這兩種運輸層協議分別在不同的應用程式中有不同的用途,這一點將在後面看到。

4 ) 應用層負責處理特定的應用程式細節。幾乎各種不同的t c p / i p實現都會提供下面這些

通用的應用程式:

• telnet 遠端登入。

• ftp 檔案傳輸協議。

• smtp 簡單郵件傳送協議。

• snmp 簡單網路管理協議。

另外還有許多其他應用,在後面章節中將介紹其中的一部分。

i p是網路層上的主要協議,同時被t c p和u d p使用。t c p和u d p的每組資料都通過端系統和每個中間路由器中的i p層在網際網路中進行傳輸。

i c m p是i p協議的附屬協議。i p層用它來與其他主機或路由器交換錯誤報文和其他重要資訊。

i g m p是i n t e r n e t組管理協議。它用來把乙個u d p資料報多播到多個主機。

a r p(位址解析協議)和r a r p(逆位址解析協議)是某些網路介面(如乙太網和令牌環

網)使用的特殊協議,用來轉換i p層和網路介面層使用的位址。

網際網路位址格式

封裝

當應用程式用t c p傳送資料時,資料被送入協議棧中,然後逐個通過每一層直到被當作一串位元流送入網路。其中每一層對收到的資料都要增加一些首部資訊(有時還要增加尾部資訊),t c p傳給i p的資料單元稱作t c p報文段或簡稱為t c p段(tcp segment)。ip傳給網路介面層的資料單元稱作i p資料報(ip datagram)。通過乙太網傳輸的位元流稱作幀(frame )。

乙太網資料幀的物理特性是其長度必須在4 6~1 5 0 0位元組之間。

注意:上圖最後46-1500位元組的範圍是乙太網幀的資料部分,即不包括乙太網首部,乙太網尾部, 由ip首部 + tcp/udp首部 + 應用資料 構成,不足46位元組則pad(填充)

u d p資料與t c p資料基本一致。唯一的不同是u d p傳給i p的資訊單元稱作u d p資料報(udp datagram),而且u d p的首部長為8位元組。

由於t c p、u d p、i c m p和i g m p都要向i p傳送資料,因此i p必須在生成的i p首部中加入某種標識,以表明資料屬於哪一層。為此, i p在首部中存入乙個長度為8 b i t的數值,稱作協議域。1表示為i c m p協議, 2表示為i g m p協議, 6表示為t c p協議, 1 7表示為u d p協議。

類似地,許多應用程式都可以使用t c p或u d p來傳送資料。運輸層協議在生成報文首部時要存入乙個應用程式的識別符號。t c p和u d p都用乙個1 6 b i t的埠號來表示不同的應用程式。t c p和u d p把源埠號和目的埠號分別存入報文首部中。

網路介面分別要傳送和接收i p、a r p和r a r p資料,因此也必須在乙太網的幀首部中加入某形式的標識,以指明生成資料的網路層協議。為此,乙太網的幀首部也有乙個16 bit的幀型別域。

分用

當目的主機收到乙個乙太網資料幀時,資料就開始從協議棧中由底向上公升,同時去掉各層協議加上的報文首部。每層協議盒都要去檢查報文首部中的協議標識,以確定接收資料的上層協議。這個過程稱作分用(demultiplexing)。

01:49:18

tcp ip 學習筆記

最近學習網路程式設計,看了周立發老師的blog 也模仿寫了乙個檔案管理併發伺服器。選擇多程序併發伺服器 技術難點 建立tcp 伺服器 fork 產生新的處理程序 使用getopt 函式使伺服器配置引數化,使用同一的linux風格 設定埠復用,瀏覽檔案系統,思路 1 首先建立乙個被動套接字 設定套接字...

TCP IP 學習筆記

1 擁塞避免演算法 名稱解釋 報文段 tcp一次傳輸所傳送的一定長度的位元組段。tcp的滑動視窗機制,作為接收方管理傳送方傳送資料量的手段,以防止接收方的接收緩衝區因為滿而溢位。擁塞視窗 cwnd 接收端通知視窗 rwnd 慢啟動閥值 ssthresh 慢啟動的特徵 1 cwnd被初始化為乙個資料報...

TCP IP 學習筆記

參考文件 linux網路程式設計 1 internet 協議 ip 2 傳輸控制協議 tcp 和使用者資料報文協議 udp 3 處於 tcp 和 udp 之上的一組協議專門開發的應用程式。它們包括 telnet,檔案傳送協議 ftp 網域名稱服務 dns 和簡單的郵件傳送程式 smtp 等許多協議。...