在咱們回憶OSI/RM模型與TCP/IP模型以前,咱們先來回顧一下什麼是計算機網絡體系結構。網絡
計算機網絡各層次結構模型及其協議的集合,稱爲網絡的體系結構。編碼
而網絡協議有三要素:
①語義:涉及用於協調與差錯處理的控制信息
②語法:涉及數據及控制信息的格式、編碼及信號電平,等
③定時:涉及速度匹配和排序等spa
層次結構則以下圖所示:計算機網絡
層次的結構要點有:
①除了在物理介質上進行的是實通訊以外,其他各對等實體間進行的都是虛通訊
②對等層的虛通訊必須遵循該層的協議
③n層的虛通訊時經過n/n-1層間接口處n-1層提供的服務以及n-1層的通訊(一般是虛通訊)來實現的。code
層次結構遵循的原則:
①每層的功能應是明確的,而且是相互獨立的。當某一層的具體實現方法更新時,只要保持上、下層的接口不變,便不會對鄰層產生影響。
②層間接口必須清晰,跨越接口的信息量應儘量少
③層數應適中。若層數太少,則躲種功能混雜在一層中,形成每一層的協議太複雜;若層數太多,則體系結構太過於複雜,使描述和實現各層功能變得困難blog
接下來就是咱們熟知的七層結構,從最底層往最高層分別是:
①物理層
②數據鏈路層
③網絡層
④傳輸層
⑤會話層
⑥表示層
⑦應用層排序
以下圖所示:接口
首先,計算機網絡結構有兩大子網:資源子網和通訊子網。
中繼開放系統能夠理解爲通訊子網中的網絡節點,用來轉發數據。而中繼開放系統只要包含物理層、數據鏈路層或多一個網絡層就能夠傳輸數據了。進程
接下來咱們講一下OSI/RM參考模型中的各層大致是幹嗎的:圖片
1.物理層:數據在物理層中以數據比特流bit傳輸的。
2.數據鏈路層:將數據比特流組織成數據鏈路協議數據單元(一般稱爲幀)進行傳輸
3.網絡層:數據以網絡協議數據單元(一般稱爲分組)進行傳輸
4.傳輸層:端對端數據直接傳輸,沒必要關心通訊子網(即將網絡層的數據直接轉給端口)
5.會話層:進程 - 進程之間的通訊
6.表示層:爲上層提供數據或變換語法
7.應用層:爲各應用提供訪問OSI環境的手段
相比OSI/RM模型的七層協議,TCP/IP模型只有四層協議,分別從低層往高層是:
①主機--網絡層
②互連層
③傳輸層
④應用層
其主機--網絡層至關於OSI模型中的物理層和數據鏈路層;互連層至關於OSI的網絡層;而傳輸層和應用層和OSI模型的兩層做用是同樣的。
接下來介紹一下TCP/IP協議簇,看看咱們熟知的協議:
IP : 互連網協議
ICMP : 互連網控制報文協議
ARP : 地址轉換協議
RARP : 反向地址轉換協議
TCP :傳輸控制協議
UDP :用戶數據報協議
SMTP : 簡單郵件傳送協議
DNS : 域名服務協議
FTP : 文件傳輸協議
TELNET : 遠程終端訪問協議
而後咱們再看下各層之間的數據傳輸(就這張圖畫的最醜):
1.二者都以協議棧的概念爲基礎,而且協議棧中的協議彼此相互獨立
2.兩種模型都採用了層次結構的概念,各個層的功能也大致類似
1.層數不一樣:OSI有7層,而TCP只有4層
2.面向鏈接和無鏈接的通訊範圍有所不一樣:
a.OSI模型的網絡層同時支持無鏈接和麪向鏈接的通訊;可是傳輸層只支持面向鏈接的通訊 b.TCP模型的互連層只支持無鏈接通訊;可是傳輸層上同時支持無鏈接和麪向鏈接兩種通訊
1.模型和協議自身的缺陷。其中會話層和表示層這兩層幾乎是空的;而數據鏈路層和網絡層包含的內容太多,有不少的子層插入,每一個子層都有不一樣的功能。協議複雜難實現,功能重複,下降系統的效率。如每層都實現 編制、差錯控制、和流控制
2.OSI出現晚於TCP,當時TCP已經被普遍應用,廠商不想支持第二個協議棧
1.TCP模型並無清楚地區分哪些是規範、哪些是實現,並且TCP/IP模型不適合於其餘非TCP/IP協議簇
2.TCP/IP模型的主機——網絡層不是常規意義上的一層,而是一個定義了網絡層和數據鏈路層的接口。接口和層的區別是很是重要的,而TCP/IP模型卻沒有將它們區分開
對於這些知識,你們還記得多少呢?歡迎你們留言討論(✪ω✪)