TCP IP 學習筆記

2021-06-10 06:45:09 字數 2971 閱讀 5974

參考文件:《linux網路程式設計》

1.internet 協議(ip)

2.傳輸控制協議(tcp)和使用者資料報文協議(udp)

3.處於 tcp 和 udp 之上的一組協議專門開發的應用程式。它們包括:telnet,檔案傳送協議(ftp) ,網域名稱服務(dns)和簡單的郵件傳送程式(smtp)等許多協議。

tcp/ip 和 osi 網路模型的分層圖

第一部分也稱為網路層。包括 internet 協議(ip) 、網際控制報文協議(icmp )和位址識別協議(arp).

internet 協議(ip)

該協議被設計成互聯分組交換通訊網,以形成乙個網際通訊環境。它負責在源主機和目的地主機之間傳輸來自其較高層軟體的稱為資料報文的資料塊,它在源和目的地之間提供非連線型傳遞服務

網際控制報文協議(icmp )

它實際上不是 ip 層部分,但直接同 ip 層一起工作,報告網路上的某些出錯情況。允許網際路由器傳輸差錯資訊或測試報文。

位址識別協議(arp)

arp 實際上不是網路層部分,它處於 ip 和資料鏈路層之間,它是在 32 位 ip 位址和 48位區域網位址之間執行翻譯的協議。

第二部分是傳輸層協議。包括傳輸控制協議和使用者資料報文協議。

傳輸控制協議(tcp)

由於 ip 提供非連線型傳遞服務,因此 tcp 應為應用程式訪問網路創造了條件,使用可靠的面向連線的傳輸層服務。該協議為建立網際上使用者程序之間的對話負責。此外,還確保兩個以上程序之間的可靠通訊。它所提供的功能如下:

1.監聽輸入對話建立請求

2.請求另一網路站點對話

3.可靠的傳送和接收資料

4.適度的關閉對話。

使用者資料報文協議(udp)

udp提供不可靠的非連線型傳輸層服務,它允許在源和目的地站點之間傳送資料,而不必在傳送資料之前建立對話。此外,該協議還不使用tcp 使用的端對端差錯校驗。當使用 udp 時,傳輸層功能全都發回,而開銷卻比較低。它主要用於那些不要求 tcp 協議的非連線型的應用程式。例如,名字服務和網路管理。最後是應用程式部分。這部分包括 telnet,檔案傳送協議(ftp 和 tftp) ,簡單的檔案傳送協議(smtp)和網域名稱服務(dns)等協議。

tcp/ip 使用了主幹網路,能連線各種主機和 lan 的多級分層結構,區域性使用者能方便的聯網,不致影響到整個網路系統。此外這種結構還有利於區域性使用者控制操作和管理。

tcp/ip 具有兩個主要功能。第一是 ip 在網路之間(有時在個別網路內部)提供路由選擇。第二是 tcp 將 tp 傳遞的資料傳送的接收主機那的適當的處理部件。

internet 協議(ip )

ip 的主要目的是提供子網的互聯,形成較大的網際,使不同的子網之間能傳輸資料。ip 規定包如何從乙個子網路由選擇到另乙個子網。自治系統中的每個節點具有唯一的

ip 位址。ip 使用本身的幀頭和檢查來確保資料報文的正確傳送。

ip 主要有以下四個主要功能:

(1)資料傳送

(2)定址

(3)路由選擇

(4)資料報文的分段

封裝在 ethernet 幀中的 ip 頭

****************************************

傳輸控制協議(tcp)

tcp 是重要的傳輸層協議,它和 udp 不同,傳輸層軟體 tcp 的目的是允許資料同網路上的另外站點進行可靠的交換。它能提供埠編號的解碼,以識別主機的應用程式,而

且完成資料的可靠傳輸。

tcp 是面向位元組的順序協議,這意味著包內的每個位元組被分配乙個順序編號,並分配給每包乙個順序編號。分配給包那每個位元組的順序編號可以合理的重複。

為可靠的完成資料傳輸任務,tcp 將報文或資料分成可管理的長度並加上 tcp 頭。

tcp 頭資訊

tcp 提供的主要服務有:

(1)建立、維持和終結兩個程序之間的連線。

(2)可靠的包傳遞(經過確認過程)。

(3)編序包(可靠的資料傳送)。

(4)控制差錯的機制。

(5)通過使用埠,允許在個別的源和目的地主機內部實現和不同程序多重連線的能力。

(6)使用全雙工操作的資料交換。

****************************************

使用者資料報文協議(udp)

udp 也是 tcp/ip 的傳輸層協議,它是無連線的,不可靠的傳輸服務。當接收資料時,它不向傳送方提供確認資訊,它不提供輸入包的順序,如果出現丟失包或重份包的情況,

也不會向傳送方發出差錯報文。udp 的主要作用是分配和管理埠編號,以正確無誤的識別執行在網路站點上的個別應用程式。由於它執行功能時具有低的開銷,因而執行速度比 tcp 快。它多半用於不需要可靠傳輸的應用程式,例如網路管理域,網域名稱伺服器等。

任何與 udp 相配合作為傳輸層服務的應用程式必須提供確認和順序系統,以確保包是以傳送它們的同樣順序到達。也就是說,使用 udp 的應用程式必須提供這類服務。

udp 頭

tcp ip 學習筆記

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

Tcp ip學習筆記

分層 網路協議通常分不同層次進行開發,每一層分別負責不同的通訊功能。乙個協議族,比如t c p i p,是一組不同層次上的多個協議的組合。t c p i p通常被認為是乙個四層協議系統,如圖1 1所示。每一層負責不同的功能 1 鏈路層,有時也稱作資料鏈路層或網路介面層,通常包括作業系統中的裝置驅動程...

TCP IP 學習筆記

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