會員 | 太感謝了,以下是我的解讀,有誤煩請指正: SWITCH 就是一接到封包就先作比對 (比對自己維護的 MAC Address Table) , 若其中還沒有紀錄該封包的 source address 與 port 之對應,則先填上. 反之,若已有,就繼續比對該封包中的 destination address 與 port 之對應 -- 1. 若有,就直接 forward 到對應的 port ,而此行為就是所謂的: "forwarding" and "filtering" ,即推進/轉送 封包至正確,適當的 port 並且過濾掉不須轉送的 port 以免於網路資源與效率上的浪費! 2. 若無,則進行 flood(一如水流般,除了進水道外,會流往每個通道),流往 每個 port ,然後只有目的電腦才會有所回應.然後回應封包在送往 switch 後,就 又開始了比對的機制. 另外, 關於我前文的疑問, 那反過來 pc2 要給 pc3 的封包在流到 B 後, B 是如何判斷要往連接 A 的 port 傳送呢? 難道說 B 連接 A 的 port 記得所有 pc3,pc4,pc5,pc6 的 MAC 嗎? ->我改成: switch(B) 維護的 table 關於連接 switch(A) 的 port 又是如何紀錄此 port 的對應關係呢? 還有,可否把 switch(A) 去掉,直接將 router , switch(B) , switch(D) 連接上 switch(C) 呢? (以及有何差別呢?) |
回覆 |
會員 | 1. 大致正確, 但裡面有些細節錯了, 再多看幾遍唄 2. Layer 2 跑的東西叫框訊 (frame), 不叫封包 (packet) 3. 每一個 port都有一個 MAC Address, 但習慣上是說對應到 port 引用:
A: pc2 --> SW(B) --> SW(B) floods to pc1 & SW(A) SW(A) floods to SW(C) & SW(D) SW(C) floods to pc3 & pc4 SW(D) floods to pc5 & pc6 pc3 responses the broadcast --> SW(C) --> SW(A) --> SW(B) --> pc2 SW(A, B, C, D) 都有 pc2 的 MAC SW(A, B, C) 都有 pc3 的 MAC 引用:
| ||
回覆 |
會員 | 引用:
| |
回覆 |
會員 | 試著再詳細描述一次 pc2 --> pc3 |
回覆 |
會員 | 引用:
| |
回覆 |
會員 | Thanks a lot!! 引用:
我試著再解讀看看, 所以若 pc2 -> pc3 的情況下以下英文大寫字母表 SWITCH) frame 到 B 時, B 先比對 table 看要否增加一筆 pc2 MAC 對應到接收到該 frame 的 port,然後再比對該 frame 的 destination MAC(即 pc3) ,不管有或無都會往連接 A 的 port 送,只是若無時是以 flood 的方式罷了. 再來到 A 時, A 再看看是否須新增 pc2 MAC 對應到該接收 port 的紀錄,然後再比對 table 看看有無 pc3 MAC 的對應,一樣地,若有則直接 forward 到連接 C 的 port,若無,則 flood 出去. 再來到 C 時, C 再看看是否須新增 pc2 MAC 對應到該接收 port 的紀錄,然後再比對 table 看看有無 pc3 MAC 的對應,一樣地,若有則直接 forward 到連接 pc3 的 port,若無,則 flood 出去.而若為 flood 時,則只有 pc3 會回應. 引用:
流入 port 的訊框都會被解析並紀錄下來源 MAC ,......... 因為 "通過" 一詞包含訊框是從 port 流出的(不論是被 forward 或 flood 出),但此時無須紀錄下訊框的來源 MAC. 若有誤麻煩再指正了,謝謝! | ||
回覆 |
會員 | 之前的解讀好像不大正確, 綜合各位的觀點,我再整理了一下並列出如下有誤的話還麻煩前輩指正) [條件] router 有 4 張卡 假設所有 SWITCH 都是 layer2 設備, 各網段依次為: 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 [事件] pc2 -聯繫-> pc3 -回應-> pc2 [流程] [pc2 以 ARP broadcast 求 router 的 MAC] 因 pc2,pc3 分處於不同網段,所以一定要經由路由器 forward, 假設 pc2 還不知道 router 的 MAC ,則會作 ARP 廣播, <frame 的相關訊息> 來源 ip 為 pc2's ip ,目的 ip 為 192.168.1.255 來源 MAC 為 pc2's MAC ,目的 MAC 為 FF:FF:FF:FF:FF:FF <frame 的流程則是> 當 frame 經 SWITCH(B) 時, SWITCH(B) 會比對來源 MAC 看看是否需要新增一筆 pc2 與端口的對應紀錄, 接著 flood 出去. 當 SWITCH(A) 收到 frame 時,一樣 SWITCH(A) 會比對來源 MAC 看看是否需要新增一筆 pc2 與端口的對應紀錄, 然後再 flood 出去. [router 回應 pc2 的 ARP broadcast] 當 router 收到 frame 後就會回應 pc2 告知自己的 MAC 值, 因為此時 router 已經知道 pc2 的 MAC 且又與 pc2 有同網段的介面,所以就直接以 unicast 回應 pc2 . <frame 的相關訊息> 來源 ip 為 router's ip ,目的 ip 為 pc2's ip 來源 MAC 為 router's MAC ,目的 MAC 為 pc2's MAC <frame 的流程則是> 流經 SWITCH(A) , SWITCH(A) 會比對來源 MAC 看看是否需要新增一筆 router 與端口的對應紀錄, 然後由於 TABLE 中已有 pc2's MAC 的對應紀錄所以就直接 forward 出去給 SWITCH(B). 到了 SWITCH(B) 一樣會比對來源 MAC 看看是否需要新增一筆 router 與端口的對應紀錄, 然後由於 TABLE 中已有 pc2's MAC 的對應紀錄所以就直接 forward 給 pc2. ----- [pc2 始聯繫 pc3 並找 router 幫忙] 再來 pc2 因知道了 router 的 MAC 所以就直接找 router 幫忙 forward 要給 pc3 的 frame <frame 的相關訊息> 來源 ip 為 pc2's ip ,目的 ip 為 pc3's ip , 來源 MAC 為 pc2's MAC ,目的 MAC 為 router's MAC <frame 的流程則是> 流經 SWITCH(B) 一樣先比對來源 MAC 看看是否需要新增一筆 pc2 與端口的對應紀錄, 然後由於 TABLE 中已有 router's MAC 的對應紀錄所以就直接 forward 給 SWITCH(A). 到了 SWITCH(A) 一樣先比對來源 MAC 看看是否需要新增一筆 pc2 與端口的對應紀錄, 然後由於 TABLE 中已有 router's MAC 的對應紀錄所以就直接 forward 給 router. [router 進行 forward 幫忙轉送] router 收到後就 forward 到與 pc3 同網段的介面. (這裡我省略其經由ARP廣播得知pc3's MAC的流程,以及,pc3也因此而知道了router的MAC位址, 還有 SWITCH(A) , SWITCH(C) 因此而在自己的 TABLE 中有了 pc3's MAC 以及 router's MAC 的對應端口紀錄 ) <frame 的相關訊息> 來源 ip 為 pc2's ip ,目的 ip 為 pc3's ip 來源 MAC 為 router's MAC ,目的 MAC 則為 pc3's MAC <frame 的流程則是> 流經 SWITCH(A) 一樣先比對來源 MAC 看看是否需要新增一筆 router 與端口的對應紀錄, 然後由於 TABLE 中已有 pc3's MAC 的對應紀錄所以就直接 forward 到 SWITCH(C). 來到了 SWITCH(C) 一樣先比對來源 MAC 看看是否需要新增一筆 router 與端口的對應紀錄, 然後由於 TABLE 中已有 pc3's MAC 的對應紀錄所以就直接 forward 到 pc3. ----- [pc3 決定回應 pc2 並找 router 幫忙] 因為是不同網段,所以 pc3 還是得透過 router 作 forward. 也因為 pc3 知道 router 的 MAC 了,所以就直接找 router 幫忙, <frame 的相關訊息> 來源 ip 為 pc3's ip ,目的 ip 為 pc2's ip. 來源 MAC 為 pc3's MAC ,目的 MAC 為 router's MAC. <frame 的流程則是> 流經 SWITCH(C) 一樣先比對來源 MAC 看看是否需要新增一筆 pc3 與端口的對應紀錄, 然後由於 TABLE 中已有 router's MAC 的對應紀錄所以就直接 forward 給 SWITCH(A). 來到了 SWITCH(A) 一樣先比對來源 MAC 看看是否需要新增一筆 pc3 與端口的對應紀錄, 然後由於 TABLE 中已有 router's MAC 的對應紀錄所以就直接 forward 給 router. [router 進行 forward 幫忙轉送] 來到了 router,由於其已經知道 pc2 的 MAC ,就不用作 ARP broadcast ,所以就直接 forward 到與 pc2 同網段的介面. <frame 的相關訊息> 來源 ip 為 pc3's ip ,目的 ip 為 pc2's ip. 來源 MAC 為 router's MAC ,目的 MAC 為 pc2's MAC. <frame 的流程則是> 流經 SWITCH(A) 一樣先比對來源 MAC 看看是否需要新增一筆 router 與端口的對應紀錄, 然後由於 TABLE 中已有 pc2's MAC 的對應紀錄所以就直接 forward 給 SWITCH(B). 來到了 SWITCH(B) 一樣先比對來源 MAC 看看是否需要新增一筆 router 與端口的對應紀錄, 然後由於 TABLE 中已有 pc2's MAC 的對應紀錄所以就直接 forward 給 pc2. ----- 所以關於某網友提到的: 引用:
| |
回覆 |
會員 | 有的 Router 可以那麼做 .... |
回覆 |
會員 | 引用:
關於 L3 SWITCH 我腦中閃過的想法是-- 其該不會是採用 ip 對應 port 端口吧...不知其運作之原理為何,可否請了解的人說一下? 既然其可像 ffff 前輩說的不必經由 router 就可 forward 來源與目的 ip 網段不同的訊框往更快的方向去,那麼難不成該 SWITCH 能夠改寫訊框的目的 MAC 值,這樣當訊框被 forward 到目的電腦時才可能被收下處理...不是嗎? | |
回覆 |
會員 | Go to Cisco website, and search "NFFC" |
回覆 |
|
類似的主題 | ||||
主題 | 主題作者 | 討論版 | 回覆 | 最後發表 |
【求助】Switch 可以擋廣播嗎? | b90220208 | -- 網 路 技 術 版 | 7 | 2006-01-22 11:27 PM |
【求助】Switch Hub的選擇? | mingyen0707 | ---- ADSL 軟 硬 體 技 術 | 4 | 2005-08-17 10:37 PM |
【求助】Switch Hub怪聲連連.... | alice425 | -- 網 路 硬 體 版 | 3 | 2003-02-07 03:00 PM |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。