這個(gè)tcp/ip的教程時(shí)主要是考慮到現(xiàn)在的網(wǎng)際網(wǎng)路幾乎全都是基于tcp/ip協(xié)議的,所以我們應(yīng)該明白的一點(diǎn)就是這個(gè)tcp/ip的架構(gòu)究竟是什么?它怎樣為我們服務(wù)。它成為被稱作“全球互聯(lián)網(wǎng)”或“因特網(wǎng)(Internet)”的基礎(chǔ),能夠?qū)⒔^大部分的計(jì)算機(jī)連接起來(lái),不管你用什么操作系統(tǒng),可見(jiàn)tcp/ip體系是本世紀(jì)互聯(lián)網(wǎng)發(fā)展的根本基石。對(duì)于網(wǎng)絡(luò)程序員來(lái)說(shuō);了解tcp/ip的機(jī)理,可以有構(gòu)造任何網(wǎng)絡(luò)應(yīng)用程序的基本要素,什么winsocket,串口通訊等等甚至木馬,你都會(huì)迎刃而解。
一
首先說(shuō)說(shuō)網(wǎng)絡(luò)協(xié)議的層次,網(wǎng)絡(luò)協(xié)議通常分不同層次進(jìn)行開(kāi)發(fā),每一層分別負(fù)責(zé)不同的通信功能。一個(gè)協(xié)議族,比如T C P / I P,是一組不同層次上的多個(gè)協(xié)議的組合。
(1) 鏈路層,有時(shí)也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序和計(jì)算中對(duì)應(yīng)的網(wǎng)絡(luò)接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細(xì)節(jié)。
(2) 網(wǎng)絡(luò)層,有時(shí)也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡(luò)中的活動(dòng),例如分組的選路。在T C P / I P協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括I P協(xié)議(網(wǎng)際協(xié)議),I C M P協(xié)議(I n t e r n e t互聯(lián)網(wǎng)控制報(bào)文協(xié)議),以及I G M P協(xié)議(I n t e r n e t組管理協(xié)議)。
(3)運(yùn)輸層,主要為兩臺(tái)主機(jī)上的應(yīng)用程序提供端到端的通信。在T C P / I P協(xié)議族中,有兩個(gè)互不相同的傳輸協(xié)議: T C P(傳輸控制協(xié)議)和U D P(用戶數(shù)據(jù)報(bào)協(xié)議)。T C P為兩臺(tái)主機(jī)提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時(shí)時(shí)鐘等。由于運(yùn)輸層提供了高可靠性的端到端的通信,因此應(yīng)用層可以忽略所有這些細(xì)節(jié)。而另一方面, U D P則為應(yīng)用層提供一種非常簡(jiǎn)單的服務(wù)。它只是把稱作數(shù)據(jù)報(bào)的分組從一臺(tái)主機(jī)發(fā)送到另一臺(tái)主機(jī),但并不保證該數(shù)據(jù)報(bào)能到達(dá)另一端。任何必需的可靠性必須由應(yīng)用層來(lái)提供。
應(yīng)用層 Telnet、FTP和e-mail等
運(yùn)輸層 TCP和UDP
網(wǎng)絡(luò)層 IP、ICMP和IGMP
鏈路層 設(shè)備驅(qū)動(dòng)程序及接口卡
(4)應(yīng)用層,負(fù)責(zé)處理特定的應(yīng)用程序細(xì)節(jié)。幾乎各種不同的T C P / I P實(shí)現(xiàn)都會(huì)提供下面這些通用的應(yīng)用程序:?Telnet 遠(yuǎn)程登錄,F(xiàn)TP 文件傳輸協(xié)議,SMTP 簡(jiǎn)單郵件傳送協(xié)議,SNMP 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,現(xiàn)在想要給大家說(shuō)的是大多數(shù)的網(wǎng)絡(luò)應(yīng)用程序都被設(shè)計(jì)成客戶—服務(wù)器模式在同一層上,雙方都有對(duì)應(yīng)的一個(gè)或多個(gè)協(xié)議進(jìn)行通信。例如,某個(gè)協(xié)議允許T C P層進(jìn)行通信,而另一個(gè)協(xié)議則允許兩個(gè)I P層進(jìn)行通信。
這里實(shí)際上就是說(shuō)應(yīng)用層本身本不注意數(shù)據(jù)的傳遞和交換,它一般只是一個(gè)用戶進(jìn)程,而上面我提到的運(yùn)輸層及其以下的三層的目的就是處理通信的過(guò)程,他們不管你應(yīng)用程序的事,分工明確。
二
還有一個(gè)概念問(wèn)題,我們平時(shí)所聽(tīng)到的諸如tcp,ip,ftp等等,實(shí)際上協(xié)議本身是獨(dú)立的,tcp是運(yùn)輸層協(xié)議,ip是網(wǎng)絡(luò)層協(xié)議T C P / I P協(xié)議族是一組不同的協(xié)議組合在一起構(gòu)成的協(xié)議族。盡管通常稱該協(xié)議族為T C P / I P,但T C P和I P只是其中的兩種協(xié)議而已(該協(xié)議族的另一個(gè)名字是I n t e r n e t協(xié)議族(Internet Protocol Suite))網(wǎng)絡(luò)接口層和應(yīng)用層的目的是很顯然的—前者處理有關(guān)通信媒介的細(xì)節(jié)(以太網(wǎng)、令牌環(huán)網(wǎng)等),而后者處理某個(gè)特定的用戶應(yīng)用程序( F T P、Te l n e t等)。但是,從表面上看,網(wǎng)絡(luò)層和運(yùn)輸層之間的區(qū)別不那么明顯。
構(gòu)造互連網(wǎng)最簡(jiǎn)單的方法是把兩個(gè)或多個(gè)網(wǎng)絡(luò)通過(guò)路由器進(jìn)行連接。它是一種特殊的用于網(wǎng)絡(luò)互連的硬件盒。路由器的好處是為不同類型的物理網(wǎng)絡(luò)提供連接:以太網(wǎng)、令牌環(huán)網(wǎng)、點(diǎn)對(duì)點(diǎn)的鏈接和F D D I(光纖分布式數(shù)據(jù)接口)等等。這些盒子也稱作I P路由器(IP Router),但我們這里使用路由器( R o u t e r )這個(gè)術(shù)語(yǔ)。
(責(zé)任編輯:武林網(wǎng))
新聞熱點(diǎn)
疑難解答
圖片精選