資源描述:
《網(wǎng)絡(luò)管理之tcp-udp篇》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、網(wǎng)絡(luò)管理之TCP/UDP篇~教育資源庫 我們學(xué)習(xí)過什么是數(shù)據(jù)包。理解數(shù)據(jù)包,對(duì)于網(wǎng)絡(luò)管理的網(wǎng)絡(luò)安全具有至關(guān)重要的意義。比如,防火墻的作用本質(zhì)就是檢測(cè)網(wǎng)絡(luò)中的數(shù)據(jù)包,判斷其是否違反了預(yù)先設(shè)置的規(guī)則,如果違反就加以阻止。圖1就是瑞星個(gè)人版防火墻軟件設(shè)置規(guī)則的界面。細(xì)心的讀者會(huì)發(fā)現(xiàn),圖1中的協(xié)議欄中有TCP、UDP等名詞,它們是什么意思呢?現(xiàn)在我們就來講講什么是TCP和UDP?! ∶嫦蜻B接的TCP 面向連接就是在正式通信前必須要與對(duì)方建立起連接。比如你給別人打,必須等線路接通了、對(duì)方拿起話筒才能相互通話?! D1 TCP(TransmissionControlProtocol,傳輸控
2、制協(xié)議)是基于連接的協(xié)議,也就是說,在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接。一個(gè)TCP連接必須要經(jīng)過三次對(duì)話才能建立起來,其中的過程非常復(fù)雜,我們這里只做簡(jiǎn)單、形象的介紹,你只要做到能夠理解這個(gè)過程即可。我們來看看這三次對(duì)話的簡(jiǎn)單過程:主機(jī)A向主機(jī)B發(fā)出連接請(qǐng)求數(shù)據(jù)包:我想給你發(fā)數(shù)據(jù),可以嗎?,這是第一次對(duì)話;主機(jī)B向主機(jī)A發(fā)送同意連接和要求同步(同步就是兩臺(tái)主機(jī)一個(gè)在發(fā)送,一個(gè)在接收,協(xié)調(diào)工作)的數(shù)據(jù)包:可以,你什么時(shí)候發(fā)?,這是第二次對(duì)話;主機(jī)A再發(fā)出一個(gè)數(shù)據(jù)包確認(rèn)主機(jī)B的要求同步:我現(xiàn)在就發(fā),你接著吧!,這是第三次對(duì)話。三次對(duì)話的目的是使數(shù)據(jù)包的發(fā)送和接收同步,經(jīng)過三次對(duì)話之后
3、,主機(jī)A才向主機(jī)B正式發(fā)送數(shù)據(jù)?! CP協(xié)議能為應(yīng)用程序提供可靠的通信連接,使一臺(tái)計(jì)算機(jī)發(fā)出的字節(jié)流無差錯(cuò)地發(fā)往網(wǎng)絡(luò)上的其他計(jì)算機(jī),對(duì)可靠性要求高的數(shù)據(jù)通信系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù)?! D2 我們來做一個(gè)實(shí)驗(yàn),用計(jì)算機(jī)A(安裝Windows2000Server操作系統(tǒng))從網(wǎng)上鄰居上的一臺(tái)計(jì)算機(jī)B拷貝大小為8,644,608字節(jié)的文件,通過狀態(tài)欄右下角網(wǎng)卡的發(fā)送和接收指標(biāo)就會(huì)發(fā)現(xiàn):雖然是數(shù)據(jù)流是由計(jì)算機(jī)B流向計(jì)算機(jī)A,但是計(jì)算機(jī)A仍發(fā)送了3,456個(gè)數(shù)據(jù)包,如圖2所示。這些數(shù)據(jù)包是怎樣產(chǎn)生的呢?因?yàn)槲募鬏敃r(shí)使用了TCP/IP協(xié)議,更確切地說是使用了面向連接的TCP協(xié)議,計(jì)算
4、機(jī)A接收數(shù)據(jù)包的時(shí)候,要向計(jì)算機(jī)B回發(fā)數(shù)據(jù)包,所以也產(chǎn)生了一些通信量?! D3 如果事先用網(wǎng)絡(luò)監(jiān)視器監(jiān)視網(wǎng)絡(luò)流量,就會(huì)發(fā)現(xiàn)由此產(chǎn)生的數(shù)據(jù)流量是9,478,819字節(jié),比文件大小多出10.96%(如圖3所示),原因不僅在于數(shù)據(jù)包和幀本身占用了一些空間,而且也在于TCP協(xié)議面向連接的特性導(dǎo)致了一些額外的通信量的產(chǎn)生?! ∶嫦蚍沁B接的UDP協(xié)議 面向非連接就是在正式通信前不必與對(duì)方先建立連接,不管對(duì)方狀態(tài)就直接發(fā)送。這與現(xiàn)在風(fēng)行的短信非常相似:你在發(fā)短信的時(shí)候,只需要輸入對(duì)方號(hào)就OK了。 UDP(UserDataProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議。它是面向非連接
5、的協(xié)議,它不與對(duì)方建立連接,而是直接就把數(shù)據(jù)包發(fā)送過去! 圖4 UDP適用于一次只傳送少量數(shù)據(jù)、對(duì)可靠性要求不高的應(yīng)用環(huán)境。比如,我們經(jīng)常使用ping命令來測(cè)試兩臺(tái)主機(jī)之間TCP/IP通信是否正常,其實(shí)ping命令的原理就是向?qū)Ψ街鳈C(jī)發(fā)送UDP數(shù)據(jù)包,然后對(duì)方主機(jī)確認(rèn)收到數(shù)據(jù)包,如果數(shù)據(jù)包是否到達(dá)的消息及時(shí)反饋回來,那么網(wǎng)絡(luò)就是通的。例如,在默認(rèn)狀態(tài)下,一次ping操作發(fā)送4個(gè)數(shù)據(jù)包(如圖2所示)。大家可以看到,發(fā)送的數(shù)據(jù)包數(shù)量是4包,收到的也是4包(因?yàn)閷?duì)方主機(jī)收到后會(huì)發(fā)回一個(gè)確認(rèn)收到的數(shù)據(jù)包)。這充分說明了UDP協(xié)議是面向非連接的協(xié)議,沒有建立連接的過程。正因?yàn)閁DP協(xié)議沒有
6、連接的過程,所以它的通信效果高;但也正因?yàn)槿绱?,它的可靠性不如TCP協(xié)議高。就使用UDP發(fā)消息,因此有時(shí)會(huì)出現(xiàn)收不到消息的情況?! 「奖恚簍cp協(xié)議和udp協(xié)議的差別 TCP協(xié)議和UDP協(xié)議各有所長(zhǎng)、各有所短,適用于不同要求的通信環(huán)境。TCP協(xié)議和UDP協(xié)議之間的差別如附表所示。友情提醒:,特別!