看板 Network 關於我們 聯絡資訊
大家好,最近被人問了一個問題,覺得有點深奧不知道要 去哪裡獲取這方面的知識,想請各位大大解惑。 假設現在 PC1 -- Router(Gateway) -- 外網許多Gateway -- Google PC2 -- PC1的電腦第一次想要 ping google.com , 1. 問PC1的封包怎麼到google的所有流程 2. PC1 一開始要決定封包的 SA DA(Destination MAC)要怎麼決定,PC1網路卡 driver(思考一般通用網路卡的行為)是不是會先過濾一下封包是不是要往哪裡丟 ? PC1網卡driver怎麼判斷, 丟出去的封包 DA怎麼決定? 3. 假設封包跑到了Gateway , Gateway 怎麼知道要步要Routing? 如果是看routing table決定,那麼 Gateway Routing Table怎麼查表的? 4. 最後從Gateway出去時會經過NAT轉換source IP,在經過很多層的Gateway到達 Google, 那傳回來的封包 Gateway 怎麼知道要 DNAT 到哪一個 PCx?會有port 紀錄嗎還是什麼方法? NAT表怎麼查表? 以上問題我只會回答上層大概,關於底層和如何查表都沒概念呢? 例如: 一開始先檢查PC1 MAC cache有沒有那個MAC,找對應的IP。如果沒有就先發 一個ARP 封包,然後沒人回應就往 Gateway發,但是不知道 DA MAC會是誰(可能是 先填Gateway?),所以 目的IP 可能先寫8.8.8.8(假設已經知道google IP), 然後Gateway,看到目標查表發現要routing,幫忙做MASQARE(類似SNAT改源地址), 然後就送出去了。 希望有大大能夠提供很詳細的解答呢,謝謝各位。 封包 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.93.45 ※ 文章網址: https://www.ptt.cc/bbs/Network/M.1537240105.A.2F5.html
asdfghjklasd: CCNA 09/18 16:26
s801107: 你回答的有錯 09/19 01:16
johnhjwu: 建議先瞭解layer 2 and 3的處理方式才好解釋, 如果是以I 09/19 10:37
johnhjwu: P層來看封包傳送的話, 當IP層看到destination不在自己LA 09/19 10:37
johnhjwu: N網路內時就直接找default GW送IP Packets, 這時候 L2 09/19 10:37
johnhjwu: 的動作也就只是如何用 MAC address 傳data frame到 GW, 09/19 10:37
johnhjwu: 其他的部份應該不用重覆了 09/19 10:37