計算機的網絡體系以及參考模型

計算機的網絡體系以及參考模型

  • 一、OSI七層模型
  • 二、TCP/IP參考模型
    • 三、TCP/IP 五層參考模型
  • 四、OSI 模型和 TCP/IP 模型異同比較
  • 五、OSI 和 TCP/IP 協議之間的對應關系
  • 六、為什么 TCP/IP 去除了表示層和會話層?
  • 七、數據如何在各層之間傳輸(數據的封裝過程)

一、OSI七層模型

在這里插入圖片描述

OSI 七層模型可分為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層,第三層統稱為通信子網,主要完成數據傳輸的功能,高三層統稱為資源子網,主要完成數據的處理等功能。

  • 應用層:其作用是通過應用程序間的交互來完成特定的網絡應用
  • 表示層:表示層的作用是處理兩個通信系統中交換信息的表達方式,提供的服務有數據壓縮,數據加密以及數據描述
  • 會話層:會話層負責管理主機間的會話進程,包括建立、管理及終止進程間的會話
  • 傳輸層:傳輸層主要負責主機中進程之間的通信,功能是端對端連接提供可靠服務
  • 網絡層:網絡層的主要任務是選擇合適的網間路由和交換節點,確保數據按時成功傳送,在發送數據的時候,它會將傳輸層的報文封裝成分組和包從源端口向目的端口轉發
  • 數據鏈路層:數據鏈路層是點對點的通信,它的任務是將網絡層傳來的ip數據報組裝成幀,同時,會檢測所受到的幀有無差錯,如果有的話,就簡單的丟棄掉,以免占用網絡資源
  • 物理層:物理層作為參考模型的最低一層,主要實現的就是計算機節點之間的比特流的透明傳輸,盡可能地屏蔽傳輸介質和物理設備地影響。

二、TCP/IP參考模型

? OSI 七層模型在提出時的出發點是基于標準化的考慮,而沒有考慮到具體的市場需求,使得該模型結構復雜,部分功能冗余,因而完全實現 OSI 參考模型的系統不多。而 TCP/IP 參考模型直接面向市場需求,實現起來也比較容易,因此在一經提出便得到了廣泛的應用。基于 TCP/IP 的參考模型將協議分成四個層次,如上圖所示,它們分別是:網絡訪問層、網際互聯層、傳輸層、和應用層。

應用層

TCP/IP 模型將 OSI 參考模型中的會話層、表示層和應用層的功能合并到一個應用層實現,通過不同的應用層協議為不同的應用提供服務。例如:FTP、Telnet、DNS、SMTP 等。

傳輸層

該層對應于 OSI 參考模型的傳輸層,為上層實體提供源端到對端主機的通信功能。傳輸層定義了兩個主要協議:傳輸控制協議(TCP)和用戶數據報協議(UDP)。其中面向連接的 TCP 協議保證了數據的傳輸可靠性,面向無連接的 UDP 協議能夠實現數據包簡單、快速地傳輸。

網際互聯層

網際互聯層對應 OSI 參考模型的網絡層,主要負責相同或不同網絡中計算機之間的通信。在網際互聯層, IP 協議提供的是一個不可靠、無連接的數據報傳遞服務。該協議實現兩個基本功能:尋址和分段。根據數據報報頭中的目的地址將數據傳送到目的地址,在這個過程中 IP 負責選擇傳送路線。除了 IP 協議外,該層另外兩個主要協議是互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP)。

網絡接入層

網絡接入層的功能對應于 OSI 參考模型中的物理層和數據鏈路層,它負責監視數據在主機和網絡之間的交換。事實上,TCP/IP 并未真正描述這一層的實現,而由參與互連的各網絡使用自己的物理層和數據鏈路層協議,然后與 TCP/IP 的網絡接入層進行連接,因此具體的實現方法將隨著網絡類型的不同而有所差異。

三、TCP/IP 五層參考模型

五層體系的協議結構是綜合了 OSI 和 TCP/IP 優點的一種協議,包括應用層、傳輸層、網絡層、數據鏈路層和物理層。其中應用層對應 OSI 的上三層,下四層和 OSI 相同。五層協議的體系結構只是為介紹網絡原理而設計的,實際應用還是 TCP/IP 四層體系結構。

四、OSI 模型和 TCP/IP 模型異同比較

相同點

① OSI 參考模型與 TCP/IP 參考模型都采用了層次結構

② 都能夠提供面向連接無連接兩種通信服務機制。

不同點

① OSI 采用的七層模型; TCP/IP 是四層結構。

② TCP/IP 參考模型沒有對網絡接口層進行細分,只是一些概念性的描述; OSI 參考模型對服務和協議做了明確的區分。

③ OSI 先有模型,后有協議規范,適合于描述各種網絡;TCP/IP 是先有協議集然后建立模型,不適用于非 TCP/IP 網絡。

④ TCP/IP 一開始就提出面向連接和無連接服務,而 OSI 一開始只強調面向連接服務,直到很晚才開始制定無連接的服務標準。

⑤ OSI 參考模型雖然被看好,但將網絡劃分為七層,實現起來較困難;相反,TCP/IP 參考模型雖然有許多不盡人意的地方,但作為一種簡化的分層結構還是比較成功的。

五、OSI 和 TCP/IP 協議之間的對應關系

在這里插入圖片描述

六、為什么 TCP/IP 去除了表示層和會話層?

OSI 參考模型在提出時,他們的理想是非常好的,但實際上,由于會話層、表示層、應用層都是在應用程序內部實現的,最終產出的是一個應用數據包,而應用程序之間是幾乎無法實現代碼的抽象共享的,這也就造成 OSI 設想中的應用程序維度的分層是無法實現的,例如,我們幾乎不會認為數據的壓縮、加密算法算是一種協議,而會話的概念則更為抽象,難以用協議來進行描述,所以在后來的 TCP/IP 協議框架的設計中,便將表示層和會話層與應用層整合在一起,讓整個過程更為清晰明了。

七、數據如何在各層之間傳輸(數據的封裝過程)

數據封裝過程
在這里插入圖片描述

數據解封裝過程
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/384338.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/384338.shtml
英文地址,請注明出處:http://en.pswp.cn/news/384338.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 模板詳解(二)

轉載:http://www.cnblogs.com/gw811/archive/2012/10/25/2736224.html 四、類模板的默認模板類型形參 1、可以為類模板的類型形參提供默認值,但不能為函數模板的類型形參提供默認值。函數模板和類模板都可以為模板的非類型形參提供默認值。 2、類模板的類…

c++類對象的創建方式

對象創建限制在堆或棧 c類對象的創建方式對象創建限制在堆或棧C 中的類的對象的建立模式如何將類限制在堆上呢?C 中的類的對象的建立模式 C 中的類的對象的建立模式分為兩張:靜態建立,動態建立 靜態建立:由編譯器為對象在棧空間…

C++ 模板詳解(一)

轉載:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html C模板 模板是C支持參數化多態的工具,使用模板可以使用戶為類或者函數聲明一種一般模式,使得類中的某些數據成員或者成員函數的參數、返回值取得任意類型。 模板是一種對類…

劍指Offer09. 用兩個棧實現隊列

class CQueue { public:stack<int> stack1,stack2;CQueue() {//初始化棧while(!stack1.empty()){stack1.pop();}while(!stack2.empty()){stack2.pop();}}void appendTail(int value) {stack1.push(value);}int deleteHead() {if(stack2.empty()){while(!stack1.empty()){…

rk3588 之啟動

目錄 uboot版本配置修改編譯 linux版本配置修改編譯 啟動sd卡啟動制作spi 燒錄 參考 uboot 版本 v2024.01-rc2 https://github.com/u-boot/u-boot https://github.com/rockchip-linux/rkbin 配置修改 使用這兩個配置即可&#xff1a; orangepi-5-plus-rk3588_defconfig r…

C++引用詳解

轉載&#xff1a;http://www.cnblogs.com/gw811/archive/2012/10/20/2732687.html 引用的概念 引用&#xff1a;就是某一變量&#xff08;目標&#xff09;的一個別名&#xff0c;對引用的操作與對變量直接操作完全一樣。 引用的聲明方法&#xff1a;類型標識符 &引用名目標…

劍指Offer03.數組中重復的數字

找出數組中重復的數字。 在一個長度為 n 的數組 nums 里的所有數字都在 0&#xff5e;n-1 的范圍內。數組中某些數字是重復的&#xff0c;但不知道有幾個數字重復了&#xff0c;也不知道每個數字重復了幾次。請找出數組中任意一個重復的數字。 示例 1&#xff1a; 輸入&…

C++ 模板全特化中的函數特化

轉載&#xff1a;http://blog.csdn.net/rain_qingtian/article/details/15815251 [cpp] view plaincopy print?#include <iostream> using namespace std; template<typename T> bool isLess(T x, T y) { cout << "general version\n&q…

c++面向對象總結

c面向對象總結什么是面向對象&#xff1f;面向對象的三大特性重寫和重載的區別隱藏和重寫&#xff0c;重載的區別什么是多態&#xff1f;多態如何實現什么是面向對象&#xff1f;面向對象的三大特性 面向對象&#xff1a;對象是指具體的某一個事物&#xff0c;這些事物的抽象就…

類模板static成員的使用

轉載&#xff1a;http://blog.csdn.net/ljq32/article/details/7911390 1. 與普通類的static成員一樣&#xff0c;類內部聲明一次&#xff0c;類外部定義一次&#xff0c;定義時可以設置也可以不設置初始值; 2. 類模板內部聲明與普通類的static成員一致&#xff1a; [html] vi…

Linux網絡編程服務器模型選擇之循環服務器

轉載&#xff1a;http://www.cnblogs.com/lizhenghn/p/3617608.html 在網絡程序里面&#xff0c;通常都是一個服務器處理多個客戶機&#xff0c;為了出個多個客戶機的請求&#xff0c;服務器端的程序有不同的處理方式。本節開始介紹Linux下套接字編程的服務器模型選擇&#xff…

劍指Offer04. 二維數組中的查找

在一個 n * m 的二維數組中&#xff0c;每一行都按照從左到右遞增的順序排序&#xff0c;每一列都按照從上到下遞增的順序排序。請完成一個高效的函數&#xff0c;輸入這樣的一個二維數組和一個整數&#xff0c;判斷數組中是否含有該整數。 相當于二叉搜索樹,左孩子比根節點小&…

Linux網絡編程服務器模型選擇之并發服務器(上)

轉載&#xff1a;http://www.cnblogs.com/lizhenghn/p/3617666.html 與循環服務器的串行處理不同&#xff0c;并發服務器對服務請求并發處理。循環服務器只能夠一個一個的處理客戶端的請求&#xff0c;顯然效率很低。并發服務器通過建立多個子進程來實現對請求的并發處理。并發…

劍指Offer10- II. 青蛙跳臺階問題

一只青蛙一次可以跳上1級臺階&#xff0c;也可以跳上2級臺階。求該青蛙跳上一個 n 級的臺階總共有多少種跳法。 答案需要取模 1e97&#xff08;1000000007&#xff09;&#xff0c;如計算初始結果為&#xff1a;1000000008&#xff0c;請返回 1。 示例 1&#xff1a; 輸入&a…

Linux網絡編程服務器模型選擇之并發服務器(下)

轉載&#xff1a;http://www.cnblogs.com/lizhenghn/p/3618986.html 前面兩篇文章&#xff08;參見&#xff09;分別介紹了循環服務器和簡單的并發服務器網絡模型&#xff0c;我們已經知道循環服務器模型效率較低&#xff0c;同一時刻只能為一個客戶端提供服務&#xff0c;而且…

劍指Offer05. 替換空格

請實現一個函數&#xff0c;把字符串 s 中的每個空格替換成"%20"。 示例 1&#xff1a; 輸入&#xff1a;s “We are happy.” 輸出&#xff1a;“We%20are%20happy.” class Solution { public:string replaceSpace(string s) {int count0;int lens.size();stri…

Linux網絡編程服務器模型選擇之IO復用循環并發服務器

轉載&#xff1a;http://www.cnblogs.com/lizhenghn/p/3619091.html 在前面我們介紹了循環服務器&#xff0c;并發服務器模型。簡單的循環服務器每次只能處理一個請求&#xff0c;即處理的請求是串行的&#xff0c;效率過低&#xff1b;并發服務器可以通過創建多個進程或者是線…

數據結構(六)二叉樹的遍歷(遞歸非遞歸方法)

數據結構&#xff08;六&#xff09;二叉樹的遍歷&#xff08;遞歸非遞歸方法&#xff09; 一、遞歸方法 1.先序遍歷 void PreOrder(BiTree T) {visit(T);PreOrder(T->LChild)PreOrder(T->RChild) }2.先序遍歷 void PreOrder(BiTree T) {PreOrder(T->LChild)visit…

memcpy/memset函數的c語言實現

轉載&#xff1a;http://blog.csdn.net/u011118276/article/details/46742341 1、memcpy 頭文件&#xff1a;#include <string.h> 函數原型&#xff1a;void *memcpy(void *dest, const void *src, size_t n) 功能&#xff1a;將指針src指向的內存空間的n個字節復制到des…

計算機網絡(一)計算機網絡體系

計算機網絡&#xff08;一&#xff09;計算機網絡體系一、計算機網絡概述概念功能組成分類二、體系結構和參考模型ISO/OSI模型物理層網絡層傳輸層會話層表示層應用層OSI參考模型與TCP/IP參考模型OSI參考模型與TCP/IP參考模型不同5層參考模型一、計算機網絡概述 概念 計算機網…