第5章 IP アドレスから 物理アドレスへの写像

第5章 IP アドレスから
物理アドレスへの写像
アドレスの解決

IPアドレスと物理アドレス
– 実際のデータ転送 → 物理ネットワーク
– 物理ネットワークのアドレスを知るには?
• Ethernet は48ビット・アドレス

解決の方法
– 直接写像 (table , hash による方法) PA  f ( I A )
– 動的バインディング
• 新しいマシンの追加が容易
• 中央管理が不要
ARP (Address Resolution Protocol)
ARP broadcast
ARP 受信の処理
Merge_flg = F;
if (<IP,PA’> がテーブルにある) {
テーブルのPAを更新する;
Merge_flg = T;
}
if (Target の IP address が自分のもの) {
if (Merge_flg == F) {
Sender の <IP アドレス, PA> を表に追加する;
}
if (op == ARP_REQUEST) {
Sender と Target のアドレスを入れ替える;
op = RESPONSE;
送出;
}
}
ARP の実装

ARP request の送出
– 相手が応答できない,packet loss?
– wait 中に他の process がさらに要求?
– cache が古くなり,実情に合わない?

ARP の受信
– cache が full ?
– cache の timer ?
– security

カプセル化
ARP message
Frame
header
Frame Data Area
ARP Protocol Format
hardware type=1 (ether)
protocol type =0x0800 (IP)
% arp -a
operation = 1~4 (ARP/RARP)
hlen/plen = hard/proto addr leng
ARP table の印刷コマンド