精品国产高清不卡毛片,亚洲综合色一区二区三区小说,日日夜夜天天久久,久久受www免费人成_看片中文,色噜噜狠狠一区二区

udp是什么意思(我想問(wèn)下UDP是啥意思)

傳輸層的介紹:

從通信和信息處理的角度看,傳輸層向它上面的應用層提供通信服務(wù)。它屬于面向通信部分的最高層,同時(shí)也是用戶(hù)功能中的最低層。傳輸層位于網(wǎng)絡(luò )層之上,它會(huì )運行在不同主機上的進(jìn)程之間,提供邏輯通信。網(wǎng)絡(luò )層提供主機之間的邏輯通信。顯然,即使網(wǎng)絡(luò )層協(xié)議不可靠,傳輸層同樣能為應用程序提供可靠的服務(wù).

傳輸層的功能:

1)傳輸層提供應用進(jìn)程之間的邏輯通信。與網(wǎng)絡(luò )層的區別是,網(wǎng)絡(luò )層提供的是主機之間的邏輯通信。從網(wǎng)絡(luò )層來(lái)說(shuō),通信的雙方是兩臺主機,IP數據報的首部給出了這兩臺主機的IP地址,但兩臺主機之間的通信實(shí)際上是兩臺主機中的應用進(jìn)程之間的通信應用。進(jìn)程之間的通信又稱(chēng)端到端的邏輯通信。這里"邏輯通信"的意思是傳輸層之間的通信好像是沿水平方向傳送數據,但事實(shí)上,這兩個(gè)傳輸層之間并沒(méi)有一條水平方向的物理連接.

2)復用和分用. 復用是指發(fā)送方不同的應用進(jìn)程都可使用同一傳輸層協(xié)議傳送數據。分用是指接收方的傳輸層在剝去報文的首部后,能夠把這些數據正確交付到目的應用進(jìn)程.

3)傳輸層還要對收到的報文進(jìn)行差錯檢測,而網(wǎng)絡(luò )層只檢查IP數據報的首部,不檢驗數據部分是否出錯

4)提供兩種不同的傳輸協(xié)議,即面向連接的TCP和無(wú)連接的udp,而網(wǎng)絡(luò )層無(wú)法同時(shí)實(shí)現兩種協(xié)議

描述

UDP協(xié)議

UDP的優(yōu)點(diǎn):

1)UDP無(wú)需建立連接,因此UDP不會(huì )引入建立連接的時(shí)延。試想,如果DNS運行在TCP上而非UDP上,那么DNS的速度就會(huì )慢很多。HTTP使用TCP而非UDP,是因為對于基于文本數據的web網(wǎng)頁(yè)來(lái)說(shuō),可靠性是至關(guān)重要的.

2)無(wú)連接狀態(tài)。TCP需要在端系統中維持連接狀態(tài)。此連接狀態(tài)包括接受和發(fā)送緩存 ,擁塞、控制,參數和序號與確認后的參數。UDP不維護連接狀態(tài),也不跟蹤這些參數,因此,某些專(zhuān)用應用服務(wù)器使用udp時(shí)一般都能支持更多的活動(dòng)客戶(hù)機

3)分組首部開(kāi)銷(xiāo)小PCB有20B的首部開(kāi)銷(xiāo),而V僅有8B的開(kāi)銷(xiāo)

4)應用層能更好地控制要發(fā)送的數據和發(fā)送時(shí)間。UDP沒(méi)有擁塞控制,因此,網(wǎng)絡(luò )中的擁塞不會(huì )影響主機的發(fā)送效率。某些實(shí)時(shí)應用要求以穩定的速度發(fā)送,能容忍一些數據的丟失,但不允許有較大的時(shí)延,而UDP正好滿(mǎn)足這些應用的需求.

5)UDP常用于一次性傳輸較少數據的網(wǎng)絡(luò )應用,比如說(shuō)DNS SNMP。也會(huì )提供最大努力的交付,但是不保證可靠交付。但這并不意味著(zhù)應用對數據的要求是不可靠的,因此,所有維護傳輸可靠性的工作需要用戶(hù)在應用層來(lái)完成。UDP是面向報文的發(fā)送方,UDP對應用層交下來(lái)的報文,在手不添加后就交付給IP成績(jì),不合并也不拆分,而是保留這些報文的邊界.

TCP協(xié)議(這個(gè)很重要哦,要認真看!!!!)

TCP的特點(diǎn):

1)TCB是在不可靠的IP層之上實(shí)現的可靠的數據傳輸協(xié)議,它主要解決傳輸的可靠、有序、無(wú)丟失和不重復問(wèn)題

2)TCP是面向連接的傳輸層協(xié)議

3)每條TCP連接只能有兩個(gè)端點(diǎn),每條TCP連接只能是點(diǎn)對點(diǎn)的

4)TCP提供全雙工通信,允許通信雙方的應用進(jìn)程在任何時(shí)候都能發(fā)送數據。維持TCP連接的兩端都設有發(fā)送緩存和接收緩存,用來(lái)臨時(shí)存放雙向通信的數據

5)TCP是面向字節流,雖然應用程序和TCP的交互是一次一個(gè)數據塊。但TCP把應用程序交下來(lái)的數據僅視為一連串的無(wú)結構的字節流.

TCP連接管理

1)TCP是面向連接的協(xié)議 因此每個(gè)TCP連接都有三個(gè)階段連接借力數據傳送和連接釋放TCP連接的管理就是使運輸連接的建立和釋放都能正常進(jìn)行在TCP建立連接的過(guò)程中要解決以下三個(gè)問(wèn)題要使每一方都能夠確知對方的存在要允許對方協(xié)商一些參數比如說(shuō)最大窗口值是否使用窗口擴大選項時(shí)間錯選項及服務(wù)服務(wù)質(zhì)量等進(jìn)行分配.

2)TCP把連接作為最基本的抽象,每條TCP連接有兩個(gè)端點(diǎn),TCP連接的端點(diǎn)不是主機,不是主機的IP地址,不是應用進(jìn)程,也不是傳輸層的協(xié)議端口。TCP連接的端口稱(chēng)為套字節或插口。端口拼接到IP地址及構成套字節,每條IPTCP連接唯一地被通信兩端的兩個(gè)端點(diǎn),確定TCP連接的建立。采用客戶(hù)或者是服務(wù)器方式,主動(dòng)發(fā)起連接建立的應用進(jìn)程稱(chēng)為客戶(hù)機,而被動(dòng)等待連接建立的應用進(jìn)程稱(chēng)為服務(wù)器.

TCP的建立(三次握手):

第一步,客戶(hù)機的TCP,首先向服務(wù)器的TCP發(fā)送一個(gè)連接請求報文段,這個(gè)特殊的報文段中不含應用層數據,其首部中的SYN標志位被置為1。另外,客戶(hù)機會(huì )隨機選擇一個(gè)起始序號.

第二步,服務(wù)器的TCP收到連接請求報文段后,如同意建立連接,就向客戶(hù)機發(fā)回確認,并為該TCP連接分配TCP緩存和變量。在確認報文段中,SYN ACK(確認幀)位都被置為1(說(shuō)明現在是有效的),確認號字段的值為X 1,并且服務(wù)器隨機產(chǎn)生起始序號確認報文段不同樣,不包含應用層數據

第三步,當客戶(hù)機收到確認報文段后,還要向服務(wù)器給出確認,并且要給該鏈接分配緩存和變量。這個(gè)報文段ACK標志位被置為1。該報文段可以攜帶數據,若不攜帶數據,則不消耗序號。

成功進(jìn)行以上三步后就建立了TCP連接,接下來(lái)就可以傳送應用層數據。TCP提供的是全雙工通行,因此,通信雙方的應用進(jìn)程在任何時(shí)候都能發(fā)送數據。另外值得注意的是,服務(wù)器端的資源是在完成第二次握手時(shí)分配的,而客戶(hù)端的資源是在完成,第三次握手是分配的,這就使得服務(wù)器易于受到SYN泛洪攻擊.

TCP連接的釋放(第4次握手)

參與TCP連接的兩個(gè)進(jìn)程中的任何一個(gè)都能終止該連接。TCP連接釋放的過(guò)程通常稱(chēng)為四次握手

第一步,客戶(hù)機打算關(guān)閉連接時(shí),向TCP發(fā)送一個(gè)連接,釋放報文段并停止發(fā)送數據,主動(dòng)關(guān)閉TCP連接該報文段的FIN位置。被置為1,等于前面已傳送過(guò)的數據的最后一個(gè)字節的序號 1 TCP是全雙工的,既可以想象為一條TCP連接上有兩條數據通路。發(fā)送FIN報文時(shí),發(fā)送FIN的一端不能再發(fā)送數據及關(guān)閉了其中一條數據通路,但對方還可以發(fā)送數據

第二步,服務(wù)器收到連接釋放報文段后即發(fā)出確認,而這個(gè)報文段自己的序號,使V等于它前面已傳送過(guò)的數據的最后一個(gè)字節的序號加一。此時(shí),從客戶(hù)機到服務(wù)器這個(gè)方向的連接就釋放了。TCP連接處于半關(guān)閉狀態(tài),但服務(wù)器若發(fā)送數據,客戶(hù)機仍要接收及從服務(wù)器到客戶(hù)機這個(gè)方向的鏈接,并未關(guān)閉

第三步,若服務(wù)器已經(jīng)沒(méi)有要向客戶(hù)機發(fā)送的數據,就通知TCP釋放連接,此時(shí)其發(fā)出FIN=1的連接,釋放報文段.

第四步,客戶(hù)機收到連接,釋放報文段后必須發(fā)出確認,再確認報文段中ACK字段被置為1。此時(shí)TCP連接還未釋放,必須經(jīng)過(guò)時(shí)間等待計時(shí)器設置的時(shí)間,2MSL才可以進(jìn)入連接關(guān)閉狀態(tài).

TCP可靠傳輸

TCP的任務(wù)是在IP層不可靠的盡力而為服務(wù)的基礎上建立一種可靠數據傳輸服務(wù)。TCP提供的可靠數據傳輸服務(wù),保證接收方進(jìn)程,從緩沖區讀出的字節流與發(fā)送方發(fā)出的字節流完全一樣,TCP使用了校驗 ,序號 ,確認和重傳等機制來(lái)達到這一目的。其中TCP的校驗機制與UDP校驗一樣

有兩件事會(huì )導致TCP對報文段進(jìn)行重傳超時(shí)和冗余ACK.

超時(shí):TCP每發(fā)送一個(gè)報文段,就得這個(gè)報文段設置一次計時(shí)器。計時(shí)器設置的重傳時(shí)間到期,但還未收到確認時(shí)就要重傳這一報文段.

冗余ACK:重傳存在的問(wèn)題是超時(shí)周期往往太長(cháng),索性的是發(fā)送方通??梢栽诔瑫r(shí)事件發(fā)生之前,通過(guò)注意所謂的冗余ACK來(lái)較好的的檢測丟包情況。冗余ACK就是再次確認某個(gè)報文段的ACK發(fā)送方先前已經(jīng)收到過(guò)該報文段的確認.

TCP流量控制:

TCP提供流量控制服務(wù)來(lái)消除發(fā)送方使接收方緩存區溢出的可能性,因此可以說(shuō)流量控制是一個(gè)速度匹配服務(wù),簡(jiǎn)單點(diǎn)講其實(shí)就是。發(fā)送的東西太多了。接收得太慢,沒(méi)有辦法匹配。傳輸層和數據鏈路層的流量控制的區別是:傳輸層定義端到端用戶(hù)之間的流量控制,數據鏈路層定義兩個(gè)中間的相應結點(diǎn)的流量控制。另外,數據鏈路層的滑動(dòng)窗口協(xié)議的窗口大小不能動(dòng)態(tài)變化,傳輸層就可以動(dòng)態(tài)變化.

TCP擁塞控制:

所謂擁塞控制是指防止過(guò)多的數據注入網(wǎng)絡(luò ),以使網(wǎng)絡(luò )中的路由器或鏈路不致過(guò)載。出現擁塞時(shí),端點(diǎn)并不了解擁塞發(fā)生的細節。對通信連接的端點(diǎn)來(lái)說(shuō),擁塞往往表現為通信時(shí)延的增加。當然,擁塞控制和流量控制也有相似的地方,他們都通過(guò)控制發(fā)送方發(fā)送數據的速率來(lái)達到控制效果

擁塞控制和流量控制的區別:擁塞控制是讓網(wǎng)絡(luò )能夠承受現有的網(wǎng)絡(luò )負荷,是一個(gè)全局性的過(guò)程,涉及所有的主機,所有的路由器以及于降低網(wǎng)絡(luò )傳輸性能有關(guān)的所有因素。相反,流量控制往往是指點(diǎn)對點(diǎn)的通信量的控制及接收端??刂瓢l(fā)送端他所要做的事一直是發(fā)送端發(fā)送數據的速度,以便使接收端來(lái)得及接收.

下面簡(jiǎn)單講一個(gè)擁賽控制的算法,很簡(jiǎn)單,大家請看圖片

本章小結已經(jīng)疑難點(diǎn):

1)為什么不采用兩次握手建立連接呢?

這主要是為了防止兩次握手情況下已失效的連接請求報文段突然又傳送到服務(wù)端而產(chǎn)生錯誤??紤]下面這種情況,客戶(hù)a向服務(wù)器B發(fā)送TCP連接請求第一個(gè)請求。報文在網(wǎng)絡(luò )上某個(gè)節點(diǎn)長(cháng)時(shí)間滯留,A超時(shí)后認為報文丟失,于是再重傳一次連接請求B收到后建立連接,數據傳輸完畢后,雙方斷開(kāi)連接,而此時(shí)前一個(gè)滯留在網(wǎng)絡(luò )中的連接,請求到達服務(wù)端B,而B(niǎo)認為a又發(fā)來(lái)連接請求。此時(shí)若使用三次握手,則B向a返回確認報文段,由于是一個(gè)失效的請求,因此a不予理睬,建立連接失敗。若采用的是兩次握手,在這種情況下,B認為傳輸連接已經(jīng)建立,并一直等待a傳輸數據,而a此時(shí)并無(wú)連接請求,因此不予理睬,這樣就造成了B的資源白白浪費.

2)為何不采用三次握手釋放連接且發(fā)送最后一次握手報文要等待2MSL的時(shí)間呢?

原因有兩個(gè):(面試超能問(wèn))

1)保證a發(fā)送的最后一個(gè)確認報文段能夠到達b如果a不等待2MSL若a返回的最后確認報文段丟失則必不能進(jìn)入正常關(guān)閉狀態(tài)而此時(shí)已經(jīng)關(guān)閉也不可能再重傳.

2)防止出現"已失效的連接請求報文段" a在發(fā)送最后一個(gè)確認報文段后經(jīng)過(guò)2MSL可保證本連續持續的時(shí)間內所產(chǎn)生的所有報文段從網(wǎng)絡(luò )中消失造成錯誤的情形與下文不采用兩次握手建立連接所述的情形相同.

服務(wù)器結束TCP連接的時(shí)間要比客戶(hù)端早一些,因為客戶(hù)端最后要等待2MSL后才可以進(jìn)入CLOSED狀態(tài)(簡(jiǎn)單點(diǎn)說(shuō)就是TCP關(guān)閉狀態(tài))

假設在一個(gè)互聯(lián)網(wǎng)中,所有業(yè)務(wù)的傳輸都不出現差錯,所有節點(diǎn)也都不會(huì )發(fā)生故障詩(shī)文。在這種情況下,TCP的可靠交付的功能是否就是多余的?

1)每個(gè)IP數據包獨立地選擇路由,因此在到達目的地的主機時(shí)有可能出現失序

2)由于路由選擇地計算出現錯誤,導致IP數據包在互聯(lián)網(wǎng)中轉圈,最后數據包首部中的生存時(shí)間的數值下降到零,這個(gè)數據包在中途就被丟失.

3)某個(gè)路由器突然出現很大的通信量,以致路由器來(lái)不及處理到達的數據包,因此有的數據包被丟棄.

這就說(shuō)明,必須依靠TCP的可靠交付功能,才能保證在目的地主機的目的進(jìn)程中接收到正確的報文.

上一篇:

下一篇:

? 推薦閱讀

分享
精品国产高清不卡毛片,亚洲综合色一区二区三区小说,日日夜夜天天久久,久久受www免费人成_看片中文,色噜噜狠狠一区二区