常見TCP/IP面試題(邊學邊補充)
1. OSI與TCP/IP各層的結構與功能,都有哪些協議。
(1)OSI:七層模型。
①物理層:在物理通道上實現原始位元流的傳輸。(乙太網, IEEE 802.2 等)
②資料鏈路層:實現無差錯地將資料幀從一個節點傳送到下一個相鄰節點。(Wi-Fi(IEEE 802.11) , WiMAX(IEEE 802.16), GPRS, HDLC, PPP 等協議)
③網路層:實現將資料分組從源站通過網路傳送到目的站,即網路上一臺主機與另一臺主機之間的資料傳輸。(IP, ICMP, IGMP, ARP, RARP, OSPF 等協議)
④傳輸層:實現源端到目的端資料的傳輸,即某主機的某程序與另一臺主機的某程序之間的資料傳輸。(TCP, UDP 等協議)
⑤會話層:實現在不同機器上使用者建立、維護和終止會話關係。即會話層對會話提供控制管理服務、會話同步服務等。(ZIP, ASP, SSH 等協議)
⑥表示層:確保各種通訊裝置能夠互相操作,不及考慮其資料的內部表示。即確保即使各種通訊裝置其資料的內部表示不同,但仍然能相互正確操作。(SSL等協議)
⑦應用層:使使用者能夠訪問網路,為各類應用提供相應的服務、提供各種使用者介面支援服務。應用層不是應用程式,應用層是一個為應用程式提供各類應用支援的服務層。(HTTP, FTP, SMTP, POP3, DHCP, DNS等協議)
(2)TCP/IP:四層模型。
①網路介面層:對應物理層和資料鏈路層。
②網路層
③傳輸層
④應用層:包括會話層、表示層、應用層。
2. TCP與UDP的區別。
(1)TCP:面向連線,可靠的,速度慢,效率低。
(2)UDP:無連線、不可靠、速度快、效率高。
當程序需要傳輸可靠的資料時應使用TCP,當程序需要高效傳輸資料,可以忽略可靠性時應使用UDP協議。
3. TCP報文結構。參考:http://www.360doc.com/content/12/1218/10/3405077_254718387.shtml
4. TCP的三次握手與四次揮手過程,各個狀態名稱與含義,TIMEWAIT的作用。
參考:http://blog.csdn.net/whuslei/article/details/6667471/
TimeWait作用:
1。防止上一次連線中的包,迷路後重新出現,影響新連線
(經過2MSL,上一次連線中所有的重複包都會消失)
2。可靠的關閉TCP連線
在主動關閉方傳送的最後一個ack(fin) ,有可能丟失,這時被動方會重新發
fin, 如果這時主動方處於CLOSED 狀態 ,就會響應rst 而不是ack。所以
主動方要處於TIME_WAIT 狀態,而不能是CLOSED 。
TIME_WAIT 並不會佔用很大資源的,除非受到攻擊。
還有,如果一方send 或recv 超時,就會直接進入CLOSED 狀態
5. TCP擁塞控制。
(1)在通訊子網出現過多資料包的情況,使得網路的效能下降,甚至不能正常工作,這種現象就稱為擁塞。
(2)網路擁塞的成因主要有三:1、處理器的速度太慢。2、線路容量的限制。3、節點輸出包的能力小於輸入包的能力。
(3)擁塞控制與流量控制是相關的,流量控制在資料鏈路層對一條通訊路徑上的流量進行控制,其的是保證傳送者的傳送速度不超過接收者的接收速度,它只涉及一全傳送者和一個接收者,是區域性控制。擁塞控制是對整個通訊子網的流量進行控制,其目的是保證通訊子網中的流量與其資源相匹配,使子網不會出現效能下降和惡化、甚至崩潰,是全域性控制。
(4)擁塞控制的最終目標是:1、防止由於過載而使吞吐量下降,損失效率;2、合理分配網路資源;3、避免死鎖;4、匹配傳輸速度。
(5)對擁塞控制,可用的方法有兩類:開環控制和閉環控制。
1、開環控制的思想是通過良好的設計避免擁塞問題的出現,確保擁塞問題在開始時就不可能發生。開環控制方法包括何時接受新的通訊何時丟棄包、丟棄哪些包。其特點是在作出決定時不考慮網路當前的狀態。
2、閉環控制的思想是反饋控制。即通過將網路工作的動態資訊反饋給網路中節點的有關程序,節點根據網路當前的動態資訊,調整轉發資料包的策略。閉環控制過程包括三部分: ①監視系統 檢測網路發生或將要發生擁塞的時間和地點。②報告 將監視中檢測到的資訊傳送到可以進行擁塞控制的節點。③決策 調整系統的操作行為,以解決問題。
(6)對應於開環控制的方法有:(基於擁塞預防)
1、預定緩衝區 2、合理分配緩衝區 3、通訊量整形法(A、許可證演算法,B、漏桶演算法,C、令牌漏桶演算法。)
對應於閉環控制的方法有:(基於擁塞抑制,即擁塞出現或即將出現時採取適當的措施進行控制,直到消除擁塞)
1、阻塞包法。 2、負載丟棄法
6. TCP滑動視窗與回退N針協議。(1)
(2)go-back-N:為了提高通道的利用率和傳輸的效率,在未收到確認資訊時允許傳送方連續傳送N幀資料,收方的緩衝區只能存放一幀資料。當接收方檢測出出錯的資訊幀後,要求傳送方重發最後一個正確接收的資訊幀之後的所有未被確認的幀;或者當傳送方傳送了N個幀後,若發現該N幀的前一個幀在計時器超時後仍未返回其確認資訊,則該幀被判為出錯或丟失,此時傳送方就不得不重新發送出錯幀及其後的N幀。因為對接收方來說,由於這一幀出錯,就不能以正常的序號向它的高層遞交資料,對其後傳送來的N幀也可能都不能接收而丟棄。GO-BACK-N可能將已正確傳送到目的地的資料幀再重傳一遍,這顯然是一種浪費。為了不出現二義性發方的視窗大小不得大於2n-1。
參考:http://www.cnblogs.com/hupp/p/4857093.html
7. Http的報文結構。
(1)HTTP請求報文一個HTTP請求報文由請求行(request line)、請求頭部(header)、空行和請求資料4個部分組成,下圖給出了請求報文的一般格式。
(2)HTTP響應也由三個部分組成,分別是:狀態行、訊息報頭、響應正文。
8. Http的狀態碼含義。
9. Http request的幾種型別。
10. Http1.1和Http1.0的區別
11. Http怎麼處理長連線。
12. Cookie與Session的作用於原理。
13. 電腦上訪問一個網頁,整個過程是怎麼樣的:DNS、HTTP、TCP、OSPF、IP、ARP。
14. Ping的整個過程。ICMP報文是什麼。
15. C/S模式下使用socket通訊,幾個關鍵函式。
16. IP地址分類。
17. 路由器與交換機區別。
相關推薦
常見TCP/IP面試題(邊學邊補充)
1. OSI與TCP/IP各層的結構與功能,都有哪些協議。 (1)OSI:七層模型。 ①物理層:在物理通道上實現原始位元流的傳輸。(乙太網, IEEE 802.2 等) ②資料鏈路層:實現無差錯地將資料幀從一個節點傳送到下一個相鄰節點。(Wi-Fi(IEEE 802.11)
Java常見資料結構面試題(帶答案)
1.棧和佇列的共同特點是(只允許在端點處插入和刪除元素)4.棧通常採用的兩種儲存結構是(線性儲存結構和連結串列儲存結構)5.下列關於棧的敘述正確的是(D) A.棧是非線性結構B.棧是一種樹狀結構C.棧具有先進先出的特徵D.棧有後進先出的特徵6.連結串列不具有的特點是(
最新阿裏巴巴面試題(附帶面試標準答案)
python Pythonweb 爬蟲 Python面試題 Python學習 在上一節中,我們已經介紹了關於阿裏巴巴的任職要求,這節我就詳細的介紹一下關於阿裏巴巴的面試題(涉及到標準代碼部分不予以出現,如果想要可以加群:725479218,裏面可以進行技術分享、技術交流、Python學習(
python3 開發面試題(裝飾器必須考)6.4
args 返回 event aps 面試題 wrap spl def pen def f(): print("2018-06-04") # 每次調用f的時候 在打印"2018-06-04" 之前打印一句 開始, 之後再打印一句 結束 d
Java高階程式設計師面試題(個人建議收藏+分享)
1.你認為專案中最重要的過程是那些? 分析、設計階段 儘量找出進度的優先順序 2.如果給你一個4-6人的team,怎麼分配? 挑選一技術過硬的人作為我的替補。其它人平均分配任務,每週進行全面的任務分配,每個人領取一週的工作量 ,每天彙報進度。 3.簡述軟體開發文件
C#程式設計基礎面試題(.NET開發人員必備)
1. C/S結構模式與B/S結構模式的主要區別是什麼? 【解答】 首先,在系統的效能方面。只要擁有可上網的瀏覽器,就可以使用B/S系統。不過,B/S結構的客戶端只能完成瀏覽、查詢、資料輸入等簡單功能,絕大部分工作要由伺服器承擔,這就對伺服器提出了很高的要求,無形
阿里巴巴高階Java面試題(首發,70道)
整理的70道阿里的Java面試題,都來挑戰一下,看看自己有多厲害。下面題目都帶超詳細的解答,詳情見底部。 1、java事件機制包括哪三個部分?分別介紹。 2、為什麼要使用執行緒池? 3、執行緒池有什麼作用? 4、說說幾種常見的執行緒池及使用場景。 5、
多執行緒Demo-空中網面試題(張孝祥講解)
摘自傳智播客_張孝祥_空中網挑選實習生的面試題 視訊教程的,(主要是執行緒與佇列的使用). 與本人無關,僅供以後參考使用 空中網4k/5k月薪挑選大四實習生的執行緒題 兩年前,我們一個大四的學員去應聘空中網的實習生職位,空中網只給他出了三道執行緒
黑馬程式設計師_7k面試題(交通燈管理系統)學習筆記
總共有12條路線,為了統一程式設計模型,可以假設每條路線都有一個紅綠燈對其進行控制,右轉彎的4條路線的控制燈可以假設稱為常綠狀態,另外,其他的8條線路是兩兩成對的,可以歸為4組,所以,程式只需考慮圖中標註了數字號的4條路線的控制燈的切換順序,這4條路線相反方向的路線的控制燈跟隨這4條路線切換,不必額外考慮
華賽的一道面試題(關於char型別的)
原始碼如下,找出程式碼中的錯誤。 #include "stdafx.h" #include <stdio.h> #include <iostream> //using namespace std; int _tmain(int argc, _TCHA
關於前端那些事 :二、幾個重要協議TCP/IP和UDP(每天進步一點點)
1.什麼是TCP/IP協議 要想了解什麼是TCP/IP協議,就要知道為什麼有這個協議。中國人和中國人說話,要遵循漢語的的語法結構,使用漢語的發音。當我們和外國人交流時,就要適用外國的語言了,遵循外國的語法機構和發音。其實這就是一種協議,只不過我們稱之為語言。計
黑馬程式設計師---7k面試題(銀行業務排程系統)
號碼管理器 publicclassNumberManager{ privateint lastNumber =0;//客戶數 privateList queueNumbers =newArrayList();//視窗叫號數 publicsynchronizedInteger generateN
【資料結構】---------二叉樹面試題(具體的所有實現)
實現二叉樹的相關的操作: 先序遍歷樹(遞迴) 中序遍歷樹(遞迴) 後序遍歷樹(遞迴) 層序遍歷樹 建立一棵樹 樹的銷燬 樹的拷貝 二叉樹中節點的個數 二叉樹葉子節點的個數 二叉樹第K層節點的個數 樹的高度 在二叉樹中查詢節點 找當前節點的左子樹
一道hive面試題(窗口函數)
import color 格式 win lin nbsp 面試 select eight 表student中的數據格式如下: name month degree s1 201801 As1 201802 As1 201803 Cs1 201804 As1 2
微信小程序(基礎到高級)並含有 js視頻資源、算法、插件大全、面試題(輕松面對面試)
mov 二維 問題 linux title 微信小程序 模糊查詢 avi 事件綁定 寫在前面 參考答案及資源在看雲平臺發布,如果大家想領取資源以及查看答案,可直接前去購買。一次購買永久可看,文檔長期更新!有什麽意見與建議歡迎您及時聯系作者或留言回復! 文檔描述本文是
個人珍藏的80道多執行緒併發面試題(1-10答案解析)
前言 個人珍藏的80道Java多執行緒/併發經典面試題,因為篇幅太長,現在先給出1-10的答案解析哈,後面一起完善,並且上傳github哈~ ❝ https://github.com/whx123/JavaHome ❞ 「公眾號:撿田螺的小男孩」 1. synchronized的實現原理以及鎖優化? sync
個人珍藏的80道多執行緒併發面試題(11-20答案解析)
## 前言 個人珍藏的80道Java多執行緒/併發經典面試題,現在給出11-20的答案解析哈,並且上傳github哈~ > https://github.com/whx123/JavaHome [個人珍藏的80道多執行緒併發面試題(1-10答案解析)](https://juejin.im/post/
(轉) HTTP & HTTPS網絡協議重點總結(基於SSL/TLS的握手、TCP/IP協議基礎、加密學)
重點總結 csdn .net https clas 加密 網絡 tls spa HTTP & HTTPS網絡協議重點總結(基於SSL/TLS的握手、TCP/IP協議基礎、加密學) 原文:http://blog.csdn.net/itermeng/article/
LINUX相關技術面試題(命令,vi編輯器,常見面試問題)
LINUX相關技術面試題 基礎命令: 1.查詢檔案 find / -name filename.txt 根據名稱查詢/目錄下的filename.txt檔案。 2.檢視一個程式是否執行 ps –ef|grep tomcat 檢視所有有關tomcat的程序 3.終止執行緒
2018年最常見的Python面試題&答案(上篇)
Python新手在謀求一份Python程式設計工作前,必須熟知Python的基礎知識。程式設計網站DataFlair的技術團隊分享了一份2018年最常見Python面試題合集,既有基本的Python面試題,也有高階版試題來指導你準備面試,試題均附有答案。面試題內容包括編碼、資