ping命令的实现详解

ping命令的实现详解

ID:40571289

大小:166.00 KB

页数:6页

时间:2019-08-04

ping命令的实现详解_第1页
ping命令的实现详解_第2页
ping命令的实现详解_第3页
ping命令的实现详解_第4页
ping命令的实现详解_第5页
资源描述:

《ping命令的实现详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、当实现了对enc28j60的驱动后,我们就可以利用enc28j60来制定自己的TCP/IP协议协议了,本章主要以实现ping命令来实现对arp、ICMP数据包进行封装。要实现ping命令,主要分为两大步,一是对数据链路层的arp包进行封装,通过被ping主机的ip地址实现对其MAC地址的解析,二是对ICMP的数据包进行封装,实现ping命令。1.ARP协议地址解析协议(ARP)是联系IP协议和LAN协议的桥梁,它的应用范围是局域网(LAN),如以太网、FDDI、令牌网等,它是基于访问共享和广播技术的协议。该协议把节点的IP解析成对应的MAC地址(即物

2、理地址),它可以在局域网内寻找IP所对应的MAC地址,并保持起来以供发送使用。ARP协议是基于数据链路层协议之上的,但它不属于网络层协议,它是数据链路层和网络层之间的通道,他属于数据链路层的一部分。ARP由两种帧组成,一种是请求帧,即在网络里面查找IP地址所对应的MAC地址;另一种是应答帧,即回答该IP地址所对应的MAC地址是多少。请求帧由要发送IP报的节点发出,它是一个广播报,子网中每一个节点都能够收到。各节点收到后,如果目标IP和自己的IP相同,就发送一个ARP应答报,否则就丢弃。当发送请求帧的节点接收到应答报后,就可以知道了对方的MAC地址,即

3、可发送IP报。ARP帧的以太网类型是0x0806,ARP帧不包括IP帧,总共有28个字节,ARP帧具体结构如图1.1所示:图1.1ARP帧结构ARP帧结构各字段含义如表1.1所示:表1.1ARP帧各字段含义字段名称字节长度描述硬件类型2字节指出数据链路层的协议,如0x0001表示以太网,0x0006表示令牌网协议类型2字节指出要解析的协议,如0x0800表示该ARP报要解析的协议为IP协议硬件地址长度1字节指出物理地址的长度,如以太网MAC地址长度是6字节,该字段就为0x06协议地址长度1字节指出要解析的协议地址的长度,如IP协议的IP地址长度为4字

4、节,该字段就为0x04操作2字节用于表示该ARP帧的类型,如0x0001表示请求帧,0x0002表示应答帧发送端MAC地址6字节发送端硬件地址发送端IP地址4字节发送端IP地址接收端MAC地址6字节接收端硬件地址接收端IP地址4字节接收端IP地址ARP帧分为请求帧与应答帧,下面,通过CommView找包软件具体对ARP帧进行分析。请求帧如下:分析由于ARP处于数据链路层,而在数据链路层下还有物理层,所以在发送ARP数据帧时,前面14个字节为以太网帧。1)EthernetII网络协议层分析发送目标的MAC地址为FF:FF:FF:FF:FF:FF,即广播

5、地址,本网段所以节点都能接受到,发送源MAC地址为00:26:82:D0:15:BA,下层协议为0x0806,即为ARP协议。实际EthernetII网络协议层接受数据FFFFFFFFFFFF0026-82D015BA08062)ARP协议分析硬件类型为以太网类型0x0001,要解析的协议类型为0x0800,即为IP协议,硬件地址长度为6,协议地址长度为4,操作为请求0x0001,发送端源MAC地址为00:26:82:D0:15:BA,发送端源IP地址为192.168.25.64,目标MAC地址为00:00:00:00:00:00,目标IP地址为19

6、2.168.25.6。实际接受ARP帧数据00010800060400010026-82D015BAC0A81940000000000000C0A81906应答帧如下1)EthernetII网络协议层分析发送目标的MAC地址为00:26:82:D0:15:BA,发送源MAC地址为11:22:33:44:55:66,下层协议为0x0806,即为ARP协议。实际EthernetII网络协议层接受数据002682D015BA1122-3344556608061)ARP协议分析硬件类型为以太网类型0x0001,要解析的协议类型为0x0800,即为IP协议,硬

7、件地址长度为6,协议地址长度为4,操作为应答0x0002,发送端源MAC地址为11:22:33:44:55:66,发送端源IP地址为192.168.25.6,目标MAC地址为00:26:82:D0:15:BA,目标IP地址为192.168.25.64。实际接受ARP帧数据00010800060400021122-33445566C0A81906002682D015BAC0A8-19402.ICMP协议ICMP本身是网络层协议。但是,它的报文不是如设想的那样直接传送给数据链路层。实际上,ICMP报文首先要封装成IP数据报,然后在传送给下一层。2.1网络

8、层协议IP协议是TCP/IP协议栈的核心。IP报是由报头和负载组成的。报头的长度范围为20~60字节,有效负

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

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

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