2019 iOS面試題-----網(wǎng)絡相關之UDP的特點夕膀、UDP的報文結構及差錯檢測

2019 iOS面試題大全---全方面剖析面試
2019 iOS面試題-----網(wǎng)絡相關之HTTP協(xié)議
2019 iOS面試題-----網(wǎng)絡相關之HTTPS瓜饥、對稱加密、非對稱加密
2019 iOS面試-----一個基于UDP的簡單的聊天Demo(用C語言戴质、python、GCDAsyncUdpSocket來實現(xiàn)UDP通信)
2019 iOS面試題-----網(wǎng)絡相關之UDP的特點踢匣、UDP的報文結構及差錯檢測
2019 iOS面試題-----網(wǎng)絡相關之TCP告匠、三次握手、四次揮手离唬、代碼實現(xiàn)
2019 iOS面試題-----網(wǎng)絡相關之TCP進階:可靠數(shù)據(jù)傳輸后专、流量控制(滑動窗口)、擁塞控制
2019 iOS面試題-----網(wǎng)絡相關之DNS
2019 iOS面試題-----網(wǎng)絡相關之Cookie和Session
2019 iOS面試題-----網(wǎng)絡相關之IP協(xié)議输莺、IP數(shù)據(jù)報分片戚哎、IPv4編址、網(wǎng)絡地址轉(zhuǎn)換(NAT)
2019 iOS面試題-----網(wǎng)絡相關之IPv6嫂用、從IPv4到IPv6的遷移
TCP(Transmission Control Protocol 傳輸控制協(xié)議)和UDP(User Datagram Protocol 用戶數(shù)據(jù)報協(xié)議)同屬傳輸層協(xié)議

一型凳、UDP的特點

UDP是是面向非連接的協(xié)議,傳送數(shù)據(jù)不需要和服務器連接嘱函,只需要知道ip和監(jiān)聽端口啰脚,不需要鏈接沒有目的的socket,只是將數(shù)據(jù)報投遞出去,不管接收方是否成功接收到橄浓,是一種不可靠的傳輸粒梦。
既然UDP是不可靠數(shù)據(jù)傳輸協(xié)議,那為什么那么多應用去選擇UDP呢荸实?

1匀们、關于何時、發(fā)送什么數(shù)據(jù)的應用層控制更加精細
  • 只要應用將數(shù)據(jù)傳遞給UDP准给,UDP就會將此數(shù)據(jù)打包進UDP報文段并立刻將其傳遞給網(wǎng)絡層泄朴。
  • 而TCP則是有個擁塞控制機制,以確保數(shù)據(jù)能夠安全傳輸露氮,而不管可靠傳輸成功需要用多少時間祖灰。
  • 所以有些實時應用,比如微信視頻畔规、語音都是更希望數(shù)據(jù)能夠及時發(fā)送局扶,為此可以容忍一部分數(shù)據(jù)丟失,比較適合用UDP
2叁扫、無需連接建立
  • 眾所周知三妈,TCP在數(shù)據(jù)傳輸前需要經(jīng)過三次握手,UDP卻不需要做任何的準備即可進行數(shù)據(jù)傳輸莫绣,因此UDP不會引入建立連接的時延畴蒲。
  • 這也是DNS運行在UDP而不是TCP上的主要原因。
  • 而HTTP協(xié)議之所以使用TCP对室,是因為對于HTTP協(xié)議來說模燥,可靠性是至關重要的。
3掩宜、無連接狀態(tài)
  • TCP需要維護連接狀態(tài)蔫骂。此連接狀態(tài)包括接收和發(fā)送緩存、擁塞控制參數(shù)以及序號與確認號的參數(shù)锭亏。(后面如果有時間,會詳細說下TCP的擁塞控制方案硬鞍,對該方案來說慧瘤,這些狀態(tài)信息都是必要的)
  • 而UDP不需要維護連接狀態(tài),也不用跟蹤這些參數(shù)
4固该、分組首部開銷小

每個TCP報文段都有20字節(jié)的首部開銷锅减,而UDP僅有8字節(jié)的開銷

所以,如非必要伐坏,比如電子郵件怔匣,遠程終端服務,web,以及文件傳輸每瞒,需要可靠地數(shù)據(jù)傳輸金闽,會去采用TCP。其余的尤其是對實時性要求高的應用剿骨,比如實時視頻會議代芜,網(wǎng)絡電話,一般都會選用UDP

二浓利、UDP的報文結構

UDP報文段結構

應用層數(shù)據(jù)占用UDP報文段的數(shù)據(jù)字段挤庇。UDP首部只有4個字段,每個字段由2個字節(jié)組成贷掖,即UDP首部僅有8字節(jié)嫡秕。

  • 端口號:可以使目的主機將應用數(shù)據(jù)交給運行在目的端系統(tǒng)中端相應進程,執(zhí)行分用功能苹威。


  • 長度:該字段指示了在UDP報文段中的字節(jié)數(shù)(首部+數(shù)據(jù))

  • 檢驗和:接收方使用檢驗和來檢查在該報文段中是否出現(xiàn)了差錯昆咽,即差錯檢測。

三屠升、UDP差錯檢測

UDP檢驗和提供了差錯檢測功能潮改。
檢驗和相當于用于確定當UDP報文段從源到達目的地移動時,其中的比特是否發(fā)生了改變(比如腹暖,由于鏈路中的噪聲干擾或存儲在路由器中時的引入問題)汇在。
發(fā)送方的UDP對報文段中的所有16比特字對和進行反碼運算,求和時遇到的任何溢出都被回卷脏答。得到的結果被放在UDP報文段中的檢驗和字段糕殉。

比如,假定有下面三個16比特的字:

0110011001100000
0101010101010101
1000111100001100

這些16比特字的前兩個之和是:

1011101110110101

再將該和與第三個16比特字相加殖告,得出:

10100101011000001

發(fā)現(xiàn)溢出了阿蝶,該和就要被回卷,即把首位的1加到最后一位去黄绩,得出:

0100101011000010

然后對其進行反碼運算羡洁,所謂反碼運算,即是將所有的1換成0爽丹,0換成1

1011010100111101

這就是得出的檢驗和筑煮。而在接收方,全部的4個16比特字(包括檢驗和)加在一起粤蝎。如果分組中沒有引入差錯真仲,顯然在接收處該和將是1111111111111111。而如果這些比特之一是0初澎,那我們就知道該分組中出現(xiàn)了差錯秸应。
UDP在端到端基礎上在運輸層提供差錯檢測,這就是在系統(tǒng)設計中被稱頌的端到端原則

而UDP雖然提供差錯檢測,但它對差錯恢復無能為力软啼。這就需要用到可靠數(shù)據(jù)傳輸--TCP了

2019 iOS面試-----一個基于UDP的簡單的聊天Demo(用C語言桑谍、python、GCDAsyncUdpSocket來實現(xiàn)UDP通信)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末焰宣,一起剝皮案震驚了整個濱河市霉囚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匕积,老刑警劉巖盈罐,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異闪唆,居然都是意外死亡盅粪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門悄蕾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來票顾,“玉大人,你說我怎么就攤上這事帆调〉旖荆” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵番刊,是天一觀的道長含鳞。 經(jīng)常有香客問我,道長芹务,這世上最難降的妖魔是什么蝉绷? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮枣抱,結果婚禮上熔吗,老公的妹妹穿的比我還像新娘。我一直安慰自己佳晶,他們只是感情好桅狠,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著轿秧,像睡著了一般中跌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淤刃,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天晒他,我揣著相機與錄音吱型,去河邊找鬼逸贾。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的铝侵。 我是一名探鬼主播灼伤,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咪鲜!你這毒婦竟也來了狐赡?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤疟丙,失蹤者是張志新(化名)和其女友劉穎颖侄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體享郊,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡览祖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了炊琉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片展蒂。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖苔咪,靈堂內(nèi)的尸體忽然破棺而出锰悼,到底是詐尸還是另有隱情,我是刑警寧澤团赏,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布箕般,位于F島的核電站,受9級特大地震影響馆里,放射性物質(zhì)發(fā)生泄漏隘世。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一鸠踪、第九天 我趴在偏房一處隱蔽的房頂上張望丙者。 院中可真熱鬧,春花似錦营密、人聲如沸械媒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纷捞。三九已至,卻和暖如春被去,著一層夾襖步出監(jiān)牢的瞬間主儡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工惨缆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留糜值,地道東北人丰捷。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像寂汇,于是被迫代替她去往敵國和親病往。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容