【計算機網絡】第七章:[網絡層]網絡協議(Part2.網絡協議)

在這裏插入圖片描述
ICMP協議是用來測試網絡是否通——ping命令。當PCAping PCB時,A會發一個ICMP請求數據包,B收到後會產生一個ICMP響應數據包。除此之外還有ICMP錯誤報告數據包,例如當目標網絡不可到達時,當前路由器會生成一個這種數據包;TTL耗盡也會產生一個錯誤報告數據包。錯誤報告數據包包含了一部分請求數據包的內容,

錯誤報告數據包雖然統稱爲一類,但是根據錯誤不同返回的內容也不同,從功能是上來說都是相同的。

在這裏插入圖片描述
在這裏插入圖片描述
ICMP數據包內容如上。Type值爲8是請求,0是響應。
接下來是包括錯誤返回包的報文格式。
在這裏插入圖片描述
在這裏插入圖片描述
類型值:Type——代碼Code

ICMP協議

在這裏插入圖片描述
ICMP協議數據包想要在網絡層中傳輸,就必須加IP首部。也就說ICMP協議依賴於IP協議。如果網絡不暢通,則ICMP協議無法工作。
在這裏插入圖片描述
ICMP差錯報文中,如上圖可以看出有請求數據包的部分內容(首部+八個字節的數據),其餘的丟掉。然後這部分數據會進行一定處理,封裝成差錯報文,加網絡層首部傳輸。
下面我們來看一下具體的幾個例子。

TTL過期差錯報文

類型11,代碼0
在這裏插入圖片描述
在這裏插入圖片描述
這個數據包裏包含了請求數據包的首部,如圖。

目標不可到達

類型3代碼1
在這裏插入圖片描述

路由重定向

在這裏插入圖片描述
如圖所示,路由重定向與其說是錯誤,更應該說是優化。當處於10網段的PC想要訪問11網段的目標時,由於默認網關是12網段,所以數據包會優先發到RB路由器上,RB路由器收到數據包後,發現去11網段有更合適的路徑(或此路無法到達11網段),此時會返回一個重定向數據包給PC,PC收到該數據包後,會生成一個臨時路由,此後發向11網段的數據包都不再走網關,而是通過該路由走向更優路徑。
在這裏插入圖片描述
在這裏插入圖片描述

如圖所示,重定向數據包指向了推薦路徑。這是一個來自10.10去向10.20的數據包,被重定向給10.100。

ICMP差錯報文並不只是ping命令請求數據包出現問題時纔會返回這種數據包,也可以給應用程序返回錯誤報告。當使用TCP協議目標端口80來訪問網站,如果數據包不可到達,也會產生ICMP目標不可到達的錯誤報告報文。TTL耗盡時也會返回TTL耗盡的差錯報告報文。

差錯報告報文除了IP首部還有後面8個字節,這8個字節裏有傳輸層信息(比如目標端口),從而指明客戶端的哪一個應用程序,所以當差錯報文返回後,操作系統可以知道應該把這個數據包轉給那個應用程序(比如各種瀏覽器)。

ping命令

作爲計算機網絡驗證連通性最基本的命令,其實沒有需要再拓展開說明的。接下來介紹的是經驗之談。

在這裏插入圖片描述
注意觀察的點:
來自:從哪裏返回的數據包,可能不是目標,而是途中的路由器
字節:一般默認32字節,可以人爲設置,通過-l 命令
時間:往返時間
TTL:生存時間
一般而言,企業中ping網關,往返時間不大於10ms,如果比10ms大,則要考慮是不是有設備在網絡中發廣播導致網絡堵塞。沒有什麼科學依據,經驗之談。
在這裏插入圖片描述
這種網絡排錯最難,因爲你說他通吧,它經常不通,說不通吧,偶爾還通一個。這種情況我們的第一步推測是網絡堵了,使用抓包工具抓包。找出是誰發的廣播包。找出廣播包後考慮殺毒,重新插拔網線等操作。
在這裏插入圖片描述
案例分析1:已經打開的網頁停止訪問,不管怎麼點網頁中的連接都沒有反應
這種情況要考慮兩方面,第一是web服務器本身的問題,本身如果當時CPU利用率吧比較高處理不過來,會出現停止響應的情況;第二是網絡突然變得非常擁堵,導致請求發不到服務器,發到服務器後數據傳輸效率也非常低。

分析:碰到這種問題,推薦使用第三者設備測試。我們先默認網絡出現問題,然後排查所有可能出現問題的區域和情況,如果都沒有問題則就是服務器的問題。
在這裏插入圖片描述
思路:ping斷定哪一鏈路異常
1.用一臺企業內網的設備ping互聯網,確企業內網到互聯網的鏈路是否暢通。
2.用該設備ping電信機房,確認整條鏈路是否暢通
3.通過服務器的IP地址和子網掩碼判斷服務器所在局域網內可能的設備數,並用ping命令訪問,確認是某一線路的問題或者是整個網絡的問題(都丟包或者只有一個丟包)
4.如果都沒有問題,則是服務器出現問題。
在這裏插入圖片描述
確認訪問路徑使用ping -i 命令,將TTL設置從1開始遞增,就可以追蹤出一條完整的路徑。一定要逐個確認,不要一次性跨網段ping,一個一個來。

在這裏插入圖片描述

tracert/pathping命令

tracert命令之前也介紹過,相當於ping -i的簡化版,可以追蹤數據包過了哪一些路由器。而pathping則比tracert更強,可以查看所經路由的丟包率。
在這裏插入圖片描述
圖中請求超時的數據包是因爲路由器可以通過管理設置,拒絕返回ICMP相應數據包,如果這樣設置後,我們就不能夠得知這個路由器的信息。

ARP協議

ARP是IP協議的基礎,IP協議是ICMP協議的基礎。沒有ARP協議則IP協議無法正常工作,IP協議無法工作則ICMP協議也無法工作。
我們知道數據鏈路層的數據幀傳輸需要使用目標和源MAC地址。而目標MAC地址對於剛接入網絡的設備是未知的。
對於局域網,此時新設備會發送ARP廣播,會發送給交換機相連的所有設備,但是隻有目標設備會返回一個信息,告訴它目標MAC地址是多少。有了MAC地址,才能在數據鏈路層傳輸。沒有MAC地址,數據包是無法到達目的地的。所以說ARP協議爲IP協議提供服務。
對於非局域網,網段不同時,使用ARP解析網關的mac地址,路由器告訴網關mac地址。然後到達廣域網後,點到點鏈路中不需要目標MAC地址。數據包到達目標網段後,路由器會用arp廣播解析目標設備,然後記錄到緩存中,從此之後就能正常交互了。
在這裏插入圖片描述
所以說,路由器端口中一般緩存着局域網內所有設備的mac地址。使用命令

show arp       GNS3思科路由器命令
arp -a             (cmd)命令

ARP欺騙

ARP協議解析mac地址靠廣播,對方告訴什麼是什麼,並不會驗證真假,這就會有潛在風險。
網絡執法官應用程序:通過arp欺騙來禁止網絡中某些設備的通信。
在這裏插入圖片描述
假如說B安裝了網絡執法官程序,B不允許A和C通訊,則當A發送arp廣播後,C返回一個mac地址給A,在此後B接着發一個不存在的虛假mac地址給A,然後A收到了一個新的對於C的mac地址,由於arp協議並不糾錯,就會用新的mac覆蓋真正的mac地址。那麼當A向C通信時,數據包無法轉發給不存在的mac地址,進而丟包,導致a與c無法通信。同理,如果限制的是a和路由器的通信,則會導致a無法上網,因爲數據包無法轉發到路由器。
防止ARP欺騙的方法:
1.啓用防ARP欺騙的安全軟件(如局域網)
但是,網絡執法官不僅會對主機進行欺詐,仍然會對路由器進行欺詐,也就說,當我們爲電腦添加安全軟件後,即便電腦能夠百分百防禦arp欺詐,而路由器卻仍然會受到影響,這會導致間歇性丟包和網絡延遲大,導致網絡不暢通。
2.綁定mac地址

arp -s IP地址 MAC地址

將mac地址靜態綁定到對應IP的主機上,ARP欺騙將無法實現。但是靜態MAC地址重啓就重置了,如果想要永久設置。
新建記事本,輸入[arp -s IP地址 MAC地址]後保存爲.bat文件,重命名只要不是arp即可。然後運行。這樣就可以綁定了。
路由器上也可以添加綁定靜態mac地址的命令

arp IP地址 MAC地址(A4D6.AAAA.AAAA)arpa
MAC地址要寫4位用1個點來隔開,每位是1個字節

綜上,如果想要完美防止ARP欺騙,我們需要在設備上綁定mac的同時,在路由器上也綁定mac地址。

IGMP協議

組播(多播)

全稱組播管理協議,組播和多播是一個意思。
在這裏插入圖片描述
相對於點對點鏈路,流媒體服務器需要給每一個對服務器有請求的設備建立一條鏈路,則對幹路帶寬要求極高,且負擔重。組播的核心就是服務器只傳一份數據,然後需要的設備自取這一份數據,能夠大量節省服務器資源。流媒體服務中,點播內容可以進行互動(拖拽進度條)而組播只能觀看(觀看位置完全取決於服務器)。現在的直播產業中,也是應用此技術,當進入一個直播間,無法後退前幾分鐘的內容,需要等待主播下播後資源全部截取下來才能夠進行點播服務。
在這裏插入圖片描述
組播就是一組電腦都綁定一個地址,然後就可以接收多播數據包。多播地址的地址範圍是224.0.0.0~239.255.255.255。
這些地址也有被保留的地址,不能隨意使用。
在這裏插入圖片描述
如果一個服務器要同時播多個媒體資料,則可以用多個多播地址來實現同時多播。這裏多播地址想象成頻道更好理解,想要收看這個頻道就播到這個頻道,這個過程由用戶決定,服務器只管播放。
在這裏插入圖片描述
48位二進制構成,前25位完全一致。這種情況下可能會出現多個多播地址構造的mac地址相同的情況。
在這裏插入圖片描述
這種情況下,MAC地址相同,但是IP地址不同,由網絡層來區分給哪個應用程序,所以沒問題。
在這裏插入圖片描述
不同網段之間收看多播內容也是服務器只發一份數據過來,然後計算機收看。如果某網段所有用戶都不再收看這一多播資源,那麼路由器就會告訴上一個路由器不需要繼續發多播數據過來了,逐級反饋,最後這一個網段就沒有多播信號了。而當某一網段出現第一個需要收看這個多播信號的設備時,網關路由會根據多播路由表和上一個路由器請求多播流,從而實現多播信號的收看。路由器也會週期性檢測網段是否有活動狀態的用戶,沒有則會申請取消多播流繼續傳輸。

IGMP協議的功能:看以太網中的計算機都綁定了哪些多播地址。由該協議負責掃描這個網段有多少組成員和組播地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章