| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
以下是引用片段:
typedefstructarphdr
{
unsignedshortarp_hrd;/*硬件类型*/
unsignedshortarp_pro;/*协议类型*/
unsignedchararp_hln;/*硬件地址长度*/
unsignedchararp_pln;/*协议地址长度*/
unsignedshortarp_op;/*ARP操作类型*/
unsignedchararp_sha[6];/*发送者的硬件地址*/
unsignedlongarp_spa;/*发送者的协议地址*/
unsignedchararp_tha[6];/*目标的硬件地址*/
unsignedlongarp_tpa;/*目标的协议地址*/
}ARPHDR,*PARPHDR; 网管网www_bitscn_com |
网管联盟bitsCN@com
为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的PING例子。
假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping192.168.1.2.该命令会通过ICMP协议发送ICMP数据包。该过程需要经过下面的步骤:
1、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);
2、内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表;
3、如果存在该IP-MAC对应关系,那么跳到步骤9;如果不存在该IP-MAC对应关系,那么接续下面的步骤;
4、内核进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1),其中包含有自己的MAC地址;
5、当192.168.1.2主机接收到该ARP请求后,就发送一个ARP的REPLY(2)命令,其中包含自己的MAC地址;
6、本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中;
7、内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去;
网管网www.bitscn.com
|
0
|
评论加载中…