ARPはどのようなものです:
ARP、すなわち、ARP(アドレス解決プロトコル)は、物理アドレスのIPアドレスに基づいてTCP / IPプロトコルを得ることです。IPアドレスおよび物理アドレスを受信した後にリターン・メッセージは、マシンに格納され、送信情報要求は、ローカルエリアネットワーク上のすべてのホストにブロードキャスト、及びターゲットの物理アドレスを決定するために、リターン・メッセージを受信して、ターゲットホストのIPアドレスを含むARP ARPキャッシュと直接ARPキャッシュを照会するために、一定の時間を維持節約リソースへの次の要求。
実装プロセス:
ネットワーク・セグメント:
同じホストAとMACアドレスB場合を決定するためにLAN、およびデータを交換するIPアドレスBを介してARP「リクエストブロードキャスト及びユニキャスト応答」によれば、ホストBのMACアドレスを決定するために必要で
I Aは、マシンアドレス192.168.1.8を表す場合、Bは192.168.1.2を表し、実装プロセスは次のとおりです。
1)ホストBのMACアドレスが自身のARPキャッシュテーブルを記録するかどうかを最初にチェックを。
ARP -aとチェックは本当に発見しました:
テストを容易にするため、私は削除したいと思います。arpは、192.168.1.2を-ad(管理者権限のために)
2)の場合、表A、MACアドレスによるデータの直接送信に記録されたARPキャッシュのMACアドレスB。
3)ARPキャッシュを記録したホストA Bは、ホストBのMACアドレスを見つけるために、LAN内のすべてのホストにARP要求パケットをブロードキャストでない場合
今ARPキャッシュAはB程度Bのレコードは、pingではありませんします。ping 192.168.1.2;
オープンWiresharkのネットワークアナライザは、ARPプロトコルを濾過します。
システムは、192.168.1.2それのMACアドレスを持つローカルネットワークセグメントにブロードキャストを送信しますか?はい私に192.168.1.8を教えてください。
ARP要求パケットの具体的な詳細:
フィールド説明:
ハードウェアタイプ---- LANタイプ、イーサネット(イーサネット)は1です。最も一般的なイーサネットネットワークがあるが、それはそれだけのイーサネットを意味するものではありません。
ネットワークアドレスのプロトコルタイプのタイプ----提供クエリ、IPv4が0x0800です。
Harware lenght----网卡地址长度,以太网网卡是6字节。
Protocol lengt----查询中提供的网络地址的的长度,IPv4是4字节。
Opcode----Operation查询包值为1,响应包值为2。
Sender MAC address----发送者的Mac地址。
Sender IP address----发送者的IP地址。
Target MAC address----接收者的Mac地址,指向性查询包是MAC地址表中记录的mac,广播性查询包是00:00:00:00:00:00。(注意区分ARP头和Eth头,指向性查询包Eth头的dst mac是MAC地址表中记录的mac,而广播性查询包是ff:ff:ff:ff:ff:ff)。
Target IP address----要查询mac地址的ip。
4) 当B主机收到A主机广播的ARP请求后,就会直接给A主机回复一个ARP数据包。
5) 当A主机收到B主机发送过来的请求后,将B的MAC地址写入高速缓存中,然后通过该MAC地址,A主机向B主机进行数据的传输。
跨网段:
A与B不在一个网段,A查询自己的路由表,知道如果想和B通信则必须通过gateway 来中转,所以会在与gateway 直连的接口(假定 Ethernet接口)上请求gateway 的MAC地址。 A主机先通过广播一个ARP请求,找到本网络中的一个路由器的MAC地址,然后将数据包直接给路由器。当路由收到数据包后,如果B主机在同网络中的话,这时通过ARP找到B主机,然后把数据包给B主机。如果B主机不和A主机发送数据的路由器在同一网络内的话,则路由器会通过ARP协议找到下一跳的路由器,然后把数据包发送到该路由上,以此类推。