局域網(wǎng)通信原理.ppt_第1頁(yè)
局域網(wǎng)通信原理.ppt_第2頁(yè)
局域網(wǎng)通信原理.ppt_第3頁(yè)
局域網(wǎng)通信原理.ppt_第4頁(yè)
局域網(wǎng)通信原理.ppt_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、局域網(wǎng)通信原理傳輸層和應(yīng)用層,牟瑜力 MG0432039 ,主要內(nèi)容,TCP簡(jiǎn)介 UDP簡(jiǎn)介 應(yīng)用層協(xié)議,TCP協(xié)議,TCP:Transfer Control Protocol 提供端到端數(shù)據(jù)流服務(wù),其中包含確保數(shù)據(jù)可靠傳送的機(jī)制。這些機(jī)制包括校驗(yàn)和、序列號(hào)、計(jì)時(shí)器、確認(rèn)以及重傳過(guò)程。TCP是一種面向連接的協(xié)議,可以為應(yīng)用層提供可靠、有序的數(shù)據(jù)傳送。,IPv4頭部格式,建立連接的三路握手,服務(wù)器必須準(zhǔn)備好接受外來(lái)的連接。這通過(guò)調(diào)用socket,bind,listen函數(shù)來(lái)完成,稱(chēng)為被動(dòng)打開(kāi)(passive open)。 客戶同過(guò)調(diào)用connect進(jìn)行主動(dòng)打開(kāi)(active open),這引起客

2、戶tcp發(fā)送一個(gè)SYN分節(jié)(表示同步),它告訴服務(wù)器客戶將在(待建立的)連接中發(fā)送的數(shù)據(jù)的初始序列號(hào)。一般情況下SYN分節(jié)不攜帶數(shù)據(jù),它只含有一個(gè)IP頭部、一個(gè)TCP頭部及可能有的TCP選項(xiàng)。 服務(wù)器必須確認(rèn)客戶的SYN,同時(shí)自己也得發(fā)送一個(gè)SYN分節(jié),它含有服務(wù)器將在同一連接中發(fā)送的數(shù)據(jù)的初始序列號(hào)。服務(wù)器以單個(gè)分節(jié)向客戶發(fā)送SYN和對(duì)客戶SYN的ACK。 客戶必須確認(rèn)服務(wù)器的SYN。,建立連接的報(bào)文交換,終止連接的四個(gè)分節(jié),某個(gè)應(yīng)用進(jìn)程首先調(diào)用close,我們稱(chēng)這一端執(zhí)行主動(dòng)關(guān)閉(active close)。這一端的TCP于是發(fā)送一個(gè)FIN分節(jié),表示數(shù)據(jù)發(fā)送完畢。 接收到FIN的另一端執(zhí)行

3、被動(dòng)關(guān)閉(passive close)。這個(gè)FIN由TCP確認(rèn)。它的接收也作為文件結(jié)束符傳遞給接收方應(yīng)用進(jìn)程(放在已排隊(duì)等候該應(yīng)用進(jìn)程接收的任何其他數(shù)據(jù)之后),因?yàn)镕IN的接收意味著應(yīng)用進(jìn)程在相應(yīng)的連接上再也接收不到額外的數(shù)據(jù)。 一段時(shí)間后,接收到文件結(jié)束符的應(yīng)用進(jìn)程將調(diào)用close關(guān)閉它的套接口。這導(dǎo)致它的TCP也發(fā)送一個(gè)FIN。 接收到這個(gè)FIN的原發(fā)送方TCP(即執(zhí)行主動(dòng)關(guān)閉的那一端)對(duì)它進(jìn)行確認(rèn)。,終止連接的報(bào)文交換,TCP狀態(tài)轉(zhuǎn)換圖,TCP正常連接建立和終止所對(duì)應(yīng)的狀態(tài),TIME_WAIT狀態(tài),該狀態(tài)持續(xù)時(shí)間是最長(zhǎng)分節(jié)生命期MSL(maximum segment lifetime)的

4、兩倍,有時(shí)稱(chēng)為2MSL。 存在該狀態(tài)的兩個(gè)理由: 實(shí)現(xiàn)終止TCP全雙工連接的可靠性; 允許老的重復(fù)分節(jié)在網(wǎng)絡(luò)中消逝。 在該狀態(tài)期間,定義這個(gè)連接的套接口(客戶的IP和端口號(hào)、服務(wù)器的IP和端口號(hào))不能再被使用。,端口號(hào)的分配,TCP同時(shí)打開(kāi),交換四個(gè)報(bào)文段,每一端既是客戶又是服務(wù)器,TCP同時(shí)關(guān)閉,交換四個(gè)報(bào)文段,TCP的交互數(shù)據(jù)流,Nagle算法(RFC 896Nagle 1984) 使用該算法的原因 算法概念,原因,在廣域網(wǎng)上,大量小分組的存在會(huì)增加網(wǎng)絡(luò)擁塞的可能性。小分組就是數(shù)據(jù)包尺寸很小的分組,比如一個(gè)數(shù)據(jù)包只包含41字節(jié)長(zhǎng):20字節(jié)的IP首部、20字節(jié)的TCP首部和1字節(jié)的數(shù)據(jù)。,N

5、agle算法,該算法要求一個(gè)TCP連接上最多只能有一個(gè)未被確認(rèn)的未完成的小分組,在該分組的確認(rèn)到達(dá)之前不能發(fā)送其他的小分組。相反,TCP收集這些少量的分組,并在確認(rèn)到來(lái)時(shí)以一個(gè)分組的方式發(fā)出去。該算法的優(yōu)越之處在于它是自適應(yīng)的:確認(rèn)到達(dá)得越快,數(shù)據(jù)也就發(fā)送得越快。而在希望減少微小分組數(shù)目的低速?gòu)V域網(wǎng)上,則會(huì)發(fā)送更少的分組。,TCP的成塊數(shù)據(jù)流,滑動(dòng)窗口 窗口大小 慢啟動(dòng),滑動(dòng)窗口-1,滑動(dòng)窗口-2,滑動(dòng)窗口-3,發(fā)送方不必發(fā)送一個(gè)全窗口大小的數(shù)據(jù)。 來(lái)自接收方的一個(gè)報(bào)文段確認(rèn)數(shù)據(jù)并把窗口向右邊滑動(dòng)。這是因?yàn)榇翱诖笮∈窍鄬?duì)于確認(rèn)序號(hào)的。 正如從報(bào)文段7到8中的變化那樣,窗口大小可以減少,但窗口的

6、右邊沿卻不能向左移動(dòng)。 接收方在發(fā)送一個(gè)ACK前不必等待窗口被填滿。許多實(shí)現(xiàn)每收到兩個(gè)報(bào)文段就會(huì)發(fā)送一個(gè)ACK。,窗口大小,4.2BSD默認(rèn)設(shè)置發(fā)送和接收緩沖區(qū)大小為2048字節(jié)。在4.3BSD中雙方被增加為4096字節(jié)。SunOS4.1.3、BSD/386和SVR4仍然使用4096字節(jié)的默認(rèn)大小。其他系統(tǒng),如Solaris2.2、4.4BSD和AIX3.2則使用更大的默認(rèn)緩存大小,如8192或16384等。,慢啟動(dòng)(Slow Start),提出原因: 發(fā)送方一開(kāi)始就向網(wǎng)絡(luò)發(fā)送多個(gè)報(bào)文段,直至達(dá)到接收方通告的窗口大小為止。當(dāng)發(fā)送方和接收方處于同一個(gè)局域網(wǎng)時(shí),這種方式是可以的。但若在發(fā)送方和接收

7、方之間存在多個(gè)路由器和速率較慢的鏈路時(shí),就可能出現(xiàn)一些問(wèn)題。一些中間的路由器必須緩存分組,并有可能耗盡存儲(chǔ)器的空間。這會(huì)嚴(yán)重降低TCP連接的吞吐量。,慢啟動(dòng)算法描述,該算法通過(guò)觀察到新分組進(jìn)入網(wǎng)絡(luò)的速率應(yīng)該與另一端返回確認(rèn)的速率相同而進(jìn)行工作。 滿啟動(dòng)為發(fā)送方的TCP增加了另一個(gè)窗口:擁塞窗口(記為cwnd)。當(dāng)與另一個(gè)網(wǎng)絡(luò)的主機(jī)建立TCP連接時(shí),擁塞窗口被初始化為1個(gè)報(bào)文段(即另一端通告的報(bào)文段大小)。每收到一個(gè)ACK,擁塞窗口就增加一個(gè)報(bào)文段(cwnd以字節(jié)為單位,但慢啟動(dòng)以報(bào)文段大小為單位進(jìn)行增加)。發(fā)送方取擁塞窗口與通告窗口中的最小值作為發(fā)送上限。擁塞窗口是發(fā)送方使用的流量控制,而通告

8、窗口則是接收方使用的流量控制。 發(fā)送方開(kāi)始時(shí)發(fā)送一個(gè)報(bào)文段,然后等待ACK。當(dāng)收到該ACK時(shí),擁塞窗口從1增為2,即可以發(fā)送兩個(gè)報(bào)文段。當(dāng)收到這兩個(gè)報(bào)文段的ACK時(shí),擁塞窗口增為4。這是一種倍數(shù)增加的關(guān)系(2倍 )。 在某些點(diǎn)上可能達(dá)到了互聯(lián)網(wǎng)的容量,于是中間路由器開(kāi)始丟棄分組。這就通知發(fā)送方它的擁塞窗口開(kāi)得過(guò)大。,TCP的超時(shí)與重傳,概念 快速重傳與快速恢復(fù)算法 重新分組,超時(shí)與重傳的概念,TCP提供可靠的運(yùn)輸層。它使用的方法之一就是確認(rèn)從另一端收到的數(shù)據(jù)。但數(shù)據(jù)和確認(rèn)都有可能會(huì)丟失。TCP通過(guò)在發(fā)送時(shí)設(shè)置一個(gè)定時(shí)器來(lái)解決這種問(wèn)題。若當(dāng)定時(shí)器溢出時(shí)還沒(méi)有收到確認(rèn),它就重傳該數(shù)據(jù)。對(duì)任何實(shí)現(xiàn)而

9、言,關(guān)鍵之處就在于超時(shí)和重傳的策略,即怎樣決定超時(shí)間隔和如何確定重傳的頻率。,快速重傳與快速恢復(fù)算法,Cwnd:擁塞窗口; ssthresh:慢啟動(dòng)門(mén)限 算法如下: 當(dāng)收到第三個(gè)重復(fù)的ACK時(shí),將ssthresh設(shè)置為當(dāng)前擁塞窗口cwnd的一半。重傳丟失的報(bào)文段。設(shè)置cwnd為ssthresh加上3倍的報(bào)文段大小。 每次收到另一個(gè)重復(fù)的ACK時(shí),cwnd增加1個(gè)報(bào)文段大小并發(fā)送1個(gè)分組(若新的cwnd允許發(fā)送)。 當(dāng)下一個(gè)確認(rèn)新數(shù)據(jù)的ACK到達(dá)時(shí),設(shè)置cwnd為ssthresh(在第1步中設(shè)置的值)。這個(gè)ACK應(yīng)該是在進(jìn)行重傳后的一個(gè)往返時(shí)間內(nèi)對(duì)步驟1中重傳的確認(rèn)。另外,這個(gè)ACk也應(yīng)該是對(duì)丟

10、失的分組和收到的第1個(gè)重復(fù)的ACK之間的所有中間報(bào)文段的確認(rèn)。,重新分組,當(dāng)TCP超時(shí)并重傳時(shí),它不一定要重傳同樣的報(bào)文段。相反,TCP允許進(jìn)行重新分組而發(fā)送一個(gè)較大的報(bào)文段,這將有助于提高性能(當(dāng)然,這個(gè)較大的報(bào)文段不能夠超過(guò)接收方聲明的MSS)。,UDP協(xié)議,UDP是一個(gè)簡(jiǎn)單的不可靠的數(shù)據(jù)報(bào)協(xié)議。 UDP提供無(wú)連接(connectionless)的服務(wù),因?yàn)閁DP客戶與服務(wù)器不必存在長(zhǎng)期的關(guān)系。 UDP不提供可靠性:它把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達(dá)目的地。,UDP首部,IP分片-1,應(yīng)用程序必須關(guān)心IP數(shù)據(jù)報(bào)的長(zhǎng)度。若它超過(guò)網(wǎng)絡(luò)的MTU,那么就要對(duì)IP數(shù)據(jù)報(bào)進(jìn)行

11、分片。如果需要,源端到目的端之間的每個(gè)網(wǎng)絡(luò)都要進(jìn)行分片,并不只是發(fā)送端主機(jī)連接第一個(gè)網(wǎng)絡(luò)才這樣做。 把一份IP數(shù)據(jù)報(bào)分片以后,只有到達(dá)目的地才進(jìn)行重新組裝。,IP分片-2,當(dāng)IP數(shù)據(jù)報(bào)被分片后,每一片都成為一個(gè)分組,具有自己的IP首部,并在選擇路由時(shí)與其他分組獨(dú)立。這樣,當(dāng)數(shù)據(jù)報(bào)的這些片到達(dá)目的端時(shí)有可能會(huì)失序,但是在IP首部中有足夠的信息讓接收端能正確組裝這些數(shù)據(jù)報(bào)片。 缺點(diǎn):即使只丟失一片數(shù)據(jù)也要重傳整個(gè)數(shù)據(jù)報(bào)。,ICMP不可達(dá)錯(cuò)誤(需要分片),IP首部標(biāo)志字段中有一個(gè)比特稱(chēng)作“不分片”位(DF位)。若將這一位置1,IP將不對(duì)數(shù)據(jù)報(bào)進(jìn)行分片。相反把數(shù)據(jù)報(bào)丟棄并發(fā)送一個(gè)ICMP差錯(cuò)報(bào)文(“d

12、estination unreachable, fragmentation needed but DF bit set”)給起始端。,廣播和多播,三種IP地址:?jiǎn)尾サ刂?、廣播地址和多播地址。 廣播和多播僅應(yīng)用于UDP,它們對(duì)需將報(bào)文同時(shí)傳往多個(gè)接收者的應(yīng)用來(lái)說(shuō)十分重要。 廣播:一個(gè)主機(jī)向網(wǎng)上的所有其他主機(jī)發(fā)送幀。 多播:幀僅傳送給屬于多播組的多個(gè)主機(jī)。,幀的過(guò)濾過(guò)程,首先,網(wǎng)卡查看由信道傳送過(guò)來(lái)的幀,確定是否接收該幀。通常網(wǎng)卡僅接收目的地址為網(wǎng)卡物理地址或廣播地址的幀。另外,多數(shù)接口均被設(shè)置為混合模式,該模式能接收每個(gè)幀的一個(gè)復(fù)制。 設(shè)備驅(qū)動(dòng)程序?qū)⑦M(jìn)行另外的幀過(guò)濾。首先,幀類(lèi)型中必須指定要使用

13、的協(xié)議(IP、ARP等)。其次,進(jìn)行多播過(guò)濾來(lái)檢測(cè)該主機(jī)是否屬于多播地址說(shuō)明的多播組。 IP層根據(jù)IP地址中的源地址和目的地址進(jìn)行更多的過(guò)濾檢測(cè)。若正常,則將數(shù)據(jù)報(bào)傳送給下一層(如TCP或UDP)。 每次UDP收到由IP 傳送來(lái)的數(shù)據(jù)報(bào),就根據(jù)目的端口號(hào),有時(shí)還有源端口號(hào)進(jìn)行數(shù)據(jù)報(bào)過(guò)濾。若當(dāng)前沒(méi)有進(jìn)程使用該目的端口號(hào),就丟棄該數(shù)據(jù)報(bào)并產(chǎn)生一個(gè)ICMP不可達(dá)報(bào)文(TCP根據(jù)它的端口號(hào)作相似的過(guò)濾)。若UDP數(shù)據(jù)報(bào)存在檢驗(yàn)和錯(cuò),將被丟棄。,過(guò)濾示意圖,廣播的分類(lèi),受限的廣播 指向網(wǎng)絡(luò)的廣播 指向子網(wǎng)的廣播 指向所有子網(wǎng)的廣播,受限的廣播,受限的廣播地址是255.255.255.255。該地址用于主

14、機(jī)配置過(guò)程中IP數(shù)據(jù)報(bào)的目的地址,此時(shí),主機(jī)可能還不知道它所在網(wǎng)絡(luò)的網(wǎng)絡(luò)掩碼,甚至連它的IP地址也不知道。 任何情況下,路由器都不轉(zhuǎn)發(fā)目的地址為受限的廣播地址的數(shù)據(jù)報(bào),這樣的數(shù)據(jù)報(bào)僅出現(xiàn)在本地網(wǎng)絡(luò)中。,指向網(wǎng)絡(luò)的廣播,指向網(wǎng)絡(luò)的廣播地址是主機(jī)號(hào)為全1的地址。A類(lèi)網(wǎng)絡(luò)廣播地址為netid.255.255.255,其中netid為A類(lèi)網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào)。 一個(gè)路由器必須轉(zhuǎn)發(fā)指向網(wǎng)絡(luò)的廣播,但它也必須有一個(gè)不進(jìn)行轉(zhuǎn)發(fā)的選擇。,指向子網(wǎng)的廣播,指向子網(wǎng)的廣播地址為主機(jī)號(hào)為全1且有特定子網(wǎng)號(hào)的地址。作為子網(wǎng)直接廣播地址的IP地址需要了解子網(wǎng)的掩碼。 例如,若路由器收到發(fā)往128.1.2.255的數(shù)據(jù)報(bào),當(dāng)B類(lèi)

15、網(wǎng)絡(luò)128.1的子網(wǎng)掩碼為255.255.255.0時(shí),該地址就是指向子網(wǎng)的廣播地址;但如果該子網(wǎng)的掩碼是255.255.254.0,該地址就不是指向子網(wǎng)的廣播地址。,指向所有子網(wǎng)的廣播,指向所有子網(wǎng)的廣播也需要了解目的網(wǎng)絡(luò)的子網(wǎng)掩碼,以便與指向網(wǎng)絡(luò)的廣播地址區(qū)分開(kāi)。指向所有子網(wǎng)的廣播地址的子網(wǎng)號(hào)及主機(jī)號(hào)為全1。 例如,若目的子網(wǎng)掩碼為255.255.255.0,那么IP地址128.1.255.255是一個(gè)指向所有子網(wǎng)的廣播地址。然而,若網(wǎng)絡(luò)沒(méi)有劃分子網(wǎng),這就是一個(gè)指向網(wǎng)絡(luò)的廣播。,多播,IP多播提供兩類(lèi)服務(wù): 向多個(gè)目的地址傳送數(shù)據(jù)。 客戶對(duì)服務(wù)器的請(qǐng)求。例如,無(wú)盤(pán)工作站需要確定啟動(dòng)引導(dǎo)服務(wù)

16、器。,多播組地址,分配的28bit均用作多播組號(hào)而不再表示其他。 多播地址范圍:從224.0.0.0到239.255.255.255 能夠接收發(fā)往一個(gè)特定多播組地址數(shù)據(jù)的主機(jī)集合稱(chēng)為主機(jī)組(host group)。一個(gè)主機(jī)組可跨越多個(gè)網(wǎng)絡(luò)。主機(jī)組中成員可隨時(shí)加入或離開(kāi)主機(jī)組。主機(jī)組中對(duì)主機(jī)的數(shù)量沒(méi)有限制,同時(shí)不屬于某一主機(jī)組的主機(jī)可以向該組發(fā)送信息。,多播組地址到以太網(wǎng)地址的轉(zhuǎn)換,I A N A擁有一個(gè)以太網(wǎng)地址塊,即高位24 bit為0 0 : 0 0 : 5 e(十六進(jìn)制表示),這意味著該地址塊所擁有的地址范圍從0 0 : 0 0 : 5 e : 0 0 : 0 0 : 0 0到0 0 :

17、 0 0 : 5 e : ff : ff : ff。I A N A將其中的一半分配為多播地址。為了指明一個(gè)多播地址,任何一個(gè)以太網(wǎng)地址的首字節(jié)必須是0 1,這意味著與I P多播相對(duì)應(yīng)的以太網(wǎng)地址范圍從0 1 : 0 0 : 5 e : 0 0 : 0 0 : 0 0到0 1 : 0 0 : 5 e : 7 f : ff : ff。 這種地址分配將使以太網(wǎng)多播地址中的2 3 b i t與I P多播組號(hào)對(duì)應(yīng)起來(lái),通過(guò)將多播組號(hào)中的低位2 3 b i t映射到以太網(wǎng)地址中的低位2 3 b i t實(shí)現(xiàn)。 由于多播組號(hào)中的最高5 bit在映射過(guò)程中被忽略,因此每個(gè)以太網(wǎng)多播地址對(duì)應(yīng)的多播組是不唯一的。 既然地址映射是不唯一的,那么設(shè)備驅(qū)動(dòng)程序或I P層就必須對(duì)數(shù)據(jù)報(bào)進(jìn)行過(guò)濾。,地址轉(zhuǎn)換圖,單個(gè)物理網(wǎng)絡(luò)的多播,單個(gè)物理網(wǎng)絡(luò)的多播是簡(jiǎn)單的。多播進(jìn)程將目的I P地址指明為多播地址,設(shè)備驅(qū)動(dòng)程序?qū)⑺D(zhuǎn)換為相應(yīng)的以太網(wǎng)地址,然后把數(shù)據(jù)發(fā)送出去。,通過(guò)路由器轉(zhuǎn)發(fā)多播數(shù)據(jù),當(dāng)把多播擴(kuò)展到單個(gè)物理網(wǎng)絡(luò)以外需要通過(guò)路由器轉(zhuǎn)發(fā)多播數(shù)據(jù)時(shí),復(fù)雜性就增加了。需要有一個(gè)協(xié)議讓多播路由器了解確定網(wǎng)絡(luò)中屬

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論