天天看點

TCP/IP模型的一個簡單解釋

tcp/ip模型是網際網路的基礎。

下面,我按照自己的了解,寫一下網際網路到底是怎麼搭建起來的。說得不對的地方,歡迎指正。

什麼是tcp/ip模型?

tcp/ip模型是一系列網絡協定的總稱,這些協定的目的,就是使計算機之間可以進行資訊交換。

所謂"協定"可以了解成機器之間交談的語言,每一種協定都有自己的目的。tcp/ip模型一共包括幾百種協定,對網際網路上交換資訊的各個方面都做了規定。

tcp/ip模型的四層結構

這些協定可以大緻分成四個層次,上一層的協定都以下一層的協定為基礎。就像下面這張圖:

TCP/IP模型的一個簡單解釋

從下到上的四層,分别為連接配接層(link layer)、網絡層(internet layer)、傳輸層(transport layer)、應用層(application layer)。

可以這樣了解它們的作用:

1)連接配接層負責建立電路連接配接,是整個網絡的實體基礎,典型的協定包括以太網、adsl等等; 2)網絡層負責配置設定位址和傳送二進制資料,主要協定是ip協定; 3)傳輸層負責傳送文本資料,主要協定是tcp協定; 4)應用層負責傳送各種最終形态的資料,是直接與使用者打交道的層,典型協定是http、ftp等。

了解這個結構的關鍵,在于了解科學家在70年代設計網際網路的原始目的,就是為了傳輸文本。所有協定最初都是為了這個目标而設計的,網際網路架構的核心就是文本對話。

執行個體:用telnet建立http對話

為了觀察文本在網際網路上是如何傳輸的,我們做一個小實驗。

第一步:在"開始"菜單中,點選"運作"指令,輸入"telnet google.com 80"。

TCP/IP模型的一個簡單解釋

telnet指令本身就是一個應用層協定,它的作用是在兩台主機間,建立一個tcp連接配接,也就是打開兩台主機間文本傳輸的一個通道。

第二步:打開本地顯示。(非windows系統跳過此步。)

請按以下步驟操作:在telnet視窗中按下"ctrl+]";然後,輸入"set localecho"指令,再連續按下兩次Enter鍵。

TCP/IP模型的一個簡單解釋

好了,這個時候你就可以直接同google.com主機進行對話了。

第三步:你可以試着同google随便說句話,看看有什麼反應。

我輸入了"hello world!"。

TCP/IP模型的一個簡單解釋

結果,google的回答是這樣的:

TCP/IP模型的一個簡單解釋

"400 bad request"說明google看不懂你的發言。這是毫不奇怪的,因為這時你是在tcp文本通道中,進行http對話。是以,你的發言必須遵守http協定,這樣google才能看懂。

第四步:輸入"get / http/1.1",表示向google索要首頁根檔案,使用的協定是http的1.1版本。

google的回應如下:

TCP/IP模型的一個簡單解釋

"200 ok"表示要求資料成功。在頭部資訊的下面,就是google在浏覽器中顯示的首頁檔案的源代碼。

總結

上面這個例子用的是http協定,如果要使用其他"應用層協定"與主機進行對話,你隻要改變端口就行了。比如,"telnet ftp.website.com 21",表示用ftp協定進行對話。

所有這些對話的底層協定,都是tcp協定,因為這是負責文本傳輸的協定;而tcp協定又必須依靠ip協定,進行二進制資料的傳輸;而二進制資料的傳輸,離不開最底層負責網絡連接配接的實體協定。

是以,通過這樣四層的網絡架構,就實作了整個網際網路的通信。

(完)

繼續閱讀