tcp ip學習筆記(1) 基本概念

2022-02-06 01:08:54 字數 1543 閱讀 2109

為什麼會有tcp/ip

在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,電腦才會發揮出它最大的潛力。於是人們就想方設法的用電線把電腦連線到了一起。

但是簡單的連到一起是遠遠不夠的,就好像語言不同的兩個人互相見了面,完全不能交流資訊。因而他們需要定義一些共通的東西來進行交流,tcp/ip就是為此而生。

tcp/ip不是乙個協議,而是乙個協議族的統稱。裡面包括了ip協議,icmp協議,tcp協議,以及我們更加熟悉的http、ftp、pop3協議等等。電腦有了這些,就好像學會了外語一樣,就可以和其他的計算機終端做自由的交流了。

tcp/ip協議分層

提到協議分層,我們很容易聯想到iso-osi的七層協議經典架構,但是tcp/ip協議族的結構則稍有不同。如圖所示

tcp/ip協議族按照層次由上到下,層層包裝。最上面的就是應用層了,這裡面有http,ftp,等等我們熟悉的協議。而第二層則是傳輸層,著名的tcp和udp協議就在這個層次(不要告訴我你沒用過udp玩星際)。第三層是網路層,ip協議就在這裡,它負責對資料加上ip位址和其他的資料(後面會講到)以確定傳輸的目標。第四層是叫資料鏈路層,這個層次為待傳送的資料加入乙個乙太網協議頭,並進行crc編碼,為最後的資料傳輸做準備。再往下則是硬體層次了,負責網路的傳輸,這個層次的定義包括網線的制式,網絡卡的定義等等(這些我們就不用關心了,我們也不做網絡卡),所以有些書並不把這個層次放在tcp/ip協議族裡面,因為它幾乎和tcp/ip協議的編寫者沒有任何的關係。傳送協議的主機從上自下將資料按照協議封裝,而接收資料的主機則按照協議從得到的資料報解開,最後拿到需要的資料。這種結構非常有棧的味道,所以某些文章也把tcp/ip協議族稱為tcp/ip協議棧。

ip位址

網路上每乙個節點都必須有乙個獨立的internet位址(也叫做ip位址)。現在,通常使用的ip位址是乙個32bit的數字,也就是我們常說的ipv4標準,這32bit的數字分成四組,也就是常見的255.255.255.255的樣式。ipv4標準上,位址被分為五類,我們常用的是b類位址。具體的分類請參考其他文件。需要注意的是ip位址是網路號+主機號的組合,這非常重要。

網域名稱系統

rfcrfc是什麼?rfc就是tcp/ip協議的標準文件,在這裡我們可以看到rfc那長長的定義列表,現在它一共有4000多個協議的定義,當然,我們所要學習的,也就是那麼十幾個協議而已。

埠號注意,這個號碼是用在tcp,udp上的乙個邏輯號碼,並不是乙個硬體埠,我們平時說把某某埠封掉了,也只是在ip層次把帶有這個號碼的ip包給過濾掉了而已。

應用程式設計介面

現在常用的程式設計介面有socket和tli。而前面的有時候也叫做「berkeley socket」,可見berkeley對於網路的發展有多大的貢獻。

TCP IP詳解學習筆記 1 基本概念

在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,電腦才會發揮出它最大的潛力。於是人們就想方設法...

TCP IP詳解學習筆記 1 基本概念

在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,電腦才會發揮出它最大的潛力。於是人們就想方設法...

TCP IP詳解學習筆記 1 基本概念

在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,電腦才會發揮出它最大的潛力。於是人們就想方設法...