本系列文章均基于《TCP/IP 詳解 卷一:協(xié)議》及維基百科(嘿嘿嘿)
首先我們聊個讓耳朵起繭的話題,網(wǎng)絡(luò)協(xié)議的基礎(chǔ)分層,沒錯,就是毫無新意的——鏈路層、網(wǎng)絡(luò)層、運輸層、應(yīng)用層。此處只需要理解:
1.各分層之間并無明顯界限;
2.每一分層都是多種協(xié)議構(gòu)成的協(xié)議簇。
然后,讓我們稍稍聊聊這四層協(xié)議簇:
1.鏈路層——主要處理硬件層(網(wǎng)卡,包括以太網(wǎng)接口、回環(huán)接口、串行接口等)的相關(guān)事宜,這層內(nèi)容筆者只會稍稍帶過,并不會于后續(xù)進行過多探討。
2.網(wǎng)絡(luò)層——其核心協(xié)議即IP 協(xié)議,主要處理各類分組于網(wǎng)絡(luò)中的活動。需要注意的點是,網(wǎng)絡(luò)層完全不關(guān)心鏈路層的實現(xiàn)細節(jié);網(wǎng)絡(luò)層是逐跳協(xié)議(每跳可理解成IP 路由器或者具有路由功能的主機);并且IP 協(xié)議很光棍,他不可靠,還一副滿不在乎的樣子。另外,IP 選路機制是該層的精華所在,一個IP 選路機制的實現(xiàn)離不開兩點(a.選路策略,關(guān)鍵在于路由表的維護,這部分實現(xiàn)依賴于路由守護線程;b.執(zhí)行選路機制,這部分內(nèi)容就在于IP 協(xié)議如何利用路由表進行合理選路),上述兩點會是后續(xù)章節(jié)討論要點。
3.運輸層——服務(wù)對象主要是主機上的應(yīng)用程序,提供可靠(TCP)的端到端通信,它致力于把應(yīng)用程序托付的數(shù)據(jù)塊進行合理分割,生成網(wǎng)絡(luò)層可用的分組,最后當然不能忘記給光棍的IP 協(xié)議擦屁股,故網(wǎng)絡(luò)協(xié)議的高可靠性多數(shù)由上層保證。
4.應(yīng)用層——這層沒啥,就了解些常用應(yīng)用吧,咱瞅瞅都叫啥
A.Telnet 遠程登錄
B.FTP 文件傳輸協(xié)議
C.SMTP 簡單郵件傳送協(xié)議(書比較老,就有些老東西,但是協(xié)議足夠堅挺)
D.SNMP 簡單網(wǎng)絡(luò)管理協(xié)議
我們需要樹立一個概念,網(wǎng)絡(luò)協(xié)議的各層之間相對獨立,同層之間才會互相交換信息,具有良好的封裝性。
然后首先需要聊的就是Internet 地址即IP 地址(也就是現(xiàn)在大家經(jīng)常提到的外網(wǎng)IP),這貨長度32bit,全網(wǎng)唯一,很遺憾這亦僅針對外網(wǎng),誰讓IPv4不夠用呢。當然IP 地址并非扁平的,它具有一定結(jié)構(gòu)(劃分不同長度的網(wǎng)絡(luò)號與主機號),也就是所謂的ABCDE 類地址,具體如下:

再來張高清無碼:

之后章節(jié)筆者會再重點聊下子網(wǎng)掩碼的那些破事。
外網(wǎng)擁有IP 后就能夠順利找到各網(wǎng)絡(luò)接口,但是很明顯這串數(shù)字反人類還不好記(商人和用戶都不喜),故DNS 出現(xiàn)——本質(zhì)上是個數(shù)據(jù)庫,保存主機名與IP 地址的映射。于是各種DNS 解析服務(wù)自然就是提供本地或者在線的標準函數(shù)庫從數(shù)據(jù)庫中獲取數(shù)據(jù)記錄。
先了解下整體特性。
當用戶數(shù)據(jù)片段開始入網(wǎng)傳遞時,網(wǎng)絡(luò)協(xié)議的每層都需要對其進行封裝,這一封裝行為可以理解成對數(shù)據(jù)加裝頭尾的操作(也就是所說的TCP 首部、IP 首部、以太網(wǎng)首部等),每一協(xié)議的標識只被自己認識亦只被自己關(guān)心。
反之,當鏈路層數(shù)據(jù)幀進入過程中的路由器或者目的主機進行解析時,就需要各協(xié)議對于數(shù)據(jù)由底層向上層逐級“去殼”(讀取首部內(nèi)容并響應(yīng)合適動作),此過程就是分用。
那么分用過程中,運輸層如何確定該用戶數(shù)據(jù)應(yīng)該交由哪個應(yīng)用程序處理呢?我們總不能記應(yīng)用程序的名字吧,那何止千千萬啊。
沒錯,就是端口號。有些端口號固定即知名端口號(FTP 21,Telnet 23,TFTP 69等),有些端口號則是應(yīng)用程序啟動后臨時分配,譬如tomcat。
欲知后事,且聽下回……