昨天我們結(jié)束時(shí)到了UDP協(xié)議,今天我們繼續(xù)
<2>.UDP協(xié)議頭
(1)UDP端口號(hào):UDP協(xié)議通過端口號(hào)來區(qū)分不同程序的程序所需要的數(shù)據(jù)包。長(zhǎng)度為16bit。
(2)UDP檢驗(yàn)和:這是可選的選項(xiàng),并不是所有系統(tǒng)都對(duì)UDP數(shù)據(jù)包加以檢驗(yàn),但是
RFC中標(biāo)準(zhǔn)要求發(fā)送端應(yīng)該計(jì)算檢驗(yàn)和。
UDP檢驗(yàn)和覆蓋UDP協(xié)議頭和數(shù)據(jù),這和IP的檢驗(yàn)和不一樣,IP的檢驗(yàn)和只覆蓋IP數(shù)據(jù)頭,并不覆蓋所有數(shù)據(jù)。UDP和TCP都包含一個(gè)偽首部,這是為了計(jì)算檢驗(yàn)和而設(shè)置的。偽首部還包括IP地址這樣的IP協(xié)議里都有的信息。目的是讓兩次檢查數(shù)據(jù)是否已經(jīng)正確到達(dá)目的地。
(3).UDP長(zhǎng)度:它的長(zhǎng)度可以達(dá)到65535字節(jié)。但是一般的網(wǎng)絡(luò)在傳輸?shù)臅r(shí)候,一次一般傳送不了那么長(zhǎng)的協(xié)議,就只好對(duì)數(shù)據(jù)分片。
<3>.IP分片:IP從上層接到數(shù)據(jù)之后,要根據(jù)IP地址來判斷從哪個(gè)接口發(fā)送數(shù)據(jù),并進(jìn)行MTU的查詢,如果數(shù)據(jù)大小超過MTU就進(jìn)行數(shù)據(jù)分片。數(shù)據(jù)的分片是對(duì)上下層透明的,而數(shù)據(jù)也只是達(dá)到目的地還會(huì)被重新組裝。IP層提供了足夠多的信息進(jìn)行數(shù)據(jù)的再組裝。
在IP頭內(nèi),16bit識(shí)別號(hào)唯一記錄了一個(gè)IP包的ID,具有同一個(gè)ID的IP片將會(huì)被重新組裝,而13位片偏移則記錄了某IP片相對(duì)于整個(gè)包的位置;而這兩個(gè)表示中間3bit標(biāo)志表示著該分片后邊是否還有新的分片。這三個(gè)標(biāo)示就組成了IP分片的所有信息,接收方就可以利用這些信息對(duì)IP數(shù)據(jù)重新組織。
但是,由于分片技術(shù)在網(wǎng)絡(luò)上經(jīng)常被使用,所以偽造IP分片包進(jìn)行流氓攻擊的軟件也就多了起來,可以使用Trancdroute程序來進(jìn)行簡(jiǎn)單的MTU偵測(cè)。
<3>.UDP和ARP之間的交互使用
當(dāng)ARP緩存還是空的時(shí)候,UDP在被發(fā)送之前需要發(fā)送一個(gè)ARP請(qǐng)求來獲得目的主機(jī)的MAC地址,如果這個(gè)UDP的數(shù)據(jù)包足夠大,大到IP層一定要對(duì)其進(jìn)行分片的時(shí)候,該UDP數(shù)據(jù)包的第一個(gè)分片會(huì)發(fā)送一個(gè)ARP查詢請(qǐng)求,但是有些系統(tǒng)會(huì)讓每一個(gè)分片都發(fā)送一個(gè)ARP查詢,所有的片都在等待,但是接受到第一個(gè)回應(yīng)的時(shí)候,,主機(jī)卻發(fā)送了最后一個(gè)數(shù)據(jù)片而拋棄了其他的...,這樣的數(shù)據(jù)不能被及時(shí)組裝,接收主機(jī)將會(huì)在一段時(shí)間內(nèi)無法組裝的IP數(shù)據(jù)包拋棄,并發(fā)送組裝超時(shí)的ICMP報(bào)文。以保證接收主機(jī)不會(huì)自己的接收端緩存不會(huì)被那些總也得不到組裝的分片裝滿。
3.TCP協(xié)議
UDP協(xié)議的優(yōu)點(diǎn)是比較簡(jiǎn)單,容易實(shí)現(xiàn),但是它的可靠性比較差,一旦數(shù)據(jù)包發(fā)出了,無法知道對(duì)方是否收到。
為了解決這個(gè)問題,提高網(wǎng)絡(luò)的可靠性,TCP協(xié)議就誕生了,它可被近似認(rèn)為是一個(gè)有確認(rèn)機(jī)制的UDP協(xié)議,每發(fā)出一個(gè)數(shù)據(jù)包都被要求確認(rèn)。如果有一個(gè)數(shù)據(jù)包遺失,就收不到確認(rèn),發(fā)出方就知道有必要重新發(fā)送這個(gè)數(shù)據(jù)包了。TCP協(xié)議能夠確保數(shù)據(jù)不會(huì)遺失,但是他的缺點(diǎn)就是過程復(fù)雜,實(shí)現(xiàn)困難,消耗較多的資源。
TCP數(shù)據(jù)包和UDP數(shù)據(jù)包都是內(nèi)嵌在IP數(shù)據(jù)包的數(shù)據(jù)部分。TCP數(shù)據(jù)包沒有長(zhǎng)度限制,;理論上可以無限長(zhǎng)。通常TCP數(shù)據(jù)包不會(huì)超過IP數(shù)據(jù)包的長(zhǎng)度,以確保單個(gè)TCP數(shù)據(jù)包不必再分割。
-
TCP協(xié)議
+關(guān)注
關(guān)注
1文章
101瀏覽量
12124 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8908瀏覽量
137799
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論