首先TCP和UDP協(xié)議都是運(yùn)行在運(yùn)輸層的協(xié)議。
UDP協(xié)議:用戶數(shù)據(jù)包協(xié)議
1辅肾、UDP協(xié)議是無連接的盾戴。也就說在數(shù)據(jù)發(fā)送之前并不需要建立連接(當(dāng)然埠对,在發(fā)送數(shù)據(jù)結(jié)束的時(shí)候也就不存在鏈接的釋放)术健,因此減少了開銷和數(shù)據(jù)發(fā)送之前的時(shí)延汹碱。
2、UDP使用盡最大努力的交付荞估,但是不保證可靠性的交付咳促,因此主機(jī)不需要維持復(fù)雜的鏈接狀態(tài)表。
3泼舱、UDP是面向報(bào)文等缀。發(fā)送方的UDP對于應(yīng)用程序進(jìn)程交下來的報(bào)文枷莉,即不合并娇昙,也不拆分,而是保留這些報(bào)文的邊界笤妙。這也就是說冒掌,應(yīng)用層交付給UDP多長的報(bào)文,UDP就照樣發(fā)送蹲盘,即一次發(fā)送一個(gè)報(bào)文股毫。同時(shí),在接收方召衔,對于IP層交上來的UDP用戶數(shù)據(jù)報(bào)铃诬,在去除首部后就原封不動的交付給應(yīng)用層的應(yīng)用進(jìn)程了。也就說苍凛,UDP一次交付一個(gè)完整的報(bào)文趣席。因此報(bào)文的大小必須合適,負(fù)責(zé)會降低數(shù)據(jù)的傳輸效率醇蝴。如果報(bào)文太長宣肚,在IP層需要對報(bào)文分片,就會降低IP層的效率悠栓。反之霉涨,若報(bào)文太短按价,UDP把它交給IP層后,會使得IP數(shù)據(jù)報(bào)的首部相對過長笙瑟,同樣會降低IP層的效率楼镐。
4、UDP沒有擁塞控制
TCP協(xié)議:傳輸控制協(xié)議
1往枷、TCP協(xié)議是面向連接的運(yùn)輸層協(xié)議鸠蚪。在使用TCP協(xié)議之前,必須先建立TCP連接师溅。
2茅信、每個(gè)TCP連接只能有兩個(gè)端點(diǎn)
3、可靠性交付墓臭,由于IP層只提供無比特差錯(cuò)的傳輸蘸鲸。
4、全雙工通信窿锉。
5酌摇、面向字節(jié)流。TCP中的“流”指的是流入到進(jìn)程或從進(jìn)程流出的字節(jié)序列嗡载。