電腦網路常見問題

來源:互聯網
上載者:User

標籤:網路   面試   

1、TCP與UDP的區別

TCP---傳輸控制通訊協定,提供的是連線導向、可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立一個TCP串連,之後才能傳輸資料。TCP提供逾時重發,丟棄重複資料,檢驗資料,流量控制等功能,保證資料能從一端傳到另一端。

UDP---使用者資料包通訊協定,是一個簡單的面向資料報的運輸層協議。UDP不提供可靠性,它只是把應用程式傳給IP層的資料報發送出去,但是並不能保證它們能到達目的地。由於UDP在傳輸資料報前不用在客戶和伺服器之間建立一個串連,且沒有逾時重發等機制,故而傳輸速度很快

使用TCP的應用:DNS、FTP、SMTP、SSH、TELNET、HTTP、POP3

使用UDP的應用:DNS、TFTP、RIP、DHCP、SNMP、NFS

2、ICMP協議?

答:ICMP是Internet Control Message Protocol,網際網路控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制訊息。控制訊息是指網路通不通、主機是否可達、路由器是否可用等網路本身的訊息。這些控制訊息雖然並不傳輸使用者資料,但是對於使用者資料的傳遞起著重要的作用。ICMP報文有兩種:差錯報告報文和詢問報文。


3、請問交換器和路由器分別的實現原理是什嗎?分別在哪個層次上面實現的?

答:交換器用於區域網路,利用主機的MAC地址進行資料轉送,而不需要關心IP資料包中的IP地址,它工作於資料連結層。路由器通過IP資料包的IP地址進行路由的(將資料包遞交給哪個下一跳路由器)。路由器工作於網路層。

 

4、TCP的三向交握與四次揮手三向交握的原因:        

為什麼建立連線協定是三向交握,而關閉串連卻是四次握手呢?

這是因為服務端的LISTEN狀態下的SOCKET當收到SYN報文的建連請求後,它可以把ACK和SYN(ACK起 應答作用,而SYN起同步作用)放在一個報文裡來發送。但關閉串連時,當收到對方的FIN報文通知時,它僅僅表示對方沒有資料發送給你了;但未必你所有的資料都全部發送給對方了,所以你可以未必會馬上會關閉SOCKET,也即你可能還需要發送一些資料給對方之後,再發送FIN報文給對方來表示你同意現在可以關閉串連了,所以它這裡的ACK報文 和FIN報文多數情況下都是分開發送的。

為什麼TIME_WAIT狀態還需要等2MSL後才能返回到CLOSED狀態?

為理解存在TIME_WAIT狀態的第二個理由,我們假設在12.106.32.254的1500連接埠和206.168.112.219的21連接埠之間有一個TCP串連。我們關閉這個串連,過一段時間後在相同的IP地址和連接埠之間建立另一個串連,後一個串連稱為前一個串連的化身,因為他們的IP地址和連接埠號碼都相同。TCP必須防止來自某個串連的老的重複分組在該串連已終止後再現,從而被誤解為屬於同一個串連的某個新化身。為做到這一點,TCP將不給處於TIME_WAIT狀態的串連發起新的化身,既然TIME_WAIT狀態的期間是2MSL,這就足以讓某個方向上的分組最多存活MSL秒即被丟棄,另一個方向上的應答最多存活MSL秒也被丟棄。通過實施這個規則,我們就能保證每成功建立一個TCP串連時,來自該串連先前化身的老的分組都已在網路中消失了
網路編程中,如何通過設定,使得主動關閉串連的一方不經過TIME_WAIT狀態,例如,如何使伺服器在2MSL期間重新啟動並使用原來的IP和連接埠?
可以使用setsockopt系統調用為該socket設定SO_REUSEADDR選項;socket可重用.這個通訊端選項通知核心,如果連接埠忙,但TCP狀態位於 TIME_WAIT ,可以重用連接埠。如果你的服務程式停止後想立即重啟,而新通訊端依舊使用同一連接埠,此時 SO_REUSEADDR 選項非常有用

5、電路交換、報文交換和封包交換的比較?   

答:電路交換:公用電話網(PSTN網)和移動網(包括GSM和CDMA網)採用的都是電路交換技術,它的基本特點是採用連線導向的方式,在雙方進行通訊之前,需要為通訊雙方分配一條具有固定寬頻通訊電路,通訊雙方在通訊過程中一直佔用所分配的資源,直到通訊結束。這種方式的優點是在通訊過程中可以保證為使用者提供足夠的頻寬,並且即時性強,時延小,交換裝置成本低,但同時帶來的缺點是網路頻寬利用率不高,一旦電路被建立不管通訊雙方是否處於通話狀態分配的電路一直被佔用。串連建立——資料轉送——釋放連結

報文交換:報文交換和封包交換類似,也採用儲存轉寄機制,但報文交換是以報文作為傳送單元,由於報文長度差異很大,長報文可能導致很大的時延,並且對每個節點來說緩衝區的分配也比較困難,為了滿足各種長度報文的需要並且達到高效的目的,節點需要分配不同大小的緩衝區,否則就有可能造成資料傳送的失敗。

封包交換:電路交換技術主要適用於傳送話音相關的業務,這種網路交換方式對於資料業務而言,有著很大的局限性。首先是資料通訊具有較強的突發性,峰值位元速率和平均位元速率相差較大,如果採用電路交換技術,若按峰值位元速率分配,則電路頻寬會造成資源的極大浪費,如果按平均位元速率分配頻寬,則會造成資料的大量丟失,其次是和語音業務比較,資料業務對時延沒有嚴格的要求,但是需要進行無差錯的傳輸,而語音訊號可以有一定程式的失真但即時性要高。封包交換技術就是針對資料通訊業務的特點而提出的一種交換方式,它的基本特點是面向無串連而採用儲存轉寄的方式,將需要傳送的資料按照一定長度分割成許多小段資料,並在資料之前增加相應的用於對資料進行選路和校正等功能的頭部欄位,作為資料傳送的基本單元,即分組。採用封包交換技術,在通訊之前不需要建立串連,每個節點首先將前一節點送來的分組收下並儲存在緩衝區中,然後根據分組頭部中的地址資訊選擇適當的鏈路將其發送至下一個節點,這樣在通訊過程中可以根據使用者的要求和網路的能力來動態分配頻寬。封包交換比電路交換的電路利用率高,但時延較大。分組轉寄的帶來的問題:帶來排隊時延以及增加頭部帶來的開銷。


6、select 和 epoll系統調用的區別

從支援的檔案描述符的個數、使用方法、需不需要反覆添加到核心、獲得活躍描述符的方法、是否支援ET模式等方面比較


電腦網路常見問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.