計算機網絡面試題

1、OSI,tcp/ip,五層協議的體系結構,以及各協議的作用

OSI/RM(開放系統互連基本參考模型),OSI開放系統互連,總共有七層協議:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。

tcp/ip(4層):網絡接口層、網際層、運輸層和應用層。

五層協議:物理層、數據鏈路層、網絡層、運輸層和應用層。

各層的作用:

物理層:通過媒介傳輸比特,確定機械及電氣規範。——比特

數據鏈路層:將比特組裝成幀和點到點的傳遞。——幀

網絡層:負責數據包從源到目的的傳遞和網際互連。——包

傳輸層:提供端到端的報文傳遞和錯誤恢復。——段(TCP報文段和UDP用戶數據包)

會話層:建立、管理和終止會話。

表示層:對數據進行翻譯、加密和壓縮。

應用層:允許訪問OSI環境的手段。

2、IP地址的分類。

IP地址總共分爲五類:

A類:以0開頭,第一個字節範圍:0-126。(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)網絡號佔三個字節

D類:以1110開頭,後面是指多播地址。

E類:以1111開頭,後面保留爲今後所用。

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響應。

4、常用協議的介紹。

ICMP協議:因特網控制報文協議。是tcp/ip協議族的子協議,用於在IP主機、路由器之間傳遞控制協議。

TFTP協議:簡單文本傳輸協議,用在在客戶機和服務器之間進行簡單文件傳輸的協議。

HTTP協議:超文本傳輸協議,是一個屬於應用層的面向對象的協議。

DHCP協議:動態主機配置協議,是一種讓系統得以連接到網絡上,並獲取所需要的配置參數的手段。

NAT協議:網絡地址轉換協議,將私有地址轉換爲合法IP地址的轉換技術。

5、描述RARP協議。

逆地址解析協議,完成從硬件地址到IP地址的映射,主要用於無盤工作站,這是因爲給無盤工作站配置的IP地址不能保存。

工作流程:在網絡中配置一臺RARP服務器,裏面保存着IP地址和MAC地址的映射關係,當無盤工作站啓動後,就封裝一個RARP數據包,裏面有它的MAC地址,然後廣播到網絡去,當服務器收到請求包後,就查找對應的MAC地址的IP地址裝入響應文中發回給請求者,因爲需要廣播請求報文,因此RARP只能用於具有廣播能力的網絡。

6、TCP三次握手和四次揮手的全過程。

三次握手:

第一次握手:客戶端發送SYN(同步SYN=1,seq=x)包到服務器,並進入SYN_SEND(同步已發送)狀態,等待服務器的確認。

第二次握手:服務器收到SYN包,必須確認客戶端的SYN(ack=x+1),同時發送自己的SYN+ACK包(SYN=1,ACK=1,seq=y),服務器進入同步已接收狀態(SYN_RECV)。

第三次握手:客戶端收到服務器發來的SYN+ACK包,向服務器發送確認包ACK(ACK=1,ack=y+1,seq=x+1)。至此完成三次握手。

爲什麼要有第三次握手?而不是用兩次握手?

考慮這樣一種情況,客戶端發送請求到服務器,但由於網絡阻塞等原因,一直未收到服務器的確認,於是客戶端認爲請求發送丟失了,於是再次發送請求。然而,第一次的請求可能在某個時間到服務器,這時候,服務器發送確認客戶端。這時,如果是兩次握手,那麼則將會建立連接,可是由於客戶端認爲之前的請求已經失效了,所以不會理會從客戶端發送過來的確認信息,這樣服務器以爲已經建立了連接,則會一直等待客戶端發來請求,這樣資源就白白浪費了。而如果是三次握手,那麼由於客戶端不會發送確認,因而服務器就不會建立連接。

四次揮手:

第一次揮手:主動關閉方發送一個終止FIN(FIN=1,seq=u),用來關閉主動放到被動關閉方的數據傳送,但是此時主動方還是可以接受數據,只是不再發送數據。

第二次揮手:被動關閉方收到FIN包後,發送一個確認包ACK給對方(ACK=1,ack=u+1,seq=v)。

第三次揮手:被動關閉方發送一個FIN,用來關閉被動關閉方到主動關閉方的數據傳送。(FIN=1,ACK=1,seq=w, ack=u+1)。(注意第二、三、四次揮手都要有ACK=1,TCP規定:在連接建立後的所有傳送都應該設置ACK=1,但第一次揮手沒有)

第四次:主動關閉方收到FIN後,發送一個確認(ACK=1,seq=u+1,ack=w+1)給被動關閉方。

注意這裏還沒有結束,TCP還未釋放。必須經過時間等待計數器設置的時間2MSL(最長報文段壽命)後,主動關閉方纔進入關閉狀態。

這裏爲什麼要等待2MSL時間呢?

(1)爲了保證客戶段發送的最後一個ACK報文段能夠到達服務器。如果這個ACK報文段丟失,那麼服務器會重新發送ACK+FIN,那麼在2MSL時間內,客戶端可以重新發送ACK確認包。

(2)爲了防止“已失效的連接請求報文段”出現在本連接中。客戶端在發送完最後一個確認包後,再等待2MSL時間,那麼使得本連接持續時間內的所有產生的報文段都從網絡上消失。這樣在下一個連接中就不會出現這樣舊的連接請求了。(MSL是最長報文段壽命,過了這個2MSL,報文段將會失效)

7、說明在瀏覽器中輸入www.baidu.com後執行的全部過程。

(1)客戶端瀏覽器通過DNS(域名服務器)解析到域名的IP地址,通過這個IP地址找到客戶端到服務器的路徑。客戶端瀏覽器發起一個HTTP會話到這個IP地址,然後通過TCP進行封裝數據包,輸入到網絡層。

(2)在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的端口。服務器把相應的請求返回到客戶端的端口,然後利用IP層的IP地址查找目的端。

(3)客戶段的網絡層不關心應用層或者運輸層的東西,主要的任務是通過查找路由表確認如何到達服務器。(路由器工作原理)

(4)包通過鏈路層發送到路由器,查找給定IP地址的MAC地址,然後發送ARP請求查找目的地址。

8、TCP和UDP的區別。

(1)TCP提供的面向連接的可靠的數據流(字節流)傳輸,UDP是無連接的不可靠的面向數據包的傳輸。TCP注重數據安全性,UDP簡單,數據傳送快。

TCP協議:ftp,telnet,smtp,pop3,http

UDP協議:DNS,SNMP,TFTP

9、DNS域名系統的工作原理

DNS工作原理有兩種:遞歸查詢和迭代查詢。

主機向本地域名服務器的查詢一般都是遞歸查詢,即本地域名服務器會代替主機進行查詢,而不是主機進行查詢。

從本地域名服務器到根域名服務器的查詢一般都是迭代查詢,即自己進行不斷的迭代查詢。

10、說明交換機、路由器、網關的概念,並說明各自的用途。(下面答案拷貝自其他地方,碼字手抖)

答:1)交換機
在計算機網絡系統中,交換機是針對共享工作模式的弱點而推出的。交換機擁有一條高帶寬的背部總線和內部交換矩陣。交換機的所有的端口都掛接在這條背 部總線上,當控制電路收到數據包以後,處理端口會查找內存中的地址對照表以確定目的MAC(網卡的硬件地址)的NIC(網卡)掛接在哪個端口上,通過內部 交換矩陣迅速將數據包傳送到目的端口。目的MAC若不存在,交換機才廣播到所有的端口,接收端口迴應後交換機會“學習”新的地址,並把它添加入內部地址表 中。
交換機工作於OSI參考模型的第二層,即數據鏈路層。交換機內部的CPU會在每個端口成功連接時,通過ARP協議學習它的MAC地址,保存成一張 ARP表。在今後的通訊中,發往該MAC地址的數據包將僅送往其對應的端口,而不是所有的端口。因此,交換機可用於劃分數據鏈路層廣播,即衝突域;但它不能劃分網絡層廣播,即廣播域。
交換機被廣泛應用於二層網絡交換,俗稱“二層交換機”。
交換機的種類有:二層交換機、三層交換機、四層交換機、七層交換機分別工作在OSI七層模型中的第二層、第三層、第四層盒第七層,並因此而得名。
2)路由器
路由器(Router)是一種計算機網絡設備,提供了路由與轉送兩種重要機制,可以決定數據包從來源端到目的端所經過 的路由路徑(host到host之間的傳輸路徑),這個過程稱爲路由;將路由器輸入端的數據包移送至適當的路由器輸出端(在路由器內部進行),這稱爲轉 送。路由工作在OSI模型的第三層——即網絡層,例如網際協議。
路由器的一個作用是連通不同的網絡,另一個作用是選擇信息傳送的線路。 路由器與交換器的差別,路由器是屬於OSI第三層的產品,交換器是OSI第二層的產品(這裏特指二層交換機)。
3)網關
網關(Gateway),網關顧名思義就是連接兩個網絡的設備,區別於路由器(由於歷史的原因,許多有關TCP/IP 的文獻曾經把網絡層使用的路由器(Router)稱爲網關,在今天很多局域網採用都是路由來接入網絡,因此現在通常指的網關就是路由器的IP),經常在家庭中或者小型企業網絡中使用,用於連接局域網和Internet。 網關也經常指把一種協議轉成另一種協議的設備,比如語音網關。
在傳統TCP/IP術語中,網絡設備只分成兩種,一種爲網關(gateway),另一種爲主機(host)。網關能在網絡間轉遞數據包,但主機不能 轉送數據包。在主機(又稱終端系統,end system)中,數據包需經過TCP/IP四層協議處理,但是在網關(又稱中介系 統,intermediate system)只需要到達網際層(Internet layer),決定路徑之後就可以轉送。在當時,網關 (gateway)與路由器(router)還沒有區別。
在現代網絡術語中,網關(gateway)與路由器(router)的定義不同。網關(gateway)能在不同協議間移動數據,而路由器(router)是在不同網絡間移動數據,相當於傳統所說的IP網關(IP gateway)。
網關是連接兩個網絡的設備,對於語音網關來說,他可以連接PSTN網絡和以太網,這就相當於VOIP,把不同電話中的模擬信號通過網關而轉換成數字信號,而且加入協議再去傳輸。在到了接收端的時候再通過網關還原成模擬的電話信號,最後才能在電話機上聽到。
對於以太網中的網關只能轉發三層以上數據包,這一點和路由是一樣的。而不同的是網關中並沒有路由表,他只能按照預先設定的不同網段來進行轉發。網關最重要的一點就是端口映射,子網內用戶在外網看來只是外網的IP地址對應着不同的端口,這樣看來就會保護子網內的用戶。










發佈了65 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章