UDP 和TCP特點理解
|
UDP |
TCP |
1 |
無連接的運輸層協議 |
面向連接的運輸層協議 |
2 |
支持一對一、一對多、多對一的交互通信 |
每條TCP連接只有點對點的即一對一通信 |
3 |
盡最大努力交付,不可靠 |
可靠交付 |
4 |
面向報文 |
面向字節流 |
5 |
無擁塞控制 |
|
6 |
首部開銷小 |
|
7 |
|
全雙工通信 |
第一點:
連接就是通信對象之間是否需要打招呼,就是提前說一聲的意思,就像你要用你同學的東西,你要先跟人家說:“把你作業借我看下唄” ,得到別人的同意你才能用,對吧,UDP就是那種不會提前打招呼直接拿著就跑的同學,TCP就是要借你作業,軟磨硬泡,百般求證,“作業借我下”,“嗯” ,“謝謝啊” ,比較下雖然UDP不是很禮貌,但是它快呀,如果你真的著急的話,UDP還是很節約時間的,尤其是你不知道你什麽時候才會見到你同學的時候;TCP可能有點浪費時間,但是它是長遠發展的,這麽想啊,它這麽禮貌,有作業的同學肯定樂意下次再把作業借給他,是吧
第二點:
一對一就是一問一答
一對多就像是一個人說話,很多人回復
多對一就是很多人對一個人說話
第三點:
盡最大努力交付,就像考試的時候你竭盡所能做試卷,但是考試成績就不在你的控制範圍內,這是考試的正常情況哈,但也有那麽一些人做一道對一道,考完下來就知道自己多少分,這就是TCP這種啦,我是屬於UDP的那種啦
第四點:
面向報文和面向字節流是指處理單位
報文是你一次要發送的內容
字節流是你這次發送內容的更小的單位,這麽舉例子,我要發送“小哥哥很帥”這段話,報文就是“小哥哥很帥”, 字節流就是這段話裏面的每一個字;當然在計算機中一個漢字肯定是大於一個字節的。
當你用UDP的時候就要考慮下報文的長度是不是合適,太長可能記不住是不是,當用TCP的時候就要考慮,你發的字節能不能識別成你要表達的意思,可能它隨意組合了呢
第五點:
擁塞控制:路上堵車了你該怎麽辦
發送數據也有可能發生擁堵的情況,你咋整呢
第六點:
UDP首部只有8字節,包括源端口、目的端口、長度、檢驗和,每部分兩個字節。
TCP首部是20字節,有啥以後告訴你
比一下UDP還是很小哈
第七點:
TCP是一對一的嘛,全雙工通信就是雙方中的一方想啥時候跟另一方說話就啥時候說,不用等,不用分環境或者場合
UDP 和TCP特點理解