這篇部落格記錄在面試過程中,關於計算機網路部分的常考題目,不斷更新中......
1、osi,tcp/ip,五層協議的體系結構,以及各層協議
答: osi分層 (7層):物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。
tcp/ip分層(4層):網路介面層、 網際層、運輸層、 應用層。
五層協議 (5層):物理層、資料鏈路層、網路層、運輸層、 應用層。
每一層的協議如下:
物理層:rj45、clock、ieee802.3 (中繼器,集線器)
資料鏈路層:ppp、fr、hdlc、vlan、mac (網橋,交換機)
網路層:ip、icmp、arp、rarp、ospf、ipx、rip、igrp、 (路由器)
傳輸層:tcp、udp、spx
會話層:nfs、sql、netbios、rpc
表示層:jpeg、mpeg、asii
應用層:ftp、dns、telnet、smtp、http、www、nfs
每一層的作用如下:
物理層:通過媒介傳輸位元,確定機械及電氣規範(位元bit)
資料鏈路層:將位元組裝成幀和點到點的傳遞(幀frame)
網路層:負責資料報從源到宿的傳遞和網際互連(包packet)
傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段segment)
會話層:建立、管理和終止會話(會話協議資料單元spdu)
表示層:對資料進行翻譯、加密和壓縮(表示協議資料單元ppdu)
應用層:允許訪問osi環境的手段(應用協議資料單元apdu)
2、ip位址的分類
ip : 192.168.2.110
submask : 255.255.255.0
網路號 :192.168.2 .0
3、arp是位址解析協議,簡單語言解釋一下工作原理。
答:1:首先,每個主機都會在自己的arp緩衝區中建立乙個arp列表,以表示ip位址和mac位址之間的對應關係。
2:當源主機要傳送資料時,首先檢查arp列表中是否有對應ip位址的目的主機的mac位址,如果有,則直接傳送資料,如果沒有,就向本網段的所有主機傳送arp資料報,該資料報包括的內容有:源主機 ip位址,源主機mac位址,目的主機的ip 位址。
3:當本網路的所有主機收到該arp資料報時,首先檢查資料報中的ip位址是否是自己的ip位址,如果不是,則忽略該資料報,如果是,則首先從資料報中取出源主機的ip和mac位址寫入到arp列表中,如果已經存在,則覆蓋,然後將自己的mac位址寫入arp響應包中,告訴源主機自己是它想要找的mac位址。
4:源主機收到arp響應包後。將目的主機的ip和mac位址寫入arp列表,並利用此資訊傳送資料。如果源主機一直沒有收到arp響應資料報,表示arp查詢失敗。
廣播傳送arp請求,單播發送arp響應。
4、tcp三次握手和四次揮手的全過程答:
三次握手:
第一次握手
客戶主動(active open)去connect伺服器,並且傳送syn 假設序列號為j,
伺服器是被動開啟(passive open)
第二次握手
伺服器在收到syn後,它會傳送乙個syn以及乙個ack(應答)給客戶,
ack的序列號是 j+1表示是給syn j的應答,新傳送的syn k 序列號是k
第三次握手
客戶在收到新syn k, ack j+1 後,也回應ack k+1 以表示收到了,
然後兩邊就可以開始資料傳送資料了
握手過程中傳送的包裡不包含資料,三次握手完畢後,客戶端與伺服器才正式開始傳送資料。理想狀態下,tcp連線一旦建立,在通訊雙方中的任何一方主動關閉連線之前,tcp 連線都將被一直保持下去。四次揮手與建立連線的「三次握手」類似,斷開乙個tcp連線則需要「四次揮手」。
第一次揮手:主動關閉方傳送乙個fin,用來關閉主動方到被動關閉方的資料傳送,也就是主動關閉方告訴被動關閉方:我已經不 會再給你發資料了(當然,在fin包之前傳送出去的資料,如果沒有收到對應的ack確認報文,主動關閉方依然會重發這些資料),但是,此時主動關閉方還可 以接受資料。
第二次揮手:被動關閉方收到fin包後,傳送乙個ack給對方,確認序號為收到序號+1。
第三次揮手:被動關閉方傳送乙個fin,用來關閉被動關閉方到主動關閉方的資料傳送,也就是告訴主動關閉方,我的資料也傳送完了,不會再給你發資料了。
第四次揮手:主動關閉方收到fin後,傳送乙個ack給被動關閉方,確認序號為收到序號+1,至此,完成四次揮手。
5、在瀏覽器中輸入www.baidu.com後執行的全部過程
瀏覽器獲取輸入的網域名稱www.baidu.com
瀏覽器向網域名稱系統dns請求解析www.baidu.com的ip位址
瀏覽器與伺服器建立tcp連線(預設埠80)
伺服器通過http請求把首頁檔案發給瀏覽器
tcp連線釋放
瀏覽器解析首頁檔案,展示web介面
6、tcp和udp的區別
答:tcp提供面向連線的、可靠的資料流傳輸,而udp提供的是非面向連線的、不可靠的資料流傳輸。
tcp傳輸單位稱為tcp報文段,udp傳輸單位稱為使用者資料報。
tcp注重資料安全性,udp注重資料傳輸效率,但是其安全性卻一般。
tcp對應的協議和udp對應的協議
tcp對應的協議:
(1) ftp:定義了檔案傳輸協議,使用21埠。
(2) telnet:遠端登入服務協議。
(3) smtp:郵件傳送協議,用於傳送郵件。伺服器開放的是25號埠。
(4) pop3:它是和smtp對應,pop3用於接收郵件。pop3協議所用的是110埠。
(5)http:是從web伺服器傳輸超文字到本地瀏覽器的傳送協議。
udp對應的協議:
(1) dns:用於網域名稱解析服務,將網域名稱位址轉換為ip位址。dns用的是53號埠。
(2) snmp:簡單網路管理協議,使用161號埠,是用來管理網路裝置的。由於網路裝置很多,無連線的服務就體現出其優勢。
(3) tftp(trivial file transfer protocal),簡單檔案傳輸協議,該協議在熟知埠69上使用udp服務。
7、dns網域名稱系統,簡單描述其工作原理。
答:當客戶端需要在程式中使用名稱時,它會查詢dns伺服器來解析該名稱。客戶機傳送的每條查詢資訊包括三條資訊:指定的dns網域名稱,指定的查詢型別,dns網域名稱的指定類別。基於udp服務。該應用一般不直接為使用者使用,而是為其他應用服務,如http,smtp等在其中需要完成主機名到ip位址的轉換。
8、tcp的三次握手過程?為什麼會採用三次握手,若採用二次握手可以嗎?
答:建立連線的過程是利用客戶伺服器模式,假設主機a為客戶端,主機b為伺服器端。
(1)tcp的三次握手過程:主機a向b傳送連線請求;主機b對收到的主機a的報文段進行確認;主機a再次對主機b的確認進行確認。
(2)採用三次握手是為了防止建立連線過程中,失效的連線請求造成資源浪費的情況。失效的連線請求是指:由於阻塞或者其他原因在網路中滯留的請求,客戶端認為這樣的請求丟失了,重新傳送乙個建立連線的請求,如果重新傳送的請求連線完成之後,之前失效的請求又到達了伺服器端,伺服器端對這個請求進行確認,如果是兩次握手,此時就會建立連線,然後伺服器向客戶端傳送資料,但是客戶端此時根本不會接收,丟棄這些資料,造成資源的浪費。如果是三次握手,就不會出現上述情況。
(3)採用兩次握手不行,原因就是上面說的失效的連線請求的特殊情況。
計算機網路面試題
tcp udp區別以及tcp如何保證傳輸可靠性 tcp是基於連線的協議,udp是面向非連線的協議 tcp傳輸可靠,udp傳輸不可靠 tcp的可靠性是通過順序編號和確認 ack 來實現的。tcp在開始傳送乙個段時,首先將該段插入到傳送佇列之中,同時啟動時鐘。其後,如果收到了接受端對該段的ack資訊,就...
計算機網路面試題
常見題 1 osi開放式網際網路參考模型有哪些組成?2 客戶端傳給伺服器時經過tcp ip的四層模型?3 從輸入 到獲得頁面的過程?4 cookie作用是啥?和session區別是啥?tcp ip 1 什麼是tcp協議?什麼是udp協議?2 tcp udp區別?3 tcp報文頭有哪些組成?4 udp...
計算機網路面試題
傳輸層網路層 應用層 3 http協議 報文格式 請求報文 響應報文 請求頭各種字段 響應頭各種字段 http狀態碼。4 https協議 詳細握手過程 各種演算法 摘要演算法 數字簽名 數字證書的原理與過程 http與https 輸入乙個url到瀏覽器返回頁面發生了什麼 網易 cookie與sess...