計算機網絡 常見筆試面試題

·      OSI,TCP/IP,五層協議的體系結構,以及各層協議
①OSI分層 (7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。
②TCP/IP分層(4層):網絡接口層、 網際層、運輸層、 應用層。
③五層協議 (5層):物理層、數據鏈路層、網絡層、運輸層、 應用層。
④每一層的協議以下:
物理層:RJ4五、CLOCK、IEEE802.3 (中繼器,集線器)
數據鏈路:PPP、HDLC、VLAN、MAC (網橋,交換機)
網絡層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP (路由器)
傳輸層:TCP、UDP
應用層:FTP、DNS、Telnet、SMTP、HTTP
⑤每一層的做用以下:
物理層:經過媒介傳輸比特,肯定機械及電氣規範(比特Bit)
數據鏈路層:將比特組裝成幀和點到點的傳遞(幀Frame)
網絡層:負責數據包從源到宿的傳遞和網際互連(包PackeT)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段Segment)
會話層:創建、管理和終止會話(會話協議數據單元SPDU)
表示層:對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
應用層:容許訪問OSI環境的手段(應用協議數據單元APDU)
 
·      在瀏覽器中輸入www.baidu.com後執行的所有過程
①瀏覽器獲取輸入的域名 www.baidu.com 
② 瀏覽器向DNS請求解析 www.baidu.com的IP地址 
③ 域名系統DNS解析出百度服務器的IP地址 
④瀏覽器與該服務器創建TCP鏈接(默認端口號80) 
⑤瀏覽器發出HTTP請求,請求百度首頁 
⑥服務器經過HTTP響應把首頁文件發送給瀏覽器 
⑦TCP鏈接釋放 
⑧瀏覽器將首頁文件進行解析,並將Web頁顯示給用戶。
 
·      DNS域名系統,簡單描述其工做原理。
當DNS客戶機須要在程序中使用名稱時,它會查詢DNS服務器來解析該名稱。客戶機發送的每條查詢信息包括三條信息:指定的DNS域名,指定的查詢類型,DNS域名的指定類別。基於UDP服務,端口53. 該應用通常不直接爲用戶使用,而是爲其餘應用服務,如HTTP,SMTP等在其中須要完成主機名到IP地址的轉換。
①客戶機向其本地域名服務器發出DNS請求報文
②本地域名服務器收到請求後,查詢本地緩存,假設沒有該記錄,則以DNS客戶的身份向根域名服務器發出解析請求
③根域名服務器收到請求後,判斷該域名所屬域,將對應的頂級域名服務器的IP地址返回給本地域名服務器
④本地域名服務器向頂級域名服務器發出解析請求報文
⑤頂級域名服務器收到請求後,將所對應的受權域名服務器的IP地址返回給本地域名服務器
⑥本地域名服務器向受權域名服務器發起解析請求報文
⑦受權域名服務器收到請求後,將查詢結果返回給本地域名服務器
⑧本地域名服務器將查詢結果保存到本地緩存,同時返回給客戶機
 
·      HTTP的狀態碼:
①大體可分爲五大類
100-199 信息,服務器收到請求,須要請求者繼續執行操做。指定客戶端應相應的某些動做。 
200-299 用於表示請求成功。
300-399 重定向,須要進一步的操做以完成請求
400-499 用於指出客戶端的錯誤。請求包含語法錯誤或沒法完成請求
500-599 用於支持服務器錯誤。服務器在處理請求的過程當中發生了錯誤
②常見的狀態碼
206      部份內容。服務器成功處理了部分GET請求
301      永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。從此任何新的請求都應使用新的URI代替。
302      臨時移動。與301相似。但資源只是臨時被移動。客戶端應繼續使用原有URI
400   (錯誤請求) 服務器不理解請求的語法。 
404   (未找到) 服務器找不到請求的網頁。
500   (服務器內部錯誤)  服務器遇到錯誤,沒法完成請求。 
505   (HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本。
 
·      HTTP和HTTPS的區別:
https:全稱Hyper Text Transfer Protocol Secure,相比http,多了一個secure,這一個secure是怎麼來的呢?這是由TLS(SSL)提供的,能夠簡單理解爲 HTTPS=HTTP+SSL。
①HTTP 的 URL 以 http:// 開頭,而 HTTPS 的 URL 以 https:// 開頭
②HTTP 是相對不安全的,而 HTTPS 是相對安全的
③HTTP 標準端口是 80 ,而 HTTPS 的標準端口是 443
④在 OSI 網絡模型中,HTTP 工做於應用層,而 HTTPS 工做在傳輸層
⑤HTTP 無需加密,而 HTTPS 對傳輸的數據進行加密
⑥HTTP 無需證書,而 HTTPS 須要認證證書
 
·      TCP和UDP的區別?
①TCP提供面向鏈接的、可靠的數據流傳輸,而UDP提供的是非面向鏈接的、不可靠的數據流傳輸。
②TCP傳輸單位稱爲TCP報文段,UDP傳輸單位稱爲用戶數據報。
③TCP注重數據安全性,UDP數據傳輸快,由於不須要鏈接等待,少了許多操做,可是其安全性卻通常。
④TCP對應的協議和UDP對應的協議
1). TCP對應的協議:
FTP:定義了文件傳輸協議,使用21端口。
Telnet:一種用於遠程登錄的端口,使用23端口,用戶能夠以本身的身份遠程鏈接到計算機上,可提供基於DOS模式下的通訊服務。
SMTP:郵件傳送協議,用於發送郵件。服務器開放的是25號端口。
POP3:它是和SMTP對應,POP3用於接收郵件。POP3協議所用的是110端口。
HTTP:是從Web服務器傳輸超文本到本地瀏覽器的傳送協議。
2). UDP對應的協議:
DNS:用於域名解析服務,將域名地址轉換爲IP地址。DNS用的是53號端口。
SNMP:簡單網絡管理協議,使用161號端口,是用來管理網絡設備的。因爲網絡設備不少,無鏈接的服務就體現出其優點。
TFTP(Trival File Transfer Protocal),簡單文件傳輸協議,該協議在熟知端口69上使用UDP服務。
 
·      TCP是怎麼保證傳輸可靠的?
①確認和重傳:接收方收到報文就會確認,發送方發送一段時間後沒有收到確認就重傳。
②數據校驗
③數據合理分片和排序:TCP會按MTU合理分片,接收方會緩存未按序到達的數據,從新排序後再交給應用層。

TCP爲何引入接受緩存這個數據結構?
若是沒有接受緩存的話,或者說只有一個緩存的話,爲了保證接受的數據是按順序傳輸的,因此若是位於x序號以後的序號分組先到達目的主機的運輸層的話必然丟棄,這樣的話將在重傳上花費很大的開銷,因此通常若是有過大的序號達到接收端,那麼會按照序號緩存起來等待以前的序號分許到達,而後一併交付到應用進程。

④流量控制
當接收方來不及處理髮送方的數據,能提示發送方下降發送的速率,防止包丟失。
⑤擁塞控制
當網絡擁塞時,減小數據的發送。
 
·      瞭解交換機、路由器、網關的概念,並知道各自的用途
①交換機
在計算機網絡系統中,交換機是針對共享工做模式的弱點而推出的。交換機擁有一條高帶寬的背部總線和內部交換矩陣。交換機的全部的端口都掛接在這條背部總線上,當控制電路收到數據包之後,處理端口會查找內存中的地址對照表以肯定目的MAC(網卡的硬件地址)的NIC(網卡)掛接在哪一個端口上,經過內部交換矩陣迅速將數據包傳送到目的端口。目的MAC若不存在,交換機才廣播到全部的端口,接收端口迴應後交換機會「學習」新的地址,並把它添加入內部地址表中。
交換機工做於OSI參考模型的第二層,即數據鏈路層。交換機內部的CPU會在每一個端口成功鏈接時,經過ARP協議學習它的MAC地址,保存成一張 ARP表。在從此的通信中,發往該MAC地址的數據包將僅送往其對應的端口,而不是全部的端口。所以,交換機可用於劃分數據鏈路層廣播,即衝突域;但它不能劃分網絡層廣播,即廣播域。
②路由器
路由器(Router)是一種計算機網絡設備,提供了路由與轉送兩種重要機制,能夠決定數據包歷來源端到目的端所通過的路由路徑(host到host之間的傳輸路徑),這個過程稱爲路由;將路由器輸入端的數據包移送至適當的路由器輸出端(在路由器內部進行),這稱爲轉送。路由工做在OSI模型的第三層——即網絡層,例如網際協議。
路由器的一個做用是連通不一樣的網絡,另外一個做用是選擇信息傳送的線路。 路由器與交換器的差異,路由器是屬於OSI第三層的產品,交換器是OSI第二層的產品(這裏特指二層交換機)。
③網關
網關(Gateway),網關是鏈接兩個網絡的設備,
在傳統TCP/IP術語中,網絡設備只分紅兩種,一種爲網關(gateway),另外一種爲主機(host)。網關能在網絡間轉遞數據包,但主機不能轉送數據包。在主機中,數據包需通過TCP/IP四層協議處理,可是在網關只須要到達網際層,決定路徑以後就能夠轉送。
在現代網絡術語中,網關(gateway)與路由器(router)的定義不一樣。網關(gateway)能在不一樣協議間移動數據,而路由器(router)是在不一樣網絡間移動數據。
對於以太網中的網關只能轉發三層以上數據包,這一點和路由是同樣的。而不一樣的是網關中並無路由表,他只能按照預先設定的不一樣網段來進行轉發。網關最重要的一點就是端口映射,子網內用戶在外網看來只是外網的IP地址對應着不一樣的端口,這樣看來就會保護子網內的用戶。
 
·      IP地址的分類
A類地址:以0開頭, 第一個字節範圍:0~127(1.0.0.0 - 126.255.255.255)
B類地址:以10開頭,第一個字節範圍:128~191(128.0.0.0 - 191.255.255.255)
C類地址:以110開頭,  第一個字節範圍:192~223(192.0.0.0 -223.255.255.255);
除去以上三類公有IP的,剩下的爲私有IP:10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。
 
·      ARP是地址解析協議,簡單語言解釋一下工做原理。
①每一個主機都會在本身的ARP緩衝區中創建一個ARP列表,以表示IP地址和MAC地址之間的對應關係。
②當源主機要發送數據時,首先檢查ARP列表中是否有對應IP地址的目的主機的MAC地址,若是有,則直接發送數據,若是沒有,就向本網段的全部主機發送ARP數據包,該數據包包括的內容有:源主機 IP地址,源主機MAC地址,目的主機的IP 地址。
③當本網絡的全部主機收到該ARP數據包時,首先檢查數據包中的IP地址是不是本身的IP地址,若是不是,則忽略該數據包,若是是,則首先從數據包中取出源主機的IP和MAC地址寫入到ARP列表中,若是已經存在,則覆蓋,而後將本身的MAC地址寫入ARP響應包中,告訴源主機本身是它想要找的MAC地址。
④源主機收到ARP響應包後。將目的主機的IP和MAC地址寫入ARP列表,並利用此信息發送數據。若是源主機一直沒有收到ARP響應數據包,表示ARP查詢失敗。
廣播發送ARP請求,單播發送ARP響應。
 
·      RARP(反向地址轉換協議):
反向地址轉換協議就是將局域網中某個主機的物理地址轉換爲IP地址,好比局域網中有一臺主機只知道物理地址而不知道IP地址,那麼能夠經過RARP協議發出徵求自身IP地址的廣播請求,而後由RARP服務器負責回答。RARP協議普遍用於獲取無盤工做站的IP地址。
①給主機發送一個本地的RARP廣播,在此廣播包中,聲明本身的MAC地址而且請求任何收到此請求的RARP服務器分配一個IP地址;
②本地網段上的RARP服務器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址;
③若是存在,RARP服務器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用;
④若是不存在,RARP服務器對此不作任何的響應;
⑤源主機收到從RARP服務器的響應信息,就利用獲得的IP地址進行通信;若是一直沒有收到RARP服務器的響應信息,表示初始化失敗。
 
·      爲何有了可靠地TCP還須要不可靠的UDP?
①TCP的優缺點。優勢呢,TCP是可靠的鏈接,因爲有基本的重傳確認機制,能夠保證把一個數據塊完完整整的從A傳到B;缺點也是因優勢而生,由於有三次握手,因此會傳輸更多的包,浪費一些帶寬;由於須要可靠地鏈接進行通訊,則須要雙方都必須持續在線,因此在通訊過程當中server須要維持很是大的併發鏈接,浪費了系統資源,甚至會出現宕機;再者就是由於有重傳確認,則會浪費一部分的帶寬,且在很差的網絡中,會由於不斷地鏈接斷開鏈接,嚴重下降了傳輸效率。
②相對於TCP來講,UDP是非面向鏈接的不可靠的協議,其優勢也由於缺點而生。首先,由於沒有三次握手,因此會起步比較快,延時小;另外,因爲不須要雙方持續在線,因此server不用維護巨量的併發鏈接,節省了系統資源;三,由於沒有重傳確認,雖然到達的數據可能會有所缺失,但在不影響使用的狀況下,能更高效的利用網絡帶寬。
③TCP適合實時性要求不高、但要求內容要完整傳輸的應用。相比而言,UDP因爲無鏈接、無重傳確認,因此傳輸效率高、延時小,適合實時性要求高的應用,如遊戲服務器,音頻,視頻等;另外,因爲不用維持大的併發量,因此適合巨量服務的server,加上合適的時間控制,能夠用來設計更大的併發服務器;再者就是,UDP能夠更高效的利用網絡帶寬。
 
·      數據鏈路兩端的設備是:DTE或DCE
DTE(DataTerminalEquipment)數字終端設備:指通常的終端或是計算機。多是大、中、小型計算機,也多是一臺只接收數據的打印機。
DCE(DataCircuit-terminatingEquipment)數字通訊設備:一般指調制解調器,多路複用器或數字設備。

DTE,DCE的區別
DCE一方提供時鐘,DTE不提供時鐘,但它依靠DCE提供的時鐘工做。好比PC機和MODEM之間的鏈接。PC機就是一個DTE,MODEM是一個DCE。DTE能夠從硬件上區別它的接口爲針式,DCE的接口爲孔式。
 
·      Socket編程注意點
客戶端(client):socket→connect→具體操做
服務端(serve):socket→bind→listen→accept→具體操做
(bind:端口綁定;   listen:端口監聽;    accept:阻塞,等待客戶端connect)
(socket:把TCP/IP協議隱藏在軟件接口後面)
 
·      P2P本質上仍是C/S模式,只不過交互的雙方既是服務器又是客戶端。
 
·      路由匯聚: 路由匯聚的「含義」是把一組路由匯聚爲一個單個的路由。路由匯聚的最終結果和最明顯的好處是縮小網絡上的路由表的尺寸。這樣將減小與每個路由跳有關的延遲,由於因爲減小了路由登陸項數量,查詢路由表的平均時間將加快。路由匯聚的「用意」是當咱們採用了一種體系化編址規劃後的一種用一個IP地址表明一組IP地址的集合的方法。
相關文章
相關標籤/搜索