ARP通信协议学习总结.doc

ARP通信协议学习总结.doc

ID:49199388

大小:152.50 KB

页数:8页

时间:2020-03-01

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

《ARP通信协议学习总结.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、TCP/IP之ARP调试在编写ARP程序及调试Z前需要知道ARP协议的概念、工作原理、ARP的格式和ARP数据包的填充,下面将我编写ARP程序及调试过程写出来。第一步ARP协议的基础知识1.ARP的定义及工作原理地址解析协议(AddressResolutionProtocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。在以太网协议屮规定,同一局域网屮的一台主机要和另一台主机进行氏接通信,必须要知道目标主机的MAC地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。AR

2、P工作过程可以简单描述为以下三步:%1A首先广播一个ARP报文;%1网上的所有主机祁接收到报文;%1只有B识别,

3、叫答A,发送定向ARP报文;2.ARP包的格式以太网目的地址一以太网源地址帧类型op发送者硬件地址发送者IP地址目标硬件mt目标IP地址6bytes6•以太网首部22211ARP首部2■16464etherh»ader()arphdr{}以太网ARP字段■•thar.-ether_typeether.dhostetherahost厂硬件类型,arJird(arphrd.ethbr)r协议类型,«r_pro

4、(ETHERTYPE.IP)硬件地址长度,ar-hln⑹协议地址长度,ar_pln(4)图1以太网使用ARP请求或发送格式由上图可以看出ARP数据包由两部分组成:以太网首部+以太网ARP帧。首先分析以太网首部,以太网首部它将存在于任何一个协议数据包的前面,格式如下,以太网首部填充的是接收方的是MAC地址,此处通常是ff-ff-ff-ff-ff-ff即在局域网内发送广播;发送方的MAC地址(根据实际情况而定),ARP帧类型默认值为0x0806o表格1以太网首部帧格式字段长度(Byte)默认值备注以太网首部目的MAC地址6广播时为

5、ff-ff-ff-ff-ff-ff以太网源MAC地址6Ethertype20x08060x0806是ARP帧的类型值表格2ARP帧格式字段长度(Byte)默认值备注硬件类型20x1硬件类型(Ethernet:0x1)协议类型20x0800上层协议类型(IP:0x0800)硬件地址长度10x6MAC地址长度为6协议地址长度10x4IP地址长度为4操作码20x143x21为请求,2为应答发送者MAC6发送者IP4接收者MAC6接收者IP4填充数据18因为包最小长度为64字节,前面的42字节再加上4个CRC校验字节,还差18个字节3

6、.ARP数据包的填充ARP请求数据包的填充:按照表格2和表格3依次填充数据ARP应答数据包的填充:按照表格2和表格3填充,只要交换接收者和发送者的MAC和IP即可第二步编程实现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地址。实现的步

7、骤如下:1.dm9000初始化dm9000初始化的过程,实际上就是填写和设置dm9000寄存器的过程,寄存器的名称宏定义在dm9000.h屮,具体的配置过程如下:voidDM9000_init()//DM9000初始化DM9000_write(DM9000_NCRz0x01);//第一次软件复位DELAY_US(20);DM9000_write(DM9000_NCR,0x00);//清除复位位DM9000_write(DM9000_NCRz0x01);//为了确保复位正确,第二次软件复位DELAY_US(20);DM9000_

8、write(DM9000_NCR,0x00);//清除复位位DM9000_write(DM9000_GPR/0x01);//PHY掉电DELAY_US(20);DM9000_write(DM9000_GPR/0x00);//PHY激活DELAY_US(3000);〃至少延时2msDM9000_write(DM9000_NSR/0x2c);〃清除发送完成标志DM9000_write(DM9000_ISR,0x3f);〃清除中断标志位DM9000_write(DM9000_RCR,0x39);//丢弁长数据包,丢弁CRC校验错误数

9、据包,接收使能DM9000_write(DM9000_TCR,0x00);〃禁止发送DM9000_write(DM9000_NCR,0x00);〃配置为正常模式DM9000_write(DM9000_IMR,0x80);〃使能SRAM的读/写指针在指针地址超过SRAM的大小时

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

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

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