ARP表是一個動態表,存儲在計算機當中,目的是做一個ip地址與mac地址的對應。
假設在同一子網段,計算機A與計算機B通信
計算機A的ip地址192.168.0.1 MAC地址AA-AA-AA-AA-AA-AA
計算機B的ip地址已知192.168.0.2 MAC地址未知
那么計算機A就要發起一個ARP查詢,“誰能告訴我,192.168.0.2的MAC地址是多少?”
很顯然通過交換機的時候,交換機並不能看懂ip地址,所以要廣播這個信息,就把這個查詢信息發到除發送端的其它所有端口。(當然,交換機還要記住192.168.0.1主機的mac地址)
其它所有的計算機看到這個廣播發現目的ip不是自己,就把這個數據丟棄,只有192..168.0.2的計算機B會響應,並發送回執,告訴計算機A,“我是192.168.0.2,我的MAC地址是AA-AA-AA-AA-AA-AB”當通過交換機,交換機記住從計算機B端口過來的MAC地址,並通過已知的A計算機MAC地址,發動到連接計算機A的端口。(此時不再廣播)計算機A與計算機B都知道對方的ip和MAC地址,開始通信。
我相信有些人已經知道答案了。
三層交換機肯定是有arp表的,這個毋庸置疑,因為有路由功能嘛,牽扯到ip,那肯定是有的,可能大家對2層是否有,有點疑問,一般來說2層是沒有的,所謂arp是地址解析協議,而地址指的是ip解析成mac,可2層跟ip沒關啊,所以一般來說是沒的,但當我們配置了管理vlan時,比如int vlan 1 ,然后ip add ······,這是用來管理的,這時就產生了arp表
什么叫ARP表啊!什么叫MAC地址表啊!
你們搞清楚沒有啊!二層交換有MAC地址表,沒有ARP表。ARP表里面有IP地址,二層設備不會有IP地址的。所以二層交換機不會有ARP表。有MAC表。一定要搞清楚。
談論學術的一定要嚴謹啊!定義一定要清楚,不然很難說清楚啊!
三層交換機肯定是有arp表的,這個毋庸置疑,因為有路由功能嘛,牽扯到ip,那肯定是有的,可能大家對2層是否有,有點疑問,一般來說2層是沒有的,所謂arp是地址解析協議,而地址指的是ip解析成mac,可2層跟ip沒關啊,所以一般來說是沒的,但當 ... [/quote]非常贊同,二層交換機有個管理vlan,默認是關閉的,如果開啟之后,就有了arp表項了。
arp 是地址解析協議,實現通過IP地直得知MAC地址。
工作原理的話,我就不都說了,上面的兄弟們解釋得非常清楚了。
在每台安裝有[url=/view/7649.htm][color=#0000ff]TCP/IP協議[/color][/url]的電腦里都有一個ARP緩存表,表里的IP地址與[url=/view/69334.htm][color=#0000ff]MAC地址[/color][/url]是一一對應的。
我們可以在命令提示符下輸入:arp -a 查看本機電腦arp 緩存表。
詳細參數的話,可以?試看。
arp緩存並不長久存在,ARP緩存表采用了老化機制(即設置了生存時間TTL),在一段時間內(一般15到20分鍾)如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。
層二設備的只有 PORT---MAC表
當一個層二交換機啟動的時候,它會自動去偵測那些聯系到自己端口上的 機器的MAC地址的.從而形成了一個PORT--MAC這樣一個對應表
層三設備才有 arp表~
簡單來說,ARP這個協議誰也說不准,它是個3層協議但是工作在2層,交換機確切的說是有MAC地址表,當主機要經過2層設備訪問的話,先查找它內部的ARP緩存表,如果沒有,就發一個廣播包,里面攜帶目的的IP地址,如果對應IP地址的主機看到有人叫它的時候,它才給以回應,發送回包,包里面有本機的MAC地址,這樣被交換機放入MAC表中,關於20樓兄弟說的SVI那是一個特例。。。嚴格意義上來說不是ARP表,ARP這個協議誰也說不好是具體2層的還是3層的,具體說就是2層靠MAC表轉發,由於TCP協議是需要ACK的,所以也能導致一些ARP欺騙的問題
要弄明白二三轉發原理和流程,必須弄清楚ARP表、交換機轉發表和路由表,這是數據轉發的依據。由於ARP表和交換機轉發表對於管理員來說是透明的,一般很忽視其工作原理,這是我需要注意的學習地方。所以今天主要是弄明白ARP表、交換機轉發表、路由表。
數據最終轉發依靠的都是ARP表,他是數據轉發最基礎的依據。ARP直接將硬件地址和網絡地址相互映射。
數據最終轉發依靠的雖然不是路由表,但路由表是一個向導,指引着數據的走向,讓數據能跨越網絡,ARP表是沒有掩碼的,是不區分網段的。