TCP/IP協議--01介紹
在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,電腦才會發揮出它最大的潛力。於是人們就想方設法的用電線把電腦連線到了一起。
但是簡單的連到一起是遠遠不夠的,就好像語言不同的兩個人互相見了面,完全不能交流資訊。因而他們需要定義一些共通的東西來進行交流,TCP/IP就是為此而生。
TCP/IP不是一個協議,而是一個協議族的統稱。裡面包括了IP協議,ICMP協議,TCP協議,以及我們更加熟悉的http、ftp、pop3協議等等。電腦有了這些,就好像學會了外語一樣,就可以和其他的計算機終端做自由的交流了。
協議分層:
TCP/IP協議族按照層次由上到下,層層包裝。最上面的就是應用層了,這裡面有http,ftp,等等我們熟悉的協議。而第二層則是傳輸層,著名的TCP和UDP協議就在這個層次。第三層是網路層,IP協議就在這裡,它負責對資料加上IP地址和其他的資料(後面會講到)以確定傳輸的目標。第四層是叫資料鏈路層,這個層次為待傳送的資料加入一個乙太網協議頭,並進行CRC編碼,為最後的資料傳輸做準備
IP地址:
網路上每一個節點都必須有一個獨立的Internet地址(也叫做IP地址)。現在,通常使用的IP地址是一個32bit的數字,也就是我們常說的IPv4標準,這32bit的數字分成四組,也就是常見的255.255.255.255的樣式。IPv4標準上,地址被分為五類,我們常用的是B類地址。具體的分類請參考其他文件。需要注意的是IP地址是網路號+主機號的組合
域名系統:
域名系統是一個分佈的資料庫,它提供將主機名(就是網址啦)轉換成IP地址的服務。
埠號:
這個號碼是用在TCP,UDP上的一個邏輯號碼,並不是一個硬體埠,我們平時說把某某埠封掉了,也只是在IP層次把帶有這個號碼的IP包給過濾掉了而已。
應用程式設計介面:
常用的程式設計介面有socket和TLI。而前面的有時候也叫做“Berkeley socket”,可見Berkeley對於網路的發展有多大的貢獻。