網絡協議學習筆記

下面有10道題,附帶了答案,能夠測試一下本身這個版塊的掌握程度。編程

下列哪一種方式能夠給網卡配置 IP 地址?瀏覽器

A. 經過 DHCP 協議服務器

B. 經過 ip addr 命令網絡

C. 經過 PXE負載均衡

D. 經過 Ubuntu 的 Interface 文件配置socket

答案. ABD函數

解析:配置的參數若是是 DHCP,會經過 DHCP 協議自動配置 IP 地址;若是是 Static 會經過測試

ip addr 命令行進行手動配置。而 PXE 不是用於配置 IP 地址的,是用於物理機初始化的。網站

 

2.下列哪一種方式能夠配置 VLAN?url

A. 經過交換機能夠配置某個口的 VLAN

B. 經過網橋的 tag

C. 經過 vconfig 命令

D. 經過 VTEP

答案. ABC

解析:物理交換機能夠配置 VLAN,brctl 裏面的 tag 能夠配置 VLAN,vconfig 能夠配置一個

帶 VLAN ID 的虛擬網卡。VTEP 是用來封裝 VXLAN 的。

 

3.對於網關和路由器,下列說法正確的是

A. 網關和路由器是一回事兒

B. 網關是三層的,路由器能夠是三層的,也能夠是二層的

C. 網關是路由器的一個接口

D. 網關能夠作 NAT,路由器不能

答案. C

解析:網關和路由器都是三層的,均可以作 NAT,網關每每是路由器在某個局域網裏面的口。

 

4.對於路由協議,下列描述正確的有

A. 路由協議主要是用來尋找最短路徑

B. 最短路徑每每只有一條

C. 數據中心內部和外部每每使用不一樣的路由協議

D. 邊界路由器只把部分 IP 告知外面的網絡

答案. CD

解析:數據中心內部和外部使用的路由協議不太同樣。內部的協議主要是用來尋找最短路徑,外

部的協議每每會有一些策略,能夠選擇將部分的 IP 地址廣播出去。

 

5.對於傳輸層協議,下列描述正確的是

A. 傳輸層只有兩種協議:TCP 和 UDP

B. 因爲 UDP 過於簡單,於是只在數據中心內部使用

C. TCP 經過 Sequence Number 標識重傳和回覆的包

D. TCP 經過滑動窗口解決網絡擁塞的問題

答案. C

解析:傳輸層經常使用的兩種協議是 TCP 和 UDP,其實還有其餘的,例如 SCTP。UDP 比較簡單,

經常使用於內網,可是它可讓應用層本身實現可靠鏈接和擁塞控制,所以也常在數據中心外使用。

TCP 經過 Sequence Number 和滑動窗口,解決重傳和回覆的問題,而擁塞窗口解決的是網絡

擁塞問題。

 

 

6.對於 HTTP 協議,下列描述正確的有

A. HTTP 協議是基於 TCP 協議的

B. TCP 的重傳機制會致使 HTTP 服務端收到重複的包,於是須要實現冪等

C. HTTP 的 POST 方法能夠用來發送數據,也能夠用來請求數據

D. HTTP 協議主要用來傳輸 HTML 網頁

解析:HTTP 是基於 TCP 的。TCP 雖然會重傳,可是隻有一個包能夠到達 HTTP 層,因此

HTTP 層不會收到重複的包。爲了防止從新發送 HTTP 的請求,須要實現冪等。POST 僅僅是一

個方法,實現能夠很靈活。SOAP 協議中經常使用 POST 實現調用 get 函數。HTTP 不只僅是傳輸

HTML 的,能夠傳輸不少東西,好比視頻、JSON、XML 等。

 

7.對於 Socket,下列描述正確的有

A. Socket 能夠創建 TCP 鏈接,也能夠創建 UDP 鏈接,因此它在傳輸層工做

B. 對於 Linux 內核來看,Socket 也是一個文件

C. 啓動一個 Socket 來監聽,當鏈接創建以後,會將這個 socket 交給一個線程來處理

D. UDP 的 Socket 能夠接收來自多個源的網絡包

答案. BD

解析:Socket 能夠創建 TCP 和 UDP 鏈接,可是它處於應用層。Socket 鏈接後會生成一個文

件描述符,因此從內核來看,它只是一個文件。監聽的 Socket 和讀寫的 Socket 並非同一

個。UDP 的 Socket 不是面向鏈接的,它能夠接收來自多個源的網絡包。

 

8.對於 DNS 協議,下列描述正確的是

A. 若是沒有 DNS,服務器之間沒法通訊

B. 客戶端端須要去輪詢 DNS 樹進行域名解析

C. DNS 既能夠作本地負載均衡,也能夠作全局負載均衡

D. 只要修改了 DNS 域名對應的 IP 地址,立刻就起做用

答案. C

解析:沒有 DNS,上網就會很不方便,可是使用 IP 地址,仍然能夠互相通訊。輪詢 DNS 樹的

不是客戶端,而是本地 DNS 服務器。DNS 能夠在數據中內心面作本地負載均衡,也能夠作跨

數據中心的全局負載均衡。修改 DNS 域名對應的 IP 以後,過一段時間纔會起做用。

 

9.對於 CDN,下列描述正確的有

A. 使用了 CDN 以後,訪問的域名會發生變化

B. CDN 只能用來加速靜態數據

C. CDN 廠商的節點分佈在各個地區的各個運營商

D. 相同運營商比相同地點有更高優先級

答案. ACD

解析:使用了 CDN 以後,域名會 CNAME 成爲 CDN 的域名。CDN 能夠加速靜態數據,也可

以加速動態數據。CDN 節點分佈在各個地區和運營商。相同的運營商路徑更短一些。有時候相

同的地區,不一樣的運營商不能直接鏈接,而是要到兩個運營商互通的地方轉一下,因此相同運營

商更加劇要一些。而對於同一個運營商,地區比較重要。

 

10.對於移動通訊網絡,下列描述正確的是

A. 移動通訊網絡也是在運營商,於是一旦到了有線部分,就都同樣了

B. 之因此分 SGW 和 PGW,主要是解決異地上網的問題

C. 手機的 IP 地址是公網 IP 地址,是由互聯網上的 DHCP 服務器分配的

D. 手機上網不穩定,於是全部的協議都要基於 TCP,否則一旦丟包就麻煩了

答案. B

解析:移動通訊網絡有無線的部分、核心網的部分、互聯網的部分,不是到了有線就都同樣了。

區分 SGW 和 PGW 能夠解決異地上網的問題,SGW 是服務本地 PGW 的登記地結算的。手機

的 IP 地址是 PGW 分配的。手機裏面的 GTP 協議是基於 UDP 的。

 

協議三要素:語法、語義、順序

 

瀏覽器輸入url的整個解析過程:

瀏覽器打開地址簿去查找。可使用通常的地址簿協議DNS去查找,還可使用另外一種更加精準的地址簿查找協議HTTPDNS。獲得目標地址,而後開始打包它的請求。

DNS、HTTP、HTTPS 所在的層咱們稱爲應用層。通過應用層封裝後,瀏覽器會將應用層的包交給下一層去完成,經過 socket 編程來實現。下一層是傳輸層。傳輸層有兩種協議,一種是無鏈接的協議UDP,一種是面向鏈接的協議TCP。對於支付來說,每每使用 TCP 協議。所謂的面向鏈接就是,TCP 會保證這個包可以到達目的地。若是不能到達,就會從新發送,直至到達。

TCP 協議裏面會有兩個端口,一個是瀏覽器監聽的端口,一個是服務器監聽的端口。操做系統每每經過端口來判斷,它獲得的包應該給哪一個進程。

傳輸層封裝完畢後,瀏覽器會將包交給操做系統的網絡層。網絡層的協議是 IP 協議。在 IP 協議裏面會有源 IP 地址,即瀏覽器所在機器的 IP 地址和目標 IP 地址,也即訪問的網站所在服務器的IP 地址。

 

操做系統既然知道了目標 IP 地址,就開始想如何根據這個門牌號找到目標機器。操做系統每每會判斷,這個目標 IP 地址是本地人,仍是外地人。若是是本地人,從門牌號就能看出來,可是顯然電商網站不在本地,而在遙遠的地方。

操做系統知道要離開本地去遠方。雖然不知道遠方在何處,可是能夠這樣類比一下:若是去國外要去海關,去外地就要去網關。而操做系統啓動的時候,就會被 DHCP 協議配置 IP 地址,以及默認的網關的 IP 地址 192.168.1.1。

操做系統如何將 IP 地址發給網關呢?在本地通訊基本靠吼,因而操做系統大吼一聲,誰是192.168.1.1 啊?網關會回答它,我就是,個人本地地址在村東頭。這個本地地址就是MAC地址,而大吼的那一聲是ARP協議

 

因而操做系統將 IP 包交給了下一層,也就是MAC 層。網卡再將包發出去。因爲這個包裏面是有 MAC 地址的,於是它可以到達網關

網關收到包以後,會根據本身的知識,判斷下一步應該怎麼走。網關每每是一個路由器,到某個IP 地址應該怎麼走,這個叫做路由表。

 

路由器有點像玄奘西行路過的一個個國家的一個個城關。每一個城關都連着兩個國家,每一個國家至關於一個局域網,在每一個國家內部,均可以使用本地的地址 MAC 進行通訊。一旦跨越城關,就須要拿出 IP 頭來,裏面寫着貧僧來自東土大唐(就是源 IP 地址),欲往西天拜佛求經(指的是目標 IP 地址)。路過寶地,借宿一晚,明日啓行,請問接下來該怎麼走啊?

城關每每是知道這些「知識」的,由於城關和臨近的城關也會常常溝通。到哪裏應該怎麼走,這種溝通的協議稱爲路由協議,經常使用的有OSPF和BGP

 

城關與城關之間是一個國家,當網絡包知道了下一步去哪一個城關,仍是要使用國家內部的 MAC地址,經過下一個城關的 MAC 地址,找到下一個城關,而後再問下一步的路怎麼走,一直到走出最後一個城關。

最後一個城關知道這個網絡包要去的地方。因而,對着這個國家吼一聲,誰是目標 IP 啊?目標服務器就會回覆一個 MAC 地址。網絡包過關後,經過這個 MAC 地址就能找到目標服務器。目標服務器發現 MAC 地址對上了,取下 MAC 頭來,發送給操做系統的網絡層。發現 IP 也對上了,就取下 IP 頭。IP 頭裏會寫上一層封裝的是 TCP 協議,而後將其交給傳輸層,即TCP層。

相關文章
相關標籤/搜索