網路程式設計常見面試題

2021-07-26 07:59:04 字數 3792 閱讀 7169

1.四層網路模型和七層網路模型;

四層網路模型:

a.應用層:應用程式間溝通的層,如簡單電子郵件傳輸(smtp)、檔案傳輸協議(

ftp)、網路遠端訪問協議(

telnet

)等。

b.傳輸層:在此層中,它提供了節點間的資料傳送服務,如傳輸控制協議(tcp)、使用者資料報協議(

udp)等,

tcp和

udp給資料報加入傳輸資料並把它傳輸到下一層中,這一層負責傳送資料,並且確定資料已被送達並接收。

c.互連網路層:負責提供基本的資料封包傳送功能,讓每一塊資料報都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(ip)。

d.網路介面層:對實際的網路**的管理,定義如何使用實際網路(如ethernet、

serial line

等)來傳送資料。

七層網路模型:

物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。

2.五類

ip的分類;

ip位址有5類,a類到e類,各用在不同型別的網路中。位址分類反映了網路的大小以及資料報是單播還是組播的。

a類到c類位址

用於單點編址方法,但每一類代表著不同的網路大小。

a類位址

(1.0.0.0-126.255.255.255)用於最大型的網路,該網路的節點數可達16,777,216個。

b類位址

(128.0.0.0-191.255.255.255)用於中型網路,節點數可達65,536個。

c類位址

(192.0.0.0-223.255.255.255)用於256個節點以下的小型網路的單點網路通訊。

d類位址

並不反映網路的大小,只是用於組播,用來指定所分配的接收組播的節點組,這個節點組由組播訂閱成員組成。

d類位址

的範圍為224.0.0.0-239.255.255.255。

e類(240.0.0.0-255.255.255.254)位址用於試驗。

3.ip,編口號,閘道器,

dns,路由的作用;

ip:ip是32位二進位制資料,通常以十進位制表示,並以「.」分隔。ip位址是一種邏輯地位址,用來標識網路中乙個個主機,ip有唯一性,即每台機器的ip在全世界是唯一的

。編口號:

閘道器:閘道器實質上是乙個網路通向其他網路的ip位址。只有設定好閘道器的ip位址,tcp/ip協議才能實現不同網路之間的相互通訊。

閘道器的ip位址是具有路由功能的裝置的ip位址,具有路由功能的裝置有路由器、啟用了路由協議的伺服器(實質上相當於一台路由器)、**伺服器(也相當於一台路由器)。

dns:

網域名稱伺服器(domain name server)。在internet上網域名稱與ip位址之間是一一對應的,網域名稱雖然便於人們記憶,但機器之間只能互相認識ip位址,它們之間的轉換工作稱為網域名稱解析,網域名稱解析需要由專門的網域名稱解析伺服器來完成,dns就是進行網域名稱解析的服務

。路由:

路由器是一

種連線多個

網路或網段

的網路裝置,它能

將不同網路或網段之間

的資料資訊進行

「翻譯」,以使它們

能夠相互「讀

」懂對方的

資料,從而

構成乙個更大的

網路。

4.tcp與

udp的區別;

tcp:(傳輸控制協議)為應用程式提供可靠的通訊連線,適合一次傳輸大批資料的情況,並適用要求得到相應的應用程式;

udp:(使用者資料報協議)提供無連線通訊,且不對傳送包進行可靠的保證,適合一次傳輸少量資料。

1.tcp為可

靠連線,

udp為不可

靠連線2

.tcp占有

系統資源較

多,udp占有

系統資源少

3.tcp

保證資料正確性

,udp可

能丟包,

tcp保證資料順序

,udp不保證

5.三次握手,四次揮手的詳細過程以及作用;

三次握手:

第一次握手:客戶端傳送syn包(syn=x)到伺服器,並進入syn_send狀態,等待伺服器確認;第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=x+1),同時自己也傳送乙個syn包(syn=y),即syn+ack包,此時伺服器進入syn_recv狀態;

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=y+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

握手過程中傳送的包裡不包含資料,三次握手完畢後,客戶端與伺服器才正式開始傳送資料。理想狀態下,tcp連線一旦建立,在通訊雙方中的任何一方主動關閉連線之前,tcp 連線都將被一直保持下去。

確認號:其數值等於傳送方的傳送序號+1(即接收方期望接收的下乙個序列號)。

四次揮手:

與建立連線的「三次握手」類似,斷開乙個tcp連線則需要「四次揮手」。

第一次揮手:主動關閉方傳送乙個fin,用來關閉主動方到被動關閉方的資料傳送,也就是主動關閉方告訴被動關閉方:我已經不會再給你發資料了(當然,在fin包之前傳送出去的資料,如果沒有收到對應的ack確認報文,主動關閉方依然會重發這些資料),但是,此時主動關閉方還可以接受資料。

第二次揮手:被動關閉方收到fin包後,傳送乙個ack給對方,確認序號為收到序號+1(與syn相同,乙個fin占用乙個序號)。

第三次揮手:被動關閉方傳送乙個fin,用來關閉被動關閉方到主動關閉方的資料傳送,也就是告訴主動關閉方,我的資料也傳送完了,不會再給你發資料了。

第四次揮手:主動關閉方收到fin後,傳送乙個ack給被動關閉方,確認序號為收到序號+1,至此,完成四次揮手。

tcp的四次揮手過程(簡言之):主動關閉方向被動關閉方傳送不會再給你發資料了的資訊;被動關閉方對收到的主動關閉方的報文段進行確認;被動關閉方向主動關閉方傳送我也不會再給你發資料了的資訊;主動關閉方再次對被動關閉方的確認進行確認。

6.什麼時候使用

tcp協議,什麼時候使用

udp協議; a.

對資料可靠性的要求。對資料要求高可靠性的應用需選擇tcp協議,如驗證,密碼欄位的傳送都是不允許出錯的,而對資料的可靠性要求不那麼高的應用可選擇

udp傳送;

b.應用的實時性。tcp協議在傳送過程中要使用三次握手、重傳確認等手段來保證資料傳輸的可靠性。使用

tcp協議會有較大的延遲,因此不適合對實時性要求較高的應用,如

voip

udp協議則在這些應用中能發揮很好的作用。

c.網路的可靠性。由於tcp協議的提出主要是解決網路的可靠性問題,它通過各種機制來減少錯誤發生的概率,因此,在網路狀況不是很好的情況下需選用

tcp協議(如在廣域網等情況),但是若在網路狀況很好的情況下(如區域網等)就不需要採用

tcp協議,而建議選擇

udp協議來減少網路負荷。

7.c/s架構和

b/s架構的優缺點;

8.tcp資料報頭的構成;

p323

9.udp資料報頭的構成;

p324

10.如何使

udp實現可靠傳輸;

11.vpn的作用。

vpn英文全稱:virtual private network(虛擬專用網路)。vpn被定義為通過乙個公用網際網路絡建立乙個臨時的、安全的連線,是一條穿過混亂的公用網路的安全、穩定隧道,使用這條隧道可以對資料進行幾倍加密達到安全使用網際網路的目的,廣泛使用企業辦公當中,虛擬專用網也可以是針對企業內部網的擴充套件,虛擬專用網可以幫助遠端使用者、公司分支機構、商業夥伴及**商同公司的內部網建立可信的安全連線,用於經濟有效地連線到商業夥伴和使用者的安全外聯網虛擬專用網,因此很多辦公一族在自己電腦中也需要建立vpn連線,方便遠端辦公等等。

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...

常見面試題

dns解析 發起tcp三次握手,並建立tcp連線 發起http請求 伺服器相應http請求並得到html 伺服器解析html 並對頁面進行渲染然後返回給使用者 首先先進行ioc容器的初始化 ioc 容器的初始化過程分為三步驟 resource 定位 beandefinition 的載入和解析,bea...