模型裡的每一層都是獨立的,兩台主機之間通訊,對應的層使用的協議相同。
在實際的使用中,科學家在每一層中新增對應的協議,發現有其中的表示層和會話層的協議比較少(相對於其他層而言,但也是必不可缺的),於是將這兩層合併到應用層,稱為tcp/ip五層模型。
五層裡面每層都有一些協議,但是由於tcp/ip協議的重要性,為了紀念這兩層協議,於是命名為tcp/ip五層模型。
在網際網路所使用的各種協議中, 最重要的 和最著名的就是tcp和ip兩個協議。 現在人們經常提到的tcp/ip並不一定是單指tcp和ip這兩個具體的協議,而往往是表示網際網路所使用的整個tcp/ip協議簇。
tcp/ip五層模型中每一層對應的裝置:
資料的封裝與解封:傳送時將上一層交下來的資料加上首部和尾部,成為乙太網的幀。接收時將乙太網的幀剝去首部和尾部,然後送交上一層資料的封裝過程是自頂向下的,而解封裝過程則相反。
應用層是體系結構中的最高層。 應用層的任務是通過應用程序間的互動來完成特定網路應用。應用層協議定義的是應用程序間通訊和互動的規則。 這裡的程序就是指主機中正在 執行的程式。我們在軟體上發出一條訊息「hello」,應用層將這條訊息處理為乙個五層的資料報,這裡我們就先認為資料報的內容為我們發出的「hello」訊息。
運輸層的任務就是負責向兩台主機中程序之間的通訊提供通用的資料傳輸服務。 應用 程序利用該服務傳送應用層報文。![傳輸層封裝]!(應用層將訊息封裝成資料報後將資料報傳遞到傳輸層,傳輸層會對五層資料報進行進一步的封裝,為該資料報新增乙個tcp/udp頭部(tcp或者udp二者其中乙個,具體取決於軟體選擇那個協議),其中含有源埠號和目的埠號,源埠號即為軟體使用的上一層協議的埠號,目的埠號為接收資料方接收該資料的埠號。例如當我們用ie訪問乙個http開頭的網頁時,實際上我們時在訪問對方的80埠。
這個過程中系統會為ie瀏覽器隨機生成乙個埠號,假如是1000,我們的資料到了傳輸層,包頭中的源埠號為1000,目的埠號為80。
這裡對埠號做乙個解釋,我們將兩方進行資料傳輸時,應用層軟體需要使用應用層的協議,使用的協議有其對應著埠號,當有資料傳送出去時,資料是從這個埠號傳送出去的,而接收方接受資料時,也是根據傳輸層包頭中的目的埠號對資料進行接收。
就像兩個水桶之間轉移水,a水桶需要開乙個口讓水流出來,b水桶需要開乙個口讓水進去,這裡開的口就是上面的埠,埠號就是對這些埠的編號。
網路層負責為分組交換網上的不同主機提供通訊服務。在傳送資料時,網路層把運輸層產生的報文段或使用者資料報封裝成分組或包進行傳送。在傳輸層中,tcp/udp包頭為五層資料報提供了目的埠號,但是乙個網路裡有那麼多主機,資料報怎麼才能成功的傳輸到我們指定的主機上呢?所以這裡就需要網路層開始自己的工作了!類似於傳輸層,網路層也有乙個很重要的協議——ip協議,當四層資料報到網路層時,網路層會對該資料報新增乙個ip包頭,其中含有資料報的源ip和目標ip,資料傳輸的過程中就是根據這層的目標ip找到需要通訊的主機。
前三層的資料報很重要,在乙個包中稱為上三層資料,是最有價值的包,不能被別人篡改,一旦被篡改就有可能造成通訊出錯或者資訊洩露。(例如本來a發給b的資料,上三層資料被篡改後發給了c)
接下來的兩層在網路中也是必不可少的,雖然上三層在資料報中指明了傳輸的路線,但是上三層資料報是無法通過介質進行傳播的(例如網線、wifi、光纖),那如果資料報想過介質進行傳播的話怎麼辦呢,這就需要用到下面的兩層了。
資料鏈路層主要功能是如何在不可靠的物理線路上進行資料的可靠傳遞。為了保證傳輸,從網路層接收到的資料被分割成特定的可被物理層傳輸的幀。幀是用來移動資料的結構包,它不僅包括原始資料,還包括傳送方和接收方的實體地址以及檢錯和控制資訊。當上三層的資料報到了資料鏈路層,就意味著這個資訊已經成功到達計算機的網絡卡,下一步就可以通過網線傳輸了,這時我們的資訊就需要乙個載體來進行傳輸,於是在第二層會給上三層資料報加上乙個二層頭部(mac子層)和二層尾部(fcs)。如同從上海到北京,我們作為乘客,期間可能會換乘很多趟列車,每到乙個站點換乘的時候,乘客是不會變的,但是列車變了。在資料鏈路層中也是這樣,在傳輸的過程中,二層的頭部和尾部就相當於列車頭和列車尾,中間的資訊就是乘客,乘客不會變化,但在換車的過程中,列車頭和列車尾是會變化的。
mac子層頭部:fcs:幀校驗序列
上三層加上幀頭之後,對中間的資訊資料會使用乙個迴圈校驗演算法,最終得到乙個固定的值,我們可以利用這個值和fcs得出這個資料報的內容是否缺失。
在物理層上所傳資料的單位是位元。傳送方傳送1(或0)時,接收方應當收到1(或0)而不是 0 (或1)。 因此物理層要考慮用多大的電壓代表 「 1 」 或 「 0飛以及接收方如何識別出發送方所傳送的位元。 物理層還要確定連線電纜的插頭應當有多少根引腳以及各引腳應 如何連線。![物理層]在物理層,相當於網絡卡二層資料幀包送到網線上,這時候二層的資料幀包會被轉化成一段連續的位元流,然後以電脈衝的形式傳輸到交換機,最後到達目標主機物理層。
物理層的協議產生並檢測電壓以便傳送和接收攜帶資料的訊號。在你的pc上插入網路介面卡,你就建立了計算機連網的基礎。換言之,你提供了乙個物理層。儘管物理層不提供糾錯服務,但它能夠設定資料傳輸速率並監測資料出錯率。網路物理問題,如電線斷開,將影響物理層。
以上便是對tcp/ip中各層功能和傳輸資料過程中封裝資料報的的一些說明,而當資料報到達目標主機後,目標主機會對資料報進行乙個解封裝,其中過程如下:
實際就是對封裝過程的乙個逆操作,至於其中具體的一些知識點我們在後面的整理中再進行學習。
OSI七層網路模型與TCP IP四層網路模型
osi七層模型 osi中的層 功能 tcp ip協議族 應用層 檔案傳輸,電子郵件,檔案服務,虛擬終端 tftp,http,snmp,ftp,smtp,dns,telnet 表示層 資料格式化,轉換,資料加密 沒有協議 會話層 解除或建立與別的接點的聯絡 沒有協議 傳輸層 提供端對端的介面 tcp,...
OSI七層網路模型與TCP IP四層網路模型
osi模型,即開放式通訊系統互聯參考模型 open system interconnection,osi rm,open systems interconnection reference model 是 國際標準化組織 iso 提出的乙個試圖使各種計算機在世界範圍內互連為網路的標準框架,簡稱osi...
OSI七層網路模型與TCP IP四層網路模型
1.osi網路分層參考模型 網路協議設計者不應當設計乙個單 一 巨大的協議來為所有形式的通訊規定完整的細節,而應把通訊問題劃分成多個小問題,然後為每乙個小問題設計乙個單獨的協議。這樣做使得每個協議的設計 分析 時限和測試比較容易。協議劃分的乙個主要原則是確保目標系統有效且效率高。為了提高效率,每個協...