ARP原理再次讲解

2017/10/17 来源:www.arpun.com 作者:小白

前几天有人问我, 讲一下ARP原理。 我记得我以前推送过, 翻了一下, 将上次讲的文章, 再次推送一下。

对了, 为了方便大家翻阅往期精彩原创的文章, 特此弄了一个菜单【精选】, 该菜单汇集了往期精彩文章的链接。 同时, 大家如果有其他建议, 也可以提出来。

思路

1、思考ARP到底是干嘛的? 为什么要有它?why? 

2、掌握ARP的工作原理。

技术人, 要掌握一种技术, 绝对离不开以上两点基本思路, 带着这两个思路去学习新技术, 你绝对是不可能学不会的。 再笨, 你也会学得很深刻的。 甚至, 你还可以有更多的思路, 比如, 可不可以没有它? 有它?跟没有它的情况又是什么样的?等等。

1、ARP到底是干嘛的?

我们都知道局域网里面通信, 都是靠MAC地址来通信的。 ARP简单说, 就是用来把IP地址转换成MAC地址, 就是某个去往目的IP地址翻译成MAC地址。

交换机的工作原理就是基于源MAC地址学习, 基于目的MAC地址转发的。 大家都知道网络的参考模型, 我们在电脑上要发送消息时, 电脑内部的处理机制是先从上层开始一层一层往下封装的。 如图:ARP原理再次讲解

现在, 有了这张图, 就更容易理解ARP的作用了。

电脑从上层往下封装, 到了二层, 要封装帧头部时, 就需要把目的mac地址封装上, 形成完整的二层头部后, 就可以发送出去了。

现在的问题就是, 电脑如何知道对方的MAC地址?

计算机A要发送消息, 给计算机E。 他们是第一次通信。

当用户计算机A在上使用QQ聊天工具, 输入:你好, 约吗?

回车, 计算机A就先从上层往下封装头部。 如IP头部就将

目的IP:1.1.1.2   , 源IP就是:1.1.1.1 等信息进行封装, 到了二层, 就需要将目的MAC地址, 源MAC地址进行封装。 计算机A肯定知道自己网卡的mac地址, 为1111.1111.1111.1111。 但是目的mac地址(计算机E的mac地址)就不知道了, 因为他们是第一次通信, 哪里知道啊~  要是知道, 就上天了!

于是, 这时候, 计算机A就执行ARP程序, 发送一个ARP请求报文的广播包:

该数据包的关键字段如下:

二层:

目的MAC地址:ffff.ffff.ffff.ffff

源mac地址:1111.1111.1111.1111

类型:0x0806

arp的关键内容如下:

source mac:1111.1111.1111.1111.1111

source IP: 1.1.1.1

target mac:ffff.ffff.ffff.ffff (因为第一次通信, 不知道对方的mac地址)

target IP:1.1.1.2

网友评论
评论(...
全部评论