arp通信协议学习总结

arp通信协议学习总结

ID:27552741

大小:290.08 KB

页数:7页

时间:2018-12-03

arp通信协议学习总结_第1页
arp通信协议学习总结_第2页
arp通信协议学习总结_第3页
arp通信协议学习总结_第4页
arp通信协议学习总结_第5页
资源描述:

《arp通信协议学习总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、TCP/IP之ARP调试在编写ARP程序及调试之前需要知道ARP协议的概念、工作原理、ARP的格式和ARP数据乜的填充,卜而将我编写ARP程序及凋试过程写出來。第一步ARP协议的基础知识1.ARP的定义及工作原理地址解析协议(AddressResolutionProtocol,ARP)是在仅知道主机的IP地址时确定K•物理地址的一种协议。在以太网协议屮规定,同一局域网屮的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。于是需要一种方法,根裾目的主机的IP地址,获得艽MAC地址。这就是ARP协议要做的事情。ARP工作过程可以简单描述为以下三步:①

2、A首先广播一个ARP报文;②网上的所奋主机都接收到报文;③只有B识别,回答A,发送定h'dARP报文;2.ARP包的格式ether.typeetherdhostetherahost以太网目的地址以太网源地it帧类型6bytes以太网首部硬件类型,ar-hrd(arpiird^bther)广协议类型,(ETHSRTYPE.IP)硬件地址长度,ar.hln<6)协议地址长度,ar_pln⑷ar一cparpshaarp一spaarp.thaarp.tpaop发送者硬件地址发送者IP地址目标硬件地址目标IP地址2112ARP首部arphdr{)以太网ARP字段•ther.

3、arpO图1以太网使用ARP请求或发送格式由上图可以肴出ARP数据包由两部分组成:以太网苜部+以太网ARP帧。首先分析以人网首部,以太网首部它将存在于任何一个协议数据包的前面,格式如下,以太网首部填充的足接收方的足MAC地址,此处通常是ff-ff-ff-ff-ff-ff即在局域网闪发送广播;发送方的MAC地址(根据实际情况而定),ARP帧类型默认值为0x0806。表格1以太网首部帧格式字段长度(Byte)默认值备注以太网首部目的MAC地址6广播吋为ff-ff-ff-ff-ff-ff以太网源MAC地址6Ethertype20x08060x0806是ARP帧的类型值表

4、格2ARP帧格式字段长度(Byte)默汄值备注硬件类型20x1硬件类型(Ethernet:0x1)协议类型20x0800上层协议类型(IP:0x0800)硬件地址长度10x6MAC地址长度为6协议地址长度10x4IP地址长度为4操作码20xU)x21为请求,2为应答发送者MAC6发送者IP4接收者MAC6接收者IP4填充数据18因为包小长度为64字节,前面的42字节再加上4个CRC校验字节,还差18个字节3.ARP数据包的填充ARP请求数据包的填充:按照表格2和表格3依次填充数据ARP应答数据乜的填充:按照表格2和表格3填充,只要交换接收者和发送者的MAC和IP即

5、可第二步编程实现ARP请求和应答在了解ARP®木知识的®础上,开始编写程序以及程序调试。整体的流程图为:我做的ARP协议主耍实现的功能:设置DM9000的MAC地址为:12-34-56-78-9a-bc,IP地址为192.168.2.2,并且知道PC机的IP地址为192.168.2.225,目前想知道PC机的MAC地址。即通过ARP协议来解析PC机的MAC地址。实现的步骤如下:1.dm9000初始化dm9000初始化的过程,实际上就是填写和设置dm9000寄存器的过程,寄存器的名称宏定义在dm9000.h中,具体的配置过程如下:voidDM9000_init()/

6、/DM9000初始化DM9000_write(DM9000_NCR,0x01>;//第一次软件复位DELAY_US(20);DM9000_write(DM9000_NCR,0x00);//清除复位位DM9000_write(DM9000_NCR,0x01);//为Y确保笈位正确,第二次软件复位DELAY_US(20);DM9000_write(DM9000_NCR,0x00};//淸除复位位DM9000_write(DM9000_GPR,0x01);//PHY掉电DELAY_US(20);DM9000_write(DM9000_GPR,0x00);//PHY激活D

7、ELAY_US(3000);//至少延吋2msDM9000_write(DM9000_NSR,0x2c);//清除发送完成标志DM9000_write(DM9000JSR,0x3f);//清除中断标志位DM9000_write(DM9000_RCR,0x39);//丢弃长数据包,丢弃CRC校验错误数据包,接收使能DM9000_write(DM9000_TCR,0x00);//禁止发送DM9000_write(DM9000_NCR,0x00);//配置为正常模式DM9000_write(DM9000_IMR,0x80);//使能SRAM的读/写指针在桁针地址超过SR

8、AM的大小

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。