計算機網路工程筆記(第十週)

vybfi發表於2020-12-12

計算機網路工程

作者:hingsmy
作者郵箱:hingsmy@gamail.com
本人代為釋出,已徵得原作者同意


2020年11月16日第十週

Layer 2 Redundancy 二層冗餘



Figure 1 shows a simple two-port switch forwarding frames between devices. However his network design offers no additional links or paths for redundancyf the switch or one of its links falls。圖1顯示了裝置之間的簡單兩埠交換機轉發幀。但是。如果交換機或其鏈路之一發生故、此網路設計將不提供其他冗餘路徑.
Figure 2 shows a second switch been added to provide redundancy ne single wh can ail wtho causing endtoend conectivity a 圖二顯示新增了第二個交換機後可以提供冗餘,單個交換機可能會發生故障,而不會導致端到端連線失敗.


左邊的拓撲圖裡面我們有兩個網段,這種網路設計有什麼問題呢?
在這種網路當中沒有redundancy,沒有冗餘,在兩個網段之間,只有一個交換機,所以當交換機出現問題的時候,那麼 a網段和b網段之間的通訊也就中斷了。

為了給網路提供冗餘,我們應該怎麼做呢?在交換機A外, 再給這兩個網路中間加一個交換機B,因而在這個網路中我們就有了兩個交換機,其中一臺交換機死掉的時候,我們還有另外一臺交換機可以提供一個資料轉發。

那麼因為我們做了這樣的一個冗餘,就引出了一個問題,當我們的網路當中有兩條可以轉發的路徑,就產生了一個環路。

環路會帶來什麼樣的問題呢?這種二層網路的環路它主要會帶來兩個問題:廣播風暴和未知單播。

Layer2Loop- Broadcast Storm二層環路-廣播風暴


Now, consider PC1 is sending broadcast packet. 現在,考慮PC1正在傳送廣播資料包

  1. witch A and B will receive broadcast frame from gi1/01 交換機A和B將接收從g1/01收到的的廣播
  2. Switch A and B will forward the frame out from gi1/02 交換機A和B將幀從g1/02轉發出去
  3. 5 witch A and B will receive broadcast frame from gi1/02 交接機A和B將接收從g1/02收到的廣播幀
  4. Switch A and B will forward the frame out from gi1/01 交換機A和B將幀從g1/01轉發出去

Layer2Loop- Unknown Unicast二層環路・未知單播



我懶得抄了


Spanning Tree Protocol(STP)生成樹協議(STP)



The main task of STP isto stop network loops from occurring on layer 2 network.STP的主要任務是阻止在2層網路上發生網路環路。

It monitors the network to find all links, making sure that no loops occur bshutting down any redundant links。它偵聽網路以查詢所有鏈路,並通過關閉任何的冗餘連結來確保沒有環路發生

With STP running, frames will be forwarded only on the premium, STP picked links。在執行STP的情況下,僅在經過STP挑選的優質連結上轉發幀。


那麼為了防止這種二層環路造成的問題,我們就引入了 spanning tree protocol,STP生成樹協議。

它是怎麼樣來防止二層網路的環路的?二層現在不是有一個環路嗎?那我就在環路上面選一點,把它埠暫時性的關掉。在環路里,一旦把這個埠關掉了,這個環就被打破了。

一旦環路被打破了,他就不會出現廣播風暴,也不會出現 Unknown Unicast 這樣收到重複的資料了,因為在任何一個時間點,我的資料轉發都只能通過一臺交換機進行轉發。

在現在思科的所有的交換機裡面,spanning tree protocol生成樹協議,它預設就是開啟的。所以只要你的交換機物理連線形成了環路,那麼你的交換機,它的spanning tree因為是預設開啟,就會把其中的一個路徑給disable掉,這個路徑是通過一定的演算法選出來的。

Bridge Protocol Data Units(BPDU)橋接協議資料單元(BPDU)


Bridge Protocol Data Units(PDUS)are frames that contain information about the STP, there are TWO types of BPUD
橋接協議資料單元(BPDU)是包含有關STP資訊的幀,有兩種型別的BPUD


IEEE reserved multicast MAC address"0180.C200.000"IEEE保留的多播MAC地址
“0180.C200.0000”


STP協議的資訊會裝在一個叫做bpdu的特別的資料包裡面進行傳輸。

交換機收到一個資料包時會去檢視這個資料包的destination mac address,如果是一個特定的mac address,交換機就知道這個資料包是bpdu。

在這個資料包裡面就包含了生成樹協議所需要用到的一些引數。在整個網路當中,所有的交換機可以用bpdu這種資料包,把我們的生成樹協議所需要用到的一些引數進行交換。

那麼網路會根據我們的這些引數,最終來確定在環路里面哪一個埠會被關掉。

Routing Basics 路由基礎


Routing is the process of selecting a path for traffic in a network or between oracross multiple networks"- Wikipedia 路由是為網路中或多個網路之間或之間的流量選擇路徑的過程”維基百科


路由表 = 地圖

來我們伺服器玩呀 這是我們minecraft伺服器的地圖

Two types of routing protocol:兩種路由協議

  1. Static( paper map-fixed)靜態(紙質地圖-固定)
  2. Dynamic( google map- dynamic update)動態(谷歌地圖一動態更新)

The Routing Table路由表



Connected Route Local Route


偷懶一下


Ping or Internet Control Message Protocol(ICMP)



ping它其實是利用了ICMP協議當中的兩個型別來實現的,ping它本身並不是一個協議,

它是一個程式,那麼ping這個程式呼叫了ICMP協議裡面的兩個型別。

第一個型別叫做type 8,echo request。

第二個型別叫做type 0,echo reply。

A 要 ping B,A會向B傳送一個icmp type8,這個叫做request。

當b收到 request過後,他就會返回一個icmp type0,這個叫做reply,

ping的過程其實是兩個點之間ICMP的一個雙向通訊的過程,

在有一些防火牆裡面,當大家需要允許ping的資料通過的時候,你可能在防火牆裡面的策略看不到ping,你只會看到什麼 ICMP request 和 ICMP reply,當你把這兩個東西加到我們的防火牆策略過後,ping的資料才可以過,所以它利用的是ICMP協議。

IP Routing Process( Same Subnet)IP路由過程(同一子網)



Host A and Host C are in same network:主機A和主機C在同一網路中
If Host A pings Host s address, ICMP creates a packet that contains source IP(host As IP)address and destination P(hosts C’s IP)address Host A performs Binary AND Operation to identify if destination address is in the same 如果主機 A ping主機C的地址ICMP將建立一個包含源P(主機A的P)地址和目標P(主機C的P)地址的資料包。主機A執行二進位制與運算以識別目標地址是否在同一個地址



同網段的主機通訊背後的整個路由的過程是怎麼樣的?首先我的主機a要ping我的主機c,那麼我的主機a會呼叫ICMP,建立一個ICMP的包,資料包裡包含兩個資訊,source IP跟destination IP。

當ICMP建立完這個資料包以後,就要執行這個資料包。此時主機a要進行一個判斷,判斷他的目標地址 destination IP 是否和自己處於同一個網段。

計算機在比較地址是否處於同一個網段的時候,會利用 AND 的邏輯運算,首先他把自己的 IP地址轉化成了一個二進位制的格式,然後他再把目標的IP地址也轉化成二進位制的,然後把這兩個IP地址做 “與” 的邏輯操作,對source IP地址和destination IP地址做一個 AND 操作後會得出一個值,這個值再和 a 的網段進行一個比較。

此時只比較前24位,因為子網掩碼是24,所以我們只對前24位進行比較。如果一樣就代表我的主機a跟主機c是處於同樣一個網段。

如果兩個PC處於同樣一個網段,PC a它會廣播一個ARP去問 PC c 的MAC地址是多少。

兩個主機如果是在同樣一個網段,他們之間的相互通訊的過程是在二層網路裡面進行一個 ARP廣播,這個ARP廣播的目的是為了得到你的目標的MAC地址。

拿到了目標的MAC地址對吧,就可以進行一個二層的封裝,那麼通訊就可以開始了。

可能有圖片來自網路,如有侵權請聯絡作者刪除
因為原文咕咕咕了字,所以有些地方用的是ocr識別,英文部分懶得校對,所以建議看中文

相關文章