OSI七層以及TCP IP參考模型

2022-09-11 05:54:16 字數 1825 閱讀 7278

學習c++socket通訊,先複習下計算機網路裡的一些知識。

osi即open system interconnection(開放式系統互聯),它提供了乙個網路中計算機通訊網路系統結構模型的參考。

osi共有七層。

osi協議

功能應用層

檔案傳輸,檔案服務,電子郵件,虛擬終端  

表示層資料格式化,資料加密,**轉換               

會話層解除或建立與其他節點的聯絡   

傳輸層提供端對端的介面

網路層為資料報選擇路由

資料鏈路層

幀傳輸,錯誤檢測

物理層傳輸二進位制資料

tcp/ip參考模型是計算機網路的祖父arpanet和其後繼的網際網路使用的參考模型。有四層結構。

1.應用層對應osi的5、6、7層。

2.傳輸層對應osi的傳輸層。有兩個重要的協議(tcp和udp)。tcp是連線的、可靠的通訊協議,而udp是無連線的、不保證可靠的通訊協議,即盡最大努力交付。

3.網際互聯層(圖中的網路互連層)對應osi的網路層。主要解決主機到主機的通訊問題。。該層有三個主要協議:網際協議(ip)、網際網路組管理協議(igmp)和網際網路控制報文協議(icmp)。ip協議是網際互聯層最重要的協議,它提供的是乙個可靠、無連線的資料報傳遞服務。

4. 網路接入層(即主機-網路層)

網路接入層與osi中的物理層和資料鏈路層相對應。它負責監視資料在主機和網路之間的交換。事實上,tcp/ip本身並未定義該層的協議,而由參與互連的各網路使用自己的物理層和資料鏈路層協議,然後與tcp/ip的網路接入層進行連線。位址解析協議arp)工作在此層,即osi參考模型的資料鏈路層。

tcp的3次握手

ack : tcp協議規定,只有ack=1時有效,也規定連線建立後所有傳送的報文的ack必須為1

syn(synchronization) : 在連線建立時用來同步序號。當syn=1而ack=0時,表明這是乙個連線請求報文。對方若同意建立連線,則應在響應報文中使syn=1和ack=1. 因此,  syn置1就表示這是乙個連線請求或連線接受報文。

第一步:客戶端向伺服器端發起連線請求,傳送syn包到伺服器,並進入syn_sent狀態,等待伺服器確認;syn:同步序列編號(synchronize sequence numbers)。

seq是序號。

第二步:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;

第三步::客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established(tcp連線成功)狀態,完成三次握手,就可以傳輸資料了。

tcp斷開連線:

第一步:客戶端沒有資料需要傳送,傳送乙個fin包(即使沒資料也占用乙個序號)請求斷開連線。

第二步:服務端對客戶端傳送的資訊進行確認。傳送乙個ack包。(此時可能服務端還有資料需要傳送)

第四步:客戶端收到訊息,傳送ack包,等待2msl後,關閉連線。msl(maximum segment lifetime)是乙個資料報在網路中單向發出到認定丟失的時間,乙個資料報有可能在傳送圖中或是其響應過程中成為殘餘資料報,確認乙個資料報及其響應的丟棄的需要兩倍的msl.

OSI七層模型和TCP IP參考模型

要知道,資料在網路之間的傳輸過程是非常複雜的,因此應首先建立分層模型,分層模型是一組用於開發網路協議的設計方法,就是把網路之間各個節點通訊這個複雜的問題分層若干個相對簡單的問題,每個問題對應一層,每一層實現一定的功能,相互協作即可完成資料通訊這個複雜任務。osi參考模型 osi open syste...

OSI七層參考模型

osi open source initiative 簡稱osi,有譯作開放源 促進會 開放原始碼組織 是乙個旨在推動開源軟體發展的非盈利組織。osi參考模型 osi rm 的全稱是開放系統互連參考模型 open system interconnection reference model,osi ...

OSI七層參考模型

osi中的相同層之間不傳輸資料,只有物理層之間才可以進行傳輸資訊。上面三層 會話層 表示層 應用層為使用者提供服務的,下面四層 物理層 資料鏈路層 網路層 傳輸層是為資料傳輸提供服務的。實體地址 mac位址 是封裝在幀中 資料鏈路層 負責的是區域網的通訊,ip位址是封裝在報文中 網路層 負責的是外網...