網絡互聯參考模型(詳解)

網絡互聯參考模型

1. 什么是協議

為了使數據可以在網絡上從源傳遞到目的地,網絡上所有設備需要“講”相同的“語言”

描述網絡通信中“語言”規范的一組規則就是協議

例如:兩個人交談,必須使用相同的語言,如果你說漢語,他說阿拉伯語……

1.gif

數據通信協議的定義

決定數據的格式和傳輸的一組規則或者一組慣例

2. 協議分層

網絡通信的過程很復雜:

數據以電子信號的形式穿越介質到達正確的計算機,然后轉換成最初的形式,以便接收者能夠閱讀

為了降低網絡設計的復雜性,將協議進行了分層設計

分層設計的意義:

1) 用戶服務層的模塊設計可相對獨立于具體的通信線路和通信硬件接口的差別

2) 而通信服務層的模塊設計又可相對獨立于具體用戶應用要求的不同

例如:文件傳輸或電子郵件服務模塊的設計,不必關心底層通信線路是光纖還是雙絞線

郵局實例:

?    郵局對于寫信人來說是下層

?    運輸部門是郵局的下層

       --下層為上層提供服務

?    寫信人與收信人之間使用相同的語言

?    郵局之間的約定

       --同層次之間使用相同的協議

2.gif

3. OSI的七層框架

 3.gif

數據的封裝與解封裝過程:

1)直觀:

 4.gif

2)大體過程:

5.gif

3)協議描述

6.gif

4. TCP/IP協議參考模型

TCP/IP是20世紀70年代中期美國國防部為ARPANET開發的網絡體系結構, TCP/IP是一組用于實現網絡互連的通信協議。Internet網絡體系結構以TCP/IP為核心?;赥CP/IP的參考模型將協議分成四個層次,它們分別是:網絡訪問層、網際互連層、傳輸層(主機到主機)、和應用層。

7.gif

4.1 TCP/IP各層對應的協議

 8.gif

4.2TCP/IP模型與OSI模型的比較

相同點:

1)兩者都是以協議棧的概念為基礎

2)協議棧中的協議彼此相互獨立

3)下層對上層提供服務

不同點:

1)OSI是先有模型;TCP/IP是先有協議,后有模型

2)OSI適用于各種協議棧;TCP/IP只適用于TCP/IP網絡

3)層次數量不同

4.3 TCP/IP各層介紹:

4.3.1 物理層-網絡的基礎

物理層是TCP/IP模型的最底層

1)功能:物理層為設備之間的數據通信提供傳輸媒體及互連設備,為數據傳輸提供可靠的環境, 它利用傳輸介質為數據鏈路層提供物理連接。為此,該層定義了物理鏈路的建立、維護和拆除有關的機械、電氣、功能和規程特性。

  包括信號線的功能、“0”和“1”信號的電平表示、數據傳輸速率、物理連接器規格及其相關的屬性等。物理層的作用是通過傳輸介質發送和接收二進制比特流。

9.gif

2)物理層的設備:

物理層的媒體包括架空明線、平衡電纜、光纖、無線信道等。通信用的互連設備指DTEDCE間的互連設備。DTE既數據終端設備,又稱物理設備,如計算機、終端等都包括在內。而DCE則是數據通信設備或電路連接設備,如調制解調器等。數據傳輸通常是經過DTE──DCE,再經過DCE──DTE的路徑?;ミB設備指將DTE、DCE連接起來的裝置,如各種插頭、插座。LAN中的各種粗、細同軸電纜、T型接頭、插頭,接收器,發送器,中繼器等都屬物理層的媒體和連接器。

3)物理層規定的特性

為了傳輸信號,物理層規定了以下這些特性:

機械特性:指明通信實體間硬件連接接口的機械特點
電氣特性:規定了在物理連接上導線的電氣連接及有關的電路的特性 
功能特性:指明物理接口各條信號線的用途(用法)

規程特性:指明利用接口傳輸位流的全過程及各項用于傳輸的事件發生的合法順序

4.3.2數據鏈路層——以太網:

數據鏈路可以粗略地理解為數據通道。

1)功能:數據鏈路層是為網絡層提供服務的,解決兩個相鄰結點之間的通信問題,傳送的協議數據單元稱為數據幀。

數據幀中包含物理地址(又稱MAC地址)、控制碼、數據及校驗碼等信息。該層的主要作用是通過校驗、確認和反饋重發等手段,將不可靠的物理鏈路轉換成對網絡層來說無差錯的數據鏈路。

  此外,數據鏈路層還要協調收發雙方的數據傳輸速率,即進行流量控制,以防止接收方因來不及處理發送方來的高速數據而導致緩沖器溢出及線路阻塞。

2)以太網工作在數據鏈路層

10.gif

4.3.3網絡層

11.gif

定義了基于IP協議的邏輯地址

連接不同的媒介類型

選擇數據通過網絡的最佳路徑

1) 功能:網絡層是為傳輸層提供服務的,傳送的協議數據單元稱為數據包或分組。該層的主要作用是解決如何使數據包通過各結點傳送的問題,即通過路徑選擇算法(路由)將數據包送到目的地。另外,為避免通信子網中出現過多的數據包而造成網絡阻塞,需要對流入的數據包數量進行控制(擁塞控制)。當數據包要跨越多個通信子網才能到達目的地時,還要解決網際互連的問題。

2) 網絡地址: 網絡層地址由兩部分地址組成:網絡地址和主機地址。網絡地址是全局唯一的。

4.3.4 傳輸層

IP層提供點到點的連接

傳輸層提供端到端的連接

 12.gif

1)功能:傳輸層的作用是為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層數據通信的細節,使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路。

傳輸層傳送的協議數據單元稱為段或報文。

主要有傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協議UDP(UserDatagram Protocol),它們都是建立在IP協議的基礎上

   傳輸控制協議TCP提供可靠的面向連接服務,用戶數據報協議UDP提供簡單的無連接服務

 13.gif

4.3.5 應用層

應用層對應于OSI參考模型的高層,為用戶提供所需要的各種服務,例如:FTP、Telnet、DNS、SMTP等. 是用戶與網絡的接口。該層通過應用程序來完成網絡用戶的應用需求,如文件傳輸、收發電子郵件等。

應用層協議可分為3類:

 (1)依賴于TCP的應用協議,如遠程終端協議Telnet,文件傳輸型的電子郵件協議SMTP,文件傳輸協議FTP,超文本傳輸協議HTTP,外部網關協議BGP等。

(2)依賴于UDP的協議,例如單純文件傳輸協議TFTP,簡單網絡管理協議SNMP,域名系統DNS,內部網關協議RIP,動態主機配置協議DHCP和引導程序協議BOOTP等。

(3)依賴于TCP和UDP的協議,如通信用管理信息協議CMOT。當然,一些沒有標準化的建立在TCP/ IP協議簇之上的用戶應用程序(或專用程序)也屬于應用層。

14.gif

5.網絡連接的時間

TCP建立連接,根據網絡環境不同,使用的時間如下:

1、本機的話,通信內容直接走內存。

2、局域網走網卡,然后通過交換機,指定到相應主機。tcp建立3次握手,一般耗0.6毫秒左右。

3、外網通過網卡->路由器->互聯網。

15.png

轉自:http://blog.csdn.net/hguisu/article/details/7249611

原創文章,作者:s19930811,如若轉載,請注明出處:http://www.www58058.com/3094

(0)
s19930811s19930811
上一篇 2015-05-07
下一篇 2015-05-07

相關推薦

  • Nginx

    Nginx簡介     Nginx(”engine x”)是俄羅斯人Igor Sysoev(伊戈爾.塞索耶夫)編寫的一款高性能的HTTP和反向代理服務器。Nginx能夠選擇高效的epoll、Kqueue、eventport作為網絡I/O模型,在高連接并發的情況下,Nginx是Apache服務器不錯的替代品,它能夠支持高…

    2017-05-07
  • PHP字符串的編碼問題

        大家都知道,不同字符編碼,其在內存占用的字節數不一樣。如ASCII編碼字符占用1個字節,UTF-8編碼的中文字符是3字節,GBK為2個字節。     PHP 也自帶幾種字符串截取函數,其中常用到的就是 substr 和 mb_substr。     使用substr截取中…

    Linux干貨 2015-10-22
  • CentOS 7 安裝 mysql-5.7.14

    在centos7上安裝 路上遇過各種坑 把在centos7正確安裝mysql-5.7.14分享一下 1. CentOs7 默認的數據庫為MariaDB,先卸載MariaDB,否則安裝mysql,引起沖突 rpm -qa mariadb rpm -e –nodeps mariadb 2. 準備好工作環境 mkdir /application&nbs…

    Linux干貨 2017-05-07
  • Linux nginx 服務

                           Linux nginx 服務 Nginx服務簡介:      NGINX :是一個自由、開源、高性能、輕量級的HT…

    系統運維 2016-11-18
  • Linux shell腳本編程練習題

    《書籍上面的練習題》 問題:誰在霸占磁盤資源?     如果您負責的Linux服務器上有許多用戶,則經常需要解決的一個問題就是誰在使用所有磁盤空間。這是個老掉牙的問題有時比其他問題更難以弄清。     不幸的是,雖然跟蹤用戶磁盤空間使用情況非常重要,但卻沒有一個Linux命令可以提供此信息。因此需要…

    Linux干貨 2016-06-09
  • 整型、浮點型在內存中的存儲方式

      在學習C語言的過程中,有時候會想,數據到底是以什么樣的方式在內存中存儲的呢?經過一段時間的查閱資料,小編終于整理了一些…… 以VC6.0編譯器為測試環境(int型為4Byte) 先簡介一下大小端模式,具體資料可參考 http://blog.csdn.net/ce123_zhouwei/article/details/6971544  …

    Linux干貨 2016-01-14
欧美性久久久久