TCP IP 學習筆記

2021-08-25 17:18:20 字數 1272 閱讀 5181

乙個主機如何將資料傳送到另一主機上

一. 鏈路層(定義mac位址)

二. 網路層(定義ip位址)

1. ip協議

mac位址只與廠商有關,與所處網路無關,ip位址就是能夠區分兩台主機是否屬於同一網路

子網掩碼,在同子網內的兩台主機,ip位址和子網掩碼通過」按位與」運算後就可以得到網路位址

2. arp協議

在同一子網內,根據ip位址獲取mac位址

arp請求資料報-乙太網資料報-自網內所有主機-主機對比ip位址若相同則返回mac位址

3. 路由協議

通過ip協議判斷是否在同一子網中(若兩個ip位址在同子網內,則網路位址相同),

若在,則用arp協議獲取mac位址,

若不在,乙太網會將資料報傳送給閘道器進行路由,閘道器是網際網路上子網與子網之間的橋梁,經多次**到目標ip所在的子網中,在通過arp獲取目標機的mac位址

路由器為網路中的橋梁,根據通道情況,選擇並設定路由,以最佳路徑**資料報

4. ip資料報

ip資料報,即在網路層被包裝的資料報

首部,目標ip位址,源ip位址

三. 傳輸層(確定接受資料報的應用程式)

1. udp協議

udp協議定義了每個應用程式唯一的埠號,規定網路中傳輸的資料報必須加上埠資訊

2. udp資料報

首部,源埠和目標埠

udp協議比較簡單,無法確認對方是否收到資料報,為解決這一問題,tcp協議就誕生了

3. tcp協議(傳輸控制協議,即有控制機制的udp協議)

每傳送乙個資料報都要求確認,若未收到確認,傳送方必須重發這個資料報

tcp協議傳輸資料有三次對話機制,穩定,但消耗資源多,傳輸速度慢

4. tcp資料報

首部,源埠和目標埠

資料,無限長,但通常不會超過ip資料報的長度,以確保tcp資料報不被切割

四. 應用層

定義協議來規範資料格式,http,ftp,smtp

也就是定義資料格式,按照對應的合適解析資料

鏈路層:定義資料幀,確認目標mac位址,傳資料

網路層:(ip,arp,路由)定義ip位址,確認兩主機的位置,通過ip,arp協議進行mac定址,對外網主機進行路由協議定址,路由**資料報

傳輸層:(udp,tcp)定義應用程式埠,將對應的資料報傳輸給對應的資料程式

應用層:定義資料格式,按照格式解析資料

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被初始化為乙個資料報...