乐趣区

笔记tcpip-illustrated-4-ARP

一、参考

二、名词解释

ARP:address resolution protocol 地址解析协议
RARP: reverse address resolution protocol 反向地址解析协议

三、内容

1. 概要

IP 地址仅仅在 TCP/IP 协议栈中被使用,如果一个数据链路层是以太网或者令牌环,则它们有自己的寻址结构(48 位)
网络中可能存在多种网络层协议同时运行
当以太网数据帧从某个主机发送到局域网中的另一台主机,48 位的网络地址决定了接收数据帧的网络接口,设备驱动程序不会寻找 IP 数据包中的目标 IP 地址

由图:
(1)FTP 客户端,调用 gethostbyname 函数,将主机名称转换为 IP 地址(32 位),在 DNS 中称为转化函数,此转换过程需要使用 DNS 协议或者在小型网络中,直接查找 /etc/hosts 静态文件
(2)FTP 客户端建立 TCP 连接,目标 IP 地址为(1)中获取的 IP 地址
(3)FTP 客户端发送连接请求数据,通过 IP 协议,发送 IP 数据包
(4)如果目标主机和源主机在同一个本地网络中(以太网、令牌环、点到点连接),IP 数据包可以直接发送到目标主机;如果目标主机位于远端网络中,IP 路由获取下一跳路由地址,将 IP 数据包发送到下一跳,最终,IP 数据包都会发送到本地网络中
(5)目标主机位于局域网中,需要将逻辑 IP 地址转为物理硬件地址(ARP 过程),ARP 也用于广播(多个主机和路由连接到一个网络中)
(6)ARP 协议,广播 ARP 请求(实际为一个以太网帧)到网络中的每个主机,ARP 请求中包含目标主机的 IP 地址,请求目的是接收请求的每个主机,判断自己 IP 地址是否是以太网帧中包含的目标 IP 地址,如果是,则返回硬件地址
(7)目标主机的 ARP 层,接收到广播,确认发送者请求自身硬件地址,目标主机返回 ARP 响应,其中包含 IP 地址和对应的硬件地址
(8)接收 ARP 响应
(9)发送 IP 数据包到目标主机

退出移动版