Networking - ARP 协议
ARP 协议概述
ARP(Address Resolution Protocol),即地址解析协议,用于把 IP 地址映射到物理地址。网段上的每台主机都维护着一个被称为 ARP Table 或 ARP Cache 的表格,其中包含着网段上其他主机的 IP 地址与物理地址的对应关系。当主机需要向网段上的其他主机发送数据时,它会查看 ARP Cache 来获得目的的物理地址。ARP 缓存是动态变化的。如果要接收数据的地址当前并不存在于 ARP Cache,主机就会广播一个 ARP 请求帧。
ARP 请求帧包含未解析的 IP 地址,还包含发送这个请求的主机的 IP 地址和物理地址。网段上的其他主机接收到这个 ARP 请求,拥有这个未解析的 IP 地址的主机会向发出请求的主机发送自己的物理地址。这个新的 IP 地址与物理地址的对应关系就会添加到请求主机的 ARP Cache 中。一般来说,ARP Cache 里的条目在一定时间后会过期,条目就会被从表里删除。当主机需要向这个条目所包含的 IP 地址发送数据时,解析过程会再次重复。
ARP 报文格式
ARP 报文格式如下:
| HTYPE | PTYPE | HLEN | PLEN | OPER | SHA | SPA | THA | TPA |
HTYPE(Hardware Type): 该字段有 2 个字节,表示硬件类型。
PTYPE(Protocol Type): 该字段有 2 个字节,表示协议类型。
HLEN(Hardware Address Length ): 该字段有 1 个字节,表示硬件地址长度。
PLEN(Protocol Address Length ): 该字段有 1 个字节,表示协议地址长度。
OPER(Operation): 该字段有 2 个字节,表示操作类型。1 表示 ARP 请求,2 表示 ARP 应答。
SHA(Sender Hardware Address): 该字段有 6 个字节,表示发送者硬件地址。
SPA(Sender Protocol Address): 该字段有 4 个字节,表示发送者 IP 地址。
THA(Target Hardware Address): 该字段有 6 个字节,表示目标硬件地址。
TPA(Target Protocol Address): 该字段有 4 个字节,表示目标 IP 地址。
ARP 工作过程
Networking - ARP 协议的更多相关文章
- 浅谈ARP协议以及应用
0. 前言 本章主要简单的介绍ARP的协议格式,主机如何发送和处理ARP报文,以及免费ARP. 1. ARP协议原理 ARP,全称Address Resolution Protocol,地址解析协议, ...
- 6410实现网卡(DM9000A)收发功能及ARP协议实现
1. 网卡硬件结构(DM9000A) 网卡的实质就是MAC通过MII接口控制PHY的过程. MAC主要负责数据帧的构建.数据差错检查.传送控制等. PHY是物理接口收发器,属于物理层,当它收到MAC过 ...
- Lvs原理及部署之ARP协议
1.什么使ARP协议 ARP协议,全称"Address Resolution Protocol" ,中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应的物理地址(MAC ...
- 计算机网络(2)-----ARP协议
ARP协议(Address Resolution Protocol) 概念 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/I ...
- ARP协议
ARP协议就是一个获取对方MAC地址的协议,ARP协议它是一个网络层的协议,它的作用是通过ARP request报文来获得对方的MAC地址,ARP报文里面发送的内容大概是192.168.1.20你的M ...
- ARP协议格式、ARP运行机制入门学习
相关学习资料 http://baike.baidu.com/view/149421.htm?fromtitle=ARP%E5%8D%8F%E8%AE%AE&fromid=1742212& ...
- ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御
ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3 ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...
- ARP协议详解
ARP协议:地址解析协议,将IP地址映射到MAC地址. ARP缓存:每个主机都有存储IP地址和MAC地址的缓冲区.每条记录最长生存时间为10分钟,如果一条记录2分钟没有使用,则会被删除.如果始终在使用 ...
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数 ...
随机推荐
- HDU1028Ignatius and the Princess III(母函数)
http://acm.hdu.edu.cn/showproblem.php?pid=1028 母函数: 例1:若有1克.2克.3克.4克的砝码各一 枚,能称出哪几种重量?各有几种可能方案? 如何解决这 ...
- SQL NULL Values
NULL代表缺失的.未知的数据.表的列值默认是NULL.如果某个表的某个列不是NOT NULL的,那么当我们插入新纪录.更新已存在的记录时,可以不用为此列赋值,这意味着那个列保存为NULL值. NUL ...
- C# 调用第三方DLL完整实例
C# 调用第三方DLL完整实例 分类: C/C++ 以下代码为本人在实际项目中编写的调用第三方DLL接口程序的完整代码. public class ExecuteDLL : Form { ...//忽 ...
- GCD求最大公约数
求最大公约数哪个强,果断GCD,非递归版本和递归版本如下: #include<iostream> using namespace std; int gcd(int a, int b){ / ...
- Node.js和mybatis分别实现mysql中like变量模糊查询
<!-- mybatis --> <where> <if test="varName != '' and varName != null" > ...
- 解决Android上的QPython不能import urllib的问题
试用了一下QPython,感觉很强大,Kivy也包含进去了,下载一些第三方库也很方便,相对于SL4A来说确实先进了很多. 但是很快发现不能import urllib,提示大概是这样的内容: No mo ...
- HDU 1498 50 years, 50 colors (行列匹配+最小顶点覆盖)
题目:点击打开链接 题意:每个格子有不同颜色的气球用不同数字表示,每次可选某一行 或某一列来戳气球.每个人有K次机会.求最后哪些气球不能在 k次机会内 ...
- npm获取配置,设置代理
npm获取配置有6种方式,优先级由高到底. 命令行参数. --proxy http://server:port即将proxy的值设为http://server:port. 环境变量. 以npm_con ...
- Debian5.04安装oracle11g 笔记
新安装了Debian5,成功安装了oracle11g.记录过程如下. 1.升级一下系统 #apt-get update #apt-get upgrade 2.安装需要的一些组件: # ...
- 百度API_Demo
package com.test.www; import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu ...