tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用
我們說會話層建立連接之后,就要建立傳輸層連接,那么為什么要建立這個傳輸層連接呢,我們先看一下傳輸層的作用是什么?
傳輸層的主要作用是處理我們的數(shù)據(jù)在發(fā)送的時候產(chǎn)生的數(shù)據(jù)包錯誤,數(shù)據(jù)包次序不對,數(shù)據(jù)丟失,進(jìn)行重傳等。
那么這句話我們應(yīng)該如何理解呢?
首先我們要知道我們在進(jìn)行發(fā)送文件時,很多時候會因為文件過大,而導(dǎo)致數(shù)據(jù)無法一次性進(jìn)行傳輸,所以我們要把數(shù)據(jù)包分割成很多份,分次進(jìn)行傳輸,那么很可能在傳輸?shù)穆飞?#xff0c;導(dǎo)致了數(shù)據(jù)包丟失了,或者到達(dá)對端的次序錯了,而傳輸層就是為了解決這種問題而出現(xiàn)的
舉個例子
我們把數(shù)據(jù)包看成成一個快遞包裹,傳輸層就是郵遞服務(wù),比如我們把一疊信交給郵遞員之后,誰也不能保證信件按照原先疊放的順序一次到達(dá),也不能保證信件都在同一天送到,甚至不能保證全部送到和有沒有被拆開,郵遞服務(wù)是為了保證快遞包裹準(zhǔn)確無誤的到達(dá),傳輸層就是保證數(shù)據(jù)包準(zhǔn)確無誤的到達(dá)。
那么傳輸層是如何保證數(shù)據(jù)包的準(zhǔn)確無誤呢?這時候不得不介紹一下我們的傳輸層的協(xié)議TCP了
TCP(協(xié)議號6)
TCP的主要特點(diǎn):
1.面向連接,應(yīng)用程序在使用tcp之前,必須建立tcp連接,在傳輸完成之后再釋放連接
2.點(diǎn)對點(diǎn)連接(UDP可以一對多,一對一)
3.tcp連接傳輸?shù)臄?shù)據(jù)是可靠的交付服務(wù)
4.全雙工,雙方可以再任意時刻發(fā)送數(shù)據(jù)
5.面向字節(jié)流,雖然應(yīng)用程序和TCP交互的是大小不等的數(shù)據(jù)塊,但是tcp只保證,發(fā)送方和接收方接到的字節(jié)流相同。
TCP連接:
每條tcp連接有兩個端點(diǎn),連接的兩個端點(diǎn)稱為套接字(socket)
套接字是由ip和端口號組成的。例如 127.0.0.1:8080
TCP數(shù)據(jù)包格式及其作用
Source Port(源端口):源主機(jī)的應(yīng)用程序使用的端口號。
Destination Port(目的端口):目的主機(jī)的應(yīng)用程序使用的端口號。
每個TCP頭部都包含源和目的端的端口號,這兩個值加上IP頭部中的源IP地址和目的IP地址可以唯一確定一個TCP連接
Sequence Number(序列號):用于分片之后的數(shù)據(jù)進(jìn)行重組
Acknowledge Number(確認(rèn)號):用于對接收到的數(shù)據(jù)的確認(rèn)。
Header length(包頭長度):包頭長度,默認(rèn)20字節(jié)
Resv:保留6位,通常為0.
Flag(標(biāo)記),標(biāo)志里有6位,每一位代表不同的作用
Window(窗口):滑動窗口,用來做流量控制
Checksum(包校驗和):校驗TCP頭部完整性。
Urgent Pointer(緊急指針): TCP協(xié)議在數(shù)據(jù)段中設(shè)置URG位,表示進(jìn)入緊急模式.接收方可以對緊急模式采取特殊的處理.很容易看出來,這種方式數(shù)據(jù)不容易被阻塞,這個16位數(shù)被添加到序列號上用于指明緊急數(shù)據(jù)的結(jié)束
Options (可選項): 這個是額外的功能,提供包括安全處理機(jī)制、路由紀(jì)錄、時間戳記、 嚴(yán)格與寬松之來源路由等。
Padding(填充):由于Options的內(nèi)容不一定有多大,但是我們知道 TCP 每個數(shù)據(jù)都必須要是 32bits,所以,若包頭加上Options的數(shù)據(jù)不足 32bits時,則由 padding 主動補(bǔ)齊。
TCP可靠傳輸?shù)墓ぷ髟?/b>
tcp通過校驗和,重傳控制,序號標(biāo)識,滑動窗口,確認(rèn)應(yīng)答實現(xiàn)可靠傳輸。如丟包時的重發(fā)機(jī)制,還可以對次序亂掉的分包進(jìn)行順序控制。
TCP保障了我們數(shù)據(jù)的可靠傳輸,確認(rèn)每一個數(shù)據(jù)包能夠準(zhǔn)確無誤的到達(dá),那么對于一些對于數(shù)據(jù)要求沒有那么高的應(yīng)用,我們應(yīng)該用什么傳輸呢?這時候就去引入了我們的UDP。
UDP(協(xié)議號17)
UDP相比tcp的優(yōu)點(diǎn)就是不用花費(fèi)時間建立連接,直接發(fā)送數(shù)據(jù),比較快。其二的話就是UDP報頭長度小于UDP。而減少的這些字節(jié)就可以用來承載數(shù)據(jù)。我們先看一下UDP的報文格式
Source port:源端口
Destination port:目的端口
Length:頭部長度
Checksum:校驗和(在這里校驗是可選的,也可以不校驗)
可以看到UDP相比于TCP少了序列號,確認(rèn)號,緊急時針滑動窗口等選項,而沒了包頭中沒有這些選項對于數(shù)據(jù)的正確無誤就沒了保障,所以我們說UDP是不可靠的。
TCP與UDP區(qū)別總結(jié):
①TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接
②TCP提供可靠的服務(wù)。也就是說,通過TCP連接傳送的數(shù)據(jù),無差錯,不丟失,不重復(fù),且按序到達(dá);UDP盡最大努力交付,即不保證可靠交付
Tcp通過校驗和,重傳控制,序號標(biāo)識,滑動窗口、確認(rèn)應(yīng)答實現(xiàn)可靠傳輸。如丟包時的重發(fā)控制,還可以對次序亂掉的分包進(jìn)行順序控制。
③UDP具有較好的實時性,工作效率比TCP高,適用于對高速傳輸和實時性有較高的通信或廣播通信。
④每一條TCP連接只能是點(diǎn)到點(diǎn)的;UDP支持一對一,一對多,多對一和多對多的交互通信
⑤TCP對系統(tǒng)資源要求較多,UDP對系統(tǒng)資源要求較少。
總結(jié)
以上是生活随笔為你收集整理的tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个身体健康的个性签名。
- 下一篇: byte数组穿换成pcm格式_Apach