1. 程式人生 > >TCP/IP概念簡述

TCP/IP概念簡述

恰恰 發展 class 交換 分發 它的 互聯 十進制 會話層

  這裏所說的是廣義上的協議群,而不是特指TCP和IP這兩種具體的協議。既然是協議群,那麽都有哪些呢?先不著急回答這個問題,因為要弄清楚這個問題,首先得了解另兩件事,就是為啥要有這個協議群,這個協議群大概是啥樣的。

  先說第一件,起因很簡單,也是web的產生的源頭,就是計算機與計算機之間的聯接。為啥計算機之間要互聯呢?因為要交換數據,共享信息。當然,你也可以說我可以把數據放到U盤或者移動硬盤,接入到另一臺計算機去,那我也無話可說了。計算機之間的互聯互通要解決很多問題,首先是不同廠商生產的計算機型號、不同的操作系統、不同的網卡等等,這些異構設備和軟件如何兼容的問題。解決的辦法就是制定規範,大家都按這個規範來,那麽就能玩到一起了。

  規範的制定就產生了協議,很多的協議,通過這些協議來實現計算機之間的通信,統稱叫TCP/IP協議群,或者叫協議族,一個意思。協議的管理辦法就是分層,經典的分發是七層,叫做OSI(開放系統互連參考模型,Open System Interconnect)參考模型。從底層往上分別是:物理層 -> 數據鏈路層 -> 網絡層 -> 傳輸層 -> 會話層 -> 表示層 -> 應用層。簡化版的分發是:鏈路層 -> 網絡層 -> 傳輸層 -> 應用層。其他的還是5層模型:物理層 -> 數據鏈路層 -> 網絡層 -> 傳輸層 -> 應用層。

  我們詳細看下OSI的七層分別都在做什麽事情:

  1、物理層:

  主要定義物理設備標準,如網線的接口類型、光纖的接口類型、各種傳輸介質的傳輸速率等。它的主要作用是傳輸比特流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地後在轉化為1、0,也就是我們常說的數模轉換與模數轉換)。這一層的數據叫做比特。   

  2、數據鏈路層:

  定義了如何讓格式化數據以進行傳輸,以及如何讓控制對物理介質的訪問。這一層通常還提供錯誤檢測和糾正,以確保數據的可靠傳輸。   

  3、網絡層:

  在位於不同地理位置的網絡中的兩個主機系統之間提供連接和路徑選擇。Internet的發展使得從世界各站點訪問信息的用戶數大大增加,而網絡層正是管理這種連接的層。   

  4、運輸層:

  定義了一些傳輸數據的協議和端口號(WWW端口80等),如:TCP(transmission control protocol –傳輸控制協議,傳輸效率低,可靠性強,用於傳輸可靠性要求高,數據量大的數據)、UDP(user datagram protocol–用戶數據報協議,與TCP特性恰恰相反,用於傳輸可靠性要求不高,數據量小的數據,如QQ聊天數據就是通過這種方式傳輸的)。 主要是將從下層接收的數據進行分段和傳輸,到達目的地址後再進行重組。常常把這一層數據叫做段。   

  5、會話層:

  通過運輸層(端口號:傳輸端口與接收端口)建立數據傳輸的通路。主要在你的系統之間發起會話或者接受會話請求(設備之間需要互相認識可以是IP也可以是MAC或者是主機名)。   

  6、表示層:

  可確保一個系統的應用層所發送的信息可以被另一個系統的應用層讀取。例如,PC程序與另一臺計算機進行通信,其中一臺計算機使用擴展二一十進制交換碼(EBCDIC),而另一臺則使用美國信息交換標準碼(ASCII)來表示相同的字符。如有必要,表示層會通過使用一種網絡標準傳輸格式來實現多種數據格式之間的轉換。   

  7、應用層:

  這一層為用戶的應用程序(例如電子郵件、文件傳輸和終端仿真)提供網絡服務。包括電子郵件協議(如SMPT)、文件傳輸協議(FTP)、遠程登錄協議(Telnet)等。

TCP/IP概念簡述