本系列文章均基于《TCP/IP 詳解 卷一:協(xié)議》及維基百科(嘿嘿嘿)
首先我們聊個讓耳朵起繭的話題,網絡協(xié)議的基礎分層斧吐,沒錯又固,就是毫無新意的——鏈路層、網絡層煤率、運輸層口予、應用層。此處只需要理解:
1.各分層之間并無明顯界限涕侈;
2.每一分層都是多種協(xié)議構成的協(xié)議簇沪停。
然后,讓我們稍稍聊聊這四層協(xié)議簇:
1.鏈路層——主要處理硬件層(網卡,包括以太網接口木张、回環(huán)接口众辨、串行接口等)的相關事宜,這層內容筆者只會稍稍帶過,并不會于后續(xù)進行過多探討耸弄。
2.網絡層——其核心協(xié)議即IP 協(xié)議侈询,主要處理各類分組于網絡中的活動。需要注意的點是蛛株,網絡層完全不關心鏈路層的實現(xiàn)細節(jié);網絡層是逐跳協(xié)議(每跳可理解成IP 路由器或者具有路由功能的主機)育拨;并且IP 協(xié)議很光棍谨履,他不可靠,還一副滿不在乎的樣子熬丧。另外笋粟,IP 選路機制是該層的精華所在,一個IP 選路機制的實現(xiàn)離不開兩點(a.選路策略析蝴,關鍵在于路由表的維護害捕,這部分實現(xiàn)依賴于路由守護線程;b.執(zhí)行選路機制闷畸,這部分內容就在于IP 協(xié)議如何利用路由表進行合理選路)尝盼,上述兩點會是后續(xù)章節(jié)討論要點。
3.運輸層——服務對象主要是主機上的應用程序佑菩,提供可靠(TCP)的端到端通信盾沫,它致力于把應用程序托付的數(shù)據(jù)塊進行合理分割,生成網絡層可用的分組倘待,最后當然不能忘記給光棍的IP 協(xié)議擦屁股疮跑,故網絡協(xié)議的高可靠性多數(shù)由上層保證。
4.應用層——這層沒啥凸舵,就了解些常用應用吧祖娘,咱瞅瞅都叫啥
A.Telnet 遠程登錄
B.FTP 文件傳輸協(xié)議
C.SMTP 簡單郵件傳送協(xié)議(書比較老,就有些老東西啊奄,但是協(xié)議足夠堅挺)
D.SNMP 簡單網絡管理協(xié)議
我們需要樹立一個概念渐苏,網絡協(xié)議的各層之間相對獨立,同層之間才會互相交換信息菇夸,具有良好的封裝性琼富。
然后首先需要聊的就是Internet 地址即IP 地址(也就是現(xiàn)在大家經常提到的外網IP),這貨長度32bit庄新,全網唯一鞠眉,很遺憾這亦僅針對外網薯鼠,誰讓IPv4不夠用呢。當然IP 地址并非扁平的械蹋,它具有一定結構(劃分不同長度的網絡號與主機號)出皇,也就是所謂的ABCDE 類地址,具體如下:
再來張高清無碼:
之后章節(jié)筆者會再重點聊下子網掩碼的那些破事。
外網擁有IP 后就能夠順利找到各網絡接口唯咬,但是很明顯這串數(shù)字反人類還不好記(商人和用戶都不喜)纱注,故DNS 出現(xiàn)——本質上是個數(shù)據(jù)庫,保存主機名與IP 地址的映射胆胰。于是各種DNS 解析服務自然就是提供本地或者在線的標準函數(shù)庫從數(shù)據(jù)庫中獲取數(shù)據(jù)記錄狞贱。
先了解下整體特性。
當用戶數(shù)據(jù)片段開始入網傳遞時煮剧,網絡協(xié)議的每層都需要對其進行封裝斥滤,這一封裝行為可以理解成對數(shù)據(jù)加裝頭尾的操作(也就是所說的TCP 首部将鸵、IP 首部勉盅、以太網首部等),每一協(xié)議的標識只被自己認識亦只被自己關心顶掉。
反之草娜,當鏈路層數(shù)據(jù)幀進入過程中的路由器或者目的主機進行解析時,就需要各協(xié)議對于數(shù)據(jù)由底層向上層逐級“去殼”(讀取首部內容并響應合適動作)痒筒,此過程就是分用宰闰。
那么分用過程中,運輸層如何確定該用戶數(shù)據(jù)應該交由哪個應用程序處理呢簿透?我們總不能記應用程序的名字吧移袍,那何止千千萬啊。
沒錯老充,就是端口號葡盗。有些端口號固定即知名端口號(FTP 21,Telnet 23,TFTP 69等),有些端口號則是應用程序啟動后臨時分配啡浊,譬如tomcat觅够。
欲知后事,且聽下回……