想請問router、switch的運作原理

以上

最近小弟開始學網路概論,但是對於一些設備的運作原理不是很了解,


Layer3:S Ip : __________
D Ip : __________

Layer2:S MAC: __________
D MAC: __________

想請教懂得運作原理的人替小弟解釋一下,以上想要請大大幫我解釋A~C的運作過程從PCA到switch再從switch到R1一直到C為止,每一次的步驟

以目前小弟的了解,switch的運作原理是:從輸入port以外的port轉送,然後switch找cam table的mac位置,發現沒有這個位置,所以從輸入port以外的port轉送,到目的地時,電腦回傳封包,假設從A給B,
紀錄一次A的來源,在記錄B的來源

而小弟對router的了解是,router會把廣播封包丟棄,可以把資料傳送到不同網段以外的地方每一個Port都會有一組IP,還有傳送和SWITCH不一樣,是看ip位置,那關於其他的就不了解了

還有什麼是ARP?,ARP僅僅運作在ROUTER、PC上?,switch不會有ARP嗎?


假如從,電腦A傳到電腦C,然後pc發現兩台電腦不同網段,於是交給預設閘道的IP給switch,那switch發現這是沒看過的mac位置再轉送給其他PORT,但是switch出去的封包不是屬於廣播封包,那R1應該會丟棄才是,搞得小弟完全卡住,不曉得怎麼從A到C
如果你把 switch 看成只是做交換的設備的話,它本身的確是用不到 arp

可是如果你是網管型的 switch ,某些時候你可以把它想成是一台 host

需要送出 arp request 也需要送出 arp reply


A 要送給 C 的話

A 會判斷 C 跟他不同網段,所以把封包封裝起來

這個封包的 destination ip address 是 c 的 ip adress

但是 destination mac address 卻是 R1 (gateway) 的 mac address (<----這點非常重要)

而switch 收到後,

因為它只會判斷封包的 destination mac address ,所以封包會順利的往 gateway 送



整個過程中 封包的 destination mac address 會改變三次

第一次是 A 送給 R1 (改成R1的 mac address)

第二次是 R2 送給 R3(改成R3的 mac address)

第三次是 R4 送給 C (改成C的 mac address)

但是 destination ip address 完全不會改變!!

L3 的封包轉送,其實是 end to end (A-->C)的傳送
L2 則是 host to host 的傳送 (A--R1--R2--R3--R4--C)


如果有哪邊觀念搞錯了,也請各位糾正我一下
linalex2649 wrote:
以上最近小弟開始學網...(恕刪)


A要到C 是這樣跑的

A檢查本身的routing table

大概會長這樣 route 192.168.1.0 255.255.255.0 gw 192.168.0.254

或者route 0.0.0.0 0.0.0.0.0 192.168.0.254(就default gateway拉)

之後就會發現 要到C 要丟到 R1

於是封包來到接A的這顆SW, 該SW會檢查本身A丟出的封包 看destination mac(就是192.168.0.254這個interface的mac)

之後比對本身的mac table database, 如果有記錄到該mac 則直接丟向跟R1對接的port

如果database裡面沒有該record則做flooding 往除了跟A對接那個port的其他port 做flooding 就全部都丟

之後R1會收到 因為他也是其它port之一 於是封包就過去了 其它人收到會發現destination不是自己而drop該封包

之後R1上面會有routing table(因Router是L3設備)

會有個route 192.168.1.0 255.255.255.0 10.0.0.3

之後封包就會被經由R2丟向10.0.0.3 也就是R3

之後中間這顆router就會直接丟向C了 因為他有192.168.1.0/24這段 就直接丟了

至於R4怎麼到C 這就跟上面講的A到R1意思一樣了

藉由這樣的一來一回 兩顆switch也都會學習到 雙方的mac 更新本身的mac table

至於ARP這就是L3設備的東西了

以這個case來說 A要丟給R1時 A本身會有arp table 假設他的arp table有記錄到192.168.0.254的mac
他就可以直接丟 如果arp table沒記錄到的話 則發broadcast詢問 如果有裝wireshark之類的封包監聽分析軟體的話 就會聽到A發出 who has 192.168.0.254 tell 192.168.0.1 為內容的broadcast封包

這時R1會收到A的broadcast封包 則回應A他本身的mac為多少 之後A會把R1的mac和ip對應 寫到自己的arp table裡

建議OSI 7層架構 先了解一下 看各層代表的device 還有功能

小弟也是資訊科系學生 不過不愛上課就是了
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!