MAC-IP地址检测链路层用mac,网络层用ip:
网络中传输的是IP地址--三层32位地址,终端需要的是MAC地址--两层48位地,
ARP(RARP)都属于3层协议
网络通信中,两个节点想要通信,必须先知道源与目标的MAC地址。为了让系
统能快速地找到远程节点的MAC,每一个本地的内核都保存有一个即时的查询表
(ARP缓存)。
ARP中有映射远程主机的IP--->;对应的MAC地址的一个列表。地址解析协议
(ARP)缓存是一个TSR的数据结构,由本地的内核来管理的。Default ARP缓
存中留有last 10 mins本地系统与之通信的节点的IP地址(和对应的MAC地址)。
当一个远程MAC存在于本地ARP 缓存中,转换远程节点的IP地址为MAC地址
no problem。然而,系统在知道一个远程IP,但MAC不在本地ARP缓存中时,是这
样来获取远程MAC的:本地主机发送一个Broadcast package,询问各节点是否有对
应的IP。回应是唯一的。在回应包中就包含此MAC。在收到返回包后,本地节点就
会在本地ARP缓存中记录远程MAC。
如果将IP/MAC对应关系中那些合法IP地址建立静态的MAC/IP绑定,那么即使
非法用户盗用IP地址,linux路由器在回应这些IP发出的连接请求时则不会通过arp协
议询问其MAC,而是使用Linux建立的静态MAC, 发出应答数据,这样.......