软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
ARP协议描述一下机器A和机器B的交流过程

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

ARP,全名为 An Ethernet Address Resolution Protocol,以太网上的地址转换协议,通过遵循该协议,只要我们知道了某台机器的IP地址,即可以知道其物理地址。

  下面我将根据ARP协议描述一下机器A和机器B的交流过程:
1、机器A说:“有程序叫我给机器B发送数据,但是他们只告诉了我机器B的IP地址,可以我和机器B联系是通过物理地址的呀。嗯……如果广播数据包的话,那么机器B就可以收到了,不过如果我每个数据包都广播的话,那不是很猪头!还是得想办法知道机器B的物理地址,这样我直接联系她。对了!据说有一个ARP协议可以帮助我,嗯,让我来试一下。”

2、按照ARP协议规定的格式,机器A构造一个数据包,其中包含机器B的IP地址Ib,我们称之为请求包,然后将其广播出去。附带说一下,这里面还包含着机器A自己的IP地址和物理地址,先埋下一个伏笔。

3、机器A说:“这个包已经广播出去了,现在就等着机器B回应我了……”

4、这个局域网内所有机器都收到了这个广播的请求包,并且都对这个包进行了检查,不过绝大部分机器发现包中所提到的IP地址Ib和自己的IP地址不一样,于是就将这个包丢弃了。

5、只有一台机器发现包中的IP地址和自己的IP地址一样,这台机器就是传说中的机器B……

6、机器B说:“有个猪头广播了一个ARP请求包,里面提到了我的IP地址,他大概是想和我单独联系,但是不知道我的物理地址吧,所以才广播的……那好!我就给他一次和我说话的机会吧,我先把物理地址告诉他吧”

7、于是机器B也根据ARP协议构造了另外一个数据包,其中包含自己的物理地址Pb,我们称之为应答包,并打算将该应答包发送给机器A。

8、机器B说:“怎么把这个应答包发送给A呢?学它的,继续广播?不行,我怎么能够和他一样猪头呢!再检查一下他给我的请求包,也许可以找出什么信息来……Search……Search……Search……找到了,这里放着他的IP地址和物理地址呢!好,就用这个物理地址和他联系吧。”

9、于是机器B将刚刚构造的应答包发送出去了……过一下就到了机器A那里。

10、机器A说:“谢天谢地!经过漫长的等待,终于接到了回应了,嗯,这个包果然是机器B发给我的,对,也从里面读到了机器B的物理地址,好,以后我就用这个物理地址和机器B单独联系了……”




相关文章

相关软件