《TCP/IP详解》学习笔记(一):基本概念
為什么會有TCP/IP協議
在世界上各地,各種各樣的電腦運行著各自不同的操作系統為大家服務,這些電腦在表達同一種信息的時候所使用的方法是千差萬別。就好像圣經中上帝打亂 了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰并不會發揮太大的作用。只有把它們聯合起來,電腦才會發揮出它最大的潛力。 于是人們就想方設法的用電線把電腦連接到了一起。??
但是簡單的連到一起是遠遠不夠的,就好像語言不同的兩個人互相見了面,完全不能交流信息。因而他們需要定義一些共通的東西來進行交流,TCP/IP 就是為此而生。TCP/IP不是一個協議,而是一個協議族的統稱。里面包括了IP協議,ICMP協議,TCP協議,以及我們更加熟悉的HTTP、FTP、 POP3協議等等。電腦有了這些,就好像學會了外語一樣,就可以和其他的計算機終端做自由的交流了。?
TCP/IP協議分層??
提到協議分層,我們很容易聯想到ISO-OSI的七層協議經典架構,但是TCP/IP協議族的結構則稍有不同。如圖所示:
?
TCP/IP協議族按照層次由上到下,層層包裝。最上面的就是應用層了,這里面有http,ftp,等等我們熟悉的協議。而第二層則是傳輸層,著名 的TCP和UDP協議就在這個層次。第三層是網絡層,IP協議就在這里,它負責對數據加上IP地址和其他的數據(后面 會講到)以確定傳輸的目標。第四層是叫數據鏈路層,這個層次為待傳送的數據加入一個以太網協議頭,并進行CRC編碼,為最后的數據傳輸做準備。再往下則是 硬件層次了,負責網絡的傳輸,這個層次的定義包括網線的制式,網卡的定義等等(這些我們就不用關心了,我們也不做網卡),所以有些書并不把這個層次放在 tcp/ip協議族里面,因為它幾乎和tcp/ip協議的編寫者沒有任何的關系。發送協議的主機從上自下將數據按照協議封裝,而接收數據的主機則按照協議 從得到的數據包解開,最后拿到需要的數據。這種結構非常有棧的味道,所以某些文章也把tcp/ip協議族稱為tcp/ip協議棧。
?
一些基本的常識
在學習協議之前,我們應該具備一些基本知識。
1互聯網地址(ip地址)
網 絡上每一個節點都必須有一個獨立的Internet地址(也叫做IP地址)。現在,通常使用的IP地址是一個32bit的數字,也就是我們常說的IPv4 標準,這32bit的數字分成四組,也就是常見的255.255.255.255的樣式。IPv4標準上,地址被分為五類,我們常用的是B類地址。具體的 分類請參考其他文檔。需要注意的是IP地址是網絡號+主機號的組合,這非常重要。
?
2域名系統
域名系統是一個分布的數據庫,它提供將主機名(就是網址啦)轉換成IP地址的服務。
?
3RFC
RFC是什么?RFC就是tcp/ip協議的標準文檔,在這里我們可以看到RFC那長長的定義列表,現在它一共有4000多個協議的定義,當然,我們所要學習的,也就是那么十幾個協議而已。
?
4端口號(port)
注意,這個號碼是用在TCP,UDP上的一個邏輯號碼,并不是一個硬件端口,我們平時說把某某端口封掉了,也只是在IP層次把帶有這個號碼的IP包給過濾掉了而已。
?
5應用編程接口
現在常用的編程接口有socket和TLI。而前面的有時候也叫做“Berkeley socket”,可見Berkeley對于網絡的發展有多大的貢獻。
總結
以上是生活随笔為你收集整理的《TCP/IP详解》学习笔记(一):基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mcinfo.exe进程是什么意思 有何
- 下一篇: 动手学PaddlePaddle(4):M