為什麼一定要通過網關來找計算機?
可能問題提的不清楚。我這幾天看了車小胖的書,有一個疑問,先上圖
文中說如果想通信的計算機和自己在同一網段,而且ARP緩存表裡面沒有目的計算機的mac地址,那麼需要先找到網關,在這個介面上發送廣播,於是我有了疑問,難道計算機的介面不能發送廣播信息嗎,為什麼不能直接從計算機發送arp廣播,反正在同一網段裡面呢。
@Mike Jiang 回答得很好,補充一點以供閱讀。
要想學好計算機網路,首先要學好電話的基本原理,問同學們一個問題:普通電話機知道全球的電話號碼所對應的電話機在哪裡嗎?不知道!
下一個問題:既然不知道,那電話機是如何找到被撥號碼的對應的電話機的?
同學們一定會哈哈笑,這個很容易啊,把撥打的號碼傳輸給電信局的交換機就可以了!
那計算機網路通信不是和打電話很相似嗎?
電腦比電話高明的地方是,電腦可以區分兩個地址:
自己網段
其它網段電腦可以使用自己的網路掩碼與想要通信的IP做按位與,得到一個網段號S;
用網路掩碼與自己的IP做按位與,得到一個網段號S"
S = S" 就是自己的網段;否則就是其它網段。相同的網段,ARP獲得對方MAC,就可以通信了。
其它網段,直接扔給網關就可以了,就好比打電話找交換機一樣自然,但需要知道網關的MAC,這個需要ARP來完成。
難道計算機的介面不能發送廣播信息嗎,為什麼不能直接從計算機發送arp廣播,反正在同一網段裡面呢
能,因為可能存在多網卡多IP地址的配置,需要找到發送廣播包的介面(廣播包的出口),即找到同網段IP地址所在的介面,從那個介面把廣播包發出去。
匹配到10.1.1.0 注意下一跳不是網關地址,說明同網段通信不需要網關,有ARP緩存直接封包發送,沒有緩存廣播ARP請求,注意這個介面,這個介面即是出介面,也可以叫下一跳介面,告訴你這個網段的廣播包從ETH0發出去。
車大這段話中沒有提到過網關,當然同網段通信也不需要網關,注意車大加粗的字體,多讀多理解。
如果把你家比喻成主機,那麼網關就是小區入口。快遞員到了小區必須通過入口保安才讓你進去。進去以後為了防止快遞員找不到你,保安會幫快遞員呼叫你。
如果在同一網段內,小明吼一嗓子:誰是小美?小美回答小明:我是我是。於是雙方可以暢快的交換小紙條了如果跨網段,小明吼一嗓子:誰是網關?網關回答:我是我是於是小明把小紙條交給網關,剩下的就不用管了
哦哦,你這個閱讀能力不行啊,誰說是讓網關廣播的,人家意思是找到計算機上的某個介面,然後在這個介面上發廣播。這個介面是個網關有聯繫的!!
文章里沒提到網關啊,而且這介紹的是ARP的流程
其實就是先發廣播讓對方把地址告訴自己,
然後你的地址緩存裡面就有對方的地址了,
就可以和對方傳輸信息了。你問的很奇怪,恐怕具體的概念都沒搞懂。可以不需要啊,你可以每個主機都通告路由。實際上網關還是路由啊
因為網關是通往另外一個圈子(不同子網)的門吶!
大胸弟別急,老夫已經發現車小胖關注了你的問題,估計不久以後就會出來答案。 在答案出來前,先讓老夫來拋磚引玉,首先,對於你提出的問題,老夫可以斷言你肯定不是一個網工,但是,迫切想要當一名網工。不過還是肯定一下你,小夥子很上進,只不過沒有系統學習過計算機。所以我要解答你的問題,比較麻煩,還是溜了,不逗了你╮( ̄▽ ̄)╭
建議去看經典教材,不要看那些沒用的。只有了解了原理才能懂網路是怎麼運作的。而經典教材之所以是經典是因為說得清楚。
IP Routing on Cisco IOS, IOS XE, and IOS XR: An Essential Guide to Understanding and Implementing IP Routing Protocols (Networking Technology)
推薦閱讀:
※路由器進行NAT地址轉換時,如何避免可能出現的如下錯誤?
※有哪些性價比高的千兆WAN口雙頻路由器?
※如何強制網卡協商網速為1Gbps?
※我們買的無線路由器只是為了設置無線 Wi-Fi,有真正使用到路由器的路由功能嗎?
※電腦同時開有線和無線,會先使用哪個?