关于ARP的一些理解
2011-12-04 21:47
225 查看
首先拓扑图如下:
一、PC1设置了192.168.1.254为自己的缺省网关
PC1第一次同PC2通信时,大家都知道数据封装到三层和二层之间时,会调用ARP去找对端的MAC地址,可是现在发现PC2的IP192.168.2.1和自己的IP192.168.1.1不在一个网段,那么PC1就会在ARP表里面查找自己缺省网关的MAC地址,如果查到了就会直接把路由器的MAC地址封装到二层帧里面,然后发给路由器R1,如果没查找到,那么PC1就会发送一个ARP广播去查找网关的MAC地址了,查找到了再封装网关的MAC地址到数据帧中。
二、PC1没有设置缺省网关
一样PC1第一次同PC2通信,可是这回PC1突然发现自己没有设置缺省网关,它不知道怎么才能到达路由器R1或者说网络中是否有路由器,于是PC1就会向192.168.2.1发送一个ARP请求,然后当路由器R1收到这个ARP请求后发现自己知道怎么去192.168.2.1,然后它就会把自己MAC地址回复给PC1,以此来响应PC1的ARP请求。事实上路由器欺骗了PC1,让PC1认为192.168.2.1这个地址就是路由器的f0/0这个接口,以后PC1所有发向192.168.2.1的数据包都会发送到路由器R1了,然后在由R1发给PC2。
以上这个过程就是代理ARP。
一、PC1设置了192.168.1.254为自己的缺省网关
PC1第一次同PC2通信时,大家都知道数据封装到三层和二层之间时,会调用ARP去找对端的MAC地址,可是现在发现PC2的IP192.168.2.1和自己的IP192.168.1.1不在一个网段,那么PC1就会在ARP表里面查找自己缺省网关的MAC地址,如果查到了就会直接把路由器的MAC地址封装到二层帧里面,然后发给路由器R1,如果没查找到,那么PC1就会发送一个ARP广播去查找网关的MAC地址了,查找到了再封装网关的MAC地址到数据帧中。
二、PC1没有设置缺省网关
一样PC1第一次同PC2通信,可是这回PC1突然发现自己没有设置缺省网关,它不知道怎么才能到达路由器R1或者说网络中是否有路由器,于是PC1就会向192.168.2.1发送一个ARP请求,然后当路由器R1收到这个ARP请求后发现自己知道怎么去192.168.2.1,然后它就会把自己MAC地址回复给PC1,以此来响应PC1的ARP请求。事实上路由器欺骗了PC1,让PC1认为192.168.2.1这个地址就是路由器的f0/0这个接口,以后PC1所有发向192.168.2.1的数据包都会发送到路由器R1了,然后在由R1发给PC2。
以上这个过程就是代理ARP。
相关文章推荐
- 关于Hook的一些理解
- 关于Andiroid SDcard 自己的一些理解
- 关于js中对对象原型和构造函数的一些理解
- 关于X Window的一些理解
- 关于sizeof运算符的一些理解
- 关于函数返回值的一些理解
- oracle - 关于回滚段的一些特点及自己的理解
- 关于OpenGL的各个坐标系的理解(推荐一些别人的好文)
- 关于line-height的一些理解
- 关于MVC的一些理解
- 关于dll及跨语言调用的问题的一些理解
- [置顶] 关于高斯滤波的一些理解
- 关于寄存器ESP和EBP的一些理解
- 关于Bean\Entity\Model\POJO的一些个人理解
- 关于服务业革命的一些理解和看法
- 关于JDBC和一些持久化框架SQL预编译的理解整理
- 关于沙盒路径的一些理解
- 关于UITableView及dequeueReusableCellWithIdentifier的一些理解
- 关于cookie与storage的一些理解
- 关于寄存器ESP和EBP的一些理解