2021-03-04 分類: 網(wǎng)站建設
本文整理了一些TCP/IP協(xié)議簇中需要必知必會的十大問題,既是面試高頻問題,又是程序員必備基礎素養(yǎng)。
一、TCP/IP模型
TCP/IP協(xié)議模型(Transmission Control Protocol/Internet Protocol),包含了一系列構成互聯(lián)網(wǎng)基礎的網(wǎng)絡協(xié)議,是Internet的核心協(xié)議。
基于TCP/IP的參考模型將協(xié)議分成四個層次,它們分別是鏈路層、網(wǎng)絡層、傳輸層和應用層。下圖表示TCP/IP模型與OSI模型各層的對照關系。
3. 什么時候應該使用TCP?
當對網(wǎng)絡通訊質(zhì)量有要求的時候,比如:整個數(shù)據(jù)要準確無誤的傳遞給對方,這往往用于一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸文件的協(xié)議,POP、SMTP等郵件傳輸?shù)膮f(xié)議。
4. 什么時候應該使用UDP?
當對網(wǎng)絡通訊質(zhì)量要求不高的時候,要求網(wǎng)絡通訊速度能盡量的快,這時就可以使用UDP。
七、DNS
DNS(Domain Name System,
為什么要三次握手?
為了防止已失效的連接請求報文段突然又傳送到了服務端,因而產(chǎn)生錯誤。
具體例子:“已失效的連接請求報文段”的產(chǎn)生在這樣一種情況下:client發(fā)出的第一個連接請求報文段并沒有丟失,而是在某個網(wǎng)絡結點長時間的滯留了,以致延誤到連接釋放以后的某個時間才到達server。本來這是一個早已失效的報文段。
但server收到此失效的連接請求報文段后,就誤認為是client再次發(fā)出的一個新的連接請求。于是就向client發(fā)出確認報文段,同意建立連接。假設不采用“三次握手”,那么只要server發(fā)出確認,新的連接就建立了。由于現(xiàn)在client并沒有發(fā)出建立連接的請求,因此不會理睬server的確認,也不會向server發(fā)送數(shù)據(jù)。但server卻以為新的運輸連接已經(jīng)建立,并一直等待client發(fā)來數(shù)據(jù)。這樣,server的很多資源就白白浪費掉了。
采用“三次握手”的辦法可以防止上述現(xiàn)象發(fā)生。例如剛才那種情況,client不會向server的確認發(fā)出確認。server由于收不到確認,就知道client并沒有要求建立連接?!?/p>
2. 四次揮手
當客戶端和服務器通過三次握手建立了TCP連接以后,當數(shù)據(jù)傳送完畢,肯定是要斷開TCP連接的啊。那對于TCP的斷開連接,這里就有了神秘的“四次分手”。
從圖中可以看出,B進行了三次流量控制。第一次把窗口減少到 rwnd = 300 ,第二次又減到了 rwnd = 100 ,最后減到 rwnd = 0 ,即不允許發(fā)送方再發(fā)送數(shù)據(jù)了。這種使發(fā)送方暫停發(fā)送的狀態(tài)將持續(xù)到
2. 快重傳和快恢復
(1) 快重傳
快重傳算法首先要求接收方每收到一個失序的報文段后就立即發(fā)出重復確認(為的是使發(fā)送方及早知道有報文段沒有到達對方)而不要等到自己發(fā)送數(shù)據(jù)時才進行捎帶確認。
接收方收到了M1和M2后都分別發(fā)出了確認?,F(xiàn)在假定接收方?jīng)]有收到M3但接著收到了M4。
顯然,接收方不能確認M4,因為M4是收到的失序報文段。根據(jù) 可靠傳輸原理,接收方可以什么都不做,也可以在適當時機發(fā)送一次對M2的確認。
但按照快重傳算法的規(guī)定,接收方應及時發(fā)送對M2的重復確認,這樣做可以讓 發(fā)送方及早知道報文段M3沒有到達接收方。發(fā)送方接著發(fā)送了M5和M6。接收方收到這兩個報文后,也還要再次發(fā)出對M2的重復確認。這樣,發(fā)送方共收到了 接收方的四個對M2的確認,其中后三個都是重復確認。
快重傳算法還規(guī)定,發(fā)送方只要一連收到三個重復確認就應當立即重傳對方尚未收到的報文段M3,而不必 繼續(xù)等待M3設置的重傳計時器到期。
由于發(fā)送方盡早重傳未被確認的報文段,因此采用快重傳后可以使整個網(wǎng)絡吞吐量提高約20%。
(2) 快恢復
與快重傳配合使用的還有快恢復算法,其過程有以下兩個要點:
當發(fā)送方連續(xù)收到三個重復確認,就執(zhí)行“乘法減小”算法,把慢開始門限ssthresh減半。
與慢開始不同之處是現(xiàn)在不執(zhí)行慢開始算法(即擁塞窗口cwnd現(xiàn)在不設置為1),而是把cwnd值設置為 慢開始門限ssthresh減半后的數(shù)值,然后開始執(zhí)行擁塞避免算法(“加法增大”),使擁塞窗口緩慢地線性增大。
分享題目:TCP/IP,你必知必會的十個問題
當前路徑:http://jinyejixie.com/news/104163.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、建站公司、面包屑導航、網(wǎng)站設計公司、品牌網(wǎng)站制作、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容