用戶數(shù)據(jù)報(bào)協(xié)議UDP
1、UDP協(xié)議功能
為了在給定的主機(jī)上能識(shí)別多個(gè)目的地址,同時(shí)允許多個(gè)應(yīng)用程序在同一臺(tái)主機(jī)上工作并能獨(dú)立地進(jìn)行數(shù)據(jù)報(bào)的發(fā)送和接收,設(shè)計(jì)用戶數(shù)據(jù)報(bào)協(xié)議UDP。
使用UDP協(xié)議包括:TFTP、SNMP、NFS、DNS
UDP使用底層的互聯(lián)網(wǎng)協(xié)議來傳送報(bào)文,同IP一樣提供不可靠的無連接數(shù)據(jù)報(bào)傳輸服務(wù)。它不提供報(bào)文到達(dá)確認(rèn)、排序、及流量控制等功能。
2、UDP的報(bào)報(bào)文格式
每個(gè)UDP報(bào)文分UDP報(bào)頭和UDP數(shù)據(jù)區(qū)兩部分。報(bào)頭由四個(gè)16位長(8字節(jié))字段組成,分別說明該報(bào)文的源端口、目的端口、報(bào)文長度以及校驗(yàn)和。
3、UDP協(xié)議的分層與封裝
在TCP/IP協(xié)議層次模型中,UDP位于IP層之上。應(yīng)用程序訪問UDP層然后使用IP層傳送數(shù)據(jù)報(bào)。IP層的報(bào)頭指明了源主機(jī)和目的主機(jī)地址,而UDP層的報(bào)頭指明了主機(jī)上的源端口和目的端口。
4、UDP的復(fù)用、分解與端口
UDP軟件應(yīng)用程序之間的復(fù)用與分解都要通過端口機(jī)制來實(shí)現(xiàn)。每個(gè)應(yīng)用程序在發(fā)送數(shù)據(jù)報(bào)之前必須與操作系統(tǒng)協(xié)商以獲得協(xié)議端口和相應(yīng)的端口號(hào)。
UDP分解操作:從IP層接收了數(shù)據(jù)報(bào)之后,根據(jù)UDP的目的端口號(hào)進(jìn)行分解操作。
UDP端口號(hào)指定有兩種方式:由管理機(jī)構(gòu)指定的為著名端口和動(dòng)態(tài)綁定的方式。
可靠的數(shù)據(jù)流傳輸TCP
1、TCP/IP的可靠傳輸服務(wù)五個(gè)特征:面向數(shù)據(jù)流、虛電路連接、有緩沖的傳輸、無結(jié)構(gòu)的數(shù)據(jù)流、全雙工的連接。
2、TCP采用了具有重傳功能的肯定確認(rèn)技術(shù)作為可靠數(shù)據(jù)流傳輸服務(wù)的基礎(chǔ)。
3、為了提高數(shù)據(jù)流傳輸過程的效率,在上述基礎(chǔ)上引入滑動(dòng)窗口協(xié)議,它允許發(fā)送方在等待一個(gè)確認(rèn)之前可以發(fā)送多個(gè)分組;瑒(dòng)窗口協(xié)議規(guī)定只需重傳未被確認(rèn)的分組,且未被確認(rèn)的分組數(shù)最多為窗口的大小。
4、TCP功能
TCP定義了兩臺(tái)計(jì)算機(jī)之間進(jìn)行可靠的傳輸而交換的數(shù)據(jù)和確認(rèn)信息的格式,以及計(jì)算機(jī)為了確保數(shù)據(jù)的正確到達(dá)而采取的措施。
5、TCP連接使用是一個(gè)虛電路連接,連接使用一對端點(diǎn)來標(biāo)識(shí),端點(diǎn)定義為一對整數(shù)(host,port)其中host是主機(jī)的IP地址,port是該主機(jī)上TCP端口號(hào)。
6、TCP使用專門的滑動(dòng)窗口協(xié)議機(jī)制來解決傳輸效率和流量控制這兩個(gè)問題,TCP采用的滑動(dòng)窗口機(jī)制解決了端到端的流量控制,但并未解決整個(gè)網(wǎng)絡(luò)的擁塞控制。
7、TCP允許隨時(shí)改變窗口小,通過通告值來說明接收方還能再接收多少數(shù)據(jù),通告值增加,發(fā)送方擴(kuò)大發(fā)送滑動(dòng)窗口;通告值減小,發(fā)送方縮小發(fā)送窗口。
8、TCP的報(bào)文格式
報(bào)文分為兩部分:報(bào)頭和數(shù)據(jù),報(bào)頭攜帶了所需要的標(biāo)識(shí)和控制信息。
確認(rèn)號(hào)字段指示本機(jī)希望接收下一個(gè)字節(jié)組的序號(hào);
順序號(hào)字段的值是該報(bào)文段流向上的數(shù)據(jù)流的位置,即發(fā)送序號(hào);
確認(rèn)號(hào)指的是與該報(bào)文段流向相反方向的數(shù)據(jù)流。
9、TCP使用6位長的碼位來指示報(bào)文段的應(yīng)用目的和內(nèi)容
URG緊急指針字段可用;ACK確認(rèn)字段可用;PSH請求急近操作;RST連接復(fù)位;SYN同步序號(hào);FIN發(fā)送方字節(jié)流結(jié)束。
10、TCP的三次握手
為了建立一個(gè)TCP連接,兩個(gè)系統(tǒng)需要同步其初始TCP序號(hào)ISN。序號(hào)用于跟蹤通信順序并確保多個(gè)包傳輸時(shí)沒有丟失。初始序號(hào)是TCP連接建立時(shí)的起始編號(hào)。
同步是通過交換攜帶有ISN和1位稱為SYN的控制位的數(shù)據(jù)包來實(shí)現(xiàn)的。
握手可由一方發(fā)起也可以雙方發(fā)起,建立就可以實(shí)現(xiàn)雙向?qū)Φ鹊財(cái)?shù)據(jù)流動(dòng),沒有主從關(guān)系。
相關(guān)推薦:
2015軟件水平考試《程序員》知識(shí)點(diǎn)總結(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |