日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP协议--ARP协议(有了IP地址为什么还需要ARP协议)

發布時間:2024/8/23 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP协议--ARP协议(有了IP地址为什么还需要ARP协议) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先我們需要先大致了解一下MAC地址,MAC(Media Access Control, 介質訪問控制)地址是燒錄在Network Interface Card(網卡,NIC)里的,也叫硬件地址,是由48比特長(6字節),16進制的數字組成.0-23位叫做組織唯一標志符(organizationally unique ,是識別LAN(局域網)節點的標識.24-47位是由廠家自己分配。網卡的物理地址通常是由網卡生產廠家燒入網卡的EPROM(一種閃存芯片),它存儲的是傳輸數據時真正賴以標識發出數據的電腦和接收數據的主機的地址。

  如何才能知道自己PC的IP地址?一個很簡單的方法是使用ipconfig/all命令,如下圖:


?????? 如果你的PC中安裝有多個網卡,那么相對于每塊網卡Ethernet? adapter項所顯示的內容都會有所不同,相信大多數PC上顯示的都是“本地連接”,這是中文版WIDNOWS XP系統中以太網卡的默認命名。此處Physical Address項目所顯示的就是“本地連接”的MAC地址。

  在以太網中,如果主機A需要向主機B發送數據,在發送前必須先解決一個問題——我怎么才能知道主機B“位置”呢?可能有人會說我知道主機B的IP地址啊……,但實際上,在以太網環境中數據的傳輸所依懶的是MAC地址而非IP地址,而將已知IP地址轉換為MAC地址的工作是由ARP協議來完成的。

  ARP協議是“Address Resolution Protocol”(地址解析協議)的縮寫。在局域網中,網絡中實際傳輸的是“幀”,幀里面是有目標主機的MAC地址的。在以太網中,一個主機和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。

  在每臺安裝有TCP/IP協議的電腦里都有一個ARP緩存表,表里的IP地址與MAC地址是一一對應的,我們可以使用arp –a命令查看當前緩存表,如下圖:?


  我們以主機A(192.168.1.5)向主機B(192.168.1.1)發送數據為例。當發送數據時,主機A會在自己的ARP緩存表中尋找是否有目標IP地址。如果找到了,也就知道了目標MAC地址,直接把目標MAC地址寫入幀里面發送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址,主機A就會在網絡上發送一個廣播,目標MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網段內的所有主機發出這樣的詢問:“192.168.1.1的MAC地址是什么?”網絡上其他主機并不響應ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的回應:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。這樣,主機A就知道了主機B的MAC地址,它就可以向主機B發送信息了。同時它還更新了自己的ARP緩存表,下次再向主機B發送信息時,直接從ARP緩存表里查找就可以了。ARP緩存表采用了老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。

  下面我們通過一個實例來簡單說明一下ARP協議是如何工作的:如下圖,小編首先使用arp –d命令將ARP緩存表清空,第二步Ping一個IP地址192.168.99.252,第三步使用arp –a命令查看ARP緩存表,這時表中出現了一條? 192.168.99.252? 00-19-21-0a-95-9d? dynamic? 記錄,該條記錄的類型為Dynamic,意思是說,這條記錄是動態產生的。ARP記錄也會出現靜態的記錄條目,相應的類型為static。正如前面所說的,ARP緩存表具有老化機制,幾分鐘后小編再次使用arp –a命令查看緩存表,剛才的那條記錄已經不存在了。??


  下圖是小編使用wireshark(一個抓包工具)抓到的剛才ARP數據包的信息,由于在本機ARP緩存表中沒有IP地址192.168.99.252相對應的MAC地址記錄,所以在通訊之前系統會向網絡中首先發送一個廣播包——所有字符都為”f”的MAC地址,用來詢問192.168.99.252的MAC地址是什么?局域網中所有的PC都將收到這個廣播包,但只有IP地址為192.168.99.252的PC才會對此請求作出回應——告之192.168.99.204我的MAC地址是00:19:21:0a:95:9d,其它PC則將數據包直接丟棄,在發送方知到了目的主機的MAC地址后便可以進行通訊了。



總結

以上是生活随笔為你收集整理的TCP/IP协议--ARP协议(有了IP地址为什么还需要ARP协议)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。