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