通訊原理之TCP/IP基本概念 (二)

       原本想寫寫,但發現有人寫的很好了,不造輪子了!  直接轉了 數據庫

1、爲何會有TCP/IP協議

      在世界上各地,各類各樣的電腦運行着各自不一樣的操做系統爲你們服務,這些電腦在表達同一種信息的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們沒法合做同樣。計算機使用者意識到,計算機只是單兵做戰並不會發揮太大的做用。只有把它們聯合起來,電腦纔會發揮出它最大的潛力。因而人們就千方百計的用電線把電腦鏈接到了一塊兒。編程

     可是簡單的連到一塊兒是遠遠不夠的,就好像語言不一樣的兩我的互相見了面,徹底不能交流信息。於是他們須要定義一些共通的東西來進行交流,TCP/IP就是爲此而生。TCP/IP不是一個協議,而是一個協議族的統稱。裏面包括了IP協議,IMCP協議,TCP協議,以及咱們更加熟悉的http、ftp、pop3協議等等。電腦有了這些,就好像學會了外語同樣,就能夠和其餘的計算機終端作自由的交流了。網絡

2、TCP/IP協議分層

      提到協議分層,咱們很容易聯想到ISO-OSI的七層協議經典架構,可是TCP/IP協議族的結構則稍有不一樣。如圖所示架構

      TCP/IP協議族按照層次由上到下,層層包裝。最上面的就是應用層了,這裏面有http,ftp,等等咱們熟悉的協議。而第二層則是傳輸層,著名的TCP和UDP協議就在這個層次(不要告訴我你沒用過udp玩星際)。第三層是網絡層,IP協議就在這裏,它負責對數據加上IP地址和其餘的數據(後面會講到)以肯定傳輸的目標。第四層是叫數據鏈路層,這個層次爲待傳送的數據加入一個以太網協議頭,並進行CRC編碼,爲最後的數據傳輸作準備。再往下則是硬件層次了,負責網絡的傳輸,這個層次的定義包括網線的制式,網卡的定義等等(這些咱們就不用關心了,咱們也不作網卡),因此有些書並不把這個層次放在tcp/ip協議族裏面,由於它幾乎和tcp/ip協議的編寫者沒有任何的關係。發送協議的主機從上自下將數據按照協議封裝,而接收數據的主機則按照協議從獲得的數據包解開,最後拿到須要的數據。這種結構很是有棧的味道,因此某些文章也把tcp/ip協議族稱爲tcp/ip協議棧。socket

3、一些基本的常識

       在學習協議以前,咱們應該具有一些基本知識。tcp

  • 一、互聯網地址(ip地址)

    網絡上每個節點都必須有一個獨立的Internet地址(也叫作IP地址)。如今,一般使用的IP地址是一個32bit的數字,也就是咱們常說的IPv4標準,這32bit的數字分紅四組,也就是常見的255.255.255.255的樣式。IPv4標準上,地址被分爲五類,咱們經常使用的是B類地址。具體的分類請參考其餘文檔。須要注意的是IP地址是網絡號+主機號的組合,這很是重要。學習

  • 二、域名系統

    域名系統是一個分佈的數據庫,它提供將主機名(就是網址啦)轉換成IP地址的服務。編碼

  • 三、RFC

    RFC是什麼?RFC就是tcp/ip協議的標準文檔,在這裏咱們能夠看到RFC那長長的定義列表,如今它一共有4000多個協議的定義,固然,咱們所要學習的,也就是那麼十幾個協議而已。操作系統

  • 四、端口號(port)

    注意,這個號碼是用在TCP,UDP上的一個邏輯號碼,並非一個硬件端口,咱們平時說把某某端口封掉了,也只是在IP層次把帶有這個號碼的IP包給過濾掉了而已。接口

  • 五、應用編程接口

    如今經常使用的編程接口有socket和TLI。而前面的有時候也叫作「Berkeley socket」,可見Berkeley對於網絡的發展有多大的貢獻。

相關文章
相關標籤/搜索